I was having a talk today with some colleagues about the scarcity of web developers, and even software engineers, who use best practices such as:
- using version control
- using a bug tracker
- writing unit tests
- using a programming framework
In all honesty, I didn’t do any of these before my current job at Govnex (aside from a little dabbling with CakePHP), nobody at my first 2 web development jobs did any of these, and we didn’t learn about any of this stuff in college. As far as I know, nobody I knew at RIT followed these practices except for maybe using a framework. Of all the job descriptions I’ve read in the past few years, only a handful mentioned using a framework, and only a couple mentioned anything about unit tests or version control; none of them mentioned the use of bug tracking software. One of my colleagues said that these practices are common among all developers, while my other colleague agreed with me that they’re hard to find.
What do you think? I’ve created a 6 question Google Apps form for collecting survey data and made the results public, it would be a big help if you could fill it out. Afterwards, please share your comments below.
Sorry for the down time, I just moved to RackSpace and got everything up and running.
I had some problems migrating WordPress and getting it working, which stemmed from the fact that it was using too much memory. I ended up doing a fresh install of WordPress with a fresh installation of each plugin I wanted to keep, but on some pages I still occasionally got an error saying too much memory was being allocated. After some searching I discovered that the “measly” 32MB max. memory allocation in my php.ini wasn’t enough for the latest version of WP, and I had to up it to 48MB. I honestly don’t think I’ve ever encountered this error before.
Over time I’ve noticed as WordPress has become heavier and more resource intensive, and I have a feeling that the plugin mechanism is slower than built-in functionality would be. I think WordPress is a great tool and it’s fantastic that it can (usually) be set up in 5 minutes, even by novice users. However, I’d like something more customized and with better performance, so once I have some spare time I think I’ll redevelop my blog using Django.
Anyways, in the next few days I’ll start to rebrand my site and add more community features, including project repositories and bug tracking. This should make it easier for users to report bugs for the Color Management Firefox Add-on, contribute code and add translations.
So when I first set up this blog I opted for the /archives/%post_id% permalink structure, which I liked because it was short, elegant, and used unique identifiers. I didn’t like the idea of date and slug based permalinks since they don’t use the hour, minute, and second you published your post; just the year, month, day, and title are used, none of which have to be unique. Although extremely unlikely, theoretically you could publish 2 posts with the same title on the same day and they would have the same URL, which doesn’t sit right with me.
As it turns out though, SEO calls for slug based permalinks since search engines strongly favor pages with keywords in the URL. I decided to switch to date and slug based permalinks, but what about all the numbered archive/%post_id% links that have been posted, linked, bookmarked, indexed, etc.? Well I found this great WordPress plugin called Redirection. It lets you specify URLs you want redirected and what HTTP response code (301, 302, 307, 404) to use. It also features a log of redirects and 404 errors, so you can look for common requested URLs that don’t exist and redirect them. It would be kind of hard to update a few hundred links to the new slug URLs, but for 5 posts it was very simple and just what I needed. Another great feature is, anytime you edit a post slug it automatically adds a redirection rule to the new URL.
One great way I recently found to publicize new blog posts is with the Twitter Better WordPress Plugin. It serves 2 functions:
- Shows your latest Twitter posts
- Optionally updates your Twitter status when you save, publish, and/or edit a post, with a link to the post
It’s a really simple way to spread your URL around the internet, especially since Twitter is integrated with so many other web apps. For example, I have Twitter Better set to update my Twitter status when I publish a new post with the title and URL of the post. That new Twitter status is then used to automatically update my Facebook status with the title and URL of my new blog post, and the same can work for any other Twitter enabled web apps I use in the future.