12.29.09
Mobile mind up for grabs
If anyone is interested in quick purchase of the concept/source code for mobile mind. Drop me a email.
A problem shared is a virus?
If anyone is interested in quick purchase of the concept/source code for mobile mind. Drop me a email.
As many of you know, I’ve taken a back seat from software while I complete (or at least attempt) to complete a medical degree.
It’s probably two years since I made a serious decision to change career. Back then, I decided to test the waters of returning to education by taking evening classes in A-Level biology and Chemistry. It was fun, aside from sitting in an exam hall with 16 years and being told off by the teacher who was probably younger than me.
Moving on, I chose the relatively recently available pathway of the graduate entry route into medicine which means that you must have already obtained a degree (in any subject) before applying. You still have to go through the UCAS admissions process, which means filling in a 64 line personal statement about how bright and caring and into science that you are. Apparently some schools stopped looking at the personal statement because one year they had a huge percentage start with the phrase “I first became interested in science when I burnt my parents carpet with my chemistry set” – A line lifted directly out of a best selling “how to get into medschool” book.
The plus side of such a degree is that it’s only 4 years compared to the 5 endured by school levers. The downside is that to even get an interview you may need to pass an excruciating exam called the GAMSAT (~£250).
GAMSAT is a day long exam that test skills in reasoning in the humanities, written communication and reasoning in the science. I spent a good few weeks preparing for that: Writing a couple of essays a day and cramming physics and organic chemistry (Incidentally, Organic Chemistry I Workbook for Dummies is awesome for mastering stereo chemistry of molecules.)
The hardest thing about the GAMSAT is that there is no syllabus, and advice for preparation is somewhere between “degree level biology, and organic chemistry”, or “you can’t prepare for the exam”. The reality is that even though a lot of the questions are common sense, you do benefit from a good grounding in the mechanism and principles underpinning the biological sciences. Those claiming that you can’t prepare are likely to be competing students eager to get into the top 20% for interview selection.
Here is a paper which is pretty representative of the exam I sat:
http://www.scribd.com/doc/20936224/GAMSAT-Prognostic-Paper
I scraped through the GAMSAT, scoring strongest on the the essay writing. Funny enough I did a lot of practice on this blog with one of my attempts being published on the register.
Side note: If you are interested in studying Medicine. Don’t be put off by the GAMSAT – prepare a little and have a go as you might be surprised how well you do (or at least how badly the rest of the cohort does). Just keep practising your essays and answer all the science questions. And don’t feel you have to sign up to the one of many opportunistic training courses which can cost >£2000-£3000; They will probably help, but you can do it yourself just as well.
I got a reject from Kings (I messed up the UKCAT exam), an unconditional offer from Southampton and interviews from Swansea and St George’s. The interviews were pretty horrible with the uncomfortable juxtaposition of questions such as “what you do to relax” to “imagine you are a GP who has filled in a prescription incorrectly and the patient has died as a result of your mistake…how would you feel?”. Overall, I thought St George’s were really professional and very fair with their process and I was pleased to be able to accept their offer.
I’m now one term in having completed my Christmas exams. The course is pretty bonkers: Learning all the major diseases, anatomy/physiology, pharmacology and clinical skills as well as the sociology and psychology and medical statistics at the same time is quite a burden. But the self directed learning time works very well since we can do bits on our own or form learning groups to go through difficult subjects.
One of the most striking aspects of the course is the diverse backgrounds of the students – some have done degrees in nursing, genetics, physiotherapy, mathematics or have come from the marketing jobs or even a couple -such as myself- from computing/IT.
The schedule is tough. And for this year I doubt if I will have any time to do write code/freelance. Although, in the future, I hope to be able to blend medicine and technology; There are an awful lot of problems in healthcare that might benefit from a little python script or two!
I won’t be posting much from now on, but I’ll leave you with an image of the main actions of the immune system which I drew during our PBL (problem based learning sessions).:

Well, Symbian professional services have found a new home under the umbrella of Accenture. I worked as part of the LPD (Licensee product development) and LTC (Licensee Technical Consulting) divisions of Symbian for a good few years. It was good work, and there are some very talented people within that organisation.
I believe that the customer services team included ex-Nokia customer operations as well.
While it’s good that they found a buyer, the comments on the Regспални комплекти are pretty damming of the culture at Accenture. There is a lot of bitterness there!
One of my photos was used in a book on “Biolomedical engineering” by W. Mark Saltzman. I’m so proud that my image has been used to illustrate elastic deformation and Young’s modulus.
I think this Amazon link should work for most folk.
Ever sat there writing some code, thinking that it’s all right work but hardly contributing to the benefit of mankind. Well, maybe you have made a difference, in an indirect way.
Aside from the SOAP, Web services and SQL databases and visualisation software that goes into large collaborative science projects such as the human genome or CERN. Increasingly – down at the DNA level – perl scripts and python are used to filter and join data.
Good old algorithms such as Levenshtein distance (and subsequent variations) are useful in DNA/RNA sequences as well as
There’s something comforting in knowing that the bug you fixed or raised against Perl/Python/etc is being used in all manner of projects.
Here is the uncut Dawkin’s interview with Craig Venter regarding his IT capability. It’s quite long, but the details are a lot more interesting that what was broadcast on Channel 4.
Venter is an interesting character. While serving in ‘Nam, he attempted suicide by swimming into the sea, changing his mind a mile out while being attacked by sharks and jellyfish.
Now he’s taking buckets of sea water and ’shotgun’ sequencing the microscopic life to add to the ever growing database of RNAs<->proteins sequences.
One of Venter’s projects is to ‘boot’ up a brand new life form but inserting a man made genome into a bacteria shell, and perhaps a little further off to solve the world’s energy crisis by engineering a bacteria which eats CO2 and shits out octane.
Much as I adore Wilhelm spotting, it’s not as fun now that it’s so widely known about outside the film industry.
If you don’t know what I’m talking about, then you probably wondered why some people at the cinema laugh seemingly inappropriately at horrific explosions and falls.
The Wilhelm scream is a sound effect regarded with affection by sound engineers and directors alike, it’s the calling card of someone who knows their movie heritage and has been discretely slipped into 100s of Hollywood films. (See link above for a compilation).
After watching Breaking Bad Season 1, we might have alternative : The Dean Scream.(Youtube).
Booking Ryan Air flights. I noticed that they have a credit card/debit card charge £5 per journey per person (£20 for a trip for two). I’m sure the debit card at least used to be free.
However, I noticed that there was no charge for a Visa Electron (the sort of card you get with your griffin saver when you come of age). Some banks will allow you to have a Visa electron as well as your mastro, but you can also apply on-line for a Halifax basic account:
http://www.halifax.co.uk/bankaccounts/otherbankaccounts.asp
If you intend to do a few trips, then it’s well worth getting one. But remember that funds must be present in the account before you book (this can take 3 days).
When I joined Symbian in 1999, OOM (out of memory) and OOD (out of disk) testing was heavily engrained in the culture company’s as a continuation of the Psion product development activities.
Before I joined Symbian I was writing lots of Java code but had also written oodles of C code which didn’t bother to check the pointer from malloc().
My formative years at Symbian really taught me the value and skill of being able to write exception safe (and exception sensible) atomic/revertible state code. Although the particular dialect and naming scheme of Symbian’s exception handling framework (leaves, traps and the infamous clean-up stack) may not be the most popular, the general lessons learnt can be applied in any kind of software.
When writing software for an OS, it’s incredibly important to write robust code and consider every possible failure. As a pertinent example. I was assigned to fix a defect in customer’s phone in which the device sometimes failed to boot and had to be re-flashed – a problem that if happened on a consumer device may result in a costly replacement of the device at a service centre.
The bug was due to a customer modification of the phone application which was doing the following:
1. Write 80 bytes of data to a file during the shut down of the phone
2. Read 80 bytes of data from a file when the phone boots up
A very simple piece of code but the problem occurred when there was <80 bytes free. Lets say it managed to write 40 bytes.
When the device rebooted, it tried to read 80 bytes and got a Eofexception which propagated all the way up to the phone application’s constructor. Since the phone app is a critical process, the device tried to reboot in the hope that it would solve some issue.
Putting aside the inherent problems of having customers adding new code to system components. Once I found the offending code, It was pretty easy to deduce by sight that the code would fail under low disk, low memory and also fail in the case of a corrupted/zero length/missing file.
I probably spent a further hour or two fixing the code up and before releasing it, I wanted to test under low disk. I mapped the emulator’s C: drive to a USB pen drive and filled that drive with a dummy file which was just shy of the full capacity.
I then spent the rest of the day raising bugs against other components which stopped the emulator from loading in the OOD state.
Now you may ask what the value is in OOM and OOD testing now that mobile devices are packed with oodles of RAM and disk. And that’s a fair question. Aside from OOM and OOD still being a fairly common occurrence on mobile, the other answer is that is that it’s fairly easy to test OOM and OOD and code which deals with those conditions reliably is often better equipped to deal with any sort of failure.
This sort of thing is not very glamorous, but distinguishes* software engineering from hobby programming. As a core skill, exception safety and writing atom/transaction oriented code applies to anything from embedded code to the integrity of high bandwidth web back ends.
An astonishing amount of time is spent on phone projects trying to track down ‘mysterious’ unreproducible problems which turn out to be something similar to the above.
Just remember kids : Code that ‘mostly works’ is worse than code that doesn’t work at all.
*at least should
Ron Jeremy has the solution (via Paul Willmott’s blog):
“Apparently, and I emphasise that I only have his word for this, that when two porn stars meet on set instead of shaking hands, for who knows where those hands have been, they touch right elbow to right elbow”
Don’t forget to check Ron’s insurance service also…
via videosift.com