?

Log in

Alas, a blog! Live life, like you give a damn!

- the good life 1 degree north!

harishpillay

View

Navigation

Skipped Back 10

December 16th, 2009

Why would anyone continue to put any more credibility with the entire Digital Restrictions (mis)Management that our Redmond friends continue to implement in their software? DRM is bad enough, being locked out of your own files is completely unacceptable. Does this warrant a class action suit? I don't know for I am a happy user of OpenOffice.org which does not have any of these abominations.

I like the following comment on /.. I think it is 100% spot on.

November 27th, 2009

This was on a mailing list and thought I should publish it here for posterity.

(Tech Support | California, USA)

Caller: "I need to report a very serious computer crime! The local university
is running an illegal computer system!"

Me: "Could you please repeat that"

Caller: "The local university is running an illegal computer system! They've
hacked it!"

Me: "How could you tell they'd hacked it"

Caller: "Well, when it booted, it didn???t say Windows or Microsoft or
anything! It said something about Deviant Linux, I think, and the main
screen looked nothing like my good, legal Windows screen at home!
I think they hacked that, too!"

Me: "Do you mean Debian Linux"

Caller: "Yes, that! Is it some sort of computer mafia or something"

Me: "Uh, no, it's just a different operating system. Nothing to worry about."

Caller: "But it's illegal! It's not Microsoft, not even Windows! They're on a
normal Microsoft computer, so they're breaking the law! I think they stole
my identity when I came in the building! I'm calling the FBI!" *hangs up*

November 26th, 2009

The Singapore Dilemma

Share
So, the PSLE results came out today, November 26 2009. My son did well (got 3As and an A*) and his "aggregate" is 241. Next step is to apply for secondary one. In a way, the system is freer now compared to when I did my PSLE 38 years ago. He has a much wider range of options but there are some Singaporean idiocyncracies in it. FWIW, he did very well for his second language Malay, getting an A for it. Considering that my Malay was all from National Language which was from my primary and secondary school days, and we don't speak anything other than English at home, I am really, really pleased to see him do very well in it. Full credit goes to his school Malay teacher, his Malay tuition teacher and his daily reading of the dead-tree edition of Berita Harian.

Last week or so, Lee Kuan Yew apparently acknowledged the mistake of his ways in insisting on a second language as an important subject. There are more to it that just this admission of mistake.

Firstly, the schools use the term "Mother Tongue" when referring to second language. This is a not too subtle spinning done by the PAP-led government to subconsciously suggest that the second language done in school is the child's "mother tongue". Of the four official languages in Singapore, historically, only Malay and Tamil are indeed the mother tongues of those who are Malay and Tamil. To every one else, the four official languages are technically non-mother tongues. But the clever use of "mother tongue" helps to imply to the Chinese Singaporean, the Malay Singaporean and the Indian Singaporean, that Mandarin, Malay and Tamil are their respective mother tongues. It is not and never has been. Clever PAPesque wording but stupid social engineering.

Keeping that in mind, let's consider the plight of a Singaporean child going through school. She has to do a 2nd language compulsorily. Compare that with a foreign child attending the same school who is exempted. Who do you think would do better overall - given that no time and energy is spent on a subject with weightage that is not needed? Is it then a surprise to read enough stories of Singaporeans who uproot and move to Australia (mainly) and citing that the 2nd language policy is the push that made them leave? How many good people did we loose as a result of one man's flawed reasoning? Singapore invites people from all over to settle on her shores and contribue to the economy, culture and the arts. But these newbies are not burdened with the mandatory 2nd language albatross.

Earlier this year, at a secondary school open house, I asked if students who join the school next year can choose to continue or discontinue the second language? The reply was that "so long as Minister Mentor is in the cabinet, it will continue to be a requirement to do 2nd language" - not the exact words, but the winks, nods and smiles implied it and I choose to put those words in their mouths.

The exam system has been gamed by those who can answer questions in the way that the graders cannot but pass and whether or not the child has any learning per se, is hard to determine. Looking at my son's primary six science and english language text books, the contents of the books were so superficial that it is no surprise that the teacher did not even use it the whole year.

All is not rosy. Too many mistakes are in the system and political leadership is called for. Not sure if Lee Hsien Loong can rise to it, not sure if Ng Eng Hen (the education minister) cares, but we need to fix the problems. We are loosing (and have lost) good people due to stupidity on the part of the policy makers aka politicians from the PAP.

November 25th, 2009

Happy to have helped with the launch of Fedora 12 at the Singapore Polytechnic. It was a lunch and learn affair and we had about 120 or students in attendance - including about 10-20 faculty. Nice to see the interest. Good questions were asked: does it have AutoCad? How about PhotoShop? What about drivers? Was able to show them Fedora Electronics Lab and scribus and inkscape. Good interest and good feedback. Hopefully some will sign up as Fedora Ambassadors.

November 18th, 2009

Good to be recognized

Share
Quietly pleased to be recognized with a Merit Award from Spring Singapore for "meritorious service and contribution to the Singapore national standardisation programme". Thanks, ITSC for giving me an opportunity to serve.

Spring Singapore Merit Award 2009

November 15th, 2009

My Mom was asking me for a small laptop for her to use and I figured that the best thing would be to get a netbook. With my sons and nephew in tow, we trooped down to VivoCity to see what's on offer. Best Denki was the first stop and nothing that caught my eye. I had with me, my USB drive that runs F11 so I can test out the machines before I buy them. Better than using a live CD because not all the systems have CD drives.

Then we moved to Challenger and I was pleasantly surprised to see on offer the Acer Aspire One D250 preinstalled with Andriod and the some other OS version 7. I promptly, with a puzzled sales person overseeing me, plugged in my USB drive and booted the machine. Fedora 11 came up sprightly and the built-in camera, audio, wifi, bluetooth, 3 USB ports, ethernet and SD card reader all were detected and configured.

I did check out the set on display and the Android is a customized edition. The challenger sales person asked me if I wanted to "set up the machine". I asked him why and he said that the Other OS is pre-loaded, but not configured. I said that doing a configuration would mean I have to agree to use that Other OS which I am not prepared to and that I am really interested in the Android and Fedora as the two OSes. He was not much of a help because "you are trying to run a freeware from your storage USB drive?". I told him that, like Android, I am running another Linux distribution, called Fedora and that I would not need any other OS - especially the Other OS in the machine.

It appears that I can default the machine to boot from Android but I will first have to "set up" via the Other OS, which I might just do, so that I can get this machine to Mom.

Here are the specs of the machine (from lspci -vv):
00:00.0 Host bridge: Intel Corporation Mobile 945GME Express Memory Controller Hub (rev 03)
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast TAbort- TAbort- MAbort+ SERR- PERR- INTx-
	Latency: 0
	Capabilities: access denied
	Kernel driver in use: agpgart-intel

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GME Express Integrated Graphics Controller (rev 03) (prog-if 00 [VGA controller])
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at 58280000 (32-bit, non-prefetchable) [size=512K]
	Region 1: I/O ports at 60f0 [size=8]
	Region 2: Memory at 40000000 (32-bit, prefetchable) [size=256M]
	Region 3: Memory at 58300000 (32-bit, non-prefetchable) [size=256K]
	Expansion ROM at unassigned [disabled]
	Capabilities: access denied
	Kernel driver in use: i915
	Kernel modules: i915

00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Region 0: Memory at 58200000 (32-bit, non-prefetchable) [size=512K]
	Capabilities: access denied

00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at 58340000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: access denied
	Kernel driver in use: HDA Intel
	Kernel modules: snd-hda-intel

00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00005000-00005fff
	Memory behind bridge: 57100000-581fffff
	Prefetchable memory behind bridge: 0000000050000000-0000000050ffffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: access denied
	Kernel driver in use: pcieport-driver

00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	I/O behind bridge: 00004000-00004fff
	Memory behind bridge: 56100000-570fffff
	Prefetchable memory behind bridge: 0000000051000000-0000000051ffffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: access denied
	Kernel driver in use: pcieport-driver

00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	I/O behind bridge: 00002000-00003fff
	Memory behind bridge: 55000000-560fffff
	Prefetchable memory behind bridge: 0000000052000000-0000000052ffffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: access denied
	Kernel driver in use: pcieport-driver

00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
	I/O behind bridge: 00001000-00001fff
	Memory behind bridge: 54000000-54ffffff
	Prefetchable memory behind bridge: 0000000053000000-0000000053ffffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: access denied
	Kernel driver in use: pcieport-driver

00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 02) (prog-if 00 [UHCI])
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 16
	Region 4: I/O ports at 60a0 [size=32]
	Kernel driver in use: uhci_hcd

00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 02) (prog-if 00 [UHCI])
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Interrupt: pin B routed to IRQ 17
	Region 4: I/O ports at 6080 [size=32]
	Kernel driver in use: uhci_hcd

00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 02) (prog-if 00 [UHCI])
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Interrupt: pin C routed to IRQ 18
	Region 4: I/O ports at 6060 [size=32]
	Kernel driver in use: uhci_hcd

00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 02) (prog-if 00 [UHCI])
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Interrupt: pin D routed to IRQ 19
	Region 4: I/O ports at 6040 [size=32]
	Kernel driver in use: uhci_hcd

00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02) (prog-if 20 [EHCI])
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at 58344400 (32-bit, non-prefetchable) [size=1K]
	Capabilities: access denied
	Kernel driver in use: ehci_hcd

00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) (prog-if 01 [Subtractive decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Bus: primary=00, secondary=05, subordinate=05, sec-latency=32
	Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium TAbort- TAbort- MAbort+ SERR- PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: access denied

00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Capabilities: access denied
	Kernel modules: iTCO_wdt, intel-rng

00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA AHCI Controller (rev 02) (prog-if 01 [AHCI 1.0])
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Interrupt: pin B routed to IRQ 28
	Region 0: I/O ports at 60d8 [size=8]
	Region 1: I/O ports at 60fc [size=4]
	Region 2: I/O ports at 60d0 [size=8]
	Region 3: I/O ports at 60f8 [size=4]
	Region 4: I/O ports at 6020 [size=16]
	Region 5: Memory at 58344000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: access denied
	Kernel driver in use: ahci

00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Interrupt: pin B routed to IRQ 17
	Region 4: I/O ports at 6000 [size=32]
	Kernel driver in use: i801_smbus
	Kernel modules: i2c-i801

01:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
	Subsystem: Foxconn International, Inc. Device e016
	Physical Slot: 1
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0, Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 16
	Region 0: Memory at 57100000 (64-bit, non-prefetchable) [size=64K]
	Capabilities: access denied
	Kernel driver in use: ath9k
	Kernel modules: ath9k

03:00.0 Ethernet controller: Attansic Technology Corp. Device 1062 (rev c0)
	Subsystem: Acer Incorporated [ALI] Device 022f
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast TAbort- TAbort- MAbort- SERR- PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 29
	Region 0: Memory at 55000000 (64-bit, non-prefetchable) [size=256K]
	Region 2: I/O ports at 2000 [size=128]
	Capabilities: access denied
	Kernel driver in use: atl1c
	Kernel modules: atl1c




This is the fdisk output:
fdisk -l

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x7529554a

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        1567    12586896   27  Unknown
/dev/sda2            1568        2090     4200997+   c  W95 FAT32 (LBA)
/dev/sda3   *        2091        2103      104422+   7  HPFS/NTFS
/dev/sda4            2104       30401   227303685    f  W95 Ext'd (LBA)
/dev/sda5            2104       30401   227303653+   7  HPFS/NTFS


The Android partition is /dev/sda2. I have backed up each partition and kept them as a tgz file. The android partition is about 1.3G uncompressed.

I think my next task is to file for a Other OS refund. Looking forward to the fun.

November 13th, 2009

I truly wonder how the US PTO can even grant US Patent 7,617,530 in the first place. It is not so much that Microsoft got the patent, but the fact that it was approved. Looks like the US PTO is 0wn3d by Microsoft!
Great article at Groklaw on this. Please, someone, anyone, do something to fix the US PTO.

[sballmer@M]$ make sudo
[sballmer@M]$ make patent
[sballmer@M]$ sudo make install DESTDIR=/us/pto


[courtesy of Demosthenes T. Mateo Jr.]

November 12th, 2009

It was a real delight to see the level of excitement when we did the document creation and editing at the POSSE day 4 session this morning by Karsten Wade aka Quaid all the way from the ether (aka Santa Clara?). The culmination was surely the way Mel showed the screencast she did using Istanbul. Good awesome morning. Lunch was awesome as well and the one dish that got emptied out was otak-otak.

Standards meeting today

Share
Looking forward to a meeting on open standards later this afternoon with a couple of people from Microsoft. Should be fun.

November 10th, 2009

Mention portfolio to an artist, and she will be only too happy to show off the work she has done. You can then, based on browsing the portfolio's contents, decide to commission the artist to paint the centerpiece of your home. Looking and assessing paintings, photographs, poems, books, articles and so on is really the only rational way to understand and appreciate the true skill of the artist, photographer, poet, writer and journalist. Doctors, dentists, lawers, engineers have to have their craft and skills certified and constantly updated and revalidated. It is interesting to see that the legal system will fail utterly if the laws, decisions, judgements and so on are all not available to all and sundry to read, listen to and watch. The skills of a surgeon in pieceing together the severed artery is no less a display of amazing skills, but also the fact that it is open to review by peers.

Given that human endeavours have always needed to be peer reviewed and validated, why is that we do not seem to insist that in the case of software developers? Why do computer science schools continue to teach programming in isolation and not as part of the free and open source community? What better way than to read someone else's good working code to gain a deeper understanding of both the subject matter, but also the art of coding?

Let me pose this question: when you are faced with hiring a newly minted CS major, how would you assess the person's coding skills? Would you be going by the candidate's GPA, or the score in a particular course? How about if you are going to hire a new visual artist for making icons, images etc for your product? It is not unexpected to ask the visual artist to provide her portfolio and following an interview or more, the hiring organization is rest assured of the skills. Contrast that with the CS major. If the person has been coding in, say C# or .Net while in school, would that person be maintaining a portfolio of code written? How would one do with these proprietary platforms when these platforms are hidden behind NDAs and such? How would the hiring manager truly assess the skills of the applicant? If, instead, the applicant had been coding in the open source arena, when asked, the applicant need only point to where her code, image, how-tos, etc are kept and let the interviewer figure the quality.

For many years, hiring a developer has been an exercise in blind faith and Russian Roulette. You had to take a risk on some individual coming with the right skills at a level that is of high quality and acceptable performance. You have no way to check other than to ask previous co-workers and perhaps even her manager (and even LinkedIn for that matter) on the quality. Why can't we look at the code?

This brings me to epiphany that there cannot be any other way to hire a developer other than by checking out her portfolio. If the portfolio is hidden behind a proprietary NDA-wall, it becomes buyer beware for the organization. That itself explains, via conjecture, the enormous waste in software projects - US$1Trillion at last count. Singapore is currently wasting over S$1b on a proprietary implementation of the Standard Operating Environment, but what is S$1b compared with US$1T - a rounding error. But a huge rounding error paid out of tax payers monies.

We have to require all CS students to maintain a repository of code that they wrote while in (and perhaps before school) so that potential employers can make references to that in hiring decisions. QED.
Powered by LiveJournal.com