Categories
perspective

The Holy Grail

Life ™ has been busy since inception with the search for the Holy Grail. And over the millenia, The Holy Grail has taken on many different forms largely based on the “ruling” population of the time. Today, the search for the Holy Grail is more fervent than ever and more, it exists as a multi-dimensional “thing” (not unlike Thing 1 and Thing 2).

In technology, and more specifically, coding technology, the Holy Grail looks like a Silver Bullet. They’re actually the same thing, just prone to shape shifting. And the next best thing will be the answer to all your (current) problems. What you don’t hear about are the new problems this next best thing introduces thus initiating a next round of search for the next silver bullet. And so it goes on. From languages, to methodologies, to platforms, to frameworks, to products, to services, to concepts… and even, to people.

The health/fashion/insert-name industry are much the same. No surprises here with the next best thing promising to be the answer to all your health/fashion/insert-name problems. Even religion. The buzz words abound and we hop from program to trend to achieve the ultimate goal in the shortest possible time with the least amount of effort. Except that that is as far from the Holy Grail as Patagonia is from Jerusalem. Oh the irony.

If only the Holy Grail didn’t cleverly disguise itself as determination, passion and hard work we would more easily recognise it. Ah, if only the Silver Bullet came all neatly wrapped in shiny neon with colorful crinkle wrapper and in tablet form that you only had to take twice a day with meals. And if only the answer to all our problems were easily downloadable and came with a 30-day free trial. But it doesn’t. And whatever you’re being sold that does, is not it.

In tech, I’ve seen solutions soar on hardware-software combinations that defy marketing material. In sport, i’ve witnessed achievements that defy current trends. And in health, I’ve seen results that swim upstream the mainstream. I’ve also seen the opposite.

Kitted to the nines with all the latest garb, wizardry and ca$h, software systems have exploded with little more than a well-timed “boo”. Athletes train season after season with no progress. And people get unhealthier despite the many, many (many, many) diets. Ah… but this next one is guaranteed to work, right?

The (not-so) “secret” to all the success stories I’ve encountered in articles, experiences (first, second or third hand), stories told over the campfire, coffee chats, eavesdropping, documentaries- everywhere basically; is this:

work hard with passion. pay attention to detail. don’t give up (too soon). that is the holy grail. kinda like a Po-Reading-The-Dragon-Scroll-Moment. oh, and if you hit a tipping point you’ll probably make a living doing it too. score!

Categories
perspective

zaFin Update

If you’re running zaFin on your BlackBerry smartphone, now’s a good time to update the data tables:
* Reserve Bank dropped the lending rate a short while ago
* StatsSA released CPI figures for 2010 up to end of March and
* SARS released the 2011 tax rates for individuals.

Categories
perspective

Upgrading BlackBerry Eclipse Plugin And Old Component Packs

If you find yourself wondering how to use your old component packs (and hence simulators) from the first Eclipse plugin (v1.0), there’s a great discussion on the support forums tackling exactly that.
Creating an .ee file and adding the JRE to the workspace worked like a charm for me. I’m using the upated plugin v1.1.2 on Eclipse 3.5 and all this has been an incremental update from 1.0 (beta).

Categories
perspective Technology

HOWTO: Adopt Agile

I’ve heard the stories, read the reports, discussed and debated, disagreed and agreed, worked together and against each other; i think there may even have been blood spilled at one stage? I vaguely remember something about a keyboard and a dwarf… Indeed, if there ever was a word in the software industry which could raise the room temperature, it’s the little word “agile”.

HINT: If you ever find yourself listening to a techie and he/she/it is boring you with details from another universe and you don’t have a clue as to what they’re talking about (or what language they’re using even if it does sound remarkably close to your mother tongue), just randomly blurt “Agile!”- then stand back or run.

One of the concepts in agile is iterative development because iterative processes help achieve a goal efficiently by giving you the flexibility to change your trajectory as the goal itself moves. If you’re aiming at a goal that never moves, then this story is not for you. Also, check your goal for a pulse- it might be dead. Hence, it makes ironic sense to adopt agile in the same manner: iteratively. That is assuming you want to adopt it at all because if you don’t then there’s no point in proceeding any further. There are none so deaf and blind is how i remember the expression…

And the processes, practices and insights that agile opens us up to- testing, refactoring, pairing, reviews, continuous integration, dry, yagni and company- are also metaphors for adopting the very process itself. And even deeper, the metaphor for every software project should also be embraced for setting up your own company’s adoption of agile. Can you feel the power of recursion starting to make your head throb?

So think of adopting agile as a software project on its own and take it from there. Create stories like “get Paul* to integrate more than once a day consistently”. Get team players to estimate on the story. The team players in this case are those who actually want to get agile ticking along (volunteers). So it’ll probably take 2 weeks before Paul gets it right. Maybe if Igor* took the story he could “convince” Paul inside a week? Create your storyboard, organise the flow, derive a project plan, split it up into more iterations (if need be)- the usual. Then “code”.

Having trouble with Paul? Pair-up with someone. Tag-team it. Refactor. Check in your working “code” regularly. Review what’s been done. Write new stories. WARNING: You might actually start having fun. Role-playing is an essential survival trait of almost every developer. It’s addictive and to pretend that you’re actually the software is going to be a little mental for some, a little esoteric for others but hysterical for a geek. Oh, and don’t be surprised if your developers start to get a little carried away and come dressed as hexadecimal numbers to work. Just keep a straight face and say “Ah. Good morning, 1.6A09E667”.

On the serious flipside, when you start to setup a project plan for adopting agile in this manner you also get to eat your own 0xbaadf00d; practise agile more; refine valuable skills; learn lessons; incorporate it into team culture; get an empirical idea of how close you are to hitting the mark and have a working team at all times (this is most serious). All the feel good fluffy things you want to hear.

And on the negative, less fluffy, pessimistic , dark and evil side of things, when you start to overrun your estimates badly on a lot of stories, you also start to get some really good feedback on when to can the adoption and/or start again or try a new tact. Ok- that’s actually good news too. But how much you try will depend on the strength of the character flaws in your project leader.

And before you know it, you’ll be miles away from being the perfect agile team. Indeed, just like software, there’s always one more feature you can add or take away. There’s always that one routine that can be a little better. And over time, you need to make changes that help you stay relevant and marketable and profitable. It’ll always be perfectly imperfect. And so you keep coding, creating and evolving something even more beautiful (and useful) than you ever imagined in your wildest electric dreams.

Categories
perspective

But wait… there’s more

It all started with the revelation that (under South African law) piracy is not a crime. That tied in oh so nicely with the declaration by the US government regarding the estimated cost of piracy. All within the same week. So what’s the real story?

How are we who copy songs from our friends (who may or may not have bought those songs in the first place) labelled criminals by the hyped-up media and propaganda campaigns while the multi-billion dollar industries who pillage and profiteer in the name of capitalism can be labelled victims of the same “crime”?

What does irk me is the untruthfulness of these campaigns. If the law did in fact make piracy (for personal use) a criminal offence then the campaigns would be legit and all would be well. But to lump it all together with the hardcore mass-scale pirates, blur it and then through propaganda make it seem like a legal precendent…

It’s no small wonder why we (and yes, we, not just me) are growing increasingly distrustful of large formal organisations and governments- they (ab)use their power to deceive the people who put their trust in them. Power corrupts…

Categories
perspective

Piracy is NOT A Crime*

I did not see one this coming. Under South African law, piracy is not a crime. Contrary to all those ads on the DVDs and the big screens sponsored by the DTI and all the talk and all the hyped media…

I’m no lawyer and like most people rely on the messages that are published by authorities to understand what we can and can not do. So my boundaries are then subsequently defined for me when I choose to assimilate those messages into my day to day life. It seems that one of the big lies has been: piracy is a crime. Ok, maybe not a blatant lie. But they certainly did their best to link the criminal element in. You wouldn’t steal a handbag….?

But all is not what it seems.

It does appear to me as if the spin doctors were doing their best on this one to, well, make or save a buck. And if there’s one thing I learned a long time ago, if you don’t understand who/what/why of any situation… follow the money.

* not a crime for personal use only. not referring to them that import thousands of pirated copies and then bootleg them on the street corner. that IS a crime.

Categories
perspective

Previously

If you enquired as to my health and i responded that i was previously ill, what would you assume my current health status to be?

And if you enquired as to my financial status and i responded that i was previously poor, what would you assume my current financial status to be?

If you enquired to my racial group and i responded that i was previously disadvantaged, what would you assume my current racial group to be?

And as with all things, when we attempt to be politically correct, instead of using plain black and white language, we start painting ourselves into the proverbial.

And if you reasoned that my current racial group is now advantaged by virtue of the fact that it was previously disadvantaged, what is the implication? For there to be a group that is disadvantaged, the assumption is that there exists a group which is advantaged. And now the existence of a previously disadvantaged (and hence currently advantaged) group implies there could be a currently disadvantaged- perhaps the previously advantaged?

It’s a language thing, and language lends itself to all sorts of abuse by implication, perspective, context and ignorance. And which is probably why language is so often used in politics- and the more the better.

Categories
perspective

BlackBerry Trickery

Learnt a very useful (albeit sneaky) trick today about running menu items off other screens. In particular, the phone screen menu items. Originally posted here.
And of course, a big thanks to simon_hain who’s helped with loads of development by virtue of his contributions to the online community. I definitely owe you a beer/coffee/tea or something if ever we meet one day 😉

Categories
perspective

Animated Gifs on BlackBerry

A clean and easy to use gem: HOWTO animated gifs for your BlackBerry development efforts. Courtesy of RIM.

Categories
perspective

Relaxing on The Couch

the last few days i’ve been looking at couchdb and started building my first app on it.
Coming from a primarily “backend coder” perspective (complete with domain modeling, object-mapping, type-safety and so on…), it’s been challenging getting to grips with JavaScript on steroids, plain HTML and jQuery along with couchapp all at the same time.
Sometimes my brain’s wires short-circuited but i’ve loved the journey so far. Very reminiscent of my experiences when i made the switch to doing cool stuff from “just doing stuff” for other people.
Lovin’ it.