Blog
Blog
November  2009
November  2009
end

Archive for November, 2009

More on the idiocy of environmentalists

Monday, November 23rd, 2009

My friend Kat posted a link to this blog entry comparing the fuel efficiency of buses against cars. Kat’s a fully paid-up member of the eco-mentalist brigade but I forgive her that because she does at least have the sense to use valid logic in her arguments most of the time which is more than can be said for most of the eco-mentals.

In simple terms the conclusion of the linked blog entry is that if you cram a bus full of people; it’s more efficient, but if you compare a full car to a half-empty bus, the balance tips in favour of the car. The important thing really is that the numbers are in the same order of magnitude – buses are not a magical fix-all solution to the polution caused by cars, nor are trains.

The important thing in determining the efficiency of any vehicle in terms of “miles-per-gallon-per-passenger” is the weight of the vehicle in comparison to the weight of the passengers. This is simple physics. A big heavy bus takes a lot more energy to move than a small, lightweight car. The bus only wins on efficiency when all that extra weight is being used to move a large number of people, otherwise you’re just moving around a big hunk of metal for no purpose and that is seriously wasteful.

So the conclusion is that buses should be crammed full at all times. I can see a couple of problems with this. Firstly; people do not like to be crammed into small spaces with strangers, it’s simply not a pleasurable experience. I guess the environmentalists would argue that this is a price we have to pay to protect the planet. Not true. Secondly; part of running a bus service requires that you run buses half-emtpy a lot of the time. For a bus service to be considered worthwhile, I have to be able to go to my local bus stop at pretty much any time and reasonably expect to get on a bus fairly soon. Achieving that requires that you run buses at the off-peak times. You cannot simply stop running buses when it isn’t efficient or profitable to do so – even if those empty buses do not make direct profit to the bus company, to stop running them would devalue their entire service as a whole. Empty buses are sorta like a loss-leader for the bus company and one they can’t do without.

Besides, if the future is to be one in which people are transported around crammed in tighter than cattle taken to be slaughtered and we can only travel at the same time as everyone else, I’d rather take my chances with global warming thanks.

Driving for me is one of the few simple pleasures in life. Although obviously personal motorized transport is only a very recent thing in terms of the history of mankind, and cars themselves are technological marvels; the actual act of driving itself is a very simple, physical thing. Driving talks to the lower-level, primeval parts of your brain – it says “I’m free”, and “I’m in control”, occasionally interspersed with “This is fun” and “Wow that’s beautiful” and sometimes even “This is dangerous”. To me those are all very simple emotions and they’re often sadly lacking in modern society.

We’re basically not free – we have the government interfering with our lives to an increasing degree on one hand, we have the media trying to manipulate us on the other, and we have the eco-mentalists sitting on our shoulder telling us we should feel guilty for bascically everything we do and to top it all off; we’re bound to work for 8 hours a day just so we can afford to continue our own miserable little existence. No, we’re not free, not at all. We’re born into bondage, the bondage of a modern capitalist consumer-based society.

In such an oppressive authoritarian society it’s crucially important to try to maintain some sense of freedom and control. This is why I would fight to the death to protect the motorist. Behind the steering wheel of a car is one of the few times you can inject a sense of freedom and self-determination into your life.

The eco-mentals are only the latest in a line of people to attack motorists. If it’s not complaints about pollution, it’s not-in-my-backyard complaints about the construction of roads, or how we’re a danger to cyclists (I’m sorry but you’re the one who’s riding around our roads on an insufficient vehicle, the fact that you haven’t got a metal box around you to protect you isn’t my problem).


Bloody work

Monday, November 23rd, 2009

Here’s an entry that’s gonna stay private for a while, maybe forever. [added later: not as long as I thought - I wrote this entry at the beginning of the month but I've now quit that job, so I'm free to write whatever I like]

I’ve basically got myself into the position where I’m working as a software developer for a fairly large company who run their entire operations from a single piece of bespoke software written in PHP. The company, like many, has undergone a rapid period of expansion and the system has had to grow with them. A single developer has been there since the beginning and was responsible for most of the early groundwork that makes the system what it is today.

The problem is, while the programming techniques that were being used at the beginning of the system’s design may have been just about acceptable for a small business, there are mistakes being made that will turn a large system like this into a complete nightmare to work with, develop for or maintain. The longer it goes on, the worse it gets, and eventually the day will come when the system can’t cope anymore, either because it’s so bug ridden it’s virtually unfixable, or because simply keeping it all working takes so much time that no new development ever happens.

When the system gets to this stage, there’s really no choice but to rip it out and start again. By this time it’s normally too late to built a completely new system right from the ground up – too costly, but what tends to end up happening is that the company will replace it all with something like SAP – an off-the-shelf solution which does most of what’s needed, then the specific requirements of the company are bolted on via various APIs. Companies like SAP and Oracle make their money from coming into companies that have messy broken systems and replacing them with a generic product tailored to their specific needs.

The problem is – the generic solution is never as good as an entirely custom one can potentially be. If you can keep all development work in-house it’s a Good Thing, because it gives the business more flexibility to adapt to changing requirements. Moving to SAP is a last resort – SAP has its own set of problems and the task of installing it can be pretty immense – companies only do this when their own system has got so fucked that they basically can’t work with it anymore. That’s what’s going to happen to this company if nothing changes.

In an ideal world, it would be a simple matter of just pointing out the things that were being done wrong and putting them right. It’s never feasible to go back and change all the existing code, but you can at least make sure you’re doing things right in future and that any code that’s changed is updated to do things properly. Gradually you can eventually transform a very messy system into something that’s much more manageable.

However, it’s not as simple as that. I’ve been hired as a developer, not a team leader, not head developer, not a manager, just a developer. The guy who is leading the development team, the one who is responsible for the awful state of the code, is obviously not going to respond well to being told that he’s doing everything wrong. There’s really no nice way to put it – the code is badly designed, badly structured, badly laid out, badly organised. There’s bascially nothing good about it.

The thing is, I’m sure the developers in the team are perfectly capable and they’d produce good code if they were being guided by an experienced developer who knew what he was doing. Because they’ve got someone who’s basically made it up as he went along they haven’t got that guiding influence to lead them in the right direction, in fact they’re being lead in the wrong direction.

After trying gently to get some relatively small issues fixed and encountering fierce resistance from the lead developer, this morning I was in a crap mood and got another e-mail from him placing more obstacles in my way I basically flipped. I had been planning on sitting down with the guys I share an office with (this doesn’t include the lead developer, he’s in Australia) and talking it out with them. But yeah, my annoyance got the better of me and I decided to take him head-on.

Since starting a little over a month ago it’s become increasingly apparent to me that nothing is ever going to get sorted out in this company whilst the current lead developer is still in charge, unless he has a serious change in attitude which I’m guessing is unlikely. The only real option for me is to attempt to expose his failings and essentially try to de-throne him. This is a pretty big undertaking and quite stressful for me, but I don’t see that I have any other choice, I can’t just pretend there’s nothing wrong because that goes against my professional standards.

Worst case scenario I have to leave the company, but I’m not really too worried about that. I haven’t been there that long and I had more than one job offer before I started. I actually chose this company because I liked the atmosphere. I still like the atmosphere, but if I’m gonna have to put up with working for someone who just doesn’t get it, that kinda kills it. That’s kinda why I figured I’d skip everyone else and go straight to the source of the problem – I’ve got a lot less to lose from confronting him than everyone else, they’re more heavily invested in the company than me.

What I did was send an e-mail to the entire team basically laying into the terrible quality of the code. I tried the softly softly approach, now I’m trying the “this shit is terrible, you need to fix it else you risk losing big amounts of money for the company” approach. I explained some of the absolutely fundamental mistakes that were being made and gave suggestions on changes that can be implemented. I didn’t pull any punches either – I had to emphasize how shockingly bad the code really is. This code introduces an extra 7 dimensions into the scale of how bad code can get. Those weren’t the words I used, but I might as well have.

I didn’t target much of the critisizm directly at the team leader but it’s clear that it was mainly aimed at him, the e-mail I sent was in a reply to an e-mail from him to me, but I sent it to the whole team. I know he’s not going to like the fact that I sent it out as a group e-mail to everyone, but the point is that it’s not really him that I’m trying to convince, I’ve given up on him and I’m just trying to convince everyone else that the lead doesn’t know what he’s doing.

I’m quite surprised that he seems to have managed to obscure the fact that the code’s so bad from the people in charge. He must’ve done some serious pulling of wool over eyes to get away with it for so long. I just hope his bullshit isn’t so deeply set in that nobody’s willing to listen to reason


My next project – Chernobyl

Monday, November 23rd, 2009

I’ve been thinking about this for a while now, but it’s only in the last few days that it’s really crystalised in my mind. I know what my next photograhy project is going to be; I want to go and photograph the exclusion zone at Chernobyl. Pripyat has one of the most iconic views in the world – in fact to me it is the most iconic landscape. The big wheel at Pripyat is an image that burns into your mind – no other landscape is like it – and that’s why I must go and photograph it. That single image tells the story of thousands of lives, but even more than that, it tells the story of Prometheus stealing the fire of the gods and placing it in the hands of mortals.

Pripyat - Image courtesy of KiddofSpeed

Pripyat - Image courtesy of KiddofSpeed

It’s particularly resonant to me because I strongly believe that nuclear power will save mankind from global warming and one day bring about a second renaissance – a time in which we are freed by abundant cheap energy to focus on matters of art and philosophy. It’s incidents like Chernobyl that have resulted in the fear of nuclear power that western culture still holds today, the Chernobyl disaster may yet end the world – not from the initial fallout, but from the lasting impact it has had on our culture. We’re so afraid of nuclear power now that by the time we embrace it as our only solution to the worstening energy crisis, it may be too late and we may have already triggered a run-away greenhouse effect.

Chernobyl is also unique in the fact that it has created a sort of modern-day pompeii – the town of Pripyat has barely seen the hand of man since the day of the disaster. The clocks literally stopped, and everything is preserved as it was. This is almost the polar opposite of my Cuckmere Haven project – the Cuckmere Haven project is about capturing something that may not be there for much longer. The Chernobyl project is about capturing a landscape in which time stands still. That’s where the root of photography is for me – photography is about time – the act of taking a photograph is the act of fixing a moment in time – pinning it down so that it can’t be changed.

When I use the word “fixing”, the defininition I intend is this; to fix something means to make it static, to preserve it as-is. In the days of the chemical darkroom; fixing is the last stage of the process – to expose the film or paper to light before fixing would ruin it, it’s the fixing process that makes the image permanent.

In psychology we talk about “Flashbulb memories” – it’s the idea that when a memory has particular emotional significance, we remember it in much greater detail than we do other things. The classic example in America is that everybody remembers where they were the day they found out JFK had been shot. A more recent example might be that everybody remembers what they were doing at the time of the 9/11 terrorist attack. The idea that a significant emotional event can have a fixing effect on memory is an interesting one – it’s almost like the strength of the emotion causes your brain to take a photograph (I guess that’s why it’s called flashbulb memory).

I see the Chernobyl disaster as one of those key fixing events in modern history; it is a moment fixed in time, and in the memories of many thousands of people, it is a single moment that changed global culture permanently. That’s not all it is; Chernobyl is unique because it’s a ‘fixing event’ that has fixed not only a time in history, but it has also fixed a large area of what is now the Ukraine. Chernobyl is like a photograph that has already been taken, the original image is lost, never to be seen again, but in its place we have this static representation of reality – this enduring symbol of an event that has happened, fixed permanently in time.

KiddofSpeed is a big inspiration – not so much for her pictures, but for her words. For somebody with a fairly weak grasp of the english language; she uses it in highly intelligent and emotional way. Her photos are not the best by a long way, but her narrative is very personal and evocative. It was reading her website several years ago that opened my eyes to the possibility that you could actually visit the exclusion zone without putting yourself at serious risk. With a guide and a Geiger counter it is perfectly safe, and in my opinion well worth any minor risk of growing two heads.

If you’re interested in seeing the best photos of the Prypyat, the two best sources are EnglishRussia.com and Pripyat.com.

Prometheus and the fire of the gods

Prometheus and the fire of the gods


Chrome OS 0.4.22.8 – What’s it like?

Friday, November 20th, 2009

Chrome OS (or is it Chromium?) is Google’s web browser operating system – it’s a linux distribution that starts X, and then runs a version of the Chrome web browser which functions as both the only available application and only window manager. The Chrome web browser basically becomes your entire operating environment.

With the advance of Web 2.0 technologies, an increasing number of applications are being written to run in the browser. One day an entirely browser-based OS could potentially even replace Windows. One day all our data and applications may exist in the cloud and every other device we use is simply a browser terminal.. That said, people have been trying to make thin-client systems work for quite a while and it has yet to see any real success. The version of Chromium that I’m looking at is a pre-release developer preview (version 0.4.22.8).

You can now download Chrome OS virtual hard disk images for VMWare and VirtualBox here – this allows you to run it on a virtual machine and play with it without having to install it over the top of your existing OS. I picked VirtualBox because it’s free and works fairly well, VMWare works slightly better but it’s not free (a free trial is available though which might be all you need).

I set up VirtualBox on my Windows Vista laptop and set up a Virtual Machine with 512mb of RAM and the operating system type set to Linux/Ubuntu. I first tried the VirtualBox chrome-os-v0.4.22.8-gdgt.vdi image file (this is the one that it says is for VirtualBox) but this just presented with a black screen that stayed black forever. I then tried chrome-os-0.4.22.8-gdgt.vmdk which is the VMWare image – this worked, so for some reason with this particular build you have to use the VMWare image even in VirtualBox.

Here’s the first thing you see when it boots (and it seems to boot fairly quickly):

Chromium OS Login Screen

Chromium OS Login Screen

You can login with any Google ID – I used the same account I use to view the Google Analytics for this site. The OS seems to just assume it’s connected to a network and can get an IP address via DHCP, I haven’t tested what it does if you disable the network connection in VirtualBox.

Here’s the first thing you see after you login:

Chrome OS Startup Screen

Chrome OS Startup Screen

This is what you get if you click on the tab in the top left corner with the Chrome icon on it, you can also see I’ve got an incognito tab open as well:

Chrome OS Welcome to Google

Chrome OS Welcome to Google

The screenshot below shows what happens when you click on the icon in the top right corner of the screen – the other two icons bring up smaller menus for battery life and network connectivity. At this stage is doesn’t look like you get much control over how the network is set up, but I’m sure that’ll come in later versions.

Chrome Top Right Corner Menu

Chrome Top Right Corner Menu

Here’s what comes up if you click “About Chromium”:

Chromium about dialog

Chromium About Dialog

When you click on ‘Options’, you’re presented with these tabs:

Chrome under the hood

Chrome Under the Hood

It’s at this point that you realise quite how basic Chrome OS really is – it is just an X server running Chrome and nothing else. The really basic tabbed configuration screen you see above looks to be written in GTK and they haven’t even bothered to put a GTK theme on it yet.

With a lot more work on the user interface, Chrome OS could be a viable alternative platform for a lot of people, but it’s a long way off that goal – there’s no indication of whether your preferences are being stored locally, or in the “Google” cloud – similarly, are downloaded files going to my local machine or the cloud? I should be able to choose. And this horrible grey GTK theme should’ve been one of the first things to go:

Chromium OS Config Dialog

Chromium OS Config Dialog

I could find no way to change the screen resolution or keyboard layout which made it pretty frustrating to be confined to a tiny window with a US keyboard layout.

You can skin Chrome OS with normal Chrome skins so you can have it in a variety of revolting colours (many of which make the Chrome OS icons in the top right corner of the screen almost invisible). However, changing the Chrome theme has no effect on the GTK theme, so the menus and dialogs remain grey:

Chrome OS Themes

Chrome OS Themes

Because the Chrome browser looked so good right from its early betas, I was kinda expecting a bit more from Chrome OS. Chrome OS has been made available to the public way before it’s anywhere close to being a usable platform – they don’t even seem to have properly decided on a name for it yet; within the OS it’s called Chromium, but the filenames of the virtual images I downloaded call it Chrome OS. Whatever it’s called, you can see they’re heading in the right kind of direction but there’s huge amounts of work still to be done before it’ll start seeing mass-adoption.

So there you have it – my conclusion is that it looks promising and we may even have a serious contender to Windows one day, but that day is still quite a long way off.