Wednesday, 28 November 2012

Yorkshire Miners vs Working Miners

I just read this... a wailing lament of his times past, seems to be the guy is a right twisted shit, educated, trained, employed on and off, he gives no indication as to why he looses a job as a social worker, simply blaming Margaret Thatcher... He then blames her for his choosing, opting, to go drink, drug and defecate for a decade... Blaming others for himself.

Then this whole shit about Yorkshire miners... I mean he even says "They avoided working on a Monday and a Friday"... yeah, they did... But you ask a Nottinghamshire miner and they worked them... Nottinghamshire had a bigger coal workforce and coal field than Yorkshire, yet they always go on like they were the bigger bunch.

And as for him standing on picket lines... He was not even employed as a miner... No wonder the fucking Yorkshire and Lancashire mining union reps could bring flying pickets down to the Nottinghamshire pits to try and close them.

I fucking hate that article, the guy is trying to come off as some kind of working class hero, and comes off as ungrateful scum to me.

I bet someone at the BBC thinks he's a good writer, or depicting things "likes they were in t'olden days", but... The guy is basically trying to hide a life he's wasted and only turned around later.... I mean saying he went on strike because there was a Conservative government, I've never heard such bullshit outside an IT planning meeting.

Tuesday, 27 November 2012

Unstable Pi Reports

I have also spent a lot of time today talking to the hardware types who work with me, I'm very much a software guy, beyond wiring a plug or sorting out my ethernet cables I try to stay away from hardware engineering.

I have been known to assemble my own computers, some people call this making, but really you're just taking pre-fabricated items and slotting them together, the kind of hardware guy I'm talking about are the kind who tinker with soldering guns and the like.

And one thing they've overwhelmingly said about their Raspberry Pi's is how unstable they are, how they crash on them and how slow they are...

Where as, I'm a software guy, I've never had my Pi crash, I've never had it be overly slow... I admit its not quick to compile complex C/C++ languages, especially when the latter is using the Boost libraries... but it has been stable.

In actual fact I've only had it crash out once, and that was not its fault, it was the fault of the SD card going dead midway through a compile!

So... What is this difference?... Are the hardware tinkerers, playing with the GPIO port causing themselves issues?  (I think so)... 

As a software tinkerer however I have no complaints...

Monday, 26 November 2012

Hide the Incompetence... Format the server!

Here's a quick lesson  for you boys and girls... When you have been in competent and not done an assigned task, such as installing the software project you've supposedly been working on for the last year onto a server....

Have that server sent to IT to reinstall the whole thing and stall the project manager from sniffing out your duplicity.

Why do I mention this lesson?... Well, because this exact scenario is playing out before my every eyes, a Windows 2008 server has sat languishing not being used for over a year, the guy who was meant to be using it, making it a back up of our live server environment did not do so, he did however manage to waste an inordinate amount of time pretending he was doing something with the machine.

Last week, I tried to get to use that machine, and was met with a wall of shit, I mean, he threw his rattle right out his pram.  Presumably because he saw my looking at the machine; on an unrelated matter; to be snooping into what he had, or rather had not done.

So, this week, I've passed the machine on to the next step and this person has darkened the door step once again and declared...

"This is the data center edition" (is it?) "we can't afford it, send it back to IT to have it created fresh"...

And the manger has gone... "Yeah, okay, tomorrow, send it to IT".

Alsmost immediately the status of the other-other project, the long proclaimed, much hyped, and mainly undelivered project has been put to sleep and there's now a days slack to be taken up in the mad panick that is the local development schedule...

This people is what happens when someone without any balls is running a department and there's a sneaky fuck working for them.

Wednesday, 21 November 2012

Sorry, New Pi Code Readers

Just a quick one today, to say worry to the swathes of people turning up on my blog looking for "new pi code"... what that post is about is me producing new code at work for the Raspberry Pi... I'm not releasing anything for the Pi...

Well, not until next week... When I hope to release a lovely C++ class to help you people out there use a USB serial port from your Pi... I'm writing this to help me with interfacing with a null modem connection to another machine.

But it could help with anything you might want a USB/Serial converter for.

Monday, 19 November 2012

Fuck-tard Server Administrations

There's a server in our building, it was bought on a capitol expense for over £8K two years ago.

In that time, its NOT had a single thing put on it... In fact, its had something put on it and then taken off it, and that something was deemed to be mission critical enough to warrant being put onto a PC under a guys desk, with its innards spilled out on the carpet... where anyone could tread on it, cleaners could smack it, and hot drinks could pour into it... This was of course our main source code server.

Today however, after many moons of delay, the server is being put back into the server room... But its all changing...

Now, its time for me to say it, CHANGE FOR CHANGE SAKE.

The remit was to get the server back on the heavy iron in as fast and easy a method as possible... Happily the actual machine is really three virtual machines being hosted on this little gutted PC... So one would assume that to get the server back up and running as fast as possible the easiest thing to do would be to stop the virtual machines, back them up, copy them to the heavy iron and start them again?...

Yes... NO....

Clearly this was too complex a task, so instead the appointed administrator, who lets face it has failed to administrate for over a year, has decided to spend the day kicking about in the kitty litter of the interwebs, changing how the server works, how it appears on the network, how you log onto it, and hence how all the services built up over the last eight-ish years using it operate.

The net result is a server which does not work, the invalidation of about 3 months work of mine, and the seemingly unbounded immeasurable incompetance of said administrator being left unchecked as it spews through evolution after evolution of server infrastructure.

The reason for this big problem?... The actual IT Dude doesn't want to learn "sudo shutdown -r now".. That's pretty much the ONLY reason for this change which has had such drastic, terminal, effect.

So people DO NOT just change things for change's sake... and managers, when your fuck-tard employee who has failed to migrate the server for over a year decides you've actually noticed and they tell you "I have a cunning plan sir", don't listen to the smegger, go through their plan with a fine tooth comb, run it past the actual users of the machine and if its going to cause them grief get the fuck-tard to change their plan...

"I asked him to migrate it in as simple a fashion as possible"...
"Yeah, well he's fucked that up royally, I'll go back to zipping up the source code and storing it on a fucking floppy disk each night".

Getting old skool with my GUI...

Over the last couple of hours I've been working, and reworking, on a tool I've had in development (off and on) since July, its a visual designer in C# to help the non-technical produce some very complex nested XML which can then be passed through a code generator to basically produce a whole system.

So, this GUI is very very complex.  At the moment I'm dividing and conquering one aspect at a time, I'm at that position where the basic assets and window management is down and working, I've got a good menu system and the data (XML) is loading and saving nicely...

The next step is to set about the actual visual representations of the entities in the data, plus all the functionality to allow... dynamic renaming, showing process connections & flow etc... 

And you know what, for the first time since I moved in with the now wife, I think I'm going to have to get old school about it, I'm going to have to get pages of design drawn up, some data dictionaries and delegate maps laid down on paper... I'm going to then have to do something very very old...

I'm going to have to stick these papers to the walls and around my monitors to get the job done.

I've not taken to posting notes or sticking designs to walls around me as I work since I was at Uni.  I first did it when learning to program, and then got over it, then used it in my degree a lot as I would leave a project to do lectures then return and try to pick up where I left off... In the days before subversion, wiki's and bug trackers this was how I progressed work.

And I can employ all those tools now with the stroke of the command line, but... They don't give me a visual link from the GUI I want to produce and the abstract data I have to represent.

Sometimes, a pen and paper, plus some long hard thinking and some bluetac win out.

The wife will not like this, but hey the office is mine.

P.S. The wife has decided to buy me a new chair for Christmas... I now have to troll the office stores in the surrounding cities for the perfect one... Ironically I know the perfect one, I used to own it, but when I moved in with the wife (then girlfriend) I had two office chairs, she made me give one to her Mother... which is the brilliant one... and I was made to keep the newer one, which just happened to be a similar colour to the carpets... which is a shame, because this chair I have is the most uncomfortable piece of shit, it leans right and always wants to roll backwards - despite being on a perfectly flat floor.  So, new chair... The trick is, can I get exactly what I had before?...

Sunday, 18 November 2012

Memory of Light... Amazon cancelled on me

I have had my order for both the hardcover and paper back of Memory of Light open since March... 

Yet I just got a mail from Amazon cancelling the paperback pre-order as "our suppliers have advised they are unable to supply"... well deeer its a pre-order... Bit strange of them to cancel it like this...

The Hard cover order still stands and happily as I placed it so early I'm getting it for like £3 less than the list price... Hmm... Wonder if that's why they're cancelling....

I might give them a mail asking the sense of this act...

Saturday, 17 November 2012

New Pi Code and Toast

So, you may guess I've got a Raspberry Pi, and I've been building code for it... In actual fact I've been porting a few of my support classes from other projects so I can start to build things of some use.  I've ported my XML parser of choice, I've ported a bunch of network code and I'm tonight going to be setting up to bring in some of my Linux console manipulation code, so I can colour and highlight areas of interest in apps.

Though, strangely, I've already come across some strange differences between code which has does and will compile on gcc v4.6.2 on ubuntu 12.04 and which won't compile under gcc v4.6.2 under Raspbian... I'll post more about that when I understand it, for now just understand this... All I have to do is move a "typename" definition about... Its really obscure... And maybe just be doing something wrong...

So, more Pi code from me in the near to mid future, the reason none of it is going to come out now is because until this week I've only been tinkering with the Pi... Now I actually have remit at work to officially perform a project with one... and its all quite exciting, there's nothing like having a project in work which overlaps your leisure time.

The only problem is, my boss (well my bosses boss) is such a tight wad he's not sprung for a Pi himself, no I've had to take my own in!... Bit cheeky, but once the Pi was mentioned I jumped at the chance to take mine in and get on with something.

However, it did cause some friction, another member of staff whom shall remain nameless was eyeing it up for days.  They didn't seem to want to engage through the old blue eyed devil with me, so they let themselves, and others cool off, before they came drooling all over it... However, they came in such a way as  to insinuate there'd be no work/code actually working on the Pi... Of course I have 50% of the project done... the proof of concept at the very least, proving I could produce and hence need to be left alone... And this flabbergasted them, so much so they were very nasty not an hour later.  So nasty in fact I send an email to my immediate boss complaining.  I don't get paid to deal with other people having a tantrum because they're stuck on the same project they've been on for two years... a project they should have delivered a year ago... So, I don;t want to hear it when they're complaining, and proclaiming, they could do it better...

"Really, you can do it better?... Well you bring in your Pi, oh you've not bought one"... was the thought which ran through my mind as I engaged stare mode and ignored them.

Anyway, toast... Why is Toast in my post header?  You may recall I have one post about sweets to help code.. well, I never got around to buying any more sweets to try... I've not had a hard boiled or mint sweet since that post.  I have however had toast...

When I was a kid my favourite toast was really insanely fresh white sliced bread, lathered in salted butter... This is still a favourite today, but I don't go into for the lathering  nor the heat... Strangely, my taste has taken to letting the toast cool.  I do remember once at Uni placing nearly 8 slices of toast into the fridge to cool before buttering them... and I seem now, a decade later, to be going through that phase again, I stack up a good number of slices, let them cool whilst there's tea brewing and I then butter them and just glance them with lemon marmalade.... It is heaven.

And because its cold already, its perfect to take to the office and get some code done with.

Friday, 16 November 2012

Guide To Building a Raspberry Pi C/C++ compiler on Ubuntu

These are personal notes on setting up a Cross Compiler for C/C++ on my Ubuntu 12.04 machine, so I can build programs for the Raspberry Pi.

Of course my reason for this is that my PC's are far more powerful than my Pi, even compiling the most trivial program can result in waiting a duration or two on the Pi.  So, I want to employ my heavy PC metal to generate the ARM architecture code for me.

The first steps were to install all the pre-requisites, I'm assuming you have Ubuntu 12.04 32bit LTS installed fresh and clean (either as a real machine, or as a virtual one) and that you know how to use your Linux Machine, here we go.

sudo apt-get update
sudo apt-get upgrade
sudo shutdown -r now

Reboot... Log back in etc....

sudo apt-get install subversion bison flex gperf build-essential texinfo gawk libtool automake

Download ncurses tar ball from "" extract it and then within its folder:

sudo make install

Download crosstool-ng from "", extract its tar ball and from its folder:

./configure --prefix=/opt/cross
sudo make install

Now we need to add this built item to the path:


And now we need a space to do the building of the cross compiler:

cd ~
mkdir Pi
cd Pi
/opt/cross/bin/ct-ng menuconfig

Goto "Paths and misc options" and then turn ON "Try features marked as EXPERIMENTAL".

Goto "Target Options" and into "Target Archetecture" and select "ARM".
Go into "Target Options" and set Endieness to "little".
Go into "Bitness" and set it to "32bit".

Goto "Operation System"
Go into "Target OS" and select "Linux".

Goto "Binary Utilities" and then select "Binary Utilities" latest version (2.22 as of writing).

Goto "C Compiler" and enable "Show Lincro Version" these are the 4.7+ versions supporting C++11, and enable C++.

Exit and save.

And now we kick off the building of the tool chain:

/opt/cross/bin/ct-ng build

The output for me ended up in "~/x-tools/" as per the paths selected in the paths & misc options.

Sunday, 11 November 2012

Sat Here, no longer thinking...

So, I posted earlier how I was too tired to be in the groove?... Well, I had a good idea, update my virtual machines... You see, whenever I start a new major project I start development with a nice fresh instance of my virtual machine on the target platform...

In this case I bought Windows 7, however, when the project begins I generally isolate the virtual machine from all updates, as they may introduce breaking changes or days of down time with things updating, and I start to cut code from my design on that isolated machine.

Its safe, I never browse the net from them, and the host machine is very secure.  However, the images gradually go out of date.

Well, I figured I needed to take a copy of this virtual machine (which I did) and update it to see if the product nearing completion still runs with all the latest updates... 

I can't tell you the answer yet, even though we have a span of multiple hours between my prior post and this, the reason being, even at over 10mb/s download speed (nearer 17.25mb/s tbh on this wireless) it has taken all this time just to get the first 54 updates done.

I've rebooted, but been told there are 7 more, and 5 optional ones too... This is the pain of not updating my windows platform since the 17th October 2011... But, hell is it slow...

Right now, the second phase of update has been saying "Installing Update 1 of 7" for about 14 minutes, there's no hard drive activity and I'm so very tired I might just pull the plug on it.... But doing that often screws the Windows Updates.

It has however gotten me thinking about the update mechanism for the project I'm doing all this updating for, it; at the moment; has not remote update mechanism, neither a download & update whilst running, nor an update over reboot nor an update/install even... That may have to become the next big part of the project I tackle.

Sat Here Thinking...

This is one of those nights where I could have done with about fifteen more hours of darkness in front of the computer before I got as tired as I am now, the reason being, I'm in the zone, I've been coding, and documenting some parts of a system which I've been eager to get going on for days and tonight was the night I got cracking on it.

This is after having my planned day "in the office" ruined by a few things... The first problem was the wife has been quite ill, she had to have the day off of work, and she seems unable to realise for my kind of work, I need to be left alone for more than 48 minutes at a time.

The next problem was that she was really really ill and I had to take her to an opticians, where they sorted out the problem with her eyes and cost us a combined £178 odd on new glasses with some special coatings. This, cost all day.

We then insisted on having our evening romancing in front of the TV, which though fun resulted in sweet FA on the work front.

I came up here to the machines around eleven, and I've been plugging away at this problem for a solid hour and a half, getting a lot of the little ideas which have been percolating through my brain all day down as code and working... AND documented, which is a really time consuming challenge as anyone working in software can attest.

But, now I'm beyond that concentration point for coding, it is a whole new day for the time space continuum, but for myself its still the same old yesterday elongated beyond recognition.

Aaaaanyway, I'm watching the Pilot episode of "Last Resort", a few shite acting points the "Navy Seals" were pretty crap and obviously will figure into the plot later, the plot itself has holes, but its the most decent US drama I've seen since Battlestar.  Its not as as fantastic as Battlestar, but its decent.

Tuesday, 6 November 2012

Elite IV

I'm excited in... an angry sort of way... I've just read the report that David Braben is out on the interwebs looking for funding to finish the latest Elite game...

The fact that they admit there is an Elite game, that they are testing the multi-player and there will be a single player is very intriguing... This is the first solid news about the game released in a long time.

For you see we've had announcements of games and teasers of Elite IV development since 1999

That makes me excited, what makes me angry is that he's out here seeking funding?... If he was so sure of his game it'd be funded, some publisher would take him on, but then maybe they'd not because Braben has been the proverbial elite game snake oil salesman for much longer than he's been actually developing and releasing games.

You see the original Elite happened by accident, Graham Bell and David Braben came up with some very clever ways to get the low powered MOS 6502 processor to calculate its way to powering 3D graphics, wire frame on the BBC, but other machines (like my ST) ran rastered solid polygons when we got the game.

And there's the anger... When we got the game... I've already handed over my cash to the franchise for Elite, and Elite II Frontier... I even bought First Encounters...  I still have my packaged, near mint, copy of Frontier in my desk next to me at home!

As a gamer I've played space games since Elite, I've played Eve Online and the ilk, I've seen the news of Notch's up coming game.  But, to be asked to fund Elite IV, now seemingly called "Elite Dangerous" before we've any concrete proof of its existence is... Not going to wash with me.

If they offered an alpha, to help test it, if they offered those who funded it more than ethereal promises to shape the game, then I'd perhaps listen, but they just offer this snake-oil Springfield monorail-esq comment and leave it there.

Then you look at the crowd funding site itself... £100 to participate in the beta test... erm... Why should we pay you to do work for you...

Its going to get funded, I know now all the fans; like I actually am; will fund it... but they may not be thinking as I am that this is just another round of bull.

I'd like to see more of the game first, more proof there's a product.  For instance I'm sure if you walked into the Dragons Den with the published information about Elite Dangerous, just that video of Braben on the BBC site with what might be the game running behind him on several screens and the press releases and the history of the court settlements and asked the Dragons for funding, they'd be out.

That's where I sit right now, I sit out...

Because as I see it, I've already funded the Franchise to the tune of jus shy of £130 (inflation adjusted for 2012 prices) and I've seen little return.

Frontier £30 in 1993... is worth £47.70 today.
Encounters £35 in 1995... is worth £52.50 today.
Elite in (I think I got it in 1989 for my ST) £15... is worth £29.10.

That's a hell of a lot of my cash, £129.30 to be exact... I don't see the appeal for any normal mortal to want to have dinner with him for £5000... I can see game developers, or wannabe developers, wanting to do that... Perhaps he thinks EA or Ubisoft might spring for several such seats at a dinner... But to be honest, to have to go to Cambridge to have Dinner, I'd like to be paid, not paying.

Some of the other funding items are also just gimmicks, "Reserve your name in game"... I'll tell you now, I hate that.  "Reserve a digital copy of the game"... digital copies are NOT number limited, there is no limit to the number of digital copies you can make of software this is the very fabric of software, "Holy shit we can only ship 1,045,727 copies cus we're out of disk space!"... No, that's not going to happen, they can stamp out hundreds and thousands of copies per hour in digital form you don't need to pay to reserve a copy, this is madness.

"Get a decal on your ship"... What the fuck is this?  Crystal Tigers and Murloc pets from Blizzard and now "Digital Grafiti" from Frontier Developments...

(My figures for the Inflation Adjusted Pounds came from where I related to the "Retail Price Index" - the lower of the two values given).