First Tech Leader post up
19 Jun
Just before I left for my San Francisco visit, I was approached by Nic on whether I'd like to write for Tech Leader, which is a South African "editorial" group blog about technology, edited and run by the Mail and Guardian Online.
My first post, Be sure to wear a flower in your hair, is on how my trip to San Francisco and the technology vibe and sense of "anything is possible" revitalised me a bit about South Africa and the potential future that could be if technology people stay and work for change (by which I mean in the industry, but it's also good to try change things outside it too).
I'm going to try write a post a week for Tech Leader on less nitty-gritty things, and try get back to a few posts a week here after my recent fortnight of silence dealing with post-travel jetlag and accumulated work responsibilities. I'll post a pointer to Tech Leader when I post there, and post the full content here two weeks (or so) afterwards.
Demystifying Clouds
11 Feb
It's too easy to overcompensate to the hyping of a technology by dismissing it entirely. I wasn't nearly that far along, but I was getting a bit jaded. Thankfully Lisa (linked to pressure her into posting...) passed along Demystifying Clouds, which is a pretty hype-free discussion of these early stages.
At SynthaSite, we had a good call with Rightscale to hear more about their latest updates, which look pretty useful. There are a few things we'd need to change to be in a position to use them in particular, but when that's no longer a factor, it will be quite a compelling offer. I've got a few projects rattling around my head that lend themselves to this sort of thing, so I imagine I'll be trying them out in a personal capacity soon anyway.
I'm one of those weird people who respect copyright. I think a person should have ability to create a work and decide, for a reasonably short time, how that work is distributed. I'm all for remixing and the fair use rules around excerpt and parody and critique and so forth, but I don't think copying a song or movie verbatim falls under this. I think verbatim copies will ultimately cause less and lower quality content to be created (and only the recording and movie industries can save themselves by coming to the party with sane options to get hold of content that we can play anywhere we want to). So I just don't do sharing of movies or music or software.
I often get asked how I do it - how I live in a world where 99% of the people I deal with receive these verbatim copies against the rights granted by the copyright and "profit" from it (ie, don't pay, while I do). How can I not get sucked into the world of constantly and easily available access to a myriad different forms of content? Quite simply, I just don't let myself get interested in it. I don't buy into the hype of every band and every movie out there. I'm fairly certain that I won't die or live a less fulfilling life if I don't follow suit.
It's easy to resist a temptation that isn't all that tempting. (It's also easy to resist temptation when the alternatives out there are as good or better than that being hyped - open source and open content through things like Creative Commons makes respecting copyright very easy...)
Which is why I've barely watched Apollo and Silverlight drift by with all their hype. Flex too. Until all aspects of their technology are codified in a standard and there is at least one open source implementation that is easily available, it's really just not worth my time to be interested in them. There've been tons of other proprietary systems out there. None of them has interested me particularly. There'll be tons more, I'm sure. Somehow, I haven't been tempted before. Somehow, there's always been a way to avoid subjecting myself and other people to proprietary systems or standards in my personal life and my work life. I don't think that's going to change. Not only is open standards and open source a good thing in the abstract, but it is about the only way to build something that lasts.
Mark Pilgrim provides a slightly more spicy take on the Silly season (and, well, a nice title, which I'll remix and not copy verbatim...)
"True technology blogs"
16 Apr
Oh dear, I'm "blogging about blogging" again. I apologise in advance. And although I know it's silly to talk about "true blogs", I'm going to do it anyway. More apologies.
The "technology" section of Amatomu (maybe I should suggest mod_rewrite to them for prettier URLs...) is starting to get a bit crowded. If it isn't gadgets, it's games. Both of which I think should be considered "lifestyle" more than "technology". Sure, there's the occasional useful bit of technical information about the gadgets or games (or their platforms), but the primary point of interest on those sites is the gadget or game, which while made from technology, is mostly about the experience of owning it or playing it.
I'm growing a little tired by how the "industry" complains about lack of skills. Now, they're saying software graduates are lazy.
I think the "industry" has a few problems. Frankly, it's boring. And, well, it's wrong-headed. Why does "the industry" always look for a quantity of software graduates? I've seen job adverts for "10 Junior PHP programmers", for example. It's not unusual for a large number of people with similar, low-end, skills being asked for. At the same time, there's a massive gap between that low experience level and the early-career experience level.
My first job was great. I was well-paid, well-treated, and was surrounded by intelligent people. Three rather decent jobs after that, I wasn't even earning the inflation-adjusted amount I was earning in my first job. And, yet, somehow, a few months after that meant a difference of 40% or so in the salaries of the types of positions I was being asked to apply for.
I can only imagine it's as irritating for other people, working their way up between the fifteen billion other graduates that compete for the sorts of jobs you're able to apply to with your experience. You're at least 20 times more effective than the average of those fifteen billion people, and somehow you're being extortionate for asking for 10-30% more salary. And you need that salary, since, being interested in the field, you want to buy books, be online, and so forth.
The reason there are fifteen billion other graduates is because the companies are asking for quantity of staff, not quality of them. People see lots of jobs open, and so decide to go "into IT". Those people who go "into IT" because of the available jobs are just not worth as much as those actually interested in the particular subject. 10 low-experience programmers earning R5k a month (take home) aren't nearly as valuable as 2 higher-experience programmers earning R25k a month (take home), and the 10 low-experience programmers also cost more because they use more desk space, more parking bays, and so forth.
That's bad enough, of course, but now they're calling IT graduates lazy, because the average IT graduate probably is lazy, because the average IT graduate is in the wrong field. If you want someone who isn't lazy, don't ask for 10 graduates - ask for 2 higher-experience people.
The worst reason I see for hiring more junior people is that more senior people - people with more love for the field - tend to move jobs, which is a lot worse than if you only have one or two of the ten people churning at a time. But, frankly, look at the way you treat the more senior people, and you'll quickly find why they leave - because they're not given the things they need to perform.
Unless you're grossly underpaying your senior staff, they're likely to stay if they're treated well. Sure, that may mean forking out more so that the development area is properly lit. Or that the environment has enough air flow. That the temperature is managed. That there are enough plug points. That there are two LCD monitors on their desks. Heck, offices for every, or every two or three, developers, so that they're not constantly surrounded by noisy colleagues who sing along to music playing on their earphones, or are making sales calls, or who just talk to themselves loudly or discuss the cricket or how to make money fast with property with other members of the staff. But, you'll find, they're worth it. They're worth more than five other people, and don't cost five times as much. And they're there and if you treat them well, they'll stay there. And they know what they're doing already! Less time wasted on training!
Now, people will say that I'm being elitist - that I'm not thinking about ways for junior people to join the industry. Well, firstly, boo hoo! Why should we care about all of the artificially high number of people who go into an industry for the wrong reason and into an industry that doesn't actually need them? We should care about those that are in it for the right reason, and those that would be in it if given the opportunity.
With less chaff, there will be less competition for those that are in it for the jobs available. Those that would be in it if given the opportunity are not a problem that is solved by having tons of low-experience jobs. That requires work before they even decide what job they want to go into - they need to know that they're interested and/or suitable in it by then.
Of course, this does leave a lot of people who've been through all these courses and so forth without something to do. Maybe we can buy all of them a series of books by W. Richard Stevens, Frederick Brooks, and Donald Knuth, and see who floats. It'll be cheaper than the fly-by-night or utterly useless "programming course" they've been on and will go on again when they're conned into thinking it'll get them a well-paying job.
Joe's "True blogs"
27 Mar
Joe Frog was wondering how sorted the South African blogosphere is now that Amatomu is on the scene. His commentary centred around three areas - "True blogs", "local traffic patterns", and "locally-hosted content". I was writing a comment there until I realised it was a bit long.
True blogs
The "True blogs" is perhaps the most contentious and problematic concept to discuss - because everyone does have an idea of what a "true blog" is, and they are all right, in a way.
Were I to worry where I am located in the stats, it would be terrible for me to know that I am the #500 most interesting person in the South African blogosphere. But it wouldn't be so bad, if the #500 means "blogs" which includes 400 news sites, 50 mass-blogging sites, and so forth. If I ended up at #25 of the personal blogs - the "true blogs" in my "personal blogger" mindset, then I'd feel quite good. But I'd be a little irritated that I'd have to self-justify this to myself whenever I looked at the stats. (Hourly, I'm sure, in this mindset.)
The #1 technology blog, and #3 overall blog, at the time of writing is Tectonic, the great news site started by Alastair Otter. Because of my long-time admiration of it, it would be hard for me to support a definition of "true blog" that would deny them access. The core content comes from three or so reporters who put a lot of effort into generating content - and is the primary source of news on the local open source scene (again, admitting my bias).
On the other hand, if IOL (which, since I was lead developer there for some time, I have an attachment to as well) was suddenly a "blog", it would devalue the meaning of the listings. And, frankly, mainstream media is a lot of what people who follow blogs are looking for an alternative for. The fact that IOL is primarily an aggregation of mainstream media stories - of articles that were in a newspaper or which arrived from a press feed - must deny them the title "blog".
Similarly to Tectonic, #3 politics blog, Commentary, is obviously a "true blog" with its three core contributors (I think there's been the occasional post by others - someone can correct me if it bothers them). But I find it hard to justify #28 overall, My Broadband and My ADSL blogs, as a "true blog" (sorry to take it out on you - nothing personal, you're just the first to catch my eye).
Maybe it's about coherency and consistency: Commentary is very much about politics; it's what makes Commentary what it is. But group blogs (even though there seem to be only six or so people there) like My Broadband and My ADSL blogs, it's more like six separate voices through one funnel. It's like those interested in Commentary are almost always going to be interested in everything said, due to the cohesive content, but I wouldn't like to have to listen to the other voices if I found a particular author on a group blog when adding the RSS feed. If there's a separate RSS feed for each contributor, they should each be separate (or we'd have to treat dotnet.org.za with its 20+ bloggers with separate blogs as just one "blog" as well).
Beyond this, is there much we can do beyond classifying blogs as "personal", "company", "news", and so forth, and managing the list separately? And what advantage is there to this beyond soothing a few bruised egos?
Well, for me, I'm just not interested in blogs that don't discuss personal feelings on news items. Unless you're Andrew Sullivan, you just don't get to write personal feelings on the news with more than a few items a day. I don't want to know _what_ happened, I want to know what people I respect think is important enough to talk about, and what their feelings on it are. The value of Keo is much higher than the value of "rugby24.com" which just regurgitates what's happening in rugby.
Local traffic patterns
Local traffic patterns is an interesting subject, but not much to discuss.
As someone whose content is primarily of interest to two rather small niches - a larger group of open source (primarily Python) developers, and a much smaller group of South African open source people, I'd be rather unhappy that simply because there aren't many South African open source (primarily Python) developers that my "South African-ness" rating suffers. I'm a South African, and I generate all my content myself. I don't "point" much, and when I do, it's for South African content (usually news about open source events). I write code, and walk people through the code. I explain how to do things. If I'm not doing that, I'm giving personal opinion.
On the other hand, one has to wonder if something like Engadget (were it written by South Africans, or even hosted in South Africa (haha)) should be counted as a "South African blog", since its traffic would almost exclusively be from international visitors.
Something like GeoIP could be used to capture the data easily enough - but how to display it?
Locally-hosted content
Well, this is a no-brainer. I can't get hosting in this country for nearly as cheaply as I can from elsewhere. I don't run some boring blog-clone hosted on typepad or Blogspot, or run a blog-clone on my own Wordpress instance - I wrote my own damn blog software, and it doesn't use some lowest-common-denominator programming language! And, well, I'm a bit of a geek, so I want root on the machine, and it'll run all sorts of other things besides a web site! And it must have a decent amount of memory (512MB+), or I couldn't do lots of stuff I'd like to do!
Of course, I'd love to be hosted locally for the same amount of money I pay now (or even 25% more) for the exact same level of service - in terms of uptime, latency, bandwidth, and traffic costs. But it's really not of interest to a service like Amatomu.
Contemplating success
22 Feb
Getting out of the never-ending mad dash that ruled my life for much of last year is starting to give me time to think about and hopefully learn from the events from that time.
Lately this thinking has revolved around how to do technology right, and how technology should be treated by business. There's always lip service about what technology should be to a business, and how the engagements should work, and so forth. But I think we so often find ourselves working from a flawed understanding of what success is to the business that is initiating the project.
A common position I end up in is taking over what pretty much anyone would call a failed project - a project where a lot of money has been spent and the resultant product is not even of sufficient quality to expose to others, let alone started to make money. Aspects of the project that have already been paid for have been found not to be of sufficient quality (or even delivered at all), and need to have more money spent on them.
But I hack on the existing project for a few months to get it to the point where I wouldn't put a bag over my head to avoid being associated with it. The project launches, and after a few rough patches and late nights, I get the last major kinks out, and the project starts making money. Some might even call it a "success".
But is it? If I'd been on the project from the beginning, my arrogance forces me to insist that the project would have been delivered properly the first time, with less back and forth to QA, with fewer publically-visible problems post-launch, and thus would be cheaper in terms of direct costs and indirect costs to regain the confidence lost during this whole process. So, while the second part of the project (which some may call another project entirely) in itself is successful, the entire process of developing the technology was more expensive than it needed to be.
And that's not even the most damning difference. If I'd been on the project from the beginning, my arrogance forces me to believe that the end result would be better in the way that most matters about technology in the long run - how it facilitates or hinders changes in future. Or, put simply, a solution I'm involved in would give the company agility.
Many companies have a great idea, and get to market by the skin of the teeth of the people they could find and afford to do their initial technology. And, because of the way the technology was rushed and was cobbled together, changing it is often scarily hard. Which isn't a problem at first (when they have the existing developers who remember all the ins and outs of the system), and so the company's great idea and timing and efforts make them profitable and renowned. Fast forward a few years, and they're cursing their main source of income and often the thing they're most famous for (if you're talking a web site, for example).
Why?
The developers are usually gone by now. Even if they aren't, they no longer have the ability to keep in their heads all the hacks they've been forced to put in to the original system to keep it ticking over "until we rebuild it all". There's entire pages of code dedicated to special cases for particular user names, groups, and so forth. When changes do happen, all effort is put into reducing the intrusion on the original system, because the company has been bitten by the hard-to-detect consequences of previous changes.
Success or failure?
At the beginning, a great idea was all that was needed to get into the market, and delivery could be made timeously. Now, there are more people available, and there's more money available. Sounds good... But, despite the additional people and money, even small ideas and small changes take a long time to make, and the next great idea is near impossible to implement. These are the small and big ideas and changes necessary to continue being relevant - to not become an also-ran of the very area they once owned.
Unless your business usage of the technology is once-off - a gimmick web site that has a specified shelf life - then you have got to think about the cost of change built into that technology. (By the way, this is also why open source and/or open standards are such a no-brainer in the long term - you never end up having your data and processes tied up in some proprietary system that makes the cost of change too high when you need to change something about your business.)
I don't claim to have the answer to how one can define success, but this is the simplest way to describe what I'm feeling now:
Success can't be measured only by what you have achieved - the resources, the accolades, and the good will. More important than those, it should be measured also by what you can achieve from this point on.
(This also applies to any development project independently of the business that initiates it. Taking the laziness as a virtue approach, you can measure your success by how much effort you save yourself by building something that's easy to maintain and extend in future.)
How the other "half" lives
16 Jun
Dapper Drake reinstall
10 Jun