I was a manager of developers in an organisation for a few years, and during that period I learned a lot. But if I’m honest, I learned far more about being a manager from leading a large open source projectfor 10 years, because that taught me a lot about what makes developers tick. Of course, I’ve always been a developer myself too, but you often don’t think that clearly about your own motivations.
For no particular reason except that a few of these occurred to me while relaxing this week on our ample coastline… The free diver Plumbs dangerous depths with little or no assistance or safety gear, far from the glow of natural light. Examples: Kernel programmers, graphics programmers The jet skier Skims along the surface covering a lot of ground: agile but also capricious, never staying too long. Try not to get caught in their wake.
It’s always gratifying, and a little weird, when I see books being written about OGRE- it just serves to illustrate (if any more evidence was needed) how far the project has come since I created that first ‘vertex coloured triangle’ rendering test on my home computer 12 years ago. I’ve been retired from the project for a while now, but I still get asked my opinion about things sometimes, and Packt were nice enough to send me a copy of this new book by Ilya Grinblat and Alex Peterson, OGRE 3D 1.
I fired up my desktop Windows PC for the first time in a while recently, and the first thing I realised is that I absolutely hated the keyboard. This was nothing to do with the slight differences between the PC and Mac keyboard layouts, the latter of which I’ve become more accustomed over the last couple of years, nor was it about whether the keys were mechanical or scissor switched, or any such nuance.
For the purposes of this post, I’m going to assume that the reader is a relatively normal person, and not a raging egomaniac, or a nihilistic sociopath - investment bankers, you might want to stop reading now ;). Still with me? OK. So, I don’t know precisely what you do for a living; given my usual readership you’re quite likely to be a software developer, but I believe this applies pretty universally.
I’m an avid believer in the value of ‘playing the long game’ - that is, the concept that it’s worth foregoing short-term benefits, or indeed enduring short-term pain, in pursuit of a more significant long-term gain. This kind of thinking is a basic requirement of anyone who has chosen to run their own business at some point, because it’s always easier and more immediately financially beneficial to take a ‘safe’ job offer rather than to leap into the unknown, a place of short-term cash flow issues and uncertain future gains.
If you haven’t come across them already, I strongly recommend you take a few minutes with this HBR blog: In Defense of Polymaths, and also Adam Savage’s commencement address to Sarah Lawrence. Both are insightful pieces on the fallacy that is the tendency to believe that specialism in a narrow field is the answer to a fulfilling life experience, and ultimately to ‘success’, whatever that means - usually money, possessions and peer recognition.
Well as planned and as discussed in my previous post, last weekend we switched ogre3d.org from a dedicated server running Apache, to a virtual private server running Nginx. How did it go? Well, surprisingly well in fact. I say ‘surprisingly’ not because it was a casual throw-of-the-dice affair - I did a lot of preparation and testing - but because I’m old enough to know that nothing ever goes completely to plan, and we didn’t have any (cost effective) way to test the full server load ahead of turning it on.
If you limit your reading material to articles on TechCrunch and similar sites, you’d get the impression that to succeed in business requires that you plan to scale to a massive level. The received wisdom is that if you’re not targeting a user base of several million, and are not raising capital in Silicon Valley commensurate with that aim, then you’re not doing it right. This is nonsense, of course. It simply reflects one end of the spectrum of business ventures - that which is high-risk and high-reward.
The Ogre3D website has been running on a dedicated server for about 7 years now; this is relatively expensive, but when we moved away from the shared hosting that Sourceforge generously provided, but which we had outgrown, our initial foray with a VPS (at the time lighttpd on Linode) proved inadequate for our needs, so after a month of futile tuning we gave up and went fully dedicated.
Time has moved on of course, and virtualisation technology is considerably better than it was in 2005. I’d intended to try again soon anyway to reduce Ogre’s overheads but our Adsense revenue was still covering the cost and I hadn’t got around to it yet. Then suddenly, Google pulled our ads after a mistaken (I believe automated) conclusion that we were hosting copyrighted material - a few users had posed test binaries of their own work on MediaFire and similar ‘red flag’ download sites - and all of a sudden we were leaking money. The misunderstanding was sorted out with Google within a few days, but even so it illustrated that we should probably look to move to a cheaper solution if we can so we have less exposure.
The Ogre site’s main issue with performance is Apache’s memory usage under load, so given a VPS is more constrained I wanted to address that. Enter Nginx, stage right.