Category Archives: Programming and Software Development

These are short excerpts of the entire post. Please click on the title to read the full post.

Competition

Marketing, Branding, and Promotion

When we look at technology we use everyday, the great success stories all have one thing in common: competition. They all achieved their success despite healthy competition, or perhaps because of it.

Who Moved My Cheese? The New WordPress Admin Interface

WordPress Tips and Tricks

Two of my blogging heroes and inspiration Jeff Atwood and Joel Spolsky have joined together on a new venture called StackOverflow: overflowing with awesomeness. They are also doing a weekly podcast, and you can download the first 45 minute podcast here (8 MB). In the discussion, Joel makes a great comment: Windows Vista gives you change without giving you any value. As a Windows XP user there is no compelling reason to upgrade because you’re going to have to relearn where everything is, but you don’t get any new and compelling features or applications to offset that.

This perfectly explained my resistance to the new WordPress 2.5 admin interface.

Searching for the Perfect Inline Code Documentation Tool

Programming Tips

I have an intense love automatic documentation generation. Nothing makes me more tickled pink than seeing code and documentation living side by side in perfect harmony. I hate seeing documentation put on the company intranet only to diverge from the code it’s supposed to explain as the days go past. I hate hitting my head against a brick wall as I’m pouring through the source code trying to understand an API because at no point does it mention that it’s documented in a Word doc in another directory.

This is my rule of programming: documentation should live beside the code it documents, in the comments, especially if it’s API documentation.

How to Explain RSS to Normal People - 2008 Edition

Social Software and You

As a geek who enjoys spending too much time on the internet, I like RSS almost as much as delicious toast. As a blogger, RSS is the shiznitz because it lets you consume a lot more information and it makes it easier for other people to read your blog without having to drop by every few days to see if you’ve written something new.

For something so useful, it’s pretty hard to explain why people should use RSS. Lots of people try to do it. This is my take on it. It’s 2008 and explaining RSS should be much simpler because if you’ve used Facebook, then you’ve used RSS.

I Can Has Ruby?

I have a new tumblelog for ruby stuff.

The Canary in the Coal Mine of Open Source Code Re-use

Programming Tips

Don’t reinvent the wheel. It’s one of those things that’s much easier to say then it is to do, particularly when it comes to programming. Programmers suffer from a horrible mental disease called Not Invented Here Syndrome (it’s in the DSM — check if you don’t believe me). We will happily rewrite a perfectly good tool because someone else wrote it and it’s easier to rewrite than it is to understand. Sure, we might not handle all the bells and whistles of the original tool (unicode is for sissies) — but we got to DIY.

Rewriting from scratch is particularly a bad idea when it comes to open source software. If there’s an open source library or plugin available that does the trick then there’s no reason at all for you not to pick it up and use it. If it doesn’t work the way you want it to then you can rewrite that small part. There’s no reason to reinvent the open source wheel…

How to Install the Exception Notifier Plugin with Ruby on Rails

Learning Ruby

Exception Notifier is a Rails plugin that will email you when an error occurs in your Rails application with full debugging information. It’s as useful as you can imagine, and running it is the difference between happy users and grumpy users who don’t use your web app because every second click is an error message.

Yahoo Pipe: Sub-Reddit Feed Filter

Hacking RSS with Yahoo Pipes

Popular social bookmarking site Reddit has announced a great new feature: users can create their own sub-reddit. What does this mean in English? Users and communities can create their own social bookmarking sites around specific topics: blogging, wordpress, specific programming languages, etc but still use their regular reddit account for submitting links and voting.

9 Ways to Know When to Jump Ship at a Startup

Workhacks

For the last couple of months I’ve been plagued with wondering if I should stay at my current startup. I’ve been approached with a few different job offers that I haven’t followed up on, and maybe it’s time I pursued greener pastures. In the words of the Clash: should I stay or should I go now?

Why Open Source Software Sucks - Software Simplicity Isn’t Simple

Programming Tips

There are a few “internet rockstars” in programming circles, and most programmers who read blogs will have heard of Joel Spolsky (one of the few people who writes entertaining tech books) and 37signals (the guys who made Ruby on Rails). The guys at 37signals recently wrote a post about how they prefer creating web-based software that they host vs software that a user would have to download and install themselves because it is so much easier for the software developer. When you don’t have to release your software into the wild you have so many less things to worry about: different operating systems, memory performance, installation dependencies, hardware dependencies.

Getting Started with Ruby on Rails - Week 3 - Testing

Learning Ruby

I’ve fallen for the hype and started using Ruby on Rails for building database driven web applications. You can follow along with my weekly experience discovering gotchas with Ruby on Rails.

Getting Started With Ruby on Rails - Week 2

Learning Ruby

I’ve fallen for the hype and started using Ruby on Rails for building database driven web applications. You can follow along with my weekly experience discovering gotchas with Ruby on Rails.

Book Review: Ruby on Rails for Dummies

Learning Ruby

I don’t have anything against the for Dummies series (one of my friends is an author), but they’re only good when you want a very general understanding of a concept. I wouldn’t recommend the series for technical books. But my local library happened to have a copy of Ruby on Rails for Dummies, so I gave it a try.

Getting Started With Ruby on Rails - Week 1

Learning Ruby

Rails is a framework for building web applications: stuff like blog software, instant messaging, to-do lists, web magazines, and your favorite web comic. Word on the street is that ROR is a resource hog but the resource consumption is balanced out by how much more productive it is to develop with. It’s easier to buy more computers to host a web application than it is to hire more developers. Computers get more powerful over time; developers not so much.

I’ve been developing websites as a hobby off and on since 1994, but I only learned CSS in the past six months. I’ve done some minor hacking of other people’s web apps that were written in ASP or Perl and they were always horrible messes of spaghetti code. I’m really looking forward to trying out a web app from scratch.

People Are Computers Too - How Improving Applications Can Improve Your Life

Lifehacks and Productivity

This week I’ve been talking about code profiling and how if you want to analyze the performance of your application you need to work with large sets of data. Application efficiency isn’t free, it requires measurement, analysis and change. Unsurprisingly, performance analysis for a software application and performance analysis for aspects of your life have a lot in common.

Programming Best Practices: Profiling

Programming Tips

In programming, profiling means to measure your code and find out which parts are using the most time and the most memory. Profiling gives you performance analysis measurements so that you can optimize your program for speed and/or memory.

How to Profile Greasemonkey Scripts with Firebug

Programming Tips

Running performance analysis on Greasemonkey scripts can be a pain in the butt. They aren’t part of a webpage so standard tools for analyzing web sites don’t work… or do they?

Overtime Considered Harmful

Time Management

In the past month I’ve worked over 100 hours of overtime to ensure that a project deadline was met when unforeseen issues put the entire project at risk. When you’re a high tech worker then this can happen often enough that it feels like a way of life. What I find strange is that I’ve caught myself bragging about the hours I’ve spent tied to my job. In what sick world should living off of food from Styrofoam containers and an intravenous espresso drip be considered an admirable accomplishment?

Coworkers Considered Harmful

Workhacks

I hit a realization this weekend that I’ve hit many times before. There’s an inordinate number of times when I’m in the office late not because of my own time management failures but because of the people I work with.