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.
Been doing quite a bit of SQL programming on and off. Although SQL is old as hell. MySQL on web and sqlite on mobile make it pretty much a compulsory skill for the modern developer to master for most types of data storage and retrieval.
Of course, SQL on its own means shit unless you spend some time designing a sensible schema which balances your normal form with your performance needs. Schema development can be really hard work to get right, and I find that it’s an iterative processes in which assumptions you make upfront turn out to be bogus or ineffective.
So to my delight, I’ve had to debug apps which just use a database as a dumping ground with no though to atomicity, poor rollback semantics and unjustified duplication of data across tables. The sort of thing you usually expect to see from an “enterprise consultant”.
The best illustration of the difficulty of expressing seemingly trival relationships between data is what has become known as the gay marriage problem (Or the Y2gay bug).
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.
I have an application that needs to send a HTTP request on application exit to tell the server that the app terminated normally.
When the user presses the exit button, I issue an asynchronous request to send off a HTTP transaction and get a callback once that’s done.
Now the problem is, I want to really exit the application from my HTTP handler.
I can’t call CEikAppUi::Exit(), since this basically deletes the top level appUI and proceeds to pull the rug under the HTTP class which KERN-EXEC 3’s once my HTTP handler returns and reads/write some bit of memory that no longer exists.
Once solution is to create a CAsyncOneShot derived active object to cleanly exit, and luckily Nokia have already done this in a well hidden method:
Just call:
iAvkonAppUi->RunAppShutter();
The iAvkonAppUi is an ugly macro over CEikonEnv::Static(), so you can call it anywhere in your code.
THe app shutter allows the current call stack to unwind naturally and then exits the app.