How computers fail to entice people into being programmers

An old friend of mine from the UK, Steve Usher, has pretty much nailed things with this blog on “Enthusing teen minds: Why today’s computers won’t create tomorrow’s programmers“. He says:

The computers of the early 80s were a blank canvas. You plugged them in, switched them on and (hopefully) the input cursor blinked at you. There was no decoration, no clutter and it was something waiting for YOU to do something to it.

Ah yes, I remember those days, when 3.5KB was a lot of memory! But what about today’s computers ?

They’re immediately brimming full of functionality all vying for your attention, but it’s also incredibly locked down. You can do absolutely anything… ANYTHING as long as it’s what the visionary who steered the programming teams thinks that you should want to do. Woe betide you if you want to do anything different. It’ll either ignore you or give you an unhelpful suggestion in a dialog box. You can be creative, but only in the ways you’re told you can be.

But before us free software types get all puffy and “I told you so”, he points out that things aren’t that much better on our systems with all our SDK’s, IDE’s, toolkits, compilers and interpreters:

It’s like taking a 5 year old into an engineering workshop, sitting him down and then complaining when he doesn’t build a car as he had all the tools available to him to do it and hence it must be his fault.

I’m not as sure that we need to build something new from scratch though, I think it might be more the case that what we need to do is to sort through all the various projects that could fit what he is after and build a distro (of whatever OS) that boots up straight into that application and lets them play with it. Perhaps something like SDLbasic (a BASIC interpreter for game development) might be a good start ?

Testing the N900 “Lowlight” Photo Application

Nokia have released some “research prototypes” of applications that use the FCam libraries to do fun things with taking photos on their Nokia N900. One of these is called “Lowlight” and is designed to make it easier to get reasonable photos in, well, low light conditions. I tested this out on Tuesday night after the Linux Users of Victoria meeting, taking a photo of the Old Commerce Building on the University of Melbourne campus.

Old Commerce building, University of Melbourne, at night

Now given that’s taken hand-held without a flash, I’m pretty impressed, you can even make out the design of the courtyard floor in front of it! If you go and look at the original full size version on Flickr (CC-BY licensed) you can see there is noise around the outside of the building, and there is an almost oil-paint effect on the details of the carvings on the building due to their algorithm, but given the alternative was nothing at all it’s a great little program!

VLSCI: Systems Administrator – High Performance Computing, Storage & Infrastructure

/*
* Please note: enquiry and application information via URL below, no agencies please!
*
* Must be Australian permanent resident or citizen.
*/

Executive summary

Want to work with hundreds of TB of storage, HPC clusters and a Blue Gene supercomputer and have an aptitude for handling storage and data ?

http://jobs.unimelb.edu.au/jobDetails.asp?sJobIDs=715542

Background

VLSCI currently has in production as stage 1:

  • 2048 node, 8192 core IBM Blue Gene/P supercomputer
  • 80 node, 640 core IBM iDataplex cluster (Intel Nehalem CPUs)
  • ~300TB usable of DDN based IBM GPFS storage plus tape libraries
  • 136 node, 1088 core SGI Altix XE cluster (Intel Nehalem CPUs)
  • ~110TB usable of Panasas storage

There is a refresh to a much larger HPC installation planned for 2012.

Both Intel clusters are CentOS/RHEL 5, the front end and service nodes for the Blue Gene are SuSE SLES 10. The GPFS servers are RHEL5. Panasas runs FreeBSD under the covers.

Job advert

http://jobs.unimelb.edu.au/jobDetails.asp?sJobIDs=715542

SYSTEMS ADMINISTRATOR, STORAGE & INFRASTRUCTURE
Position no.: 0022139
Employment type: Full-time Fixed Term
Campus: Parkville

Close date: February 3rd, 2011

Victorian Life Sciences Computation Initiative, Melbourne Research

Salary: HEW 7: $69,608 – $75,350 p.a. or HEW 8: $78,313 – $84,765 p.a. plus 17% superannuation.

The Victorian Life Sciences Computation Initiative (VLSCI) is a Victorian Government project hosted at The University of Melbourne which aims to establish a world class Life Sciences Compute Facility for Victorian researchers. The Facility operates a number of supercomputers and storage systems dedicated to High Performance Computing. The VLSCI wishes to recruit a Linux Systems Administrator with knowledge of file systems and an interest in working with technologies such as GPFS, TSM, HSM, NFS.

This position is an opportunity to become involved in leading science and computing fields and work as part of a small but self-contained team. Expect to find yourself learning new skills and developing new and innovative solutions to problems that have not yet been identified. You have every opportunity to make a real difference and will need to contribute to a high level of service and creativity.

More Details

Selection criteria and more details are in the Position Description (PDF) here:

http://bit.ly/fyIy3H

Apologies for the URL shortener, the original URL is a horribly long one.. 🙁

Volunteers for Flood Relief Sought at LCA2011 in Brisbane

Pia Waugh has put up a page on the LCA wiki seeking to recruit and organise attendees who might want to help assist with the flood recovery in Brisbane. It says:

This page was set up for linux.conf.au attendees who are keen to do some volunteer work to assist the flood victims in Brisbane. A few hundred attendees throwing in a few hours or a day or so to help out will make an enormous difference to people who have lost so much. […] Specific volunteer activities will be planned for the Sunday before the conference and the Saturday following the conference, and there will no doubt also be odd jobs here or there for those who find themselves with a free hour or so throughout the conference.

The page asks volunteers to list themselves there but currently they only have a couple of people on the sheet and I think they could do with some more publicity!

Unfortunately I don’t get to go to linux.conf.au these days (SC in the US is my one work conf now) otherwise I’d be pitching in too.. 🙁

Dependency Problems with KDE 4.6.0 RC1 Packages for Ubuntu 10.10 (FIXED)

Update: this issue has been fixed by the packagers. See the bug for more info.

I saw the notice about the KDE 4.6.0 RC1 packages being released for Kubuntu 10.10 today and decided to look at upgrading (or at least grab all the packages with aptitude dist-upgrade -d) and got a surprise that it wanted to remove 250 packages due to dependency problems. The issues were:

The following packages have unmet dependencies:
   libqapt-runtime: Depends: libpolkit-qt-1-1 which is a virtual package.
   polkit-kde-1: Depends: libpolkit-qt-1-1 which is a virtual package.
   kdelibs5-plugins: Depends: libpolkit-qt-1-1 which is a virtual package.
   libgpgme++2: Depends: libgpg-error0 (>= 1.10) but 1.6-1ubuntu2 is installed.

Turns out that libpolkit-qt-1-1 and the newer version of libgpg-error0 are in the alpha for the next version of Kubuntu (Natty Narwhal) but not in Maverick (10.10), hence the chaos. The bug is reported as LP bug #694053 and thanks to Murz for spotting that you can just grab and dpkg -i the missing packages – see the bug report for details and links!

IBM Research Collaboratory for Life Sciences – Summer Internships in Computational Biology 2010/11

As part of the Collaboratory between the University of Melbourne and IBM there is the opportunity for three PhD students (or masters students intending to convert) to work for IBM over the summer on computational biology.

Successful candidates will work with researchers on state-of-the-art interdisciplinary projects in areas such as structural biology, precision medicine, neuroscience and imaging, with an emphasis on high performance computing. Assignments could include implementing existing models or algorithms, porting existing codes, running scientific simulation software, developing mathematical and computational models and performing scientific research.

See the article on the VLSCI website for further details and how to apply (I know nothing more than this!). 🙂

Why I’m Voting Green on Saturday 21st August

This coming Saturday, 21st August 2010 will be my first opportunity to participate in Australian democracy. My citizenship came through a few months after the last election, had I’d been able to vote then I’d have cast my vote for Labour and against John Howard.

However, with the Australian Labour Party (ALP) lurching to the right on a number of issues such as immigration, continuing the failed intervention in the Northern Territory, failing to legitimise same-gender marriage, and their crazy idea of mandatory Internet censorship combined with a new do-nothing strategy on climate change (“let’s hold a citizens assembly to tell us what to do, just like we did in 2008!”) means my conscience does not permit me to give them my first preference. They at least have some vision with the NBN, but that’s about it.

As for the Coalition, well they’re just laughable. A leader who doesn’t understand science or technology, policies that promise to deliver half the current speeds of ADSL2+, obscene exaggeration and fear-mongering about refugees coming in by boat (here’s some much needed facts on the matter), wanting to make bible classes compulsory in schools (I suspect aimed at the even more right wing Family First to whom they are directing preferences) and even worse policies on climate change and greenhouse gases. Even more FAIL than Labour. 🙁

So, I’m voting Green because:

  • They want to enshrine basic human rights in law (Australia is the only western democracy without legal protection of freedom of speech)
  • They’re against the mandatory Internet censorship scheme
  • They take the science of climate change seriously, and the challenges it poses
  • They believe that people who love each other should be able to get married, irrespective of orientation
  • They wish to treat refugees as people, not some mythical threat
  • They understand free, open source software and use it themselves

Most importantly I’m voting Green because THEY WANT YOU TO THINK! Not just about their policies, or other parties policies, but to think about how you direct your preferences. Sure they have preference deals, but what most impressed me was when they were announced Bob Brown said:

I don’t like back room preference negotiations with other parties. In fact I’m sick of it. And I think that we should be very well aware here that voters can get misled into believing that they should put their preferences where the Labor party or the Liberal party or the Nation party or the Greens or somebody else says. No that’s not true. People have a right to put, and I think an obligation to think about it, and put their preferences where they want to. That’s what’s important.

Watch the video on that ABC news article to hear that, it’s sadly not in the text of the report. They also have the best election advert that never was – The Gruen Transfer has been getting two advertising agencies a week to do an advert each for a political party and this one won the week they did The Greens.

Now I’m not under any illusions that they’ll form the next government, but voting for them will send a signal that I’m not happy with either of the major parties, and they should (hopefully) get the balance of power in the Senate.

Software Freedom Day Melbourne Photo Shoot

Last week I was invited to take some publicity shots for the Software Freedom Day Melbourne crew at the State Library of Victoria Experimedia centre. Asides from occasional complaints from my camera (the infamous Nikon ERR CHA happened 3 times) I managed to get about 200 shots which I’ve whittled down to 26 of the best and put them up as a set on Flickr.

DSC_0162.JPG DSC_0021.JPG DSC_0165.JPG

All done with free software (well, asides from the firmware in the Nikon D90) – Digikam rocks! 😉

Soliciting Australian Signatories to an Open Letter Against Software Patents to Minister Kim Carr

The Melbourne Free Software Interest Group (a group of Melbourne computer folks with an interest in software freedom) have put together an open letter to Senator the Hon Kim Carr, the Minister for Innovation, to request that software be excluded from patenting as part of the Australian governments review of patents in general.

We are currently collecting signatures to the letter and if you are in Australia and of a like mind we would really appreciate it if you would contribute your signature too! Just click on the link, read the letter and the form to sign it is at the bottom of the page. Please also pass this on to others you know who may be interested.

SSD Drive Using Compression Internally ?

The most excellent Joe Landman has a blog post looking at the performance of an anonymous SSD with a Sandforce SF-1200 controller chipset on it, and comes up with some very interesting benchmark results. But first he comes up with a nice way of quantifying the distance between benchmark results and real life:

I need to understand how close the marketing numbers are to the actual numbers. We need to establish a ratio for this. Call this the Benchmark Significance Ratio, or BS Ratio for short. Define BS Ratio as:

BS Ratio = (what they claim) / (what you measure)

A BS Ratio close to 1 is good. A BS Ratio much greater than 1 is bad. Of course, a BS Ratio much less than 1 is either an indicator of a failed test, or an accidentally released product.

What Joe finds is that the performance of the SSD, in terms of basic things like read/write speed, depends on what you write to it. If you write lots of zeros you find the performance is almost 4 times as much as if you write random data to it. Now as Joe rightly points out, this smacks of compression somewhere in the path between the program and the disk which means that most of the benchmarks you see/do (unless they/you, as Joe does, take care to use random data) will be pretty much meaningless unless you plan to just store zeros. Mind you if you do plan to just store zeros then I suggest just using /dev/null for writing to and /dev/zero to read from – they will give you much better speed and far better capacity for free! 🙂

What intrigues me though is not so much the speed difference but what that means for the capacity of the device – does it claim to be a X GB device but actually store Y GB (where Y > X dependent on compressibility of data) or does it enforce the amount that it can store to the quoted capacity ? Even worse, does the stated X GB capacity depend on your data being compressible and more random data results in less space ? I think the last can be ruled out because I can’t see a way how you would fake that failure to the SATA layers unless you returned failed writes which could cause chaos, especially in a RAID environment. I also suspect that it must enforce a fixed limit as I presume they must fake some characteristics of a spinning disk (heads, etc) for compatibility.

Which is a real shame because you’ve actually got a storage device that could (given the right sort of data) store far more than its stated capacity, if only you could address it in a non-spinning disk like manner. This echo’s other issues with SSD FTL’s like bad wear levelling implementations, etc, which would go away if we had an open interface into the device exposing the internals, that way you could (with this controller) get extra storage for free and potentially even a better wear levelling system into the bargain.

I guess even if that were available I don’t know if filesystems could cope with that (yet), but I wouldn’t mind betting they’d be up for it!