For want of a nail the war was lost…

For some days now I have been talking with a good friend of mine who is currently a student in one of the engineering colleges in West Bengal India. The basic point of our discussion was that old hoary topic “How to get more students to contribute code to Open Source” which sometimes becomes “How to get more students to code“. And as it turns out, the issues are not as benign or simple as they appear.

Take for instance this revelation: in almost all colleges in West Bengal (private and government included), the computer laboratories have machines/desktops supplied by HP. Guess what they are preloaded with ? Mandrake 9.1 (yes, that’s correct folks you read me right) which comes with a 2.4.x kernel. And now if you take a look at the syllabus for System Administration you will see a curious pattern emerging that ties in the course content to 2.4.x kernel eg. the requirement of ipchains (over iptables) to be taught and practised.

It begins to get more curious if you start looking at the faculty specialisations in the colleges. Each college has to mandatorily disclose for the AICTE the various infrastructure details and details about the faculty. They do make a telling comment. A sizeable chunk of the teachers are padding time between their PostGraduate and UnderGraduate courses by ending up as teachers at these institutions. Fair enough, a whole bunch of them keep on migrating to jobs that pay a bit more (as opposed to teaching which has miserable pay). The average cost for a student to go through the courses is around 400,000 INR every year there are around 120 students per college who pay this (and sometimes allegedly more) to get through. And somewhere in between it seems immoral that students are not exposed to the best what the world has to offer. The immediate fallout is that students shell out an additional 6-10,000 INR to companies like NetTech to learn Linux, C/C++ among other stuff.

Coming to the students. The generally established theory is that the students have no inclination to learn. Simplistic as this is by means of an explanation – it is false. Fact remains that the students need to be shown the path. Not mentoring but guidance in a low touch way. The traditional method of mentoring is very high touch and getting folks to work along that line is going to be a big challenge. There has to be a low touch method of guiding students to start coding and sharing their code so that the best of collaborative peer review can be put in place. Most of the students would not be in a position to choose existing open source projects since the meritocracy involved would put them off it. While I go on a small vacation, some food for thought…

UPDATE: Take a look at this piece of work

What will do when you are bored and nothing’s staying on your mind…

Yesterday a friend of mine who teaches CompSci at one of the colleges caught me on chat with the line that he was bored. Being from a school of thought which associates being bored with you-know-who’s workshop I thought it was time to get others do some bit of stuff I had never found time to check out.

So here goes:

Create a GNOME centric 2 CD Fedora based distribution. Just in case you wonder what it takes, here comes the listing of the required bits:

%packages

@admin-tools
@base-x
@dialup
@editors
@games
@gnome-desktop
@graphical-internet
@graphics
@java
@office
@printing
@sound-and-video
bsf
comps-extras

Just in case you feel lost – here’s the roadmap (look for the Anaconda Customisation links)

But the above is not enough to make your secret sauce work. Here’s some more bits of infrastructure changes you require to do:

[1] Ensure that you use a custom kickstart that always does askmethod for installs. Good for UseCases where you have a NFS/HTTP/FTP dump ready and of course a no brainer if you have the CDs at hand.
[2] Ensure that you have a rescue kickstart put in that does not format /home when re-installing
[3] Add yum to a cron that checks up the repositories on a daily/alternate day basis
[4] Shut down all unwanted services during startup
[5] Take out a few of the virtual consoles

And if you have done all this and are still not satisfied,

[1] Attempt to extend the functionality of Yumex by allowing repositories to be added through the GUI if an appropriate link-to-repo-file is passed.

[2] Take out the requirement of root user from the system or at least investigate the possibility

ps: While doing all of the above please ensure that you keep posting about your efforts to a blog/journal/website and perhaps also try and rustle up a few of the students as beta testers for this project.

Getting the work done

ICT (Information & Communication Technologies) for Development has been the happening buzzword for over a year now. A slew of reports on ICT4D ‘success stories’ in the ASEAN region and some specific to India have appeared. Surprisingly a good number of them refer to the success of the efforts without actually quantifying actually what has been done in terms of costs incurred and costs recovered. The other thing that does not get talked about or written about is the absolute lack of interest in infrastructure. ICT4D will be very much tied into infrastructure. Assume a place (and there are so many like these that you can just put a random name) where the power supply is erratic, the telephony network is in shambles and there is no semblence of a village school. How does one manage to create an ICT success there ? And this is precisely the point. In nearly all the cases of Indian ICT success stories, the chosen ones seem to have all the infrastruture details neatly sewn up and in place. The entire concept of requirement of a basic (or bare minimum) infrastructure is not talked about in the much hyped ‘funded projects’ which attract a lot of press and attention.

Lack of infrastructure also means that effective utilisation of the context of the deployment would not happen and thus the impact of the project would be much less that what is expected/projected.