Tom Purl’s Web Site

My ’83 Datsun On The Side Of The Information Superhighway

Posts Tagged ‘web

Review: Agile Development With Rails, 3rd Edition

leave a comment »

Agile Web Development with Rails: A Pragmatic Guide (Pragmatic Programmers) Agile Web Development with Rails: A Pragmatic Guide by Dave Thomas

My rating: 4 of 5 stars
In general, this book does a fairly good job of helping you create a rails-based application. Part 3 includes some great in-depth information on the topics that are briefly discussed in Part 2.

I only have one real gripe about this book. It packs in lots of topics (e.g. db theory, AJAX, unit testing, security, deployment), but it doesn’t really tell you much about them. Therefore, if you have a problem, then good luck figuring it out using the content in the book.

A good example is the final chapter which covers deployment. The chapter devotes only a few small paragraphs to configuring Apache for passenger. To me, this section was completely useless unless you were already an expert with Apache configuration. I ended that chapter with a broken Apache server and no resources (from the book) to begin fixing it.

Another problem that I had with that chapter is that it really didn’t follow the pattern that the chapters in Part 2 used. In those chapters, the authors would should you how to do something relatively small, show you how to test it, and then provide some troubleshooting information if the task was particularly complex. The deployment chapter gave you a *very brief and generalized* tutorial in each section, and then just assumed that everything went perfectly. It didn’t show you how to test anything, and it didn’t help you troubleshoot any possible problems.

Don’t get me wrong. I know that no book will provide all of the information that I would ever need about a subject, and thank goodness for the internet in these situations. I was just hoping that all of the chapters in a book that I actually bought would provide better information than some person’s blog.

So in general, I guess I would have to say that this was a very good book with some bad chapters that were tacked-on at the end.

View all my reviews >>

Written by Tom Purl

February 3, 2010 at 2:29 pm

How The Web Sees You

leave a comment »

On Marketplace yesterday, there was a great piece on how a lot of job-seekers are using social networks to help them find new job. They focused on strategies that make it easy for potential employers to find you based on relationships, and how efficient that can be.

Searching for a job has always been about who you know, and who those people know. Hiring managers don’t want to go through the tedious and expensive work of finding new talent using head-hunters or classified ads. They want to call someone that they already know, or have a friend recommend someone. Social networks make it easier to keep up with the people you know and connect with their friends, making them a great job-finding tool.

Social networking sites aren’t the only online tools that can help you with your job search. Blogs and mailing lists are also a great way to reach out to people with similar interests, even if you never meet them in person. For example, there are a few technical blogs that I follow that are well-written, informative, and indicative of an author with good problem-solving skills. If I was looking to hire someone who had that author’s particular skills, then I’m likely to put that blog’s author on my short list.

I feel the same way about mailing lists. It’s difficult to understate the importance of good problem-solving and communication skills in the world of IT, and they’re difficult to properly gauge in an interview. If I see someone on a mailing list display these skills along with strong technical skills, then putting them on my short-list is a given.

So it’s obvious that I value good social networks in other people. The problem is that I haven’t been cultivating my networks as well as I should be. Here’s some of my issues:

  • I have two different blogs. It’s a long story as to why that’s the case, but it doesn’t do much to help anyone find or learn about me.
  • My Facebook page isn’t linked to my blog or my linkedin page, and vice-(vice?)-versa. Someone who knows me based on Facebook wouldn’t know anything about my technical skills, and someone who wanted to communicate with me via Facebook wouldn’t be able to do so if he or she only knew about my blog.
  • My Linkedin page is out-of-date. Even though I’m not looking for a new job right now (thank goodness), having an up-to-date profile can help both myself and my friends.
  • My blog is pretty empty, which is especially embarrassing when you consider that I’ve been writing blog articles in one way or another for almost 6 years. The old articles are either lost, or in a format that is difficult to convert into something WordPress can use. Also, I have a *lot* more stuff that I could be writing about. And some of it might actually be worth reading by one or two people :)

So what can I do? Here are some actions that I think will help:

  • Move everything to a single blog, and have that be a single, publicly-accessible place for friends and professional resources to find me.
  • Link all of my sites together, and make the associations very obvious.
  • Make a habit of updating my Linked profile 3 or 4 times a year.
  • Move my good articles from my old blogs to my new one. I’d love to write more articles, but I don’t think I’ll make that a goal. Obnoxious, forced articles are definitely worse than none at all.

It’s a lot to do, which is probably why it isn’t already done, but I think it will pay off.

Written by Tom Purl

February 20, 2009 at 3:21 am

Web Development Toolbox

leave a comment »

A friend of mine recently volunteered to update and maintain a web site for a local non-profit. He basically wants to clean up the formatting on the site (using CSS whenever possible), add more rich media such as flash-based slide shows, and make it more collaborative by adding features like a forum.

Of course, since he has a day job and is doing this in his spare time, he would like to accomplish all of this in a way that is inexpensive, relatively simple, and intuitive for a technical professional who isn’t a web designer.

Since I’ve been in his shoes before, he asked if I knew of any tools that could help him build a professional-looking site easily and inexpensively. Here’s what I came up with, and hopefully it will help other technical professionals/hobbyists get started with web development.

Software

Firefox + Firebug

A vanilla instance of Firefox itself isn’t an inherently superior browser for web development over IE or Opera. Once you add Firebug, however, it turns into the best free web application development environment that I’ve ever seen. Here are some of the things you can do with Firebug:

  • Find which HTML snippet maps to which element on a web site by hovering over the snippet
    • For me, this is the best feature
  • View the document’s HTML or CSS as a tree
  • Debug Javascript
  • Edit HTML and CSS in memory so you can test-drive the addition or removal of features.
  • et cetera

Honestly, this tool easily saved me half of my web development time. It’s worth checking out, even if you’re a dedicated IE or Opera user.

Note: Apparently, there is also a scaled-down version of Firebug that works with Internet Explorer. More information can be found at the Firebug home page.

XAMPP

XAMPP is a “distribution” of web server software that is configured to work very well together, out-of-the-box. It includes Apache2, PHP, MySql, Perl, phpMyAdmin, and a bunch of other things that I’ve never even had any time to use. It’s simply an excellent way to set up a server-side, LAMP development environment on Windows in a hurry.

A Decent Text Editor

There are a lot of integrated development environments (IDE’s) that do a pretty decent job of helping you create robust web sites. Eclipse, for example, has a highly-regarded PHP plugin, and Netbeans has a robust set of “Ruby On Rails” plugins. If you’re working on a very complex web site, or you don’t use a decent text editor on a regular basis, then you’ll probably save time with a decent, free IDE.

However, if you are already using a decent text editor (e.g. Jedit, Vim, Emacs, Textpad, Textmate, etc.) for other tasks, then you should look into using them for HTML editing too. Your favorite editor probably has some excellent plugins to help you write code using HTML, JavaScript, PHP, etc.

The main benefit of using a familiar text editor over an unfamiliar, web-centric IDE is the size of your learning curve. Most IDE’s, while powerful, can be difficult to master. Also, IDE’s usually force you to manage your project in “the Eclipse” way or “the ASP.Net” way, which may be very different from your normal process. A good text editor, however, should already be very familiar to you and flexible enough to allow you to manage your project in a way that works well for you.

This isn’t to say that IDE’s are a bad idea. Just keep the text editor option in mind if you find your IDE to be too bloated, expensive, or difficult to use.

HTML Tidy

HTML Tidy is a great command-line utility for validating web pages. You can use it to automatically format your HTML, but I mostly use it to validate my web pages and point out any mistakes I may have made (such as forgetting to close a tag).

Online Resources

Open Source Web Design

Here are the two hardest tasks for most technologists (sysadmins, programmers, etc.) who aren’t dedicated web developers:

1. Designing the look of the web site

2. Implementing the design

This should be evident by what they wear, but it’s worth stating: most technologists are not good at tasks that require visual creativity. If you need someone to write an efficient sorting algorithm or trace some packets, then they’re the people to call. Designing a clean, good-looking UI, however, is something that most technologists simply can’t do.

And that’s just half the story. Even if the technologist can create a good design on paper, it’s even harder to actually implement the design. CSS is great, don’t get me wrong, but it has a huge learning curve, and just enough browser-based idiosyncrasies to drive you nuts.

In comes the Open Source Web Design project to the rescue. This site has a repository of page designs and the CSS files that implement them, all for free. Just browse the designs, download the ones that work best for you, and your 95% along the path of creating a solid, attractive web site.

Alertbox

Ok, now you site looks pretty good, but it’s just a shell of its future self. It needs content and customization, which brings up a lot of questions. Does my web site need an RSS feed, or should I just use a mailing list? Will a bunch of dancing, AJAX-y crap bring in more traffic or will it just frustrate my users?

Jakob Nielsen’s Alertbox answers questions like this using two guiding principles: usability and quality content. Your site should be usable by your target audience, and it should contain the content that they need. Anything that is contrary to these principles should be avoided at all costs.

Of course, that sort of thing is much more easily said than implemented, so Jakob does tons of research on the subject and then publishes a lot of his results on his web site. Check these out if you want to do a better job of connecting with your “customers”, whomever they may be.

Dead-Tree Resources

Now that I think about it, I’ve only cracked open one actual book on fundamental web design. Not surprisingly, there’s a wealth of information available on HTML, CSS, Javascript, and other web technologies online. If you do need some help with CSS, however, I highly recommend Eric Meyer On CSS. It’s easy-to-read, succinct, and packed with loads of useful examples.

Written by Tom Purl

February 15, 2008 at 4:32 pm

Posted in Tutorial

Tagged with , , , , ,