Saturday, 24 December 2011

Its Christmas

Yeah, its christmas.. and this is what mankind has achieved... http://www.bbc.co.uk/news/world-us-canada-16323666

That's right Obama... cancel the return to the moon... Nike have a new shoe out... for fuck sake.

Thursday, 22 December 2011

Microsoft Notebook Noose

So, I've been on a little bit of a crusade, I was given tentative permission the other day to look around for a new laptop.  I had Toshiba and Dell laptops in the past, my current machine is a wheezing six years old, upgraded to the maximum and now simply not doing all the things I need to do with it (massive fan of virtualization that I am, I'm hobbled from coding on my chosen virtual machine in front of the tele, hence the need for a new laptop).

However, my first thoughts are, I want a stable host for my virtual machines, so I want to use a flavour of linux as the base for this laptop.  Having consulted with the code of law as laid down in the Holy Rite of the EULA from Microsoft it seems I am able to obtail a refund for any Microsoft Windows License; which would automatically come with a new laptop, so long as I decline to accept the license on first boot.

This however poses a couple of problems, firstly, Microsoft say I must decline.  If this machine has been booted, or cloned from a stock harddrive and the OEM/Manufacturer has in their turn accepted the EULA then I have to persue them for a refund.  So, if I buy an Acer laptop from PC World, I have to talk to Acer, not PC World...

If however, the manufacturer has not accepted the license on my behalf, then I am left to accept or decline it.  And if I decline it I can persue the reseller of the laptop, so PC World say, for the refund.

All sounds fair and, though complex, managable.  WRONG, I've walked into and out of nearly every single reseller PC World, Staples, Comet, Currys, BestBuy; I've spoken to online resellers like Amazon, Aria and Overclockers; I've spoken direct to manufacturers and suppliers like Dell and Asus.  All of them shrug their shoulders, scratch their heads and say "I have no idea what you're talking about"*.

It seems almost impossible to get what I want, or more rightly, escape the noose that is a Microsoft license.  There's been all this bluster in the EU about Microsoft pushing browsers anti-competitively, well I want a different OS... but I have to jump through hoops with retailers unaware of their neccessity to supply the refunds...!!!




* Well, Staples didn't, their three lads seemed genuinely interested in my input and took my number to call me back and see where their "higher ups" stand on this topic.

Wednesday, 21 December 2011

Falklands Under Threat (AGAIN)

Its interesting how history repeats itself, in 1981 the Royal Navy had just completed retiring its large fleet aircraft carriers, switching to the last light fleet carriers (HMS Hermes) and the new through deck cruisers (Jump jet/anti-submarine carriers) of the Invincible Class (HMS Ark Royal).

A considerable drop in our maritime exponent, recieved internationally as a percieved lowering of the white ensign, so much to that Argentina conducted an illegal, and ultimately misjudged, invasion of the British Oversears Territory of the Falkland isles.

In my opinion, spurred on by the idea that Britain would not come to the Falkland island government's aid and that the British Government were unable, through lack of these ships, to come to their aid.

But history less on over... Here we are in 2011, the government has just retired the Invincible class of carriers, leaving the Royal Navy with only the rotary wing air arm and HMS Ocean, two giant costly probably ill equipped super carriers on the slip ways being haggled over... and the South American Trade Bloc backing Argentina's claim to the islands once more!

I find it ridiculous, Argentina lost them to the French, Spanish and British in turn, the British people have a longer more thorough claim to the islands itself, but Argentina keep badgering for them, bullying for them.  The reason is symbollic rather than required.  I've heard Argentine Army Veterans who were landed on the islands during the war, one of them very poiniently said "We landed, and it was Britain, they drove on the left not the right, there were Red telephone boxes and no-one understood us, we suddenly were invaders, where I had expected a Spanish mix of people and us to be liberators I was suddenly very aware of being the invader".

That soldier (at the time of speaking) was living on the Islands, married to a native Falkland islander girl.  And good on him, he'd seen how to co-exist, how friendly the Falklanders are, and how British they are.

Not to say they don't take on the Latin American flair somewhat, but they are basically good honest working folk, with strong British ties, on an island not unlike the Shetlands in both its weather and fauna.

Argentina better simply accept this, live with the people, instead of trying to always bully tactic them.

My bother with this is that, we really don't have a response, or an iron willed Prime Minister this time around, if Argentina or whomever, threatened the Falklands what response would we give... Moaning in the UN probably... but you never know, Gas and Oil have been found in and around the isles, the yanks might want in on the party just like they did with Kuwait.

Monday, 19 December 2011

Obligatory SWTOR Release Post

So here it is, my obligatory post about Star Wars the Old Republic, I'm sure you can fill your boots with all the information you can find out there on the interwebs, it seems everything from the developer code to the artists car ahs been discussed endlessly as the game as come to fruition.


I'll be interested how many over time hours the staff have to put in at the game data centers, keeping it alive under the loads it'll get first week will be a challenge.  It being Christmas will also mean, any serious players taking it up will be on there around the clock, so the servers if they go down will be a real sticking point.

In fact, its my past frustration with server down time at the launch of WoW, which is making me steer well clear of SWTOR.  I suppose that's unfair of me, and its certainly putting a negative spin on an unknown entity; after all I've not really paid any attention to SWTOR, so how can I judge it.

But, I really don't see how they can change the formula of what an MMORPG is... Wow defines the genre, so its going to be WoW like... but not Wow... there are still going to be the elitist jerks, there are still going to be the RP maniacs, the gankers, the griefers, the scammers, the ninja's and the rest of us mindless automatons "Hey I got an epic"... "Gratz"... NEXT!

So, with that said, I really will be looking how the technology stands up, how do they cope with the influx of new players, have they load tested it alright?  And my interest stems from my current personal development efforts.

Some of you may know, I did a degree in computing, Computer Studies with Software Engineering to be precise.  My dissertation was on the topic of "Parallel and Cluster Computing in an Open Environment".  Ironically, wenty years after the fact, you might know this exact idea as "the Cloud".   Indeed Amazon offer a service very much like the concept I had put together in, the then fledgling, Java programming language.  I was told all that time ago, it'd never work, go get a job.  And I did, but I can't help I missed the boat.

I played games as a kid, lots and lots of computer games, I was one of that first generation who put down the boardgames to play their computers.  And I had the idea of a server back end controlling multiple hundreds of parallel instances (not just sharing a mainframe as was popular) but descrete processes or worlds belonging to different players running a thin-client on their computer infront of them, connecting to the world over the internet... I missed the boat, but I love the technology.

So, lets see if Bioware and the rest, can stand up to the all conquering Blizzard and through my bitterness at having thought about this in the 90's and being ignored can they deliver a WoW Slayer?

Sunday, 18 December 2011

Art Critque - Great Detail

So, earlier in the month, on the 8th, I posted about some images released by the BBC.  I complained that the artist was not actually very good that they had put "detail" in to make up for a basic lack of originality.

I just want to revisit this topic, firstly to say, I think I know where the artist vaunted by the BBC may have gone wrong.  I think they were wrong to use what appeared like a digital photograph of a part of Manchester as their starting point.

And secondly, to show them how I'd appreciate their art being produced... No, I'm not going to get Pencil or Paper out... I'm not going to start up GIMP or go buy Photoshop... I'm simply going to send you to a link to watch a video... its 11 minutes of mesmerizing attention to detail.

Here is that link.

Friday, 9 December 2011

There's a reason....

There is a reason the internet was invented, the history books try to tell us it was a method of communication created by DARPA to reduce the chances of the United States being unable to communicate in case of a nuclear strike... however, I disagree... the internet was invented so I could be up well beyond the time I should have gone to bed and I can find most excellent things like this:



In other news I'm actually up, because I'm wired, had a mad dash home from work earlier due to a medical emergency, and I'm utterly still wide awake from the worry and adrenaline.


Honourary mention to these tikes:


Thursday, 8 December 2011

Art Critique... Apocalypse Manchester

So, the BBC have done their usual and brought attention to something not very good... They're pictures created by an artist of Manchester in post apocalyptic style... personally I believe Manchester would be fully populated and a hub of any enterprises remaining after any apocalypse.  The people might have an extra finger from radiation, or they might not be able to get full signal on their iPhones, but they'd be there...

So, looking at these images had me a bit skewed towards the, not very good opinion straight off.  Looking at the detail in them though, I was impressed, the inner seven year old inside was like "whoa this is a great picture, look at all the detail"... then I realised all I was looking at was the detail, the amount of things the artist has flung shit at and scratched down walls...

Then I started to look with my thirty year old mind... and I came to the conclusion the art isn't very good... it looks like someone has snapped a picture on a decent high-res digital camera and then spent a good few days dirtying the pictures in Photoshop... the effect of decay is just taking walls and structures and scratching them away, best exemplified in the picture of the big wheel, if that structure had lost that segment, the weight of the upper standing arc would have pushed it down and collapsed it.

The railway viaducts, made of bricks, scratched away... bricks don't scratch away to leave brittle stagalmite like structures, they break off... well like bricks, and scatter... even in a nuclear blast.  And they don't erode like portrayed, they round and the pointing fails and they fall out as oblong whittled blocks, not splinters.

This simple relation between what is portrayed and what real-life presents is very stark in the images, the images clearly are not trying to convey real situations of decay or desolation, but instead a stylised one.  They are effectively abstract art, meeting modern art.  But with the artist clearly not wielding an eye for reality is this art?

The Jackson Pollock brigade clear would say yes, I myself however am more dubious... its fine photoshop work, worthy of any game developer out there, but I don't think its art in the "hang on the wall sense" its less in the art category from that perspective than a Pollock, and I think they're pretty off the scale of art in themselves.

But above my critique, why has the BBC brought attention to it... I wonder if the poster at the Beeb has let their seven year old mind run away with them going "WOW" before their adult brain went "ah, not actually that good".

So, in summary, massive detail does not define good art, and if you're going to aim for detail, make it realistic, make it stun even after the second glance.

Monday, 5 December 2011

Functional Programming... Ner, don't bother....

I've just had one of those moments, where I feel like the only programmer in the room who knows what they're on with... let me walk you through this one...

You have a complex piece of code, to sum the number of some values from a series of records where the record type is some given subtype... for example, you have a database of cars, you want to sum all the red cars registered in the last year... you want to sum the green cars... and then you want to sum the blue cars... Generically speaking, you can see where this is going, I'm sure:

function SumCars (Colour Col)
{
return   ( SELECT * FROM Cars WHERE Colour = Col );
}

function SumRedCars ()
{
return SumCars ('Red');
}

function SumGreenCars ()
{
return SumCars ('Green');
}

and so on... this seems very simple yes... and you gain a single function, which is referenced by other sub-functions... now imagine that the "SumCars" function is very very complex (lets say, 350 lines of code) with different if-else and switch statements controlling different pathways through it.

Now, think about what the above style of code does for you, it makes a single copy of that huge function, and you just call that wherever you want... Great eh?... This is one of the tennants of good coding and functional programming.  In my book its one of the best parts of programming.

This makes the code more maintainable, easier to read, and more approachable.  I certainly don't do this kind of coding just to say "mine is better".  If there is a better way to do this sort of thing please show me.  No, what has gotten me utterly buffuddled today is the approach of a collegue of mine, whom has not grasped the situation above at all, and indeed has labelled my approach (what many of you I'm sure would consider the standard approach) to be obfuscating the purpose of the code at hand...

Now, I let them goad me, and I'm utterly lost, here's their solution...

function SumRedCars ()
{
REALLY
LONG COMPLEX CODE
WITH Red INSIDE
}

function SumRedCars ()
{
REALLY
LONG COMPLEX CODE
WITH Blue INSIDE
}

Yes, they want to copy and paste the really complex part and have a copy for every instance or parameter they want to pass in... and they see nothing wrong with this... they see this as being the correct way to work...

And it makes me want to chew my arm off just to have something to throw at them.

Sunday, 4 December 2011

Slice a Penny Off Of Each Transaction Hack...

So, I'm sat this evening just going through some old videos (VHS Tapes, you know those old things before digital storage)... and one of them I've pulled up is "Hackers" from 1995... an instant, if in accurate technically, classic for the hacking, freaking, social engineering and coding worlds.

I'd always had this information filed away in the back of my mind, but the hack involved is a worm, which takes fractions of a cent from each transaction at a huge firm... Sound Familiar?... It should, its the same sort of thing as Richard Prior was drafted in to do in Superman III... and that hack itself was used as the basis (directly) for the hack mentioned in "Office Space"...

Come to think of it, its a pretty weary, well worn hack... One which clearly saunters into the movie executive world in different guises every ten years or so...

My question is... who's going to use it next?  iPhone is huge, Steve Jobs has gone to the great "fuck you all do it my way" shack in the sky... how long before someone puts eCredit, or Wireless banking, or whatever through the "skim 0.00001 cents each time" rigmarole?

Thursday, 1 December 2011

BBC Micro - 30 day!

With today being the 30th Birthday of the BBC Micro computer, a mainstay of very many British Schools like mine in the 1980's, I'm surprised the BBC haven't more stuff scheduled tonight about the machine.


They have recently had a fair few computing and maths related documentaries about Bletchley park and the code breakers.  So with the anniversary and a lot of archive material and even some contemporary programmes about the Beeb in the system I'm just so surprised to not find anything listed.

I'd love to see this again: http://www.bbc.co.uk/programmes/b00n5b92

Wednesday, 30 November 2011

Spoon feed me the spec...

I'm narked off, as you all may know I work in Software, I have received various different job titles around the place where I work, from "Technical Interface" to plain old "Developer", today I am a Software Engineer.

I make that use of "Engineer" for two reasons, firstly, because my degree says on it "Software Engineering" making me an engineer of software, not a developer or hacker, and I say engineer because I do actually think about, write down and design the software I'm putting together before I start to type.  Not doing so is not engineering, nor really is it developing or really hacking, its doing a hack job certainly, but its nothing useful at the end of the day.

So, what has me narked off you ask?  Well, today we have a fault report, this report had floated in from a customer and gone all around the houses (to about 9 different people) before one of these people came over to ask "hey you, man in the department this fault comes from, have you seen this?"... "Why no, I'm not on the e-mail list so I've no idea what you're showing me, show me, and I might know".

A simple situation and easily resolved, I got a copy of the customer complaint.  And took it at face value "I do A then B and it breaks"... fair enough... But looking at the system and the customer report, doing A then B did not make it break for us, doing B then A however made it go mental... "Oh" says I "that e-mail is a little off then, but we got it now, its B then A".

You're all still with me I hope... because here comes the part that made me angry... the person reporting the problem to me turned and said, in a really smart arsed voice "What do you want them to do, spoon feed you the information?"

Oh I was fuming, I said nothing, the guy knew he'd pissed me off, he left the area tout sweet.  I turned to my co-worker and asked "Is this a customer, or a site trial?".... Its a site trial....

So, yes I very fucking much do want a site trial to spoon feed me information, that's the fucking point of a fucking site trial.

What has all this got to do with my job description?  Well, you see, in order to get a software engineer to work on something they need to know there's a need for some work, they need to know of the problem, they need as much information as possible.  You don't just let a road engineer turn up and say to them "Now make a road", they need to know things... they need to know the specification.  This is a key tennant of working with an engineer.

But, it seems, when you're a Software Engineer, you should be some sort of mystic, able to descern from the most obscure conversation (never written information, always fucking conversation) just exactly what the customer wants.  Its like they think from pointing, nodding and grunting, we can invent system software to know they want to iron their shirts whilst they take a shit.

And today just examplified fantastically this dicotomy, not least because the wanker who was bemoaning my wanting more information, programs himself... Well when I say programs, he works in VB... need I say more?

Thursday, 3 November 2011

Breakout...


Why is this?  Is it because of "Breakout" or because he's dead?.. I don't think this is a deserved award at all.

Sunday, 30 October 2011

Oooooommmmmm

So, after the tirade of the last post, I've not done the shop for her, and text the old gits telling them the info, let them sort it now... I bet they can't... couldn't organise a piss up in a brewery me thinks.

Anyway, I have just been relaxing a little, I have a cup of tea and a pint of orange juice and I've just been playing some "Supreme Commander: Forged Alliance".  I loaded up a game I was playing earlier in the week... and I noticed something... it ran very very slowly...

Earlier in the week, if I sent a fighter sweep out over the ocean, they flew they bombed about and came back to refuel... but after loading the game, it feels like everything is stuck in tar... like its slow mo... even whacking the "Game Speed" up to 10 made no difference.

I dunno what this is about, but I have 16GB of RAM and 8 CPU Cores running at 3 ghz... its gotta be quicker than it feels?

Dysfunction

So, I'm busy today, very very busy arranging a wedding... no mean feat and nothing to be taken lightly, yet I keep getting blasts of bull shit from my mother and I've snapped, I'm so unimpressed I'm going to explain my frustration here.

My Mother is a right moaner, she'll moan about a topic basically until it either gets done, or until you snap and tell her to fuck off, I can't tell you how many months I've ignored my mother for to avoid this kind of confrontation, we had a flare up of this shit not three months ago, and I thought she might finally have learned her lesson, but no, today she's kicking off...

Now, what could she be kicking off over that is more important than my sorting out this wedding?... Okay... ready?....

Its making sure my daft old Nan gets her shopping in the 12pm-1pm time slot next week. My nan is useless she'll spend spend spend, but she'd harmless with it, she's too thick to be too vindictive and too self obsessed to truly get under your skin, so if she were to moan "I've not got my shopping", I'd just tell her to calm down... not my mother... oh no, my Nan moans to my mother... my mother starts to call me... as if I'm not up to my eyes in other tasks...

In the lasty 36 hours I have, worked a shift with work, taken delivery of a new washer, arranged and managed the fitting of both the bride and bridesmaids dresses.  Arranged with the best man to get his suit sorted, done a full shop for ourselves, cleaned down stairs, cleaned the bathroom, hoovered the house and spend about three hours laying out the seating plan for the dinner following this wedding... so I'm pretty tired, pretty fucked off and have had no time to myself at all this weekend, to top it off my Mrs is at work so I've hardly seen her either.

Now, step into this my Mother niggling over this shop, now when we were kids my mother would moan at my Dad, she'd moan and cajoal and push him until he snapped and he'd come roaring in at us kids hit us, usually with a slipper, but sometimes with a fist, he'd smash something scream in cohearently and then later on we would have to go appologise to him... My mother easily leads my Dad into this....

So it was no surprise about twenty minutes ago when my phone rings and its my Dad's mobile... my Dad never makes calls... ever.... from the sound of his voice he's laying in bed, beery eyed, either he's not slept well, or he's been up all night (as usual).  But I can tell my Mother has been moaning and moaning and moaning.... "Are you going to do Nan's shop?"  he demands... no asks... not inquires like you should to someone doing you a favour... no demands in a strop.

And it all comes clear, Mother is moaning, she's bored today, she's laying in bed, her current favourite toy a trolly dolly for Quantas is stuck in Singapore cus of this industrial dispute, so my mother is sat at home brooding about what boat she can rock, and she's picked mine, whilst I'm under extreme stress.

So my Dad has been told to "Go away" and been hung up on.

I then decided to sort out five minutes to call my Nan, and I have and I asked her... "Nan, why when you can't get hold of me do you go and moan to my Mum?"... wrongly I've been thinking she's been moaning to start this off... "I've not called anyone since Friday" she says... honestly, I believe her, she's too thick to lie...

Sooooo my mother has gotten this bee in her bonnet about nothing... Has wound my Dad up, like the good old days, for nothing... and has pissed me off for nothing... and interrupted my getting on with these wedding arrangements for nothing....

So to all the mothers out there don't stress your kids....

To all the unthinking fathers who snap when their Mrs has been moaning at them all day... don't snap, think why is she moaning and then think... Hang on, she's talking about other people, who might be busy, I don't know why they're busy, but there must be a reason why they've not got on with something...

And what makes all this work, I've done this shop every weekend for about two years for my Nan, I know what she wants, I know when to call her, I know we'll get the delivery slot... and even if we don't my Nan does not have a hectic social calendar we'd work out a new slot... but my Mother can't accept that, and I'm right fucking fucked right fucking off with it... so here it is laid bare, if I pop around and strange my parents later, you'll all know why.

Thursday, 27 October 2011

China again....

They quash truth and freedom of speech, so why not rumour-mongering?

Monday, 24 October 2011

Idea for better grammar & spelling parsing...

Any of you who have hung about on the internet will have seen Lol catz and other such meme's, one of them is the random pluralization of things... starting from "Internet" to "internets"... which technically is correct, damn it all to hell...

But, now you get stupid things being pluralised.  I don't know where this came from, but I think I've just found out through recreating the piece of typing balls up which formed the crazy... I just bought a hard drive off of ebay (I know, how brave am I)... I sent a message with it to say "Lets make sure its well packaged"... but I has a typo, and I used 's' in stead of 'd'... "Lets make sure its well packages".

This annoys me, firstly because I ballsed up, but I do that all the time so who cares.  But because when I read it back it looks like I'm not a native English speaker, it lowers my IQ by at least a southern US state quota... Dag nab it.

The foul up got be thinking though, the scentence does not scan correctly with an "es" instead of an "ed" we have spelling and grammer checkers built into our browsers now-a-days, why don't they check for this sort of foul up?  Why don't we make one which fixes up the fuck ups?  Or at the very least put a wiggly line under them Micro$oft style.

Saturday, 22 October 2011

I don't get it...

So, I've had my hands on an Apple Mac (for the first time since about 1989), the main reason for this was to see how it stood up in the coding department, they tout OS X as the most advanced operating system in the world... Really its not, its just a very pretty looking version of Unix... Sooo... where's the killer app?

You see, my impression of Mac software has always been that its fantastic looking, but doesn't do an awful lot... and you know what, right out of the box this Mac I'm putting my fangs into smacks of exactly the same thing.. Its dead pretty, its real elegant, but there's not a whole lot I can do with it...

All the programming side of things (XCode) is locked away behind a $99 license... I mean, this is Unix being shipped without a compiler... of any kind....

I've looked around, I can't get any GNU tools on there. I mean I can even get GNU GCC on the aborted alient faetus that is Vista... what the hell are Apple thinking stopping us programming on their kit... this is stuff that I can't believe is happening.

The other end of the stick is that, I always see academic use of Apple kit, I've just watched a presentation from Stamford Uni, where they were using OS X as the base operating system for all their programming examples... so they had all their students pay $99 to Apple... is this something about Apple being in California and Stamford being just around the corner??? I do not get this.

I'm going to keep plugging away at this puppy over the next few days, but for the cost of Apple kit, the cost of the XCode license and the hassle of it being only for their platform, I'd say get a real shitty PC/Lappy from ebay and stick Unbuntu on there for free...

Monday, 17 October 2011

Chinese Apathy... Maw Fong

Well, having spotted this article on the BBC news I had to come to blog about it... its like why are reporters only suddenly bothered about this... take a look:


A two year old toddler is hit by a van, the driver makes off, she's hit again, people walk by and pretty much no-one gives a shit.  This is pretty normal for South East and Eastern Asia in general, if you've ever spent any time watching any of the sickening postings and video's on "Toxic Junction" you'll soon see how people of such countries simply do not give a flying fuck about anyone in the road.

American McGee was on GFW Radio, back in the day, and he was talking about working in Honk Kong, he explained a Chinese (I think) concept of "Maw Fong".  You'll have to excuse me if that's not the right spelling.  But the phrase pretty much relates to the standard bullshit that goes on in China.  The words actually mean "trouble you", so you could say "Maw Fong Mei", to mean "May I trouble you", but Maw Fong is just all the crazy fucked up shit that goes on in China.

A good example, apparently, is that in the Chinese driving test (or at least of Hong Kong) one of the questions is "Should you find yourself going down a street with cars parked, should you a) honk occasionally to let people know you are coming, b) honk often to let people know you are coming, or c) hold down your horn to let out a continual tone?"... And one of these is the right answer!  That is Maw Fong.

The people walking past that poor little girl, that's Maw Fong.  Its all fucked up, and shows just a little of the "don't give a shit attitude".

Why am I so bothered?  Well, a couple of posts back I had a dig at Nottingham Police, and this was because I stood up to sort out a small local problem.  The problem is quiet, but the situation carries on, the nasty bitch I had to deal with still goes out and talks to other people about me like I'm shit, that's Maw Fong.  You try to be nice, you accidentally walk in the street and the planet will kick you in the knackers, run you over and watch you squirm.

I'm just amazed this story got reported, just go look at Toxic Junction, of how much of this crap goes on.

Wednesday, 12 October 2011

Strain your Resources, Ruin your Software.

One of my daily frustrations around here is the amount of work which relies on such tenuous back history.  A good example, which has I've been reminded of today, is the smart card (chip & pin) system used in one of the main products of my employer.

I wrote the current incarnation of this system, and to be frank, my employer needs to kiss my boots for doing so, because writing it was pretty much done in the worst circumstances, with no design, no idea what was even expected, from an in complete software development kit (SDK) purchased years before; for a member of staff no longer in their employ.

The fact that they have working chip & pin functionality is a miracle.

I mooted this scenario to a friend of mine, he expressed similar concerns at his employ, it seems the common story is that someone higher up decides a piece of kit or tech is needed, and they turn to a randomly picked, or the first available, technie type person and they set them a challenge to get things done.

The trouble with all this of course is that it leads to stress, the person doing is stressed, especially when there is no formal back, no training and no resource in which to carry out the task at hand.  The person asking for results is stressed, as without that back ground the task takes longer than it is perceived to take.  And then at the end of the day, one is stressed, the product is stressed, as testing it might reveal unknown results.
   
The moral of the story is, if you want to get good software, kit or tech, out the door let it mature.  Get the resources, get trained, get research carried out, and get to know the end product required.

It seems the current economic slump has taken a bad situation and made it far worse, as before managers and higher expected tech results from the veneer thin surface of training or resource they'd give.  But now it seems that tiny resource has been done away with.

Leaving people to produce substandard, strained, flaky software, and worse still they then point blame not at their own miss-management but at the developer working on the product.
   

Friday, 7 October 2011

Weird Google Search...

I've just spotted something Google related, you know you can type a search query straight into the address bar in Chrome?  And it'll start to prompt you for the page you might be looking for?

Well, I was just looking around, and don't ask me why this came up (I neither have a sister, nor caught her doing anything) but I typed in the phrase "Caught My Sister" and two of the prompted items surprised me, the latter on the list was Wikipedia's entry for Tony Blair, the direct link to his honours no less.

The other was the Wikipedia entry for Steven Fry... How strange that should be a suggested short cut from google for the phrase "Caught my Sister"....

Thursday, 6 October 2011

Review My Review

So, I have a thought... I've not tried this out yet, neither am I tempted to pander to the idiots I believe are doing this... but I'm going to express my opinion here... I am an Amazon Vine reviewer; in case you don't know us Vine Reviewers get a montly list of products offered to us to try to Amazon to drum up some reviews and interest in the items, we get the items free and are asked to read/listen to/use and post a review back about them.  You become a Vine programmer member by invitation only.  I'm not aware what Amazon's criteria are, one day I had an invitation e-mail arrive and I accepted, since then I have tried books, CD's, some head phones and a water jet dental flossing system.

Now, most of my reviews are really about my impression of the item, I like some items and I don't like others.  A couple of the books I've had have been excellent and my reviews reflect that.  But I've noted that some items are pretty rubbish whilst others are middle of the road.  My Scores reflect that.

I feel that the removal of the pressure as to whether I bought the item, and the embarressment that I bought something and its crap, being removed has lead me to give more constructive and insightful reviews.  Some of the items I've had I've not liked, they have negative reviews, and some of the items I've had have has positive reviews...

Yet the number of people who find my reviews helpful is destressingly bizarre.  It seems when I get a product people like they roughtly 50/50 agree with me, pharoh nuff, but when I, and a gaggle of others detest an item; and say so clearly with defined parameters, examples and use cases; our feedback is given negative responses.

The dental flosser seems to be such an article, when I wrote my review for it, it had no other feedback, I was one of the first fice commentators, I posted my one star negative review and went to bed, I got up next morning and there were four more one star negative reviews and a couple of two stars... all seemed right and everyone of those reviews tallied somewhat with my own experience.

Then I noted the rating of my review was marked as a negative review, not useful, and there was a five star review in its place.  This item had no reviews, hence no sales, just vine reviewers... a bunch of vine reviewers found the item bad, one found it good, but their review gets a positive feedback, whilst ours all get negative... "0 out of 1 people found this helpful" on mine... "1 out of 1 people found this helpful" on their strange "This is awesome" style review... I'm not disagreeing that that person found the item useful, and that their review has any less merit than mine or all the others...

But a detailed, insightful, presented review with use cases and my specific points of failure, along with the few redeeming features, is marked as not helpful?  Why?

That's what I want to know, I want feedback on my feedback.

But I also want some transparency on who is giving ths "useful" ratings, should vine reviewers be able to (as it appears in this case) mark other vine reviews as not helpful?  Should only people who have bought an item on Amazon be able to review that item... or if they're not a vine reviewer; or a reviewer whom has not had that item; be able to rate the feedback of others?

These are all questions I have, as a vine reviewer I now have page after page of reviews I've posted, of the feedback on those (24 points worth) only a measily 16 people have said my reviews were helpful.  When I didn't bother with Vine and just reviewed things I got a hold of I had a much more positive number of helpful feedback points... (the points mean nothing by the way).

Might some reviewers be beign biased?

Might some be in collusion with the makers of items for review?

Might some manufacturers be getting staff to find down rating reviews not helpful to promote those with positive reviews...

In the field of PR the Amazon rating system must be a nightmare for some brands.

Wednesday, 28 September 2011

PHP - Exec, PassThru & System calls

When you're working with PHP, hosted by Apache, if you are using the calls "exec", "passthru" or "system" to call into other applications you can miss changes in those apps, unless you change the PHP script before accessing the page again.

So, I have my browser pointed to my PHP page as "http://127.0.0.1/example.php" and in that PHP page script I have a call to "exec /usr/bin/myapplication" which is a program I've written in C++.

Now, if I change the application in C++ and recompile it, then refresh the browser I can fail to see any change, the Apache Server/PHP engine keeps the last version run cached.  Great for speeding up your server, but a pain in the bum when you're trying to debug that C++ application through the web-browser interface.

The best solution to making sure your changes to the C++ show up appears to be to simple put an edit into the PHP file and save it again.

Note; Not even copying the PHP file into /var/www again makes a difference, the file itself has to change, if only by adding a space and then removing it again.

This edit then makes the Apache/PHP engine drop the cached version of the C++ Application and run it from scratch.  This same problem must happen if you do anything to change any application you are calling with the above PHP commands.

Tuesday, 27 September 2011

Call Centres....

No wonder I can't understand them when they're in India, if this is the kind of voice coaching they're getting:

"B-U-T is pronounced as 'but', however P-U-T is pronounced 'poot', [like foot] not 'putt'," explains teacher Stephen Rosario, as he coaches the class in how to enunciate English words.


But and Put... are the same changing the constonant from B to P does not change the inflection of the ut.... But, Put, Hut all sound the same, even Foot sounds like Fut to me (a very native British English Speaker)...

Poot, a pooter is a womans privates for heaven sake!

Ignore this "Stephen Rosario" he clearly can't speak English himself, his name sounds Italian. Gah.

Monday, 26 September 2011

Scrolling Technology

So, taking a patient look back at all the graphics technology I have documented and on my reading list, I figured I needed to pick something worth reading that was going to further my actual work too.  So, I picked up looking at scrolling and 2D effect games.

You know what? I am amazed at how much knowledge seems to have been lost, I was looking at old games from ID (the makers of Doom & Quake), I also looked at a bunch of 2D scrolling games on my old Atari ST, and started to put together some simple testing code to do the same soft of effects in Java & C#.

But, I'm after hard information about how to do certain tasks, how to achieve certain effects, but the knowledge is lost.

So, I cry out to all those old programmers out there, all you 2D scrolling nuts, blog about the technology!  I'm going to be, but I have to reinvent your wheels first.

Thursday, 22 September 2011

Hardcore programmer...

How can you tell you've become a hardcore programmer?  Well, for me its when we're looking at wall paper for the bedroom, and I've put this on the list



Tuesday, 20 September 2011

Code Development Quality

I've stumbled into a habit of late, something I can't stop myself doing, which I've never really done before... I'm parallel processing... Since 1989 when I became more aware of the internal workings of my Atari St, and the way it did one thing at a time for me I've always worked the same way.  I used to write softwatre that way, picking up a component, designing, writing, testing and documenting it in sequence.

But, I found that as my software projets have gotten bigger and bigger I needed to be able to put parts of things together, slide in other parts and then go back to sew things together.  This started out small, but in a current personal project I'm working on its a sprawling documented seething group of about 110 classes (and counting).

Concurrently running through each module in turn, going back reading my notes and reviewing each, incrementing and incorporating innovation from one place through the body of the whole project.

Its turning into a bit of a quality kicker for me, my personal software projects are far more higher quality than the ones I'm writing for my employer, simply because my employer don't really seem to see the point of my spending four weeks to do a task which they think should take one.

I myself however am reaping the benefits.  My current software project is, unfortunately, about four months behind schedule and had a bit hiatus between June and July as I re-wrote vast swathes.  But things are quieter now, for example in one day (with the improved quality) I was able to replace a major components of the display systems and rendering threading in a day... it should have taken at least a week alone, just to get a coloured screen to display.  Instead, because of the quality of the underlying code I was able to get this feat of engineering done in less than 8 hours and had it integrated on my three test boxes for soak testing after 10.

The question is, how do I sell this contept to my bosses?

Thursday, 15 September 2011

Chineese Tesco..

I love when I get really really shit attempts at phishing scams.  Here's the one that just showed up... I love it, this Chineese accented Engrish really needs to be docrumented somewhere...


P.S. My mistakes are intentional...

Tuesday, 13 September 2011

EMF Head....

So, I just read this article http://www.bbc.co.uk/news/world-us-canada-14887428 and one could scoff at these people... but, I'm sure I'm one of them.

Not to the degree of moving house, but when mobile's first came out I could not stand to sleep in the same room with one, I used to get a headache every morning (if it were on).  And I had a Motorola phone which was just as bad, if I had it beside my bed when I slept I'd wake with an almost hung over feeling.

I now have a Nokia phone and I intentionally put it way over to the side of me, over two meters away, or I leave it to charge over 4 meters away, over night.

So there maybe something in this...

I'm not bothered by wireless networks, I don't think... but mobiles certainly have this running recurrent experience to me... I might do a blind test, get a sock or something, and ask the wife to put it under the pillow her side of the bed with, or without, the mobile in it... and see if I marry up a bad head with the phone being present...


Monday, 12 September 2011

Policing - Nottinghamshire



Over the last few months there has been plenty of coverage of the recent civil unrest and rioting here in England, plenty of pundits, speculators, commentators and nanny-say-do-weller's have been on their podiums spouting off.

Some have blamed the parents, some the lack of morals, some video games, some rap & hip-hop culture, some the simple bad economic situation and lack of jobs.

I myself could speculate plenty about the problems, I was born in St Anns and raised in Top Valley, two of the roughest, dirtiest, dangerous areas of Nottingham city.  When people think of Nottingham they think of guns and shootings, so much so that the city has recieved the monica "Shottingham" in the tabloid press.  What seens to be reported however is always the shock and outrage at the time, but little ever gets done to address the situations.

I have to say, I grew up in Top Valley in the 80's and by the 90's I was leaving further and further afield to University, but you could play on the streets in those days, you didn't (often) have kids snatched from the streets, or if you did it wasn't exposéd on the tabloid front pages.  It was a different time, but the place was the same, the families were the same, the kind of kids and up bringings were the same.

So, why some three generations on is the place such a shit hole?  And I have two view points as to why, firstly the lack of jobs.  When I was a kid you could hear of peoples relatives going and getting casual work.  In factories, in food processing, in road or building works.  Work was, if not plentiful, certainly undersubscribed.

They went on about the unemployment figures in the 80's, but I strongly believe in our area a lot of the unemployment figures were from people simply not declaring they had a few hours here and there to make ends meet.  They took their benefits and added extra's.

Now-a-days though, those self same people are simply taking the benefits, there is no way for them to even get those part time ad hoc jobs they once had, and certainly no hope of decent employment.  So they're constantly struggling, the pressure builds and you get what we had here the other week.

That's all part of it, and being economics its all very convoluted and confused, so many inputs and so many expectactions that this is as far as I'm going to go with it and I'm going to move onto my other point.

Policing.  The police.  In the 80's and 90's you never saw them walking the beat on Top Valley, just as you never really see them today, but you never got the amount of violent disorder and crime you have today.  The reason for this was two fold, firstly the police if they were called came down on whomever was causing the problems like a tonne of bricks.  They took the work of two or more witnesses and acted, either telling the supposed-guilty party to shut up and buck up, or they gave them a night in the cells.  It was an ever present threat which ever teenager in the area pretty much tried to avoid.

Yes there was still high spirits, yes some crime, and certainly crime from many passing through the area.  But the actual people who made up that community did for the large part conform for a better standard of living all round.

Today however, you call the police and they come to mediate.  You formally inform them of an infraction of the law, you spell out the actual laws someone has transgressed and you actually formally request that they take action... and they come to mediate... "oh that might inflame them, lets talk about this"...

What the fuck?

When I call the police, three times in a week, and have documented, diaried, recorded evidence of the situation at hand, when I am willing to testify, give statement and act to solve the problem, I want that active, reactive, policing approach from the 80's and 90's.  I want the copper to listen to me, to understand I'm not a fool and to act.

Certainly not as my puppet, but to definately listen to my input and respond, hell I'd like to see them say "you're fucking moaning about nothing", then at least I would get off my high horse.

But oh no, modern policing... its mamby-pamby ball-less soul-less crack pop mediatory bollocks, and I'm saying this from experience.

Officers are either very confrontational to you the affronted party and very placating to the guilty party, or they simply do not engage with you.  I've seen two different officers, both male, stand toe to toe staring down affronted parties (who were also male) and then being concilliatory and pacifying to guilty parties (who were female), its like the stab vests are holding in too much testosterone and they're trained to just pacify the women and to piss the men off.

And as such I'm not surprised that there were riots, I'm not surprised police stations were attacked.  If I operated the prime civil law enforcement infrastructure and I witnessed my organization being so easy to trample at the bread and butter front line policing interface with the public, like the police here are, then I'd be very scared to be running that organization even ashamed.

None of this is meant to mean that we need draconian policing, but some balls at least, some common sense from practical living, rather than namby-pamby self reassurance course invested pseudo science clap trap approaches.

Sunday, 4 September 2011

Writing your own Boot Loader

This blog post is a following of the excellent tutorial at http://mikeos.berlios.de/write-your-own-os.html by Mike Saunders.  My thanks to him for his permission to post this information and quote his original work.



Something I've been mooching over recently is writing my own assembly code, as part of my degree I did a tiny bit of 68000 assembly and before that I'd included assembly based interrupt driven Mouse controls into my Turbo C and Turbo Pascal programs but I had never actually sat down and understood Assembly on the x86 class processor.

So I have set about learning a little bit of assembly, using a text editor and nasm.  After getting the basics I asked the question 'What will I make?'.  Assembly is a really alien world, I'd seen listings of coding in it many times, all full of strange seemingly massively repetive commands like mov, add, dx, si and other scary looking nonsense; even as an experienced Software Engineer I had a certain amount of trepidation going through the topic at hand.

But, I soon realised I knew very little about how the BIOS in the machine picks itself up and starts the operating system.  Sure I knew how to install GRUB, how to format a drive to make it bootable and add a new master boot record, but I'd never actually looked at how the software picks itself up, how it "bootstraps"... A PC is often said to try to pick itself up by its own boot straps when you turn it on.

The first bit of software run sits in some hardware chips (ROMS), this primevil code's job is to call launch an application loaded from the first sector of a disk (the first sector is the master boot record - or MBR).  This application is the boot-strapper or boot-loader application, and you can write your own...

So I hit the inter-webs for some help and came across the MikeOS project, specifically the excellent introductory boot loader tutorial, and this is where I'm going to pick up the rest of my blog post, it struck me that as brilliant as that tutorial is it doesn't really hold ones hand through the process step by step.  So I'm going to try and help you write your own MikeOS inspired boot-loader with Ubuntu (or Kubuntu or Edbuntu or Debian) you can do this on your Windows machine too.

So, lets get started, first of all you'll need to download a whole bunch of software from the internet, you'll need the following:

Development System

Ubuntu 32bit Desktop Edition - I used v10.04 LTS - so anything newer will do: 


If you want to run this tutorial as I have, get yourself a spare PC from somewhere, burn the Ubuntu ISO to a CD and install your system.  If however you've not got a spare machine at hand, then you can read on anyway...

Next, you'll need VMWare Player.  Many tutorials on writing your own boot-loader use qemu, but I'm going with VMware player because you can get it for windows and linux... so perversely if you want to follow this tutorial on a windows machine you can run VMWare player inside your Windows installation, and let it run the Ubuntu 32bit system you downloaded in the first step!... neat.

You can get WMware Player from http://www.vmware.com/products/player/overview.html  (You will need to sign up to download the Player, but it is free).

So, go now and set yourself up, if you're really really stuck setting yourself up then drop me a line, we'll have a skype about what's going on.  But I'm going to assume you're tooled up, you've install your machine (or host a new virtual machine with VMware Player under windows) with Ubuntu and you're sat looking at its desktop.

Configure Ubuntu Tools (good for Debian, Kubuntu, Lubuntu etc).

Once your Ubuntu Install is up and running set it up to look however you wish, and open a terminal window (with either the CTRL+ALT+T key stroke, or by pressing ALT+F2 and typing xterm).  Inside your console window you will now need to install some software, namely the essential items to build software with and the assembler we'll be using; which is called nasm.

So, inside your Ubuntu terminal you will need to run the command:

sudo apt-get install build-essential nasm

This will install both the build essentials and the nasm assembler in one fell swoop.

We could now create some software but we'd have nowhere safe to run it...

VMware Player

This is where VMware player comes it, it'll let us create a virtual driev image (a floppy image) into which we'll put our boot laoder, without risking our real hard drives or wssting burning CD's all the time.

You will now need to install VMWare Player into your Ubuntu machine (if you are already hosting Ubuntu from Windows don't worry about this step, use the player from windows and copy the floppy image; mentioned in a moment; to windows to run the software we create).

To install the player simply open a terminal (or use the one you already have open) navigate to wherever you have downloaded the player bundle to and use the command:

sudo sh VMware-Player-3.1.4-855356-i386.bundle

(The last item there is the file name I've downloaded, by the time you come to read this tutorial you may have downloaded a different build of the product, so use whatever file name you have exactly in place of the one above: sudo sh <file name>).

Once this starts up to install you'll be back into the land of a GUI, so you can praise whatever god you believe in and use the mouse to set up the player software.

Once the player has installed on Ubuntu you'll be able to launch it from the terminal with the command "vmplayer" or you can launch it with a mouse click from the menu via "Applications->System Tools->VMware Player".

Go a head and start the player up, we need to use it before we can get coding.

Floppy Image

The first task we have is to find somewhere to put our boot-loader when we've built it.  We don't want to use our hard drive because we still wan to boot our machine as it is... and we don't want to keep burning and wasting CD-R's... we don't want to use a USB stick to boot because they work slightly differently to normal drives... so the option left to us is a floppy.

Now, not many of us have a real floppy drive any more, infact I'm sure some of you reading this will have never held a floppy disk in your life, but don't worry, because we're going all virtual.  We're going to get VMware Player to create us a blank floppy image.

With VMware Player open, click to create a new virtual machine, select to install the operating system later, and opt for a type of "Other" and select "MS-DOS" from the drop down... we're not going to actually let this virtual machine come into being, just advance through the screens until you get to the hardware selection screen, when you see the options to allow you to select "Customize Hardware" click that button and you'll be presented with the list of devices.



Inside the customization page you should see in the list of devices "Floppy", if you left click this item you will see several options, one of which is "Use a floppy image:".  Check that option and you'll now be able to get at a button called "Create"... you guessed it, hit create and save yourself a floppy image (FLP) file somewhere (confusingly the option is "open" on the dialog, so 'open' the image to save it).



Once you have the image just cancel the creation of the virtual machine, we don't want it at this time.

So, I now have a "blankfloppy.flp" file, which I've saved out... that image can be very useful so take a copy of it somewhere as a back up...

Code

Now, I'm going to give you the code of a whole simple, well commented, boot loader (derived from the boot-loader in MikeOS).  All this assembly does is specify the stack, define a constant string and output that string to the screen.  It then sits in an infinite loop.

; This is the assembly code for our Bootloader

BITS 16 ; Instruct the system this is 16 bit code

jmp start ; Jump to the start routine, short being never to return
nop ; No operations from here

; This is the entry point put nothing else above this, not even
; include statements
start:
mov ax, 07C0h ; Setup 4k stack space after this bootloader
add ax, 288 ; (4096+515) / 16 bytes per paragraph
cli ; Disable Interrupts
mov ss, ax
mov sp, 4096
sti ; Enable Interrupts

mov ax, 07C0h ; Set data segment to the load point of
mov ds, ax ; our application

call PrintWelcome ; Call the print welcome message routine
jmp .loopHere ; Jump to the loop here label

   .loopHere:
jmp .loopHere ; Jump to the loop here label
; this is now an infinite loop
; so all our system did was boot
; welcome us and sit spinning
; on this label


;------------------------------
; Constants
;------------------------------
c_WelcomeMessage db "HELLO AND Welcome to our OS", 0x0d, 0x0a, 0x00
;------------------------------


;----------------------------------------
; Routine to print the welcome message
; this is our only procedure in the
; application, so enjoy!
;----------------------------------------
PrintWelcome:
mov si, c_WelcomeMessage ; Move the string into si
call PrintString ; Call our routine to output til 0x00
ret ; Return to the call point
;----------------------------------------


;----------------------------------------
; Print string Routine
;    PrintString (SI)
;----------------------------------------
PrintString: ; Routine to output string in SI to the Screen
push ax ; Push the AX register to the stack
mov ah, 0Eh ; int 10h 'print char' function code

.repeat:
lodsb ; Get character from string
cmp al, 0x00 ; Compare the character with zero (0)
je .done ; if the character is zero then end of string
int 10h ; Otherwise call BIOS interupt 10 to print
jmp .repeat ; And now jump back up to the repeat label

.done:
pop ax ; Pop the copy of the AX register off the stack
ret ; Return the call stack back to the call point
;----------------------------------------



; Now we need to pad the remainder of the boot sector with 0s
times 510-($-$$) db 0 ; Times is a macro for nasm to repeat an action during
; compilation of the the application binary, in this
; case to add 510 lest the amount of data and code in
;the program to the output file

; Why 510, why not 512? A boot sector being 512 bytes?... well...
; to tell the BIOS this application, when written to the MBR, is
; a boot sector, we need to add two bytes to the end of the
; application, so we call define word with 0xaa and 0x55 now

dw 0xAA55 ; Standard PC boot Signature



You can download the complete code file from:


Read the code yourself to understand what its up to... that's the key to this tutorial, you have to apply yourself to understanding the assembly, everything else I hope you're having thought about, so you're free to look at that code in detail.

With this file in hand on disk open a terminal window once again and move to that folder, so for me its under my home directory in a folder called 'asm' in a file called '1.asm'.  To get to it and to build it with nasm I'm going to perform these commands:

CTRL+ALT+T To open the terminal window
cd /home/jonb/asm To move to my home folder's asm folder
nasm -f bin -o OS.bin 1.asm
To build as binary into a file called 'OS.bin' the 1.asm source

Everything should be fine, and you should now be able to list the directory (ls) and see 'OS.bin'.

Copying Boot Sector to Virtual Floppy

So, we now need to move that OS.bin into the blank floppy image (or a copy of the blank floppy image)... so first things first, I copy my blankfloppy.flp into the /home/jonb/asm folder.

And I perform this command:

dd status=noxfer conv=notrunc if=OS.bin of=blankfloppy.flp

This does a none-truncating move of the OS.bin into 'blankfloppy.flp' (so it's not blank anymore, its now got a boot loader installed), but the flp file stays at a size of 1.44MB and the first 512 bytes of the file is overwritten with the bin file.

Running our Code

Now we want to run our boot-loader, so lets jump back to VMware Player; if we now create a virtual machine of type "MS-DOS" with a tiny disk (0.1gb), we can select the floppy (under customize hardware), ensure it is connected on power up and browse to and select the 'blankfloppy.flp' file.

Running the virtual machine now, we should see the VMWare BIOS post, it attempt to start over a network boot, fail and then it use our floppy disk image as the boot point.

And you should see out "Welcome" message from the assembler as the only thing that comes out... that is our bootloader... we have literally control at the earliest moment possible of that virtual machine.

(You could run the floppy image in qemu too if you want - see the MikeOS tutorial - link at bottom).

(If you are hosting a Ubuntu Virtual Machine, simply copy the floppy image out of Ubuntu onto the harddrive of yoru Windows machine, launch a second copy of VMware Player and create your MS-DOS type virtual machine to boot with the floppy there, you just introduce a copy back to Windows each time you change the floppy image with the 'dd' command).

Video

They say that a picture speaks a thousand words, so for you lucky people I've create a series of videos documenting the highlights of this process.


Its best if you expand the videos, and view them in HD full screen.




Credits

The boot loader code, with the exception of a little tidying up and extra commenting is copyright Mike Saunders: http://mikeos.berlios.de/write-your-own-os.html and as per his website I publish this code here completely open source (under a BSD-like license) with the caveat that any usage of this code, either directly, or as part of your own work should always carry a reference to this blog post within.