Showing posts with label stories. Show all posts
Showing posts with label stories. Show all posts

Monday, 4 March 2024

Tech Tribulations #2: There's a New System in Town

Time for another story from my tech history, this time I point my torch of memory at one of the first larger systems I worked on from start to finish (nearly 10 years).

I think I can say the product name of this particular system, it was called Phoenix and it wasn't a bad idea, to be honest, as with nearly every project I've ever worked on we needed more documentation and design; those to continuously neglected facets of software engineering.  But other than that, the initial design stood up.

Before we dive into that though, we need to understand the reason Phoenix was thrown onto a whiteboard and born.  What was the direct predecessor?

Yes, there was one, this is not a bluesky thinking system, Phoenix was to directly replace a system which had itself been engineered over the prior two years and not really lived up to expectations.

I shan't name that system, but anyone who knows me and knows Phoenix may know the code name it was given.  It was a hybrid of two languages a C wrapper around the physical hardware bound with JNI to a java core, which itself used the ODBC driver to talk to a Marathon database backend.

The idea being that the transactional nature of the database allowed for the representation of perfect state, and in any error it was simply a case of rolling the transaction off and so we had RORI behaviour in a very complex system.

The problem?

It was SSSSLLLLOOOOWWWWWW.

The host machine was (and I think I'm right here) a Pentium II class machine (it may have been a Pentium III later) with 16MB of RAM (and I believe it went up to 64MB by the end).  Am I talking about early 2005 here, we were working with legacy machines in the field which were being refitted from a system itself all written in C but not well understood.

This new modular java, database, transactional system was envisioned to be the future!

The problem?  Still it was SLLOOOOOOWWWWWW......

I've said that twice now, so for effect lets skip forward to about 2006, two years in and this database java monstrosity is not doing well, it doesn't perform well, the team has literally stopped even trying to work in agile scrum manner; the lead developer didn't take well to critique amongst other issues (like it's slow, have I said that three times now?)

Happily however there were two separate development machines, the one on the old old system and a whole other on the java junk.  So it was in the C group I was called into a meeting with my manager, the manager of the whole department.

He had a punch bag doll in front of a whiteboard and asked me to close the door.  Furtively expecting my P45 (to be fired) he asked me to take a look at the board... he had asked two other engineers to take a look through the day, so he was canvassing for opinion.

In the dry wipe ink was a block diagram, eight boxes, a hardware module to talk to hardware, a module to account, a module to host the menu, a module to talk to the content program, and so on, one for logging, one for sending reports back to HQ... These simple systems.

Each would talk to one another with a message passing mechanism, which was a line from each of these eight boxes.  Little did I know then that this message passing system would be the biggest part of my debugging life for the next ten years; that however is another story.

Right there and then this new system seemed like a much better proposition.

The manager liked the feedback from the various folks he had to talk to, and it was decided upon.  He would work on the platform, starting up the system, securing it with a manifest and preventing unauthorized execution of random code and content.

I would be working on the main attract module, this is the main menu from which content is categorized, and launched.

The content would talk to the Game Interface module, which was owned by a guy called Darren.

The accounting module was handled by the previous lead on the java system, and later a guy called Conrad.  Conrad at first though would be doing some other systems.

And there was a smattering of other work, like a logger module, and a build stack and al-sorts.

Work began, but not before the lead on the then current system had to be told her baby was being canned.  She and her main ally were duly summoned, shown the block diagram and where they would be working.  She did not take it well.

As she left the managers office, he was heard to exclaim and his stapler threw across the space and nailed a window barrier, sticking into it with a vibrating twang.

She loved her system, she did not like Phoenix, not least as it's name was a direct reference to something rising from the ashes, her system being declared to have self-combusted in failure.

Monday, 26 February 2024

Tech Tribulations #1 : Smartcard Release Drama

It has been a very long time since a story time, so I thought I'd go over one about a software system I wrote from the ground up to secure the service to a machine; so I worked for a company which sold a whole machine to the customer (or leased them) while ever the buyer had the machines they would run.

In late 2014 the higher management realized this was an untapped revenue stream, and much to the annoyance of the customers, it was decided that a system update would go out; which the customer had to take to get any new content; and in this update they would have to also have a smart card reader installed and a card inserted which would count down time until it ran out.

Metering essentially, but "metering" had a whole other meaning for this system already, so it was just called the "Smartcard" system.

Really it was a subsystem, bolted into the main runtime as a thread check, which would wake at intervals, query if there was a card reader on the USB at all, check it was the exact brand of card reader (because we wanted to limit the customer just being able to put any in, they had to buy our pack).

And then it would query the card and deduce credit/count down if we were beyond a day.

We tried a bunch of time spans, hours, minutes etc, but deducting was decided to be after we accumulated 24 hours of on time, every 5 minutes an encrypted file on the disk would be marked, after 24 hours worth of accumulations the deduct would happen.

We tested this for months, absolutely months and to be honest we thought it was really robust.

Until it actually went into the customers hands, we suddenly had a slew of calls and returns, folks unhappy that they were inserting the card, "testing their machines" and suddenly all the credit was gone, and they were asking for a new card all the time.

At first we could simply not explain this anomaly, we had the written information about the service calls, replicated what the folks were saying, it all checked out fine, we got our increments, we could inspect the encrypted file and see we were accumulating normally and deducting normally.

I worked on this for days on end, we had to test for real, we did all sorts of things, power drop tests, pulling the card tests, all sorts.

The machine checked out, end of.

What had we missed?  What are the customers doing?  Testing the machine, okay, what are they testing?  The content, how does the content work for this update?  Well, seems that the customers didn't trust their testers or engineers, so what was happening was instead of testing for real they were doing what we called "Open door testing".

You see, when you close the door you accumulate and deduct, the machine is in operation normally as any user their end would have it operate....

Door open mode however, was intended to be used by service engineers, when the machine was deployed; so it is still in operation, the machine is in the field, but the door is briefly open to check things.

But these customers didn't trust their engineers in their warehouse, so they were not giving them credit to check the machine properly, they therefore tested in open mode... for days....

They accumulated massive operation debt with the machines in door open mode for days.

The moment they turned them off, happy they were working, and shipped them to sites they'd arrive on side immediately be turned on finally after so long in proper door closed operation and they'd instantly deduct the massive debt the warehouse team has accrued.

This was intentional.... But their use of the door open mode was an abuse, and one we had not even thought about.  We didn't even clock how long a machine sat in door open or door closed mode, worse still when in door open mode and test things on the machine ran at an accelerated update rate, we ticked over 10x faster to allow faster testing... The result was in just 3 days of warehouse door open mode testing they could accrue 30 days of operational debt.

That was a fault, one I could tackle with the team.  But changing the user habit of leaving the door open was harder...

We had to work with the user, and their patterns, we suspended the system for a short while and issued a new update, but the first customer taste of this "pay as you go" approach was a sour one.

Then things got bad....

Yes, you might think they were already bad, but they got worse.

A month later, all the above was resolved, and we thought things were settling down... Until we suddenly all hell broke loose.

EVERY MACHINE WAS LOCKED.

There were dozens of reports of their just not working, they had done their daily reboot and all of them reported a security fail on the smartcard....

All hands on deck, are our machines in the test pool doing the same?  Nope.

Is there something special going on?  Have clocks changed, is it a leap year, has the sky fallen on Chicken Little?

We honestly had no idea, there was no repeat in any of our test pool, no repeat on our personal engineering rigs, there was essentially no reason for this failure.

The only answer in such a situation is to observe or return one of the machines exhibiting the problem.

A lorry was sent and a machine brought back, under the explicit instruction not to open it nor change it, and the customer was not to keep their smartcard (it was theirs, but we would credit them a whole new card for the inconvenience).

Several hours spent staring at the code, and running checks by lowering cards so they would expire, or pulling the reader out and inserting it again we had no answer.

Before that arrives back with us however lets just think about the "smartcards" we used in our daily lives; our bank cards, they go into a machine we enter our pin and we remove them again.  Then how about cards like your gas meter, or you go see your GP, they have a card you insert into a machine and it stays there all the time to validate they are the GP, or they keep your meter in operation, if you have Sky TV and a viewing card; same thing, it is always in the device.

These machines are the latter kind.... Those cards are rated to have power on to them for long periods of time, as a consequence they cost more money than a card you only insert transiently...

And this company I worked for had very canny buyers, too canny.  Because they spotted a smartcard which used the same protocol... but was significantly less money to buy!

The difference?  You guessed it, it was the transient use variant.

The broken machine arrived, we powered it on, fail.  We open the door, remove the smartcard and sure enough on the rear of the plastic behind the chip the plastic is brown, burned.

The card can not be electrically trusted!

We highlight this and send it back to the buying department, they fouled up, they changed the hardware after we certified it, essentially sending an uncertified machine out.

A huge issue ensued about this, as this wasn't well understood that we had been provided and advised one card type into the update set, but of course the buyers would not accept it wasn't the same until we literally had the specifications of the card side by side we could see a digit difference in the part number and looked up the datasheet where clearly it said that the transient card was only rated to remain in a machine for 10 minutes.  More than enough for an ATM.  But a "security gating" card, as we wanted, they are rated to be inserted continually for 36 months.

Tuesday, 8 May 2018

V.E. Day

Seventy Three years ago, I know roughly where and what all four of my grand parents were doing... All were variously occupied fighting as part of the British effort of World War Two, I do not know whether they were aware of the cease fire or impending Victory in Europe, and indeed for one of my Grandfathers the war was not over; as he was aboard HMS Belfast, just refitting for redeployment to the far east and the on going war with the desperate but crumbling Empire of Japan.

In this post, I'll cover what little I know, to share that nugget of who these people where and what they were doing.  So from oldest to youngest.

We have my Nan, or Nanna, Kath.  She was a young woman by the end of the war, from a child at the out break, a hard beginning in life in the care system with both parents gone by wars end she was in the Land Army working the fields of Norfolk, though a native of London.  She was born in the shadow of Portobello Road, and to this day (despite living in Nottingham for over 60 years) has no qualms telling me I have a "funny accent".


As we sit on the evening of this sweltering Bank Holiday Monday, she sits in the Queens Medical Center, perhaps in the last ebb of her life.  Though she told me long ago she's not herself (suffering advanced dementia) and would rather still be plugging around in those fields even if the farmers wife was an utter bitch [her words, not mine].

This Nan, now the oldest of all of my forbares is the only one still alive, so with a ting of sadness, but always pride we turn to my other Nan.

Mabel, a professional nurse, with a specialty in Mental Health care, at the outbreak of war she soon took to serving the airfields of her native Norfolk (yes, how ironic both my grand mothers pull on the county of Norfolk, yet I've never ever been - at least not in my memory - maybe as a very young child).

As the war progressed the USAF called upon support from British medical services for the large number of airmen being injured in the 18th Airforce's Daylight bombing campaign.  Mabel was one of the few nurses directly greeting Liberator and Flying Fortress aircraft as they landed.

One particularly vivid recollection she shared was with meeting a Liberator crew and checking on the tail gunner, seeing him with his arm raised smiling nothing ill was thought.  Yet the pilot reported the young man could not be contacted.  Upon approaching more closely a line of cannon fire was obvious along the twin boom tail, splitting the emergency access open two airmen began to bundle the young gunner from his position, except he was not well, his smile was his last act, he had given his life and as they brought him forward they needed two stretchers for this young man, who's upper half now lay peaceful in the long grass his eyes piercing the very sky above.

V.E. Day saw Mabel still tending the wounded, from the daylight bombing campaign still being waged by the 8th Air Force.

More happily Mabel however had met my Grandfather George, whom had married her by special license and never let himself be parted from her all their lives, but he was at the outbreak of the war already a professional soldier, though not at Dunkirk, he was stationed in Scotland.  Famously he was the sergeant of the guard whom was in charge of Rudolf Hess when he deigned to fly to Scotland.

He had been on the 6th June 1944 on the Normandy beaches, as he had exchanged his army stripes for Royal Marine stripes and was a member of the Royal Marines Commandos, he recalled looking back after reaching the top of a French street and having lost half his men.

1945 saw him on the Western bank of the Rhein, near the first crossing of British Forces (the Black Watch carried the Union flag across the wide waters of the river) whilst the Commando's carried the Union Jack.

Finally, the movements of Les my last Grandfather, and the first to pass away, his movements can be quite clearly tagged for a large stretch of the war as he was in the Navy and only on one ship.  However, he started the war as a boy just entering his teenage years, his brothers went off into the Infantry, whilst he had to settle with the Home Guard.  And in 1939 and 1940 he was part of a crew manning a Z battery, a rocket anti-aircraft position, near Wilford in Nottingham.

Frustrated with "being left at home" however, in 1942 at fifteen (and I belief after "borrowing" details from his brother Bill's credentials, he enlisted in the Navy (unable to join the Army as Bill himself was already serving there, and the subterfuge required he join a different branch).

Basic training complete he was assigned to the company of HMS Belfast, just in time for her recommissioning; having his a magnetic mine and received a broken back the Belfast returned to the war (arguably) as Britain's most powerful cruiser.  And she remains with us today, the only large gun ship from the Royal Navy preserved for the Nation.

Indeed, he was witness to the Battle of the North Cape, about which he recalled "the Parson coming around to hand out hunks of boiled white fish and tea, the best tasting Christmas dinner after being stood in the arctic air, waiting all night for the flash of massive German guns".

He was also aboard the ship on D-Day, with the Belfast leading off the shelling on their section of the coast.  With one grandfather struggling up the beaches, another was literally off short lobbing covering fire to him; which amazes me.  However, it was not without threat on board ship, as he recalled 88mm shells fired at the ship from the French coast, with one passing clean through the forward funnel, from which he received a laceration to the forearm and one of the ships cooks lost their lives (though, my recollection maybe wrong, and this event may have taken place in 1943 in the Med verses the Italian Navy and therefore likely not an 88mm, but the cook did loose his life).

From this posting he also traveled the world, and as the war in Europe faded he had little respite as the Belfast was refitting and reconditioning, in order to sail and join the fight against the crumbling Empire of Japan, and by August 1945 he was in Sydney, Australia.


The Navy had set his skills base down as a ships electrician, however his home guard training did not go unnoticed, and he was actually a loader for a "pom-pom" gun.  This was on the left cheek of the then bridge structure - if you visit the ship today this area has been remodeled, but if ask a guide about the WW2 configuration of the ship they can explain where this battle station was.

But as a AA-gunner he did not relish the idea of facing down Japanese Kamikaze pilots, this however was to be his role, until the VJ Day.

There you go, there's a lot more detail I could add to this, if you're interested let me know in the comments below.




----

Addendum:  I have never set foot on my Granddads ship, it maybe too much for me.

Tuesday, 13 March 2018

Great Rack Mount Mistakes #6

A long time coming, here's another story from my days long past, this one takes me to my very first serious role in an IT department, I was however just the dogs body.  The company ran many old PC's (which I actually was around to see mostly be updated to nice Compaq Pentium III's) and they had a couple of high spec Silicon Graphics workstations in the design department.

The main manufacturing control and purchasing system, as well as payroll and a bunch of other services ran on a dual 386 based mini computer, which had a custom cut of ScoUnix and a bunch of bespoke C programs comprising the actual system stack, this was accessed by a whole host or Gandalf multiplexers combining the serial connections down from a hundred or so Wyse brand terminals (I wish I'd have nabbed one of those before I left).

Anyway, it was time for this back end stack to be updated, and so a pair of Compaq Proliant servers were brought in, these were dual Pentium III class with a dedicated storage unit and a large; and importantly heavy; UPS unit.


The problem?  The IT manager I worked for (Hi Dave) didn't get on at all well with the manager at the co-location this unit was to be installed in.  Therefore in a dual effort to maintain any vestige of control and avoid the guy he didn't like, my boss ordered all the equipment to be delivered to our office... In central Nottinghamshire.... Yet its final destination once configured was to be outside Peterlee in the North East, near Newcastle.

So after around a day of setting up the equipment and (as far as I recall) three days solid compiling time - yes it took that long - the system was ready to go.

However, no-one had kept the boxes, yes it was all out of the box spread on a floor and then hand hauled over to a fire-exit and precariously piled into the back of a Hyundai estate.

Yes, that's how tens of thousands upon thousands of pounds worth of top notch equipment (for 1998) made it's precarious way 120 miles, bouncing and jostling all the way.

At the time I never questioned this, I was a lowly minion, I would of course council against such a move ever again, the installation of the physical equipment should have been done at the remote site, and they definitely should have kept the boxes and packaging in full!

Monday, 4 December 2017

Great Rack Mount Mistakes #5

It has been a while since I've brought to you the tales of woe from my past... But this one isn't a tale of woe for myself, it was some other poor bugger who had to suffer, though I was involved.

After my first in-depth IT related job, I got into looking after some big systems, and I mean so Big they could have starred Tom Hanks... The last one of which ended, officially in early 2001, this was my looking after an IBM AS400 machine.

It had several terminals hooked into it, many suited analysts (as the non-programmers were called) regally sipped coffee and generated reports from it, there were also several ASCII Serial wireless hand-held terminals for roaming about the site with, all pretty cool.  I however was not involved in any of this, my job was to look after the PC's on the site and keep the AS400 fed with back-up tapes.

One of the PC's however took me within a solar breath of the chorona of glory that was working with the BIG IRON, and this was a little IBM PC, running OS/2 which was used actually boot the AS400, the mechanism escapes me, the details I've long forgotten, I remember it using OS/2, a terminal and a fancy script.

As I said this role ended for me in 2001, and I whisked my way off to work for a little software shop in Alcester, Warwickshhire (where I know I was a lazy pain in the arse - sorry about that lads - I grew up later, honest!).  Anyway, 23rd December 2001, I had a call at my parents home, a chap asking for me by name.  They handed out my personal mobile (Rocking the Nokia 3310 on Genie Mobile).

Well, this guy didn't let up, Christmas Eve, I'm mid-way through watching the Muppet Christmas Carol for the fifth time that day, and I finally look at the phone, and the seventeen texts to call the head-office of my prior employer.

Which I do, and awake a security guard whom had less hold of English than my dog, and the dog's Greek...

After a mixed conversation, I got through to a chap who was clearly in a server room, you could hear the noise behind him, I love that noise.

As he's talking to me however, the noise disappeared, dead silent...

"Did you just leave the server room?"

His reply.. "No, it just shuts off, it never completes its boot".

He was talking about the AS400, of which I knew nothing, they had very expensive IBM support for it on the way, but they were very worried, and wanted me to take a look, as everything had to be up for the Boxing Day sales - this was my time not in a manufacturing world, but in a retail world - the pressure was real, the target was live.

On the offer of a very nice cash sum, I jumped in my 206 and drove down to the offices, waved through security I signed in, and took a look around my old stomping ground, things had changed since I was last there, the partitioning wall to the server room had been removed, where the analysts sat was now occupied by a modern style series of server rack positions, they were in the process of moving everything to a set of Dell Power Edge 2U servers, with A/C, a hot isle and a cold, some decent kit.

Turning around there was the great big AS400, jet black, with a rectangular base rounded at one end.  And the machine perched on this raised platform.



This was the machine which would not booting... The problem?

Well, that paritioning wall, which had been removed... "How did you remove this wall?"

"Oh" he said "we had them put plastic sheets double lined from the ceiling to floor, took down the stud walling, and clean up, we never had to turn the AS400 off"

"Fabulous" I noted his pride "so the silver racks which were here, the shelving with parts and the little PC sat about here"  I intimated the corner just below waist height.

"All that was removed, with the wall, just old junk parts and pieces"

"Okay" I look around "So where did you remove it all to?"

"A skip" he shrugged "About three months ago"


"Aha" I nodded "I know your problem, the AS400 is coming up into advisory mode and awaiting the start signals from the script host, I'm going to guess you don't run AS400 elsewhere, you're winding down to the new servers?"


"Yeah" he was quite flustered "I know nothing about this hunk of junk, I just need it to work"

"Then you need to find a PC running OS/2 before morning, and restore from one of the back-ups I used to take onto tape, if you can"

He went whiter than my best linen on wash day... "OS2 PC?  Why?"

"Because the machine which sat here, was the boot master for the main shell into the Analysts layer, it sat here" indicating the wall again "whoever unplugged and threw it in a skip should really have looked a the holistic picture, it was a very important little machine, which is why we had two of them and spare parts on those shelves, and why it also got backed up to tape when it was installed or updates performed on it"

Silence filled the gap.

"I'll take that cash and get back to my Christmas pudding".




Tuesday, 28 November 2017

CMake rather than Mammoth makefile marathons

I'm having difficulty communicating with some folks about the beauty of cmake and using ccmake to leverage that beauty.

These are folks whom are either completely ignorant of what a makefile should look like, are happy to manage their own or at worst case are folks put off of makefiles by having inherited projects which have spiralled out of control with mammoth makefiles and a propensity to being so complex as to prevent any cost-effective entry grade for new developers to key into - i.e. they're too hard to learn, or obfuscated sufficiently to allow established developers to retain their positions of glory and power.

I don't subscribe to that ethos however, and believe that as a leader in development you should facilitate everyone to be being able to do everyone else's development role, be that starting a new project or continuing an old.

It perhaps comes from my being able to work alone and defining a role which others are then keyed into, I have been forced to allow entry to my work, to make the cost of someone else bootstrapping my work into their wetware (brain) as simple as possible.

Mammoth makefile marathons are not the way for me to do that, a CMakeLists.txt file, now that's a better proposition.  However, even here you have to take care, some folks are ignorant of the tools available, to leverage cmake in this way one might use this kind of command line...


This is daunting for a newbie, and even an experienced developer has to admit...

ccmake <PATH_TO_CMAKELISTS>

This is a much more succinct and easy to access way of getting into your CMake way of working, the cost of entry being so low as to actually make introducing new developers to Linux development, or just general CMake usage, trivial.

So where am I failing to communicate this?

Well, cmake, ccmake... The naming conventions of both are so close as to confuse people, they don't hear the second C in CCmake, or they think I'm talking about the C Programming language.  This is a lack of understanding on their part, people being people however, they don't want to admit they've no idea what you're talking about.

(As an aside, folks, if you want to be a good developer, a good person, please admit when you don't know something, it causes so much less issues in at development scrum time if you are handed work, and you simply state "I know nothing about that".  Someone else can be assigned the role, or better still, you can get training and schedule the work more effectively!)

My solution to this difficulty therefore?

Rename the programs, I've created two symbolic links in /usr/bin....

sudo ln -s /usr/local/cmake/bin/ccmake /usr/bin/makefile_prep_gui
sudo ln -s /usr/local/cmake/bin/cmake /usr/bin/makefile_prep_cmd

I've essentially bamboozled the communication factor by giving cmake the working name "makefile_prep", this means that those opposed to ceasing direct use of makefiles still feel empowered, but are subtly diverted to using an automated tool.

Immediately questions and opposite to changing the status quo has ceased, and folks are talking about using the new "makefile_prep" tools.... How clean they are, how nice the builds look, how they integrate with CLion easily, and "the output from my makefile_prep looks exactly like the build going on inside the IDE (CLion)"... Little do they realise they're both cmake!

Oiling the cogs of resistance to change, this is where I'm living at present... Its not an easy task, but sometimes it's rewarding.... Now to do the same in the day-office.

Friday, 17 November 2017

Waking Up With My Dog

Someone was cold, this is where they perched...


Ain't he the cutest....

Monday, 6 November 2017

World of Warcraft - Classic

Its happened, the announcement with not quite enough information, but it did happen and the WoW orientated internet has slightly melted over it, everyone and their dog on YouTube have posted opinion pieces on whether this "in development" service will fullfil their desires.  I have no opinion in that, instead I'm going to talk about my Warcraft Experience...

I first met the world that is Warcraft with "Warcraft II", which I remember my brother and I bought whilst on a trip into Nottingham, we bought it from GAME on Lister Gate, and talked about it incessantly as our parents made us trudge around Marks & Spencers, rather then rush home to play immediately.

We played this on our Intel 80486-SX2-50Mhz, with 4MB of RAM and a 128K S8 video card - VGA baby!

I don't remember finishing the game, I have to be honest, I don't remember it that much... However, I still have the game, the exact box we bought is proudly on the shelf, and has been visible behind me in most of my YouTube videos.  And in 2000 I returned to play the game in full, as I had played AOE2 to death, was vastly disappointed with C&C3 Tiberium Sun and so wanted to return to Azeroth.

Fast forward to the release of WoW, and a friend (Hi Paul) came to stay for the weekend, and he brought this game with him... And I walked under the trees of Elwynn Forest for the first time, killing pigs with his level 6 Dwarf Paladin... And I loved it.

The moment he went home on that Sunday evening, I went to the Asda superstore in Long Eaton and I bought the game, the original game, with the first edition of the manual... Many years later I threw this away, when I moved house, I still kick myself for that, and remember distinctly looking at it all in the bottom of the empty dustbin...

But at that moment this was brand new, and I set up my account and went to it... I didn't understand my friend would be on a completely different server to me, so I just allowed the game to pick any server it liked.  I wanted to play and adventure in the game, so I picked the what I thought of as the "single player" option... PVE.  I did not understand what an MMORPG was.

Into PVE I stepped, Allience, Human, Warrior... And there I was, I remember I played three evenings around Northshire Abbey alone... Just three evenings, about 2-3 hours, maybe 6 hours played total, just to finish the Northshire Abbey quests and then I was sent by this NPC to "Goldshire"...

There were no loading screens, I thought I had moved from one zone to another when I left Northshire, I saw the section of map discover, and I thought this is huge - whilst only looking at Elwynn on the map.... And then I right clicked..... And the map stepped out... These slabs of undiscovered map... Darkshire to the south, Westwall to the West, Lakeshire... OMG this is a continent.

And then I right clicked again.... Two continents, two whole continents... I was a very small cog in a very large world.

The the server crashed, this was a three-four days after release.

When everything came back up, I set about questing, and I overwhelmingly remember it taking so long, like a week into my experience I was wearing all white gear from quests, and was eyeing up an Axe - purchased from an NPC - for 10 silver.  Which was a hell of a lot of money.

I remember playing with a friend who had rolled a Paladin, when he sat down to drink, I sat down to drink, I didn't understand what drinking did, I didn't read the tool tips, I was so naive.

A week further on, and my hours sunk into the game expanded and expanded, I was sleeping less and playing more, I used to drive home from work at 12noon, play 30 minutes, not eat, then drive back to work... Where I would leave the second it ticked past time, to get home and play again.

I soon had more friends in the game with me, and I helped form a guild... "Arx"... Named for the Latin word for fortification or castle.  I designed the natty guild tabbard in dark royal blue, a white tower on the chest and suitably lush borders... And we started to level.

I hit 40, and thanks to my side-line of mining - selling stacks of copper bars for 10 silver in general or by mail - as I didn't know where the auction house was - I'd not been to Ironforge (the only place there was an Auction house at launch!), but I hit 40 dirty poor...

I set about that evening going further afield, I travelled to Stormwind and then through to Ironforge, and I found more and more quests, I found the auction house, and saw I could sell the copper stacks I had for 35 silver each, 50 silver as bars... So I did, and made money for my mount so much more quickly.  Back to Eastvale I went to train and buy, a brown mare whom I always referred to as "Nelly".

And I travelled the world, meeting new people... It happened in the swamps outside Theramore, I met a night-elf.  The first I'd ever seen, she was a hunter, level 32 ish, and running... I was mounted, I didn't know any different, this was a female character... I spoke to her, and she spoke to me, we quested together... She joined my guild... THANK GOD she actually was a women... (Hi Sue).

I fancied the pants off of this woman, and rightly so, I saw a picture a while later (grrr baby, grr), I made the mistake of that same assumption before... Not so much fancying, but wondering... "Is that actually a dude?".... (Hi Nick, aka Eve - lol - yes we wondered for a long time mate, before you joined vent!).

The trouble then started really, you see I was a warrior, and the guild main tank, and I was struggling and pushing myself to level and gear up... The first little niggle was my co-guild leader (Hi Chaplain) was also a warrior, so there was a little trouble there that what I had, he had, what he needed, I needed.  This was solved later as he rerolled to a rogue, but we're talking very early vanilla, and having two warriors was a pain.

We also vastly lacked casters, we had a lovely priest (Hi NW), but he would never come into vent, or certainly never spoke, making it hard to dungeon - however, he was a world class top notch priest.  We had the lovely Sue as her Hunter, a Paladin (aka Nick), Chaplain in his Warrior or Rogue.  And then a rotation of different team members, we had a Druid (Hi Hlaalu), we had a warlock (whos name I forget) and that was about it... For a long time.

A friend from work rolled a Dwarf paladin I think, and he got very very drunk and that caused a fraction between WoW in my down time and my work life, so he left the server to play elsewhere.  We then had a few other paladins come and go, and then another female warrior - but she often wondered off to play Horde... True Blue represent, we ain't dealing with no half-Hordies here.

Mage and Warlock were always missing from our group, and it showed.

But we did get Strat and Scholo on farm, meager progress, but we had it on farm, we could go there over and over.  The next chapter of drama was about to burst all over me, a few of the folks in the team were not really grasping the idea of progress, about gearing up, some folks would go spend two or three hours skinning or picking herbs then go sell them, or skill up, and wonder why they were still taking a load of damage - inspect, because you're still wearing level 40 gear, you're level 58.

Another person took an aeon to get from level 57 to 60, and when they finally did break the level cap, they were too busy farming gold for an epic tiger mount... To be frank it all got slightly derailed, but I had pretty nice gear, and kept increasing it by going PVP Battleground farming... Knight Captain, thank you very much, gave me boots and leggings and some other bits to augment my gear, sadly though I lost the plot here, I fell out with Sue... I fell out with a bunch of other folks, and basically kicked them out of the guild.

Chaplain and I re-rolled new characters, I think Nick did too, and we later swapped to a PVP server.

I never enjoyed another Warrior like that first one ever again, I never met as good a healer as I had in NW the priest again, and PVP started to take over.... I rolled my own Hunter, and outdid Sue's progress - basically as she'd moaned she couldn't gear up, I got a full tier 1 (as it was then) including the cap and bow of bones form dark-master gandling, and the chest piece form General Drakkish, I had the full set... Just to point out - spend your time and you get what you want... And I did this before she'd progressed further.

I'll be honest, it was petty, but I fancied her, it was all I had to brag about - look at my gear - eyebrows waggle - I look back on that boy and laugh now, but that doesn't mean I don't miss that kind of playing, and as you can see from this text, I still know so much about the game at that time.

I miss being the sort of thotbott for the guild, literally, anything vanilla and Alliance, and I could pretty much answer on the spot.  I had learned the game.

As BC dawned I ventured as my hunter into the new lands, and I enjoyed them, but I also started my favourite of all my characters, a female human mage... Yeah rocking the female toon now... and I went full fire, never frost, I levelled for 1 to 70 in about four weeks full fire, in every dungeon I could get to, and I got into the level 70 PVP world, especially in AV and WSG.

I also re-rolled a new Hunter, a female one, which I also levelled quickly to 70, and I played DPS classes, no more tanking from me, though I did have a level 70 warrior for the good-old times.

I was mid-way through the vast and complex attunements in BC when Wrath was announced, yes I was not a progress attainer in BC, I just enjoyed it, thoroughly.

I never high-end raid in BC, I tried sun-well a little before Wrath came out, but I said to myself I would try to Raid in Wrath.

It never happened, I took my mage, blasted through the PVE to get to 80 and went dungeons and collecting my marks, and just went full on PVP.  I had a lovely full set of Gladiator gear, when it was very hard to get that.

However, I hated arena, I hated the starting of the crossing of realms, I hated that everything felt the same.  I loved the game, and still progressed my hunter to 80, and then started a druid - who strangely got a full set of tier gear raiding Black-temple as a level 70, but I never level capped everything.

I did Gruuls lair with a guild I had joined, fell out of love with the game, and stopped playing long before Wrath's era was over.

Since then, I have played on Nostalrius, but I missed my team, I missed the feel of my original server.

I fear that many of us have rosy tinted glasses when it comes to Vanilla, what I miss is the server, the knowing everyone, the need to know everything and travel, the RPG aspects.  And I can't help but think today players want instant gratification, they are not going to await for travelling to get somewhere, they are NOT going to want to plan their hearthstone and flight routes for optimum action in a quest hub, they want to point, click and win.

Will Classic servers work?  Perhaps, will they be Vanilla servers?  No.  That time has passed into legend.

Monday, 7 August 2017

Life Tip...

Top tip... If you run a business... And print people invoices... Learn to count... Tip ends.

This story is to be continued....

Monday, 5 June 2017

Black border.... KitKat

What have Nestle done?... I see on the packet it says "Now with more Milk & Cocoa", but the chocolate is bitter, catches the back of your throat, and it's not as nice or mellow as it used to be.... What have they done?

It's the end of an era...

The end of KitKat, I doubt I'll ever eat one again...


Friday, 2 June 2017

Tech Job Interviews... Derp

I'm not saying who for, and I'm not saying what for, but over the last three months I've been on a little spree within the jobs market for my kind of career, I've been through phone interviews, technical tests and face to face meetings.

And I've noted a pattern in how things to, they go one of three basic ways...

The first is that the interviewer likes how I hold myself, how I present myself, but they've read nothing about me.  Now this is a large blog, I've written a book, and I publish quite a lot of information about how I work and what I do... To not read this is tantamount to negligence, either on the part of the interviewer or the recruitment folks putting you through for a role.

When I find myself in this situation however it lends itself to my favour, as I can answer questions posed to me, and beware that as thorough as the opposite party aimed to present themselves they've already demonstrated to me that I have to tick the boxes in their filter live, so to speak.

The next is that they've read the information about me but then they don't like me, either how I come across in person, or just some trivial problem like a technical tests; more about those in a moment.  Finding myself in this situation can be tough, for instance having a near four hour interview experience, face to face, meeting not one, not two but three lots of people and being invited to tour the work space, you'd be forgiven for thinking "I think I'm in here"... Just to be told "no" later (yes this actually happened, because I told a chap I don't like TDD, and he frothed at the mouth a little).

The final is where the interviewer has no interest in you as a human being, you have to tick the right boxes, and that's it.  I've had this twice recently, out of very many tests and interviews, one verbally and one via a written form.  Many years ago I graduated, and I walked as a new (one of the first in the UK actually) graduates with a pure software engineering degree... This essentially means I use a computer as a tool, to communicate, to process or gather information, whether I leverage that with C++, Python, Word or just as a paper weight makes no odds to me, so long as the task is done effectively, in a maintainable, secure and under-budget manner.  However, I walked into a room with five other people and was handed an A-Level maths paper... I sat there looking around the dingy room, looked at the paper's title and just got up and left.

This final situation is perhaps the hardest to explain, unless you've been there, you are you, you are a value you are an idea, you are a font of experience and the culmination of your life to date, you are not completing an A-Level maths paper, you are not writing a bit of data processing, you are certainly not some online multi-choice quiz.

But doing these menial tasks proves to someone that you know what you're doing... Apparently?  In the latter case it's almost as though the online quizzed expect you not to just google an answer... I myself would much rather just state "don't know"... but above that I'd rather NOT perform such odd tasks.

If I were to hire staff today, I'd sit down and talk to them, the CV is the main filter, do they have any skills I desire?  Do they have any insight or experience which is of use?  Talk to them.

Then, once I'm happy at the personal level I'd not ask them to perform some monkey tricks, I'd just hand them production code, or a snippet there of... "Comment on this", openly, freely.... The spelling, the layout, the coding approach, any bugs, any suggestions.  But I would not do this without knowing who they are, and never without myself being there, being a personal touch.

I don't know, maybe it's the vogue of today, maybe it's a never ending spiral, but it appears to me that slowly we are divorcing ourselves from one another, online.  This maybe something important to note, the most successful online communities, or sites, involve interacting with one another, take facebook or snapchat as examples, you don't get in there at the ground floor by asking impersonal questions in a static box.  You get the young, the scared, the ones willing to please answering those questions.  The rebels, the technologists like me, we tear up the rule book, we're here to innovate, not tell you where a non-mutable variable is attemptedly being assigned to in a subroutine to make you feel better.

Monday, 24 April 2017

Tech Office: Talking Dress Code

Lets put this clearly, I don't believe in a set dress code (as in defining what anyone can wear) in technology, I've seen anecdotal evidence of the history of IBM where they insist on suits and sock garters and alsorts of things, I've seen companies demand you wear a suit - indeed I used to work in Formalwear production and had to wear a suit - I like suits, however, I don't believe they have a place in the everyday development office.

If you're seeing customers, if you're "forward facing" then sure, dress up.  But smart casual is enough for me, what is "Smart Casual"?

Jeans, sure.  Shirt, sure.  T-Shirt if it's plain, sure.  What's not... Well, how about a 30 year old sagging woolen jumper?  Please no, just no.

What about a bright orange flair neck shirt which has its top three buttons missing and is worn by a hairy chested 1970's throw back?  Please god no.

What about shoes?  Well, I wear a nice pair of Rockport leather shoes, they're functional, comfortable, ageing but decent looking... Trainers, I have no objection to trainers, sandles... No... No sandles.

Shorts?... Please No, just no.

Combat trousers, I'm find with them, so long as you're not putting ammo in the pockets, oh and they're a plain colour.

Then you come to the more sticky points, its kind of the dress code, and sure medical considerations aside, how do you smell?  I've worked with people, not directly in my team, who stink.  Bodily, as though they don't wash, but also as though they've been dipped in something... Chemicals, paints, cigarettes, bad breath, BO... It's just not acceptable, it's not polite, when you're working elbow to elbow or if you smell so bad people give you a wide birth, or close their mouth as they come past your desk, beware you will be asked to spray.

That said, what do you spray?  Please god, nothing totally stinking...

Sunday, 26 March 2017

People : Again Who is Robert Yates?

I asked before who Robert Yates was, because I don't know, I still don't know... He's linking to my blog in some way, but I don't know who he is... And now, rather puzzlingly the post I made asking who he was, it keeps coming up as one of my top 10 viewed daily posts... 100+ people a day want to know like me, who Robert Yates is?

Someone suggested to me that this was a little like the character Robert Paulson in Fight Club... He had no name until named...


Wednesday, 14 December 2016

IT Sexism : What is Modern Development (for a Woman)?

Recently, I was challenged, almost to a fault, to enthuse myself about "modern development"... The quiz master expected me to extol about the virtues of distributed code verses centralised, to effervesce about sprints, about round tabling, about all these other buzz words and cockeyed concepts.

I simple asked the quiz master, quite what they meant by "modern development" ...

So surprised were they that they broke through a little bit of their shell and just talked to me, it was a refreshing change, moving away from methods and procedure, we talked about the system itself, avoiding even the language they were working in.

It soon became apparent we both worked from the same hymn sheet, just perhaps mine is an older copy... For you see, to me a good development job, doesn't necessarily sit with the work at hand, it sits with how you are allowed to approach that work, if you are just bombarded with red-tape and requirements and  micromanagement, then the person micromanaging you may as well just do the job on their own; and I have worked as the poor soul doing the work in just such a situation.  And it soon became clear this was the problem with the team this person was controlling.

It appeared they had gone through personality, philosophy and finally technical clashes, to the point that the four developers on the team didn't do much more than talk to one another about computers and draw their cheque each month.

The manager was doing all the work, not because she wanted to, not because she was female and they pushed it onto her, but because she had set high standards and promised delivery, but was getting no input from those below her.

In a paradoxical, and pretty toxic, situation, she was enabled to hire one more head, but not able to fire the useless four... She had ideas I might be that fifth chair, not a thought I relished as the conversation expanded into the actual problems she faced.

Now I've run into dysfunctional teams, but I know in the end the work either gets done or you all get fired, sometimes both.  But to sit and provocatively do nothing in the manner these folks did was tantamount to embezzlement, when I was introduced to them, they just sniffed and looked at me; I was egging myself onto ask them technical questions, but I was whisked into a private meeting room where this sad talk unfolds from.

After twenty minutes lamenting the problems I asked "What do you use as a way to leverage the work, what is that pedal you press to put on the pressure or get results?"...

She looked at me rather blankly, almost as though I were a magician showing a dog a card trick, as her eyes blinked she started to reel of a bunch of methods... Waterfall this and sprint that, and engagement in progress... yadda yadda yadda....

I put my hand palm up and asked again "not what procedures, what do you physically do?"

She didn't do anything, she sat in her office away from them all day and did code.  She never got out her chair and challenged them, she never spoke to then, she never pushed them in person... "Why not?"

And I was flabbergast to hear an intelligent, clearly able, mid twenty something, graduate and clearly decent programmer trying to manage a team say to me... "Because I'm a woman, they don't listen".

She was serious too!  Going on to explain that when she started she worked for a chap about my age, and they listened to him, she was one of them, but took a lot of ribbing, she moved into the supervisory role, still in the same room as them without issue, then was appointed to manage this new project when the other chap left... And that's where the problem started.

I wasn't sure whether it was green eyed envy at her progressing above them, or just because she had boobs, but whatever the reason I thought it extremely uncomfortable.  I saw her wanting, desperately to have a puppet in a more senior position to the team, to invoke her will upon them, and wanted myself (clearly 10 years older than them, and twenty something years her senior in age) just as a sort of enforcer and inquisition.

And I thought, her idea was "modern development", lots of buzz words and concepts, she had lost the "just talk to people" vibe.  Sadly because she was being intimidated, perhaps even sexually harassed... That, was the sad state, I found modern development in... Sickening and not a place I wanted to involve myself.