David Hoover's Top 5 Tips for Apprentices

James Turner at O'Reilly Radar – David Hoover's Top 5 Tips for Apprentices:

"Hoover says that most developers have benefited from one or two key people in their career that helped them move along. "For people that had had successful careers, they only point back to one or two people that mentored them for a certain amount of time, a significant amount of time, a month, two months, a year in their careers."

[…] For Hoover, one strategy that pays off is to not try and be the most experienced person in a group, but the least. "For me, I didn't really get good solid mentorship until I was able to leave that company and get to another company where I could basically try to be the worst. I wanted to get onto a team where I wasn't the three-year programmer who was suddenly senior application developer. I wanted to be on a team where as a three-year programmer, I was junior.

[…] Especially at the beginning of your career, you've got to be looking for situations where you can expose yourself to new senior developers and learn their tricks because they're going to have a billion little tricks that they don't even know about, that they wouldn't even be able to tell you about because it's just so ingrained in the way they work.

[…] You should be comparing yourself to masters which are people that are out there doing great work and potentially speaking about it or writing books about it. […] If you want to achieve mastery of this craft, that's who you should be comparing yourself to."

Tue, 29 Sep 2009 19:47:53 +0000


Flax Xapian
Mon, 28 Sep 2009 14:46:30 +0000

Adobe PDF Library SDK

Adobe® PDF Library software development kit (SDK)
Fri, 25 Sep 2009 10:03:29 +0000


"Gearman provides a generic application framework to farm out work to other machines or processes that are better suited to do the work. It allows you to do work in parallel, to load balance processing, and to call functions between languages. It can be used in a variety of applications, from high-availability web sites to the transport of database replication events. In other words, it is the nervous system for how distributed processing communicates."

(Via Rasmus Lerdorf.)

Fri, 25 Sep 2009 07:14:32 +0000

The Duct Tape Programmer

Joel Spolsky – The Duct Tape Programmer:

"Zawinski popularized Richard Gabriel’s precept of Worse is Better. A 50%-good solution that people actually have solves more problems and survives longer than a 99% solution that nobody has because it’s in your lab where you’re endlessly polishing the damn thing. Shipping is a feature. A really important feature. Your product must have it."

Thu, 24 Sep 2009 07:11:50 +0000

Stop Giving the Newspapers Your Advice - They Don’t Need It

Joshua-Michéle Ross at O'Reilly Radar – Stop Giving the Newspapers Your Advice - They Don’t Need It:

"The failure of newspapers is not a failure of imagination or foresight nor is it a failure of individuals. This kind of failure is the hallmark of all institutions in the face of tectonic disruption. Institutions are a set of agreements that perpetuate a social order beyond individual intention or tenure. Changing those agreements is costly and time-consuming. So when the rate of change accelerates beyond the institution’s adaptive capacity - extinction follows.

The question is not “what should newspapers do?” but “how can a large institution effectively organize in response to disruptive change?” Taken thus, it is not only the fundamental question to ask of newspapers."

Wed, 23 Sep 2009 08:38:26 +0000

Why you shouldn't do it all yourself

Stormy Peters – Why you shouldn't do it all yourself:

"If I do it all myself, the GNOME Foundation will always need me. I hope to be part of the GNOME community for a long time but I think you do the best job you can when you work yourself out of a job whether it's because you solved the original problem or you automate everything. There's always more work to do, more problems to solve. You shouldn't be solving the same problems year after year."

Wed, 23 Sep 2009 08:35:58 +0000


Scott Adams – Healthcare:

"A confusopoly - a term I concocted several years ago - is any industry that intentionally makes its products and services too complicated for comparison shopping. The best examples of confusopolies are cell phone carriers and insurance companies. And health insurance companies might be the most confusing confusopoly of all. I suspect that no individual has the knowledge, time, and information necessary to effectively compare two health insurance plans. And in that environment the free market doesn't operate efficiently."

Tue, 22 Sep 2009 10:19:07 +0000

Mac OSX using vmware fusion : network is down

Jettro – Mac OSX using vmware fusion : network is down:

 "It turns out that Mac OSX sometimes thinks that vmware’s virtual network is down. The following command tells it otherwise.

sudo /sbin/ifconfig vmnet8 up"

Sun, 20 Sep 2009 20:53:41 +0000

Where did all the HTML editors go?

Adriaan Bloem at CMS Watch – Where did all the HTML editors go?:

"By now, all but a few CMS products have thrown in the towel. You can have whatever UI you want, but the editor is likely going to be either TinyMCE or FCKeditor.

[…] The real consolidation isn't in products or projects; it's in components. Know about Lucene and Solr; and Tiny or FCK -- and spend your time on the real differences."

Sun, 20 Sep 2009 19:10:02 +0000

Agile Context Switching with "The Disturbed"

Charles Miller at the Atlassian Developer Blog – Agile Context Switching with "The Disturbed":

"Programmers, the authors proposed, are at their most efficient when they reach a state of 'flow' in which they are able to concentrate fully on a single problem. Any developer will tell you how satisfying it is to be in this state, how productive it is... and how easy it is to be pulled out of it by the smallest interruption. What's worse, since it takes at least fifteen minutes to reach this level of concentration, any interruption no matter how small can cost you a quarter hour's productivity. A constant stream of small interruptions, say a phone near your desk that rings just twice an hour, can make a developer unproductive (and miserable) for most of the day.

Our solution […] was to designate a single developer to be "The Disturbed"; taking a two week stint to act as a magnet for all the questions, requests and distractions that would otherwise be distributed across the whole team. […] Because the Disturbed isn't expecting (or expected) to get much of that work done while being disturbed, it is far less frustrating for the developer and far more predictable in terms of scheduling and estimation for the team as a whole."

Mon, 14 Sep 2009 09:42:31 +0000

Software development with hunters and gatherers

Gojko Adzic – Software development with hunters and gatherers:

"While talking about the value of quick feedback and short iterations, David [Evans] used an analogy which I haven’t heard before and I liked it very much, so I decided to share it on this blog.

[…] What’s really important in the story is what happens at the end of the day if things don’t go according to plan: It’s OK if you don’t quite fill the the basket. It’s not OK if you don’t quite catch the animal."

Wed, 09 Sep 2009 12:19:37 +0000

Desktop littered with tiny icons?

Ryan Singer at Signal vs. Noise: "Unimportant things are easier to keep around when they are small."

Makes me wonder why there's so much stuff in very small font size in our application's UI…


Wed, 09 Sep 2009 08:31:15 +0000

Snakes on the Web

Jacob Kaplan-Moss – Snakes on the Web:

"Some time ago, Leonard Lin collected this list of all of this “other stuff” you need to worry about after developing your app: […] The good news is that there’s open source software to fill all of these needs. The bad news is that they’re all immature, disparate pieces with no connections to each other. Getting even half of this stuff up, running, and integrated is a monumental task.

[…] Frameworks ought to gracefully fade away as you replace them, bit by bit, with domain-specific code. […] Right now, they don’t."

Tue, 08 Sep 2009 09:47:44 +0000