programming

In a classic piece, Joel takes on misconceptions about employee perks, programmer productivity and getting in "the flow". This is a great (re)read brought to you via commenter nomalab.

I've never been a meeting person. Paul Graham's latest essay helps give me words to explain why.

(Via @popthestack)

Converting to git-svn: A Collection of Links

When you struggle with an OOP problem, your program still works, it's just sort of hard to maintain. Allegedly. But when you struggle with pointers, your program produces the line Segmentation Fault and you have no idea what's going on, until you stop and take a deep breath and really try to force your mind to work at two different levels of abstraction simultaneously.

Joel Spolsky on the perils of JavaSchools.

It feels a bit like grandpa complaining about walking to school barefoot, uphill both ways, but it's a good read.

Maybe I'm getting old and senile too :)

I don't know if JavaScript 2 (aka ECMAScript Edition 4) is going to be the Next Big Language, but it's certainly going to be a Next Big Language.

Steve Yegge, on the future of an underrated language.

Snippet of the day: Trim a string (the smart way) with PHP

I reworked the feed reading signature images I made a while back and added something to trim the strings to a decent length without breaking words. So here you go. A one-liner that will trim a string to a decent length, and break it on whitespace:

if (strlen($blog_title) > 35) $blog_title =
array_shift(explode("|||", wordwrap($blog_title,
35, "|||"))) . "...";

feature creep == sleep deprivation

I worked on a project a while back that never quite solidified into a clear design plan or development goals. This was my first real experience with "feature creep," or the tendency of a project to increase in scope and requirements beyond those originally foreseen. In this case, we were making changes to the project requirements up to the day before the product was released. Feature creep delayed the release by several weeks. Feature creep cost me six consecutive nights of sleep.

The result was far from desirable. The final project was somewhat patchwork—because it lacked proper planning, it grew one ad-hoc step at a time. The interface wasn't nearly as intuitive as the original design. Proper planning would have resulted in a cleaner, more elegant design. Proper planning would have ensured that the product launched on time. Proper planning would have saved the project. Lesson learned.