As much as humans love to multitask, we are still better at doing one thing at a time, well more precisely, we still do one thing at a time, even when we multitask, assigning a quantum/time-slice to each task. Much like the use of a time-slice process scheduling algorithm, multitasking is not free, the cost of context-switching still exists, to most of us, that means getting in the ‘zone’ for particular tasks. Unless of course you have some form ADD or ADHD, then you thrive on the ability to multitask and having many things to do at any one time. I find however that even this basic idea is often not recognised in the workplace, developers need contiguous blocks of time to effectively get work done, constant swapping of priorities, or frequent meetings are major hurdles to producing effective and quality code, and thus quality software.
But of course, for many places quality software is not a priority, software that works in as far as the customer is concerned is what matters. Even if the poor codeform (I’d say lifeform, but then you’d think I’m crazy which would be true too…) is hurting inside, begging, nay crying for a refactor, as long as it does what the customer asks, all is well. Sometimes this is fine, especially when we code to unreasonable requirements which really mess the code up. Reminds me of a tenet from Kernighan & Pike’s The Practice of Programming on programming for the general case first. Non-standard requirements often break elegance and symmetry. This is not to say they’re wrong of course, but they take a bit more effort to get right in software engineering terms.
A digression (I love doing this): one could argue however that given more time, one could modify the code so it remains elegant in handling the strange requirements. One could even argue that if there are a lot of strange requirements, either the customer or the developer or both have not really translated the domain’s needs into a software-consumable form (read: modeling), or that form is just plain wrong. That in fact, those requirements may not be so strange after all, that they carry more value than the ‘standard’ ones. I mean if there are too many special cases, perhaps they’re not so special!
Anyway, on multitasking again, I have been luckier than most in this respect, as I have had team leads who code and recognise the value of having dedicated time blocks for tasks. Just an observation methinks.
— Kamal
So. As I drove my manual car (don’t worry about the brand or type, it’s not worth mentioning), I started wondering if the difference between driving a manual vs. an automatic was analogous to using a language with explicit memory management vs. a language with a garbage collection (GC) facility. Thing is, I love driving a manual, in spite of the Jakarta traffic – I love the control I get, the feeling of driving as art. But I would not use a non-GC language for most of the apps I write (web/enterprise); indeed for a very large class of apps, the convenience of GC far outweighs any non-determinism or performance losses.
So (that’s that word again). I have answered my own question, transmission types are not analogous to memory management mechanisms. Time to get back to my Sunday and do more pondering, or perhaps resume watching Heroes.
People may have heard about this, it caused a fair bit of controversy within Malaysia, and Indonesia (because the Indonesian Ulema Council decided to consider the notion too… speak about aping). Anyway, all looks well, reason has been victorious, and the ban has been lifted since there was no unanimous agreement. I actually first became interested in the matter reading this article in the Jakarta Post, an English-language Indonesian newspaper. Since the topic of spirituality is dear to my heart, I wrote a letter to the editor which unfortunately did not get published (though I can see why… but I rock regardless ;-)). I thought I’d share the letter on my blog – ah the joys and power of self-publishing – sit back and enjoy the ride.. er read.
This is to comment on: November 23, p. 2, News Highlights: Malaysian Council bans yoga
Malaysian Council Ban on Yoga?
I read that article, and fell to my knees (metaphorically), thanking the Divine/Ishwar/Allah, that I live in Indonesia, where until great poverty struck, we had a very sensible, very moderate form of Islam (we still do for the most part). A place where people are united by intrinsic values such as respect and tolerance. The article reminded of the silly porn bill passed recently – amid the various things we have to deal with – what’s on our mind? Sex. Truly it is a strong primordial drive – mad as Freud was, he got stuff right – for or against, we can’t ignore it. But I digress. On this ban, a couple of points:
Hindu prayers: Actually they’re mostly mantras which have subtle effects on the body and psyche, much in the same way recitation of verses from the Quran do. By the way, the prayers develop love for God and the Divine’s various aspects, they’re not packages sent to the Great Jinn of Mount KinabaluTM. The prayers – like prayers from all religions – promote compassion, not division and hatred.
Blasphemous God Union: Gosh, that’s a mouthful. I am no expert on Islam, but I have spent time reading esoteric material, including Islamic texts (perhaps they were blasphemous?), at their very core religions do not disagree. Humans and their often half-baked (read: shallow) interpretations do. Discovery and realisation of the Self as being part of the Whole (== Yoga) is a theme and a goal common to all major religions. The relationship between a human – an emanation of the Divine – and the Divine, is a very personal one. So long as that emanation has not caused harm to others, what right does a council of just-as-fallible humans have to call that relationship blasphemous?
A plea perhaps to the hearts of those in the council who see the absurdity of this ban to lift it. In the long term it will do more harm than good for Malaysia as a member of a diverse World. Malaysia – Truly Asia. Last I checked India and it’s culture was very much a part of Asia. As was the notion of unity in diversity.
— Kamal
PS. Checked again, yep, still there folks.
PPS. Dear Editor(s), besides grammatical errors, or redundant sentences, if you intend to cut parts out, please either discuss it with me, or don’t bother printing it. I will understand – thanks to my oh-so-great degree of tolerance, even if our religions may differ :-).
PPPS. “==” is a bit of a computer programming thing, let it be an obscure joke.
When I wrote that, I did not realise that the ban was only applicable to Muslims, so perhaps I kind of understand the problem with Hindu prayers – anyway, still pretty silly overall.
— Kamal
While YouTube-ing for Reiki material, I came across some Native American music, very interesting. Thing about traditional music is that the simplicity is often astounding. Consider the didgeridoo of the aboriginals. Such music is often deep, trance-inducing, and ancient (I know, duh), dare I even say spiritual.
Anyway, at some point I may look for some Native American or Aboriginal music CDs (feel free to comment on suggestions). In the meantime, here’s a site with streaming internet radio playing Native American music (if the link is broken, just find it from the site, note that it uses an IP address – potentially different hosts are active at different times for load balancing, if the site is broken.. er GIYF). Not bad at all :-). Those on Linux can use the VLC media player to play most streams. Not sure if mplayer works, but VLC works a-okay.
Okay something strange is happening, for some reason the radio stream is playing something that clearly does not sound native… let’s consider it an interlude – too much depth probably drowns. Especially since I don’t swim, heh.
— Kamal
Ah, this is a classic song I listened to way back when I was a teen at school, 1994! I remember cracking up over their accents with a good friend of mine, who was my seat/tablemate. Video and lyrics. Enjoy, I know I will :)!
— Kamal
Yet another poem I wrote before leaving uni, as I was about to lose my beautiful Unix account. With commentary, it was part of my Unix .plan file :).
—
An Ode To The Shell
Dear Shell
There is time still
In my heart, a heavy load
Soon, part I will
Accept my free-form ode
One line of script
And you saw me fit
Anointed with Unix Nature [1]
Awoken, once and forever
The ampersand
My background friend
The hash
Script docs in a flash
for and while
Benchmarking in style
Redirecting to file
On my face a smile
Commandline completion
My eternal companion
Your prompt my dominion
Forever awaiting my opinion
more or less
Your pagers did impress
rtin
A blessed sin
finger
How it made me linger [2]
who
Wouldn’t I like to know!
And ls?
Light on my directory’s mess
Oh kill,
Gosh what a thrill
foo, bar, and baz
Music better than jazz
command not found
advice so sound
Segfault fury
You threw at me
In all its glory
Initiating divine hackery
Synthesis of pipes and redirects
Plethora of commands at your behest
Skillfully accepting my greps
My shell, you are the best
Dear Shell
This is gonna hurt like hell [3]
I bid you farewell.
—
Commentary and references
Inspiration:
[1] tm esr, http://catb.org/~esr/writings/unix-koans/ten-thousand.html
[2] tm Cranberries, Everybody Else’s Doing It, So Why Can’t We?, “Linger”
[3] tm Sarah McLachlan, Mirrorball, “Hold On”.
Good luck everyone. It’s been great (for the most part anyway) in CS.
To those who’ve read/answered/constructively criticized my posts, a
sincere thank you. To those recently graduated, good luck with the jobhunting
(shameless plug: let me know if you have a free spot :P).
And to my friends still struggling – hang on in there :).
— Kamal