Friday, 3 October 2014

Just Works™

A thought experiment for you, if you'll indulge me:

Imagine two laptops, say:

HP EliteBook 8440p, 8GB RAM, Intel Core i5 2.4GHz, Intel GPU, 2 x 2TB HDD (the second one in the DVD drive bay), running Linux Mint 17 XFCE, fully set up in a fairly complex manner (think NAS boxes, various cloud sync and backup arrangements, the works), and

Acer V3-571G, 8GB RAM, INtel Core i7 2.3GHz, nVidia + INtel GPU, 1 x 1TB hybrid HDD, running freshly installed MS Windows 7, not really set up to do anything interesting but boot up.

Now, imagine you wanted to make the Acer run 2 x 2TB Linux Mint set up in exactly the same way. You don't particularly care about the HP, but it'd be nice if it could run something after you did the dirty deed to Acer.

How would you go about this?

Well, this is exactly what I asked myself last night, equipped with the kit above, a set of screwdrivers, a Linux Mint 17 XFCE bootable thumb drive and not really very much time. The original idea was to make the secondary 2TB HDD, previously used as backup, the primary one on the Acer, put a fresh Mint (see what I did there?) install on it, then restore data from what used to be the primary 2TB drive, which would now occupy the Acer's DVD drive bay. All in all, this should all be done and dusted if not very quickly then reasonably painlessly. I could expect to have a usable, if not 100% configured system by the following morning: an hour or so to install Mint, then the rest of the night to copy close to 1TB of data over, finally an hour or so to configure the system as before. Not ideal, but bearable.

With this plan I set to work and had the hardware swapped around in really no time at all - and that includes reconfiguring DVD drive bay HD holders to fit HP and Acer respectively. This probably took the most time as it involved screwing and unscrewing five unbelievably small screws - by a middle aged man with varifocals which should have been replaced by a new set six months ago.

This last fact was probably and ultimately the cause of my mixing up the 2TB HDDs on the Acer, aided by the fact that they're exact same make and model. In any case I ended up with the original boot drive still being the default boot drive on the Acer.

Still not aware of this, I inserted the USB thumb drive and hit the power button. A few seconds later, lo and behold, I was greeted with Linux Mint logo. No surprised there. I expected as much. What I didn't expect was to see the boot sequence continue in a eerily familiar manner all the way to the point of being greeted with a login screen offering my username and expecting me to just fill in the password. Which I did, still a bit confused as I know I didn't mess with the boot image on the thumb drive.

Having proven to my new (well, OK, second hand new) Acer that I am indeed who I am I was finally greeted with my own, familiar desktop. It was at this point I realised that I have swapped the drives the wrong way (or at least I still thought of it as the wrong way at that point). Watching the rest of the boot process unfold I then realised that not only Mint has booted successfully on the unfamiliar hardware, but that pretty much everything is working as it was supposed to. For all I could figure out - and I have tested everything since - everything works fine and exactly the same with the singular exception of the Sensors taskbar plugin which had to be removed and replaced to the taskbar in order to again correctly display CPU core temperatures (unsurprising as these went from 2 to 4).

And when I say everything, I mean everything: WiFi, Ethernet, NAS, Bluetooth, audio, video, grpahics, the works. All hardware was present and correct and doing what it was supposed to do. Just in case I checked the Mint hardware driver wizard and it of course offered to install nVidia GPU drivers (on HP I used only the default ones for Intel GPU) and also the newer, Broadcom specific, WiFi drivers. Offer accepted and a minute or two later I had both running - and that's without rebooting!

Now, if this is not a WIN for Linux, Mint, and the modern operating systems, I don't know what is. In any case it was a huge win for me as I have managed to accomplish in less than two hours what I fully expected to take best part of two days - even if most of it unattended. Cherry on top was that Mint itself and a couple of other applications actually started working better on the Acer than they did on the HP. None should really be hardware dependent, but hey ho.

Oh, and if you're wondering about the HP and that 1TB HDD with Windows 7 on it they also exceeded expectations, although not nearly to the same extent as the Acer/Mint combination. Yes, Windows happily booted on the HP. However, the screen resolution was chosen wrongly and while it did work it was not optimal for the screen. Then, Windows immediately wanted to install various drivers for various devices... and failed miserably for a couple of them due to the fact it wasn't plugged into the wired LAN and one of the failed ones was the WiFi driver. Or so it seemed at the time, until I realised that Windows didn't even manage to turn on the WiFi module - and I couldn't turn it on manually for it even after rebooting and messing about in the BIOS setup. The audio was also off - sort off. The LED on the laptop was showing it off even if it wasn't and then when I disabled it it wouldn't turn on again.

So, while a valiant attempt, it was really no good in the end - especially if one wanted to sell the HP as a fully working machine it is. Therefore I had to reach for a big hammer, or rather, the Mint USB thumb drive. And, lo and behold, not twenty minutes later the HP was again humming away firing on all cylinders, all devices present and correct - including the best possible screen resolution. And that was with just accepting the defaults during setup. No extra fiddling, no extra drivers, no faffing about. Pleased, I decided to spend another five minutes installing pending OS updates as a courtesy to the prospective buyer (I imagine doing the same for Windows would have taken hours, if my experience of my wife's brand new laptop is anything to go by).

So, there you have it, a Just Works™ (and not a Just So™) story if ever there was one. Also yet another piece of evidence to support my old claim that having switched to Linux entirely has not just given my machines a new lease of life, but have given me more of a life to enjoy, and less of the hair to pull out waiting for, and faffing with Windows.

Case in point: my office where my desktop monster takes more than 15 minutes to fully boot up and be ready to use, and that's not nine months after receiving it brand spanking new. Now, compare this to stable minute or so for Linux, and on a machine that is old, has been set up two years ago, and is frequently left running for weeks on end,

Just Works™.


Friday, 19 September 2014

The Computer Says NO!

Or rather, Scotland, quite emphatically, and by quite some margin, said NO to independence from United Kingdom (or rather, Great Britain, as it's in fact United Kingdom of Great Britain and Northern Ireland - since you asked, I mean). On the face of it, the 55/45 split between NO and YES seems quite narrow, but considering the turnout was one for the books - and this time this tired phrase actually applies - the amazing 85% of registered voters (and that includes 97% of everyone in Scotland aged 16 or over), this is quite a resounding win for the unionists.

And that is, really, the only thing I have and want to say about the actual referendum, and the actual issue of Scottish independence.

Only I actually do want to sat a bit more. It's just not about Scots, Brits. or anyone else who last night laughed, cried, or just went to sleep knowing the country managed to keep its sanity.

What I want to point out is how there's a whole lot of people who know pretty much nothing about UK, Scotland or anything that really mattered at the polling stations yesterday but who still jumped on the bandwagon trying to sell their view of the whole saga to their own compatriots - and their (fr)enemies - mostly, if not exclusively, as a way of propping up hopes of various separatist movements and ideas.

Case in point number one: Catalonia (still in Spain). The prize quote is from just after the results have become clear. More or less, the separatists went: Scots might have failed, but we'll do better - just watch us. They might. Or they might not. It's just that there doesn't seem to be a much better case for similarity than: Scots wanted independence - and so do we.

Case in point number two: Serbian part of Bosnian Federation. Here, the argument seems to be solely: if Scots can be allowed to go for it so can we! The fact that United Kingdom is the country whose elected officials have the mandate to decide about things like Scottish referendum for independence, and that Bosnia is not - last time I looked - part of the United Kingdom seems to have little bearing on anything.

Frankly, after this I stopped listening, even if there's quite a bit of a hubbub on this topic pretty much wherever you place your ear against a globe. Really, guys and gals, the simple truth is: if you think you need independence from someone by all means go and ask for it. But do go ask where the decisions can be made (and I mean without starting yet another sorryy little war - pretty please?). And also be careful to present only valid arguments both to the powers that be and your supporters.

In fact, it may be of the utmost importance you do the latter. Looking at what just happened in Scotland - and this does have a bearing on any similar scenario - it seems it was the unrealistically rosy promises of the YES campaign that eventually wore off in the cold light of a polling booth in a drab Scottish backwaters village hall. Do your maths, do it correctly, and if it adds up - and it also needs to add up to the emotional side of the issue, one does not work without the other - only then, and then only maybe you shall succeed.

Otherwise you run one of two risks: lose a referendum and bury your cause for a generation or succeed and then wake up in 10-20 years time to an impoverished and ruined (new - but independent) nation. And if you think that won't happen to you I suggest you go round the following list of countries who shed blood to gain the independence they were told is sine qua non of their well-being and happines:

  • Slovenia
  • Croatia
  • Serbia
  • Bosnia
  • Montenegro
  • Macedonia
  • Kosovo
  • Paviljoni

Yes, the top one is an outlier, but would you bet your future on 1:7 odds?

Go ahead now, make my day...

Hint: It's the economy, stupid!

Wednesday, 6 August 2014

Repost: LEGO - Your Blueprint To The World

Today's BBC News home page sports a little link to an article on latest addition to the microcosm of LEGO figur(in)es, The Research Institute, sporting three female scientists. 

As ever this sort of thing provokes debate. Which is good. On this occasion, however, I shall not be joining in. 

OK, I will: LEGO Friends sucks - big time. I shall do my best to prevent it tarnishing my little one's happy childhood. 

Anyway, the article - as well as my little one's enjoyment of LEGO - prompted me to get busy and treat you to a re-post of something I wrote about LEGO quite some time ago. 

Enjoy it. Or not. See if we care...

The original post here below:

If you are reading this and haven't heard of the LEGO brick system, you must have lived in a cave for the past several decades (if you're an alien, you'd have hopefully seen the importance of this "toy" already, if you're sufficiently advanced to be reading this). Therefore, I will not waste time and space on telling you what it is, and how it works. What I want to talk about, what I want to emphasise, is one of the ways in which this "toy" is one of the best educational tools available to mankind. Here's why I think so...

It should be obvious, really, but if you look at a decent LEGO design, you will hopefully see that it essentially distills the object to close to a minimum set of elements and features that make it what it is. It is really an outline of a real world object, it's 3D blueprint, if you want. Of course, due to the restrictions of the basic design of the LEGO interlocking system, there are lower limits to the size of a model, which forces very small models (like the one depicted here) to use elements that are less universal (e.g. the wind-shield part of the motorcycle here). However, if you were to build a scaled up model of the same motorcycle (policeman included) you would have found that you can use just a handful of very basic blocks (plain and angled brick alone would do for a large enough model).

But this is almost by-the-by. The important thing, and the eternal quality of LEGO, is in its manifold benefits to all who give them more than just a cursory glance. At first glance, it may seem that a lot of the sets now available do not in fact encourage either creativity or this "model as a blueprint" effect. But I think this is not the case. Yes, at first stab, and for a few of the first sets you get your hands on, you will most likely just follow the included (pictorial!) instructions just to see the final model as it is shown on the box. But if you (or your parents) stick with LEGO by buying just a few more sets, or even better, a generic brick box, sooner rather than later you'll be tempted to take your models apart and put them together in a different fashion (or just to see if you can put them back together without looking at the instructions sheet).

Once you've started on that route, it is all but guaranteed that you'll be hooked, probably for life (the model in the photo was a gift for me, from me, just last week). And if you are to build anything at all either without looking at the instructions, or a completely new design of your very own, then you have to exercise your imagination, and more importantly, be able to reduce a real world (or a fantasy!) object to it's very essence, one that can be expressed with a limited set of LEGO bricks at your disposal. And remember, you are very likely to have a really limited set available. Most likely it will be a combination of a few simple boxed models. If you're lucky you'll have a smaller or larger generic brick set box available. It is, however, extremely unlikely that you will have absolutely every brick LEGO ever made available. You will have to use your wits and imagination to manage with what you have.

I believe this is one of the best ways for honing your analytical skills. A fun way of learning how to see through bells and whistles and realise the essence of an object. LEGO allows you, no, forces you to make things as simple as possible, but not simpler (Einstein would be proud of it, I'm sure). Once you have your basic design you can, and probably will, embellish it with all sorts of decorations and unnecessary bits. But, this you can only do after it's finished. LEGO discourages you from getting lost in detail of decoration. Yes, once you've succeeded in the basic model you can easily pull it apart and then back together with bow ties all around. And you should, because you deserve to revel in its beauty and your own workmanship. But that comes later. First you raise and nurture a forest, then you allow yourself to admire individual trees, and even prune them to your liking.

For those in the know, a note about software-only LEGO solutions. Yes, I know they exist. Yes, I think they are cool, and useful. But no, I would not recommend them to general public, especially not kids just making their first steps with LEGO, regardless of how computer literate they may be. The main reason for this "Luddite" advice is that the pleasure of making something with your own two hands can never be rivalled by completing a model on the screen. You need to try it to know exactly what I mean. Then, there is the issue of absolutely every LEGO brick ever produced being at your fingertips, or rather in your LDraw palette. As good as it sounds it will rob you of the mental exercise of finding a solution with a limited set of building blocks. It is not only good exercise and a learning experience, it is also immensely satisfying once you find a way around limits of your stock.

Software tools do have their uses. Maybe once you have come up with a wonderful design you want a handy way of re-creating it with just the right colour bricks, ones you may not in sufficient supply. You get your model into computer and it will happily order all you need directly from LEGO. Or you may decide that for your model to be perfect you absolutely have to have that funny-shaped brick missing from your set. Fine. Go look it up and order it, but do build your model and put it on the shelf for all to admire. Then, when a new idea comes along, take it apart and build something new. And put it back on the same shelf. Looking at on-screen rendering of a model, no matter how perfect is no match for picking it up with your own hands, and having a good look. Even the fact that you risk dropping it is a good thing! It'll make you build something again out of that pile on the floor, and I bet it won't be the same. On the computer it's too easy to just load a file again. Do keep the files of your designs, by all means, though, but only so you can build them with real bricks again.

Finally, if there's one thing I'd like you to take away from all this: make your children play with LEGO, they usually don't need more than a nudge and a a few started models; after that they're likely to come back asking for more. More likely than not they will continue coming from more for decades to come. But more importantly, they will have been armed with mighty x-ray glasses to see the world around them for what it is, and not just what it looks like.

Friday, 25 July 2014

The Emperor Is Naked! (and it shows)

Recent figures for sales of computing devices to (US) schools show Google Chromebooks are overtaking Apple iPads. Of course, Apple would rather you were none the wiser so they happily ignored the trend when they reported their own version of the iPad success story.

Suprised? By schools starting to prefer Chromebooks, I mean?

Well, you shouldn't be. At all.

And here's a very good reason why this is so...

Nope, I don't mean Chromebooks are so big and clunky no student in their right mind would want to nick one. And nor is it the fact that, just like this beautiful - and ancient - development station they usually sport, well, not exactly dual floppy external storage, but at least an SD card slot. And a USB one. And a HDMI one, too. All of which are certainly very good and useful - and missing from an iPad, more or less.

No, in fact it's this...

Yup, it's the good old physical keyboard. And, as you can see, even some Apples used to have 'em (I hear some also have 'em now, too, but these, to schools at least, seem to be a bit too large, a bit too expensive - or both).

As you may - or may not - have noticed, long gone are the days where going to school involved sitting down and listening to someone pontificating about this, that, and the other the whole day, day in and day out, broken by an occasional written or, more likely, oral exam.

No, schools are much less about consumption these days, and - luckily - much more about discovery, research and - most notably and most importantly - creation. And while iPad is as good as it gets for satisfying your data and media consumption and even research needs, it's only a foolish, fadish, and fan boyish who can keep a straight face and tell you you can easily write your term paper - or anything else longer than a few dozen lines for that matter - on an iPad. And that's even if you hook it up to a keyboard of some description.

Add to this other things that make a Chromebook more like a real PC than a glorified TV and any wonder at schools slowly regaining sanity with respect to choice of computing devices should disappear quite quickly. That a decent Chromebook is also a lot cheaper than an iPad of any description (and that's before you've added a decent physical keyboard and a stand to it) it is really a wonder why schools had a go at iPads in the first place. Fad and fashion come to mind, but let's leave that to their comptrollers and achievement assessors.

Does this mean Chromebooks are the bee's knees of educational computing? Well, I'm not so sure. But then again, I also think some sort of programming should be a part of many a reasonable curriculum (programming, not coding, mind) so what do I know. Personally, I'd rather see a decent fully fledged laptop (12" or even larger) as a minimum so kids can have a real go at a real thing. However, when it comes to a dilemma "tablet (of any description) vs laptop (of any description)" the laptop/netbook/Chromebook wins hands down every single time. And in terms of tablets, and especially when it comes to bang for buck, an iPad must lose horribly every single time, too.

So, just please, please, please say NO to tablets as educational devices!

Pretty please?

Sugar on top?


Friday, 4 July 2014

Facebook Does NOT Do Science

This past week has seen quite a bit of noise relating to the ill-fated, ill-conceived, and ill-received experiment Facebook and a couple of US universities ("universities"?) conducted on Facebook users in 2012.

Quite a lot of digital ink has been spilled trying to divine if what has been done was plain wrong, potentially criminal, simply misguided, just poorly communicated, none of the above or even all of it mixed up then spat out by news agencies of various levels of scientific (and journalistic) competencies.

What seems to have got lost in the noise is the following set of simple facts:

  1. The research has been conducted by Facebook's research "scientist" and two real scientists, both hailing from reasonably decent American universities.
  2. The research has been published in a bona fide scientific publication, PNAS (it's here, for your reading pleasure).
Call me old fashioned, but with these two simple, indisputable - and undisputed - facts, should come a third, or they should have at least implied (and enforced, by at least PNAS, if not everybody else involved), that each and every participant has given their informed - and explicit - consent to take part in a targeted psychological study. Period. No ifs and no buts.

The Facebook mounts a defence based on their Terms and Conditions of Service where to use their "product" (even if the product here is, effectively, you) you agree your data to be used in various (but presumably not nefarious) ways within the company, including for research purposes. And yes, I am sure that's what people sign away when they join. I can't really vouch for it myself as I don't use their "product".

However, what most people - and, I submit, any reasonable person on this planet - assume this entails is, for want of a better word, "passive" use of such data. For example, harvesting your data to better target ads. Or even to better target news items you see.

But surely nobody in their right mind would read the Ts & Cs (if they do in the first place) and assume "data use" to involve manipulating their emotions. Messing with their minds, in other words. I would really like to see if Facebook's argument would stand up in the court of law. And, as the thing seems to be going, I shall live to see it thus (PDF behind this link) tested, thanks to the good people of Epic.

Now, I can - sort of - understand how Facebook would not care - even understand - what and where the problem here is. They are, after all, a for-profit corporation and not a research organisation of any real scientific kind (even if they could afford to pay someone to teach them a few basic principles).

On the other hand, one has to truly wonder at the PNAS, who decided not just to publish the study on the word from Facebook that informed consent was obtained, but to then defend itself by essentially quoting Facebook's public position on the matter. To say nothing of the two universities who - one hopes - should now be busy reviewing their policies, procedures, and positions of the two "researchers" involved.

So, again, and in a nutshell: no explicit informed consent has been sought from the study subjects, ergo, no science took place or, better, no science should have taken place, let alone validated by publishing in PNAS.


For those in need of a bit of a further clarification: no, it is not necessary to obtain explicit informed consent to the exact target of a psychological experiment. In most cases, this would skew the results to the point of uselessness. However, and this is standard practice, such consent is sought for something that is unrelated yet revealing enough that the consent can still be considered as informed. Vague and overreaching T&Cs do not count. I am not an expert in the field by any stretch of imagination so I can't offer a qualifying counterexample, but I am sure the field of experimental psychology can be canvassed for a reasonable one in no time, and probably for no fee either.

Wednesday, 25 June 2014

The Problem With Evolution

There is none, really. Don't tell me you thought I suddenly switched camps and started believing all the creationist / intelligent design nonsense? Of course I haven't, and of course those are as corrupt attempts at destroying any chance of having a remotely reasonable society as you can possibly imagine. Especially the intelligent design lot who are not just intellectually, but also morally challenged. Those with unashamedly creationist agenda at least have the guts to admit they are speaking from the position of religious zealots devoid of any attempt to claim scientific or even purely logical high ground.

So then, what is the reason for the statement I have just made about evolution having a problem?

Well, for one, I don't actually think it's the evolution which has a problem. The nice old lady is doing quite fine, thank you very much. The problem lies, at least quite often, with those good souls trying to convince the world (and the proverbial dog) that evolution is not just a scientific theory (and please go have a look at what a "scientific theory" actually means before starting to cast stones; [edit: link added]), but a fact proven beyond any reasonable doubt, and a process that has been going on since time immemorial (literally), is still going strong, and will likely only stop once the universe cools down and dies out completely (or re-collapses into another primordial fireball - make your pick).

And what the problem is with these explanations?

Let me start with one I have half deliberately created in the paragraph above. If you're still wondering what it is - and it has nothing to do with saying evolution is a (proven) scientific theory as that one is very easily defended - it is saying evolution is a "process". Of course, evolution is a process. This much is hopefully clear. However, remember also this is you, an evolutionist for want of a better word - trying to change the heart and mind of, say, a devout Muslim. Such a person may easily try and clutch to a - not entirely wrong - meaning of a process as a goal directed sequence of premeditated steps. And that, my evolutionist friend, is almost exactly what he already believes in! You have painted yourself in a corner and proven his misconceptions to him. Ouch! So, at first blush, try and avoid using the word "process" unless and until it is understood you are using it in its other, looser sense of a sequence of events, period (and even then you can't be sure the agreement is heartfelt).

Second, and much more important, problem is in the explanation and description of the process (see, I've done it again!) of natural selection. Too often we tend to take linguistic shortcuts and say things like "evolution, through the process of natural selection, chooses the variants which will leave the most offspring". Again, this sort of sentence - probably rightly! - makes the listener imagine evolution - and natural selection - as something forward looking and that implies an omniscient controlling and planning entity. For a creationist, this is as good as slamming you with a big QED hammer. It is also not quite how the evolution by means of natural selection works.

What happens, of course, is this: the current generation of a species consists of a multitude of very, very similar individuals, who are, however, subtly different through the chance mutations and/or normal genetic variation introduced in sexual reproduction; in the environment they inhabit some will fare better than the others and leave more offspring; this offspring, while not usually genetically identical, will be genetically more similar to the generation that reared them and thus likely to also be better equipped to the environment as it was when their parents were reproducing; in a slowly changing environment this will be a clear benefit, and we can say the species has evolved and become a little bit better at surviving. Note here - and don't forget to point it out to your interlocutors - that both evolution and natural selection only ever look backwards. Current generation of organisms always casts genetic dice when it reproduces. The best adapted of the current generation tend to leave more offspring. That offspring will be similar to their parents and thus better equipped to handle the environment their parents lived in. Should their own environment change dramatically they will probably fail (but the previous generation having cast genetic dice to an extent makes it possible that the current generation will have a few well adapted individuals).

And if you think I have repeated just myself in the paragraph above - I have, and deliberately. This is because this argument needs to be repeated over and over again (even if it means until the cows come home) until it becomes undeniably clear to all evolutionary challenged out there that there is no intent and looking forward in evolution and natural selection. Both always and only look back or, better yet, blindly (as in the watchmaker) amble forwards keeping what worked (see the trap I set myself here!) and shedding what doesn't. And this is only a "process" in the sense that it is a sequence of events which started billions of years ago and has yet to come to an end.

Again: whoever happens to be best equipped for the world as is now gets to cast more genetic dice in the next generation who then need to try and succeed in the world as is then - and good luck to them! You did not bequeath them the tools to survive tomorrow, you've given them what worked for you today - plus a spanner you accidentally bent when you handed it over and which would be of no use to you in your current environment. The fact it was just the tool for your son to make it through his tomorrow was pure luck, as it was pure luck his tomorrow looked, for all intents and purposes, the same as yours today so he came already prepared. You never knew anything about his tomorrow, you just blindly hoped your tools will still work - and you also messed up handing them over here and there, creating new ones in the process, and these may just happen to be useful in a world of tomorrow - the world you knew nothing about when you and your missus were busy crumpling the sheets.

So there you have it. One of the main problems, and major mistakes made when arguing for evolution is turning it on its head and letting the other side reap an easy victory. Yes, it is a bit awkward explaining it the right way around, but we should all try. And if it takes repeating the same argument over and over with minor modifications to make it easier to digest - then so be it. It is also an example of evolution as you amble along casting ever so slightly different explanations and metaphors, not knowing which one will work, and modifying the ones that sounded most promising after the fact.

Finally, does evolution really have a problem of its own? Of course not!


Monday, 19 May 2014

DSLR Is Dead (It Really Is)

As you may have noticed I have thrown my lot fully behind the Micro Four Thirds format. Almost a year on I can safely say I never looked back and nor I anticipate I want to in the future. What happened on the weekend just past, though, was that I was walking along a very nice piece of English countryside and heritage and, as one tends to do in such situations, I looked more or less straight ahead and saw something that made me think. Again. As dangerous as that may be...

So, what did I see to make me break a habit of almost a lifetime?

Well, it wasn't the tree stump pictured above, although it was one of the things to catch my eye on the day. Apologies for not having been fully equipped or in possession of full concentration to do it photographic justice it deserves. Hard thing to do, justice, when you also need to run after a gorgeously hyperactive two year old. But I digress (as is my wont - and habit)...

What I saw was a woman. It wasn't a very remarkable one so no, it wasn't her womanness that attracted my attention. What did attract my intention was a slight stoop I notice in her stature. On second look I was also able to see the cause of said stoop. The poor thing was hauling what looked like a full frame Nikon with a hefty piece of glass at the front, most likely a "tourist zoom" (we passed each other too quickly for full kit recognition). An unbalanced sight if ever I saw one. Well maybe not as unbalanced as what I just linked to, but you get the idea.

Now, absolutely nothing wrong about either the lady or her photographic kit. I am sure both are quite a fine choice if you're into that sort of thing. However, with my experience of using DX format Nikons with some quite superb pieces of glass in front of them, and now with the experience of the Olympus OM-D E5 and Olympus glass of no lesser quality, I can safely say that the lady photographer was pulling much more than her fair share of weight.

Don't get me wrong. I fully believe and understand that full format, huge body, and humongous glass have their place in the menagerie that is the photographic profession. I apply my bold face here with care and caution. The lady I saw wasn't by any stretch of imagination on a professional photo shoot. Not in flip-flops, a tiny handbag, and just the DSLR loosely hanging in her arm which was freely waving about too close to a fairly deep (for a DSLR, that is) - and not very clean - stretch of slowly moving water. Not unlike yours truly, only I took a bit more care of my OM-D with a 14-150mm - and that's with said two year old in tow, too.

Could the lady get home on that lovely Sunday with better shots than yours truly? Undoubtedly. Not least because she seemed not to have any offspring in the nearest vicinity. She also probably had a lens on allowing her to get a bit more out of the surroundings. Not that I am complaining. I knew full well what I was going to get using a relatively slow 14-150/4.0-5.6 lens to try and catch a two year old while at the same time making sure she doesn't end up in a ditch, a bed of roses, or both (not to mention a stroller, and a gorgeous sexy girlfriend partner wife).

But then again, I doubt it (not least for lack of a bouncy two year old to feature in the vast majority of shots). And for that similar result, my poor lady haulier would have ended up with a considerably more sore arm, and possibly would have also hurt herself (or others) with the behemoth knocking around her. This all even with ignoring the amazing conspicuousness of the pitch black block of plastic/magnesium alloy impossible to hide anywhere on her person. Oh, and did I mention her giant probably wasn't even weather proof? I suspect my OM-D stood a much better chance of being fished out of that little river - and lived to tell the tale.

So, apart from having had a really, really great day out in lovely English countryside with the most gorgeously beautiful combination of genes taken from gorgeous sexy girlfriend partner wife and yours truly, I also had a sort of an Epiphany 2.0 (you can read about the 1.0 here, here, here, here, and here): there really is no need for the old style DSLR unless you are into making serious money off it - or unless you want to have sore/sculpted musculature. For an amateur - and even the notorious prosumer - a compact system camera is more than you can reasonably wish for.

No, really (that is, if you choose wisely, and here I'm looking at you, Nikon)!

Friday, 7 March 2014

When Computing Was Exciting (and may become again)

This is  how my addiction to computing in general, and software engineering in particular, developed.

Hewlett-Packard HP-25

This was the very first programmable I ever put my hands on and at the tender age of thirteen. Glorious numeric only red LED display, 49 programming steps, rechargeable battery -- but no constant memory. It belonged to my father, or rather the scientific institution he worked for obtained one for him, but he was kind enough to let me use it in his spare time. Interestingly, my father never really used it as more than a powerful calculator. I had to learn about the programming it all on my own. Luckily HP at the time provided manuals of the quality and breadth not often seen since.

As for how fun it was to use, if you powered the thing off, every single time you wanted to run a program you had to punch it in again. Also, the display only ever showed command codes, not immediately human readable. However, in their magnanimity, HP decided to make codes relate to the position of the key used to punch them in so you could in fact "read" your program off the screen. One instruction at a time, of course. Still, I am still amazed at how useful and complex programs (I almost said applications) could have been written -- even by a thirteen year old.

I forgot most of what I wrote back then (even though that notebook must still be somewhere in my parents' "archives"), but I do remember using some simple aerodynamic equations from a fluid dynamics textbook to write a reasonably usable and fun "airplane" simulator. It was, in matter of fact, more like a disembodied wing profile simulator, but at least it seemed to obey "thrust" and "brake" commands in generally not-too-unrealistic manner. It actually was fun trying to take of, reach a desired altitude, and then land. Yes, the only output were speed and altitude being flashed at you between each discreet step of modifying thrust/brake, but for an eager thriteen year old with just enough imagination it was quite enough.

For much more information on HP-25 go see The Museum of HP Calculators.

Casio PB-100

Having caught the programming bug with the HP-25 I soon developed a veritable fever to learn more about the stuff. To that end I managed to get my hands on an introductory textbook on BASIC, then the language of choice for beginners. It didn't even describe any particular flavour of BASIC. Rather, it presented and "idealised" BASIC interpreter which borrowed bits and bobs from all over the place. Quite a useful concept in fact, considering at the time most people didn't actually have access to a real computer. Having goen through the thing probably at least three times I was ready for the real thing.

Luckily, my parents either didn't quite realise the depths of my addiction, chose to ignore it, or quite far-sightedly decided it will all turn out for the good in the end. So, without me having to do very much of prodding, begging, or even vacuuming, they agreed to furnish me with the entry level BASIC pocket computer, the above pictured Casio PB-100.

With more foresight -- or just dumb luck -- they went and got a memory expansion OR-1 for it, too. Which was all for the good as the poor thing would have been next to unusable without one. I mean, even without it you only got 1568 bytes (yes, bytes) of memory for you programs, and you had to share that with the data if you wanted to use more than the 26 pre-assigned variables (the clever thing about these was they were either used as A, B, ..., Z, or as arrays where A(0) was A, A(1) was B, and so on, plus, C(0) was C -- or A(2), and so on).

Anyway, much fun ensued and notebooks filled in with BASIC programs. Notebooks, because while there was a cassette tape/printer port on the thing, I was never able to make a good case for actually getting one, and any serious editing on the 12 character LCD was limited, and that's a serious understatement. So, pen and paper have become the main way of software development for me and that has never really disappeared. Even today I find that jotting down pseudo-code on a piece of paper helps focus the mind to no end.

Again, I can't remember much of what I developed, but one things seems to have stuck in mind: Having just started university, I remember I developed a very simple circuit simulation program. It could only work with passive elements (RLC, as it were), and it was modelled a bit after then-popular big software package SPICE. It was simple, almost just a proof of concept, but it worked. In 1568 bytes of memory and with a 12 character display. I also remember later updating and augmenting it to be able to handle transistors, and diodes as well, but that was on a Sharp PC-1403 (I think) which had vastly more memory and a significantly larger display. It also didn't belong to me, but to my then girlfriend, never a fiancee, but now wife of almost 15 years, and a mother of our beautiful 2 year old.

More information on the PB-100 can be found on the

ZX Spectrum

Oh, the Sinclair ZX Spectrum!

There probably never was, and almost certainly never will be, a computer I have awaited so eagerly (I had a calendar on my wall, crossing the days to its delivery), and which I had so much affection for. Nor will there ever be just such a kind of community, both very local to me, and very global, too. And I am not alone. Just have a little look around the inter-tubes and you will see that this is still very much a living machine. Best thing? I'm soon going to have a brand new one again, this time ready for the twenty-first century.

Anyway, renewed excitement to one side, this was where my addiction really, really, took off. Yes, I was also sucked into seemingly endless hours of gaming (Arcadia being one of the favourites), but this is probably where I also started diverging from the purely higher level language development (even though it gave me my first flavour of Pascal). Yes, ZX Spectrum BASIC was fun and powerful (no, it really was both), but there always seemed to be a few things that it just couldn't do.

For example, ZX Spectrum also marked the point where my family saw the whole enterprise as potentially really useful so we invested in a full fledged dot matrix printer (I think it was a Seikosha FX-800 or something, in any case it was Epson FX-80 compatible), together with the odd contraption it needed to talk to the Spectrum. While the thing would happily print text straight out of the box, the graphics were another matter altogether, and I wanted both graphs and screenshots. While the former could be obtained by tickling the BASIC just-so, the latter was a different matter altogether. What ensued was a dive into the deep end of Spectrum's architecture and Z80 assembly language, resulting -- eventually -- in a "memory resident" (to use the DOS jargon) little program which would garb -- and print! -- the screenshot in glorious 256x192 black and white graphics. It worked even for same games' opening titles, and was later improved to enable 2x and 4x zooming (and possibly some non-linear magnification, but my memory is too vague on that point).

This having been a happy-go-lucky ere of not too strict attitudes towards copying, I also developed another nifty assembler program to do the tape read/copy magic. It was nowhere near so feature packed as the best of class pirate tools of the time, but it did well what it was designed to do and, much more importantly, got me invaluable experience in bit fiddling and generally messing up with the OS innards. You can probably think of this and the printer "driver" as my first dip into embedded software engineering.

You can find more information about ZX Spectrum at the, aptly named, World of Spectrum.

Hewlett-Packard HP-15C

While I dearly love this calculator I didn't really get it with software development in mind. At the time I have just started studies of Electronics Engineering and HP-15C was a logical choice for someone facing shed-loads of equation laden science.

Still, I managed to have an awful lot of fun with the HP-15C, and, truth be told, did really fall in love with the whole series. I especially coveted the "programmer's" HP-16C -- I only managed to get my hands on it recently, when I started collecting. At home we also had an HP-11C banging around, used mostly by my mother in her biochemistry lab. The fact that she actually bothered to learn RPN to be able to use it is as much an endorsement as can be had for the Marmite of the calculation models.

In any case, I did manage to fill in two decent notebook worth of more or less useful, and more or less complex, programs for the HP-15C (some would even work on the 11C, too). I remember both games (a maze/dungeon style space adventure being one vague memory) and maths, physics, electrical problem solvers and helpers. I think I still know where these notebooks are and should really dust them off i ffor no other reason then to show how I could, at the time, write some actually legible handwriting.

More on the HP-15C at the The Museum of HP Calculators.

Hewelett Packard HP-6400 (for Motorola 6800/2)

The last of the machines here is neither small (let alone pocketable) and neither did I ever own it. However, I have used it in anger (and with some anger, too) on my very first job out of the university.

For those not familiar with the subject, this is a, so called, development station, where you use something not unlike a dedicated PC to develop software for microcontrollers found in various devices. You store your programs on floppy disks, and "burn" them into EEPROM chips using the kit that could be plugged in the back of the pictured system. I seem to remember "my" version had a burner to the right of the keyboard, but in any case we used "gang"-burners as we usually needed to program a few chips at a time.

Long story short, there was nothing glorious about this thing. It had a rudimentary -- and quirky -- environment (I hesitate to call it an OS), and you used the small green-on-black screen to edit assembler programs, compile, then flash them. This was also an emulator/debugger, but I remember that it wasn't good enough for our purposes (or our hardware design wasn't good enough for it) so the debugging meant burning an EEPROM, sticking it into the device, having a go, and then trying to figure out what went wrong. The device having a total of 16 alphanumeric characters as a display (four groups of four), and possibly a LED or three, putting "debugging" into the program was something of a challenge, especially seeing as it was all pure assembler and large enough to almost fill the whole memory, leaving little for optional extras (although I did manage to hide a tiny Easter egg there).

I also seem to remember it being possible to swap disks between the station and a PC, at least enabling you to edit in a more comfortable environment, but I also seem to remember it never quite worked and me deciding that doing everything on the HP 64000 was the way to go.

The high point: going to a top of a hill, secret location of a secret military relay station to insert a few dozen EEPROMs with new code into as many devices, plugging them all in, and seeing the system come alive. Baats lab testing I can tell thee!

The low point: on completion of the project, this being a military one, we had to print out the whole blinkin' 400+ pages of the assembly listing into a prescribed format -- and on not-very-heat resistant drafting paper -- and then having to sign each and every of those 400+ pages, myself as the developer, my project manager, and finally, our manager. It made for a very, very long day (or probably a couple of days, but at least the beer at the end of it was cold and plentiful -- as was the bonus, for that matter).

All this said, and despite the pain of the whole thing, fun was had, experience was gained, and my love for embedded software engineering was set in stone. The HP 64000 was the proverbial nail in the coffin of it, and once you're nailed into a coffin there's really no escape. Ever.

A bit about HP 64000 can be found here and here (the second page links to a PDF of the manual!).

The busy years

In what can be called the busy years I swapped some of the excitement described above for a more pedestrian day-to-day job of embedded software development. Not that it was not fun, and I did truly enjoy it, but it was a job, it paid the bills, and had to be planned at the future of some sort. I went through various projects, from taxi meters, through industrial protection and measurement, to protocol stack for mobile communications. It was in this last bit where I thought I might want to give software development a miss and try my hand at various kinds and levels of management. Looking back, this was partly because of a, mistaken, idea that one may end up earning more, and partly because, frankly, protocol stacks for mobile phones are, not necessarily boring, but they do get to grow old quite quickly.

The detox years

This a a period of several years where I haven't touched or seen any source code, at least not on the job. Not a single line. A sort of a wake up call (even if it did take me a few years to fully wake up) came when an eager teenager said "Wow! You work for Nokia R&D! What software tools are you using?" A bit embarrassingly my answer was "Outlook and Excel". Go figure.

Still, as I said, while the idea was born, the inertia and hopes of maybe jumping up one more level on the greasy pole kept me from actually doing anything about it apart from developing one or two mediocre (but still useful to me) PC applications. Not very much exciting for someone who used to eat, breathe, and dream bits, pins, and interrupts.

And then, an almost literal kick in the arse led to a new job, and...

The revival (or so I hope)

So, here I am again, with a couple of development boards on my desk, with exposed chips and pins, and LEDs blinking in patterns I set. There's also a gaggle of seemingly random cables, papers, and Post-It notes with cryptic things scribbled on them. And I have just finished the initial design and development of a tiny little new feature for some tiny little new (and old) chips. Who knows in a few months time you may have my ode running under your TV, in your earpiece, or even a mobile phone.

I'm back in business. Wish me fun!

Monday, 10 February 2014

South Bank or South Park?

As a registered Minister (see my Certificate of Ordination, number 202-104, at the bottom of this post) of the Church of the Flying Spaghetti Monster (CoFSM) I must express my outrage, and a very deep feeling of having been offended by the London South Bank University (LSBU) having removed the poster depicted below and the stall of the South Bank Atheist Society (SBAS, guys, you should have a proper link not just an F-book one!).

The apparent reason ultimately (after it turned out that Adam's dick is, in fact, OK) given was that, being based on "religious" art, the image above offends. I couldn't ascertain whom in particular this image is supposed to (have) offend(ed). What I also couldn't ascertain was why the Michelangelo's image is necessarily "religious" art -- as if that matters. Because it lives in a chapel? Maybe, but you'll have to agree not necessarily. Because Michelangelo was himself religious? How do you know? For all historical evidence I, for one, can't be sure. And then, even if he was, why would everything created by his hand be necessarily "religious" in nature? Not to mention he probably had helpers, at least some of whom could have been non-religious -- or worse of a "wrong" faith. 

Anyway, not having been able to ascertain the validity of the LSBU's claims I can only go on what I know to be true, namely: a) the removal of the poster above violates the right to free speech and freedom of expression of members of the SBAS, b) the removal of said poster with the excuse given by LSBU offends my religious (not just "religious") feelings as a member -- and Minister -- of the CoFSM (see certificate below).

From the clash between the (obviously wrongful!) claims of the LSBU and the (obviously!) rightful claims of offence to my (and any of the other adherent's to the belief in FSM, and members' of CoFSM) religion and person stated above, the only conclusion I can come to is that it seems that in modern Britain -- or at least at LSBU -- there exists religions, and consequently, people of higher and lower status, and with more and less rights in the society. There are no points for guessing which group the believers in CoFSM fall into.

In the hope that we are after all, and despite the attempts of some individuals at LSBU, a free society where all belief systems -- and especially those which promote freedom and equality for all, regardless of their belief system such as the CoFSM -- are treated with equal respect, I hereby demand that LSBU officials issue an immediate and unqualified apology to all members of SBAS, as well as to all members and the believers in the CoFSM, and to consequently allow members of SBAS to freely display their material alongside all other student societies, religious or not.

Thank you, and may the FSM be with you at all times (and not just when you eat pasta).

HT British Humanist Association (BHA).

Tuesday, 4 February 2014

Long Time No C

The last time I posted here was more or less at the start of my serving out the notice period, having been fired from here because these guys bought my department - but only partially (they subsequently fired the whole of their equivalent department - which I think is even meaner).

What followed was a period of unemployment which was made infinitely less stressful than one might expect by the opportunity to spend a lot of time with our gorgeous little daughter, something I will likely not have another opportunity to do for a long, long time - if ever.

So, hurrah and huzzah!

But wait! There's more...

These guys decided that I haven't killed off all my brain cells playing management/coordination game, and that I can still be gainfully employed as a software developer. Huzzah! indeed.

So, I have now dusted off my trusty old (but not as old as in the photo above) K&R and brushed up on my static and  volatile - not to mention pointer voodoo, and am expected to make the world a better place by making sure your Bluetooth devices play nicely with each other (amongst other things).

All this, of course, involves quite a bit of upset to our little family, but we shall emerge victorious.

Stay tooned...