Tuesday, 22 September 2015

Meeting the "Genius Programmer" Myth

We've all had it, we've all met them, a few of us have maybe even pretended to be them... But there are very few real, and therefore absolutely swathes of fake, Genius Programmers.

I bring this topic up, as my current role revolves around pampering a system which I had no design input into, which is, frankly, a bit of a mess, and which I would and could and at one time was allocated time to re-write from the ground up myself.  This system was designed by a Genius programmer, in some aspects it wasn't even a very good programmer, or rather not a very good modern programmer.  It was designed by a chap with his roots in 1980's Radio equipment, and whom had google at hand.  So it's coded to a Coding Standard downloaded from India, it's main features, though functional and good don't take full advantage of modern programming practice, like inheritance or even full encapsulating things as classes.  It's a hodge podge.

And then it had a team each work upon it, where each member would do their own thing, but the designer would reel those changes in and uniform them, that was until the first, the perhaps the worst ever, specimen of a "Genius Programmer" was hired.

Hired, some time after me, he soon changed the core programming language being used by the department from being C++ to C#... Yes, you heard that right, from C++ to C#.  Though this was luck as a manager grade member of the group was pushing for us to take up Java, as she'd used it at a previous job.

So, C#... Genius Boy soon had it running tricks, but many of his tricks were to call down into the Operating System, something far easier to do from C++, and it all became a bit of a farse, he'd write unintelligible code, in poor structure, and then the designer was so intimidated by this boy talking the talk he'd not check whether he walked the walk.  And 50% of the time the boys code did what was intended, so long as he didn't get bored between starting to implement it and delivery day, if he got bored, forget it, all bets were off.

And we've all met people like this, presenting themselves as the best thing since sliced bread, but they don't acutally deliver.

So, I'm now coaxing this system into old age, and probably extinction soon.


However, he wasn't the first time I ever met the 'genius programmer' phenomena, the first time was a genuine example Max (if you're out there Max Barr, hello!!!!), was a genuine article, he as kindly spoken, had infinite patience to listen to the problem, would mull things over and then he'd attack (between smoke breaks) the problem.  He even had the same phone as they used in that years hit film "The Matrix".

Max was the genuine article, able and produced working results every time, however, his code often had a world of it's own, as he included such variable names as "Great Green Flesh Devouring Scabs", yes you can imagine you could not maintain his code easily.  But it worked, and you left Max to his projects knowing they were in good stewardship.

At the same time I met this genuine article, I was also introduced to a complete fake... I wasn't involved in hiring this joker, but the boss at the time gave us this speach he was coming in and showing us how to do things... Shaking things up...

At the time I'd just finished porting the company's old product to the internet via CGI, and the new project was in Java, hosted on Jakarta Tomcat and later through IBM WebSphere.  This fellow was to be a Java expert.

He came in, he was a bit odd, immediately one had a feeling of... "He's odd"... I couldn't put my finger on it at first, but he sat in a corner, and the first week there he was off to buy a brand new hard drive for the machine he was working on... So he spent that day out, at a local shop to buy a drive.  I went into the shop later, they served the guy in about 5 minutes, so immediately he'd had the day off doing nothing.

Then he presented his first piece of code, and we were meant to clap in awe that it used a thread, it was very annoying to watch.

He then decided the IBM WebSphere server we'd all got sorted was not good enough, and we needed a Linux machine.  And I agreed, the trouble with this however was it was 1999, so you had two choices for your Linux server Suse and RedHat.  I would have chosen to install both, except back then they cost money to get the support and in a commercial environment the boss wanted it all supported.

It was therefore decided that the genius would be sent to pick, at a Linux conference, I was sent with him... Well, another waste of time later, I left early and headed back to the office "pointless day, he just met his mates and they didn't talk tech", indeed the whole presentation for the whole morning was the Suse guy in a suit telling us to use theirs, followed by the RedHat guy in a t-shirt with a red-hat printed on it, telling us to use theirs... very annoying.. No comparisons, no service information, no detail, no point.

So anyway, back at the office, no more code came from this guy, and I learned working in Warwickshire he was commuting every day 64 miles from Nottingham, so that's 128 miles a day... And oh look, I'm from Nottingham... "Where'd you used to work?"... I asked one day... And by remarkable coincidence, where he used to work, is where I work now... But he made out he'd been senior developer here, and al-sorts... Genius programmer remember, he was telling the boss, and us all, how he'd worked on major projects...

But like I said, no more code came out of his corner, and after only a few weeks he departed that employment.

Spin forward two years and I work where I am now, which happens to be where this Genius claimed to have been a senior programmer.  So I ask about after him... Nope, no-one remembers him... I ask HR, they look at me puzzled... The HR lady at the time did go have a look though, and this genius did indeed work  here... For four weeks... He was never senior.

He seems to be one of those hummingbird programmers, able to talk the talk to get the role, but then unable to walk the walk.

Years later this chap was in the news, on the TV, turned out my feeling of something odd about him might have been right, he turned out to be of some strange religious beliefs...

Friday, 18 September 2015

New Project Series for you Guys

I've been trying to record you a new series, my rants on life, the universe and everything, with the phone in the car on the drive in, I've tried to record video, tried audio, tried to just dictate and then write out the rants... None of it has been working for me, I think I need to get a better mic set up to record the audio I want.

Even post processing the captured audio and video files has been to no effect.

Topics I covered this week were Kivy in Python, the on going Immigration Crisis coming out of Syria and the wanker who cut me up in a fully livery clad van, the douché.

So, very diverse.

But until I can get around to solving the technical hiccups you'll just have to know and accept that I'm trying... in both senses of the term, yes I'm trying...

Thursday, 17 September 2015

Pet Hate of the Day

I've got a pet hate for the day, when I message anyone, before, during and after I try my utmost to get their name right, on the phone that's hard sometimes you ask them to spell it, or you look them up on the company website, or websites.

E-mail makes this easier, when someone has already contacted you, or there's an internal company address book you have their name right there, right in front of you...

Bob, might very well e-mail you, but you can see they're Robert... Stewy might send you a meeting invite, but you know he's Steven...

So why the fuck is it that my name, Jonathan, gets totally garbled... I mail and talk to people as Jon, I just sent a mail and signed it off "Jon".  That's permission for the other end to engage me as "Jon"... So when I get "Jonathon", "Johnathan", "Johnathon", "John" or even "Jonefan" it winds me the fuck up.

You have my name, you have how I've presented it to you, I'm not so mental that I don't know how to spell my own name, grrrrr

Wednesday, 16 September 2015

What Happened to CubeWorld

I've just been sorting out my laptop ready for a stint on the road, so I've made sure some of the tools I need are available, that the dual boot to Windows is still working - because believe it or not I've had a hotel once not let any browser except IE get onto their free WiFi - and I've also made sure I have some games....

The laptop of course has my installation of CubeWorld on it, you may recall back in 2013 I had a main PC PSU failure, so that week I had to find another title and CubeWorld was blowing up all over the place at that time... So I bought into that Alpha..


I play CubeWorld now and then, but I don't connect my laptop to a network very often, so I was amazed today when firing up the game there were no updates... Hmmm... No updates since 23rd July 2013... Hmmm....

That's a long time, so I just had a look around, whether I needed to download a whole new updater/launcher, or some other thing, no idea, can't get on the site, there's no forum, there's no news, no information.

The only place I found any information was on Reddit, and I like Reddit, but not for hard facts, it's more a guide to potential situations regarding projects, lots of opinion and little solid fact at times... You know, like Wikipedia.

So checking that out, what is the status of CubeWorld?... Well, a video touting the "up coming" Quest system was released, but nothing more... Nothing... For over a year... One can't log onto the site (at least I couldn't, even resetting my password) and the shop is closed...


Now, I love this game, I love the look, the feel, the world and the look... I hope nothing bad has happened to it's becoming really really cool (as it's only cool at the moment).

The GM in me is shaking my virtual D20 in the development efforts direction and saying "please give me more".

Tuesday, 15 September 2015

GCSE Maths (8300) Foundation - A modern resit

I'm a little disappointed with myself, a friend of mine has just taken, or should I say, retaken his GCSE Maths papers, some twenty two years after this dismal first time around, and he's chuffed he got himself a C.

Now, he worked really hard at this, and good on him, I got a C in GCSE maths the first time around, and I am one of those people who think exams now are easier than back then, so my friend challenged me to open the exam board sample exam paper and do it...

So, I did, now I this was with no rehearsal, the Foundation paper, and unlike my exams, no calculator!... Yes, when I were a lad you always had your scientific calculator, but this exam has three papers, two with and one without, I was challenged to the one without (ironic for a computer programmer).

I set about the paper, and after 2 hours had finished, this was a 1 hour 30 minute paper, so a little worrying already, but we'll let that slide, and I also noted I had difficulty with fractional maths without a calculator, which I myself have always always reached for.

I had significant difficulty too as I've forgotten about simultaneous equations, I was proper scratching my head, the feeling that I knew it once was there, but the practical was gone... So I expected to have lost 6 marks already...

I was stunned therefore when told I'd scored just 50 from 79 marks.

Interestingly though one of the questions my mate did say my answer made more sense than the one in the answer paper, I'd used common sense rather than explain how I picked a median group... so he'd deducted two marks as there were no workings, but I'd gotten 1 of the 3 marks available for just being right... I personally feel I should get all three marks for just being right, lets face it, if you put down a good answer you knock confidence!  And I was right, somewhere in my noggin I crunched the figures and I was hard-wired to be right, why should that be penalised?

I've always thought the right answer should get full marks, and only if it's the wrong answer should the working be looked at, but this marking scheme was "A1" they got the answer, but only is "M1 and M2" in the workings... and I'm like, no... A1, they got it, it was right, they passed, stop pussy fucking footing around, they were right... And then if they were wrong, see how far wrong, and feed that back into your course for next year, if 20% of candidates get such and such wrong, but the workings look right, your course might have a fault, or you might have to clarify the teaching material, not punish the candidate who was right all along!

It beggars belief.

But I was truly surprised how hard the exam was, harder because of no calculator for me, but for a foundation level exam it was pretty comprehensive to me, and it has given me a better respect for those getting A's and A*'s today... They must bloody work hard, or at least have learned the procedures for the questions by rote.

The question I have, which remains is, what does 50/79 mean in terms of a grade?... Hmmm... I recon I'm in the C category again, just like I was first time around... Hey ho.

Friday, 11 September 2015

Payday 2

I've been playing with Payday 2, Chaplain the legend that he is introduced me to the title, and I'm quite happy to play it solo stealth, trying to figure everything out...

One thing to work out is how to hide bodies...


No-one's going to spot him are they?... Noooo, we're good...

Wednesday, 9 September 2015

Remember Remember to Blog in September

Sorry I've been away so long, but I've been very very busy, in the office I've had a paradigm shift in my projects, away from coaxing old C# systems and writing little C++ items to developing for Android.

I've therefore had to set up, and document, a whole manner of working with a new set of devices on an OS most of the folks in my office don't want to acknowledge, no not Android... Linux... They line Android... But detest and hate seeing Linux.

Yes, yes I know Android is Linux, and I know you know... But you tell some of the folks in my office, and the ones who don't have an opinion generally have an iPhone stuck to their ear.

So, developing for Android... I must have been doing Java eh?... Nope... Remember I said I was into Python, well I've been developing Python for Android, I've learned the languages, got to grips with Kivy and used buildozer to create my APK's for distribution to the devices.

I've dabbled with PyJNIus as well as other Android API libraries.

I will be bringing some tutorials to these pages about all this, once I've gotten the project itself completed.

My current challenge is animation of the active pages within the Application with Kivy.