Why Web 2.0 Sucks

No Web 2.0

Ok, I have no problem with the concept, but does every man and his dog have to buy into using the acronym and especially the 2.0 suffix. Everything is 2.0 these days from the iPhone to grandmas corner cookie store (Cookies 2.0 – Dey Da Shznit).

Seriously the guy who invented the term should be roasted slowly over an open fire and just so it can be done properly, by experts, I condemn him to the deepest darkest pits of the 7th circle of hell. He’ll probably meet the guy who coined SOA there, I am sure they’ll have loads to talk about and become great friends.

What happened to the days when people coined grand and dignified terms for concepts they wanted to describe (like ‘cyberspace’ for example), the days you could look upon the acronym you’ve coined and know that it was good and would make you proud in the wild. No, now it’s all airy fairy concepts and trendy sounding punch lines, appealing to the youth market and all, makes me sick.

How about the guys bandying around the Web 3.0 slogan, gee, don’t we all think they are original, they can like, increment by one and junk. I mean the first time I heard that I was all like, OMFG these guyz are so kewl, they so 31337, I surely must hear what they gotta say, cause web 3.0 it’s gonna take off any minute now, yep any minute now… Sarcasm Flag <- (sarcasm flag)

Another thing that really bugs me about the whole web 2.0 movement, the web 2.0 domain names. Oh, I really have a special place in my heart for those puppies. New start-up companies are just lapping these up, who needs a compelling product or service we’ll just have a hip and “with-it” sounding web 2.0 domain name, the young digerati won’t be able to resist.

Forget solid business planning and marketing campaigns, all we need to do is have a domain name that makes us sound like we’re about to run off and start a garage band with our pot smoking, guitar hero wannabe buddies, and we’re on easy street. Surely the big corporations are gonna wake up and realize there is an untapped market for them out there, example (these are digital gold and I am giving it away for free, silly me):

  • bh.pbillet.on – case modding the hard way rockz, start with a ton of aluminium ore!
  • we.llsfar.go – we pwn the pork bellies futurez marketz!

Latest victim of the web 2.0 syndrome – cloud computing. It still retains some credibility, but is surely heading the way of the SOA. As soon as we can’t go to a conference without at least 2 cloud computing presentations, we’ll know that it has happened. Cloud computing will have become synonymous with “amorphous blob of goo and other things that do stuff”, and we’ll safely be able to send the cloud computing guy to meet up with the SOA guys and the Web 2.0 at that place where they’ll surely be hanging out (see above).

Oh and by the way, completely off topic, but I am on a roll. So, parents whose family name is Kerr (or derivative thereof) who name their baby son Wayne, I hope you get stampeded over by heard of rampaging wilder beast. I mean childhood is hard enough without saddling your son with that name combination. Off you go to join the SOA guy, the Web 2.0 guy and the ghost-of-christmas cloud computing guy!

There we go, all ranted out and it’s not even lunch time, have a good one from Rants Dude, that is to say ra.ntzdu.de! Yeah!

Fitness for Software Developers (and Other IT Professionals)

Exercises

A software developer these days is almost certain to engage in some kind of activity to maintain their fitness. Well, I may be stretching things a little :), but there are certainly more than a few developers who exercise pretty regularly; fitness is the “in” thing to do after all. I however found that many developers are either doing the “wrong” kind of exercise or focusing too much on some muscle groups to the neglect of others.

Every profession puts different kinds of stress on different parts of the body, this means that some exercise is very beneficial in some occupations while being almost harmful in others. Here, I will attempt to give some pointers on the types of exercises and muscle groups it would be best to focus on if you’re a software developer (or indeed any other IT professional).

Focus On The Core

For the uninitiated, by “core”, I mean your stomach, or more precisely, your stomach (abs), side (obliques) and lower back muscles. Your core muscles are arguably the most important muscles in the body. As software developers we sit at the computer all day, this puts a lot of strain on our lower back muscles, especially when we slouch (I know that I can slouch even on ergonomic chairs :)). This puts us at high risk of damaging our lower back in some way, so it certainly behoves us to strengthen our lower back muscles. However – with core muscles – balance is key. If you work your lower back, you need to pay equal attention to the abs and obliques. An imbalance in your core muscles puts you in very high risk of injury and since the core supports your whole body, it can make you a very unhappy developer. And by unhappy, I mean you’ll be in some possibly significant pain.

So, how do you work your core muscles? Well, despite what TV would have you believe, the machines of the AB* variety (e.g. ab roller, ab doer etc.) are not necessarily better than plain old crunches and leg raises. In fact I have found them to be worse in many situations. Not to mention the fact that you need the machine with you if you want to use it, where as for crunches and leg raises all you need is an even surface (floor, bench etc.). So I favour crunches and leg raises for your abs and obliques. For lower back, try doing some back extensions, they are surprisingly hard and also surprisingly effective. If you don’t know what back extensions are, then Google is your friend :). Oh, alright, it looks like this:

Back extension

No matter which exercise you do to strengthen your core muscles, make sure you do it regularly. As a developer who sits at the computer all day, the worst thing you can do for yourself is ignore these muscles. Do not ignore your core!

Engage Many Muscle Groups At Once

We are all busy people and only have so much time to devote to our exercise program. It is therefore surprising how much time people spend doing exercises that engage at most one muscle group (wrist curls anyone?), while ignoring exercises that can potentially work almost your whole body.

There are two exercises that should be part of just about every work-out you do, I am talking about chin-ups and push-ups. Yes, I know that these are very hard and you usually can’t instantly crank out ten reps like you can with a light dumbbell, which is precisely why most people ignore these great exercises. I would however recommend that you give these a good try and don’t give up. You will slowly find yourself doing better and better and the benefits are tremendous.

Push-ups focus on your chest but will also work your arms, back, abs and to a lesser extent your legs. Chin-ups not only give your whole body a good stretch, but will work your arms, shoulders, latissimus dorsi :), abs, and are also good for your spine. But wait – there is still more – these exercises are great for building lean, strong muscle mass (i.e. you’ll be much stronger without looking bulky).

Your time is valuable, there are games to be played, books to be read, code to be written (that is, complained about how badly it was written in the first place and then re-written to be better :)). So, do yourself a favour and use the exercises that give you the most bang for your buck.

Stretch Or Else

One of the most accurate definitions of old age that I’ve heard has to do with your muscles loosing flexibility and suppleness. I wholeheartedly buy into this theory. Work on your flexibility, if you have time to do only one exercise, make sure it is a stretch. This is not just advice for software developers; this is good advice for everyone.

Always stretch, your arms legs and torso before a work-out (and preferably after as well). And don’t just do those half-hearted stretches to “loosen up”. Push your muscles a little bit, but within reason, you can injure yourself even while stretching. Your aim should be to become a little bit more flexible every week, there is no such thing as too much flexibility. I am not going to go into the kind of stretches you should be doing, there is plenty of info around. My job is to remind you of the importance of stretching. If you can’t touch the ground with your fingertips while standing up, no matter how old you are, you’re not flexible enough (touching it with your palms would be even better).

If you subscribe to this theory you will find that as you get older you will be able to easily maintain your lifestyle no matter what you love doing and you will feel good while doing it. Ignore this advice and you will feel old by the time you’re 40 if not before!

The Good Cardio

Aerobic exercise is a tricky one. As developers we spend the vast majority of our time sitting down. Therefore all of us are aware that we should be doing some kind of cardio activity to balance this out, it is simply common sense. Many people join some sort of local sporting team which is great, have fun with your friends while getting a cardio work out. However, team sports can be prone to injury especially if everyone is very competitive (injury is not good for your body no matter how minor). The other problem is that you usually can’t maintain your heart rate at a consistent level when playing a team sport and this is the whole point of a cardio workout.

Running is therefore the perennial favourite to get a good quick aerobic workout. I agree that it is an exercise that makes you feel like you’re accomplishing something, but a word of warning. Running is terrible for your joints, it is very high impact and your bones and joints take the brunt of it. You probably won’t notice it while you’re young, but there is a very good chance that you will pay a high price for it when you get older.

Therefore I favour either walking or cycling as a cardio workout. Both of these are nowhere near as high impact as running, they can still burn some decent calories, especially cycling. They will still give your legs a nice workout (which is a good side benefit). There are other kinds of cardio exercises, but I do recommend doing one that uses primarily your legs, such as the ones I mentioned. This is so that your legs get a workout along with the aerobic exercises you are doing for your body.

“Executive” Summary

Most of the things I talked about above don’t need to be done at the gym (although they certainly can be). With a bit of ingenuity you can do most of these exercises anywhere (e.g. any likely tree branch is your chin-up bar). So, to recap, I am going to keep this short and sweet:

Stretch, Walk/Cycle, Chin-ups, Push-ups, Crunches, Leg raises, Stretch

Then rinse and repeat. It is in your hands from here on in. All your bases are belong to you!

If Software Development Was Like Medicine: Part 1

Software development often gets criticized for various reasons, overrunning budgets, failing to meet expectations, producing a buggy product, the list is pretty long. Inevitably when this kind of criticism is levelled at the software development profession, someone will try to compare building software to some other field, most often construction. You all know the analogy I am talking about, it often starts like this, “If we built houses the way we build software…”, and then goes on to describe in great detail how misshapen and barely functional the houses would be. Well, I’ve always had a bone to pick with that analogy, so I decided to come up with a new analogy, and I picked a completely different industry, Medicine.

Having become a lot better acquainted with the medical profession than I ever wanted to be, over the last few years, I feel that I am qualified to make this comparison :). I also decided to look at the whole thing from another perspective, rather than comparing medicine to software development, I decided to do it the other way around – here is the story I came up with.

A Customer Has A Problem

One day John McCustomer, noticed that something wasn’t quite right with his business, it seemed he had a bit of a business need that was bothering him. So, he called up the offices of his local vendor (Bill von Software Vendor) to make an appointment, surely all he needs is some software to make his business need go away.

Vendor Reception (VR): Hi, how can I help you

J. McCustomer (JMcC): I have an appointment to see the software vendor at 2 o’clock

VR: Have a seat the vendor will be with you shortly.

…1 hours later

JMcC: “… yes honey I’ll have to miss little Suzie’s dance recital, yeah still at the vendors…”

VR: Go right in, the vendor will see you now.

Software Vendor (SV): How can I help you today

JMcC: You see, I have this business need that been bothering me lately, I think I just need a bit of software and it will be right as rain

SV: Well, you could be right but I’ll need to do some PoCs (Proof of Concepts) before I can prescribe the right software for you

JMcC: If you think it best, I guess that’s fine

SV: Unfortunately, we don’t do PoCs here, luckily we just happen to partner with a company that specialises in PoCs I’ll refer you to them

JMcC: I’ll have to make a special trip, but that’s OK. Could you get them to e-mail the results of the PoCs to my company?

SV: I am sorry, that’s just not done, against regulations and whatnot, you’ll have to come here for the results, the closest appointment I have is 3 weeks from now

JMcC: Well I don’t have much of choice, so I’ll see you in 3 weeks then, but what do I do about my business need in the meantime?

SV: Well, I could give you this generic accounting package, that you can purchase at the nearest software retailer, you should also, try to stress less about your business needs, and have you thought of changing your diet and getting more sleep

JMcC: You think all of that will help me manage my business need in the meantime?

SV: Probably, who knows, it is all good advice. Oh and by the way that will be $10000 for this initial consultation.

JMcC: *silently to himself* …@#$% … rip-off … &*^%

3 Weeks Later

SV: Hi John, hows that business need, still bothering you

JMcC: Sure is, that accounting package didn’t help at all, I already had an accounting package at my company

SV: Well I have the results of those PoCs right here, lets have a look shall we. Hmmm, hmmm that’s very interesting, veeeeery interesting

JMcC: nervously Well, what is it! What’s so interesting, should I be worried?

SV: Oh, no the results appear to be … inconclusive.

JMcC: Inconclusive? What does that mean?

SV: Well, they don’t really indicate anything about your particular business need, but not to worry, we can run another round of PoCs, I’ll write you a referral.

JMcC: This is somewhat inconvenient, but I guess if it will help solve my business need….

SV: Oh yes, we are definitely zeroing in on the problem now. You’ll have to make another appointment, how does 3 weeks from now sound?

JMcC: Sounds like I am wasting my time a little bit, but I guess I don’t have a choice

SV: That’s correct. By the way that will be $9999 (you get a discount as a repeat customer)

JMcC: *silently to himself* … ^&*%$ … I’ll repeat your customer …

Another 3 Weeks Later

JMcC: Look this business need is really starting to bother me, the lack of solution is affecting my relationship with my customers and my employees are a little annoyed that nothing is being done

SV: I understand, it is only logical that you are concerned. The good news is that I have your PoC results right here…

JMcC: Ah excellent…

SV: The bad news is that the results were again inconclusive

JMcC: What! Look it’s been 6 weeks already; I’ve been more than patient

SV: I do understand your concerns, but I have you considered that you don’t really have a business need at all you only think you do. Maybe it is all in your head

JMcC: Are you suggesting I don’t know my own business? I take offence to that

SV: Look, it was just something to consider, if you like I can refer you to a consultant, who can have a chat to you and explain exactly why your business need is imaginary.

JMcC: I am pretty sure it is real. Some helpful advice would be nice for a change.

SV: Well, alright I can refer you to a specialist software vendor; they are an expert at the area where your business need lies

JMcC: I thought you didn’t know where my business need lay?

SV: I don’t but I suspect

JMcC: You suspect! Why didn’t you tell me … Oh forget it, just refer me to the specialist

SV: No worries, of course specialists are in short supply, the nearest appointment is 6 weeks from now, hope that’s fine

JMcC: Yeah, yeah whatever, sign me in

SV: Excellent well good luck with your business need and all, come back any time. Oh and that will be $9999 again

JMcC: silently to himself* … why I aught to … *sigh

6 Weeks Later

Specialist Software Vendor(SSV): Well, SV says you have some sort of business need

JMcC: That’s right it’s been bothering me for a while now, but while I was waiting for you I went to an alternative business software specialist and they hacked up this Perl script for me, it didn’t solve my business need fully but it has been helping a little, they said I need to use for a few months before my business need disappears completely

SSV: Well if you want my recommendation I suggest you stop using that Perl script, you see alternative software engineering just doesn’t work, it is all voodoo programming, you can really get your business in trouble

JMcC: But it has been helping…

SSV: No it hasn’t you only think it has, it is called the software placebo effect, I wrote an article about it a couple of years ago, I am considered an expert in the field I’ll have you know

JMcC: Well I guess you know best, I’ll stop running the script, so what do you think I wrong with me

SSV: Hmmm, it is hard to say without doing some PoCs

JMcC: But, I’ve already done 2 rounds of PoCs, they didn’t show anything

SSV: Oh no, those were just generic PoCs, they are not very good in an economic climate that your industry is currently in. I can perform some much more sophisticated PoCs

JMcC: Ahhh, I see that makes sense I suppose

SSV: Now these PoCs require some specialised equipment which I only have at my headquarters, you’ll have to go there. These PoCs require a day of preparation, so you’ll have to stop doing business 1 day before, and I don’t recommend you do anything too strenuous the day after

JMcC: This will really play havoc with my schedule, but if you think you’ll get a conclusive answer I am prepared to do it

SSV: Oh definitely, I presented at an international conference about how good my PoC methods are, I am considered quite an expert in that area also

JMcC: I just bet you are, so when can we do this.

SSV: Lets see, the best I can do is 4 weeks from now. Oh and by the way that will be $50000 for the initial consultation, I take cheques.

JMcC: … … … … … …

to be continued