Showing posts with label silly. Show all posts
Showing posts with label silly. Show all posts

Monday, 7 August 2023

Amber Valley Planning aren't very good

I think I've come to the conclusion Amber Valley Planning Department are either incompetents' or simply idiots.  Having had to interact with them myself and now in relation to a nearby development, they've demonstrated incompetance which can't easily be explained... Let me explain.

You see a development was proposed, ironically the owners only sought planning permission after the fact, fine whatever get on with it...

So the ground-works and building are complete?... Yes.

The official visited the site?... Yes, there was a woman with a clipboard.

Does the block plan represent the reality on the ground?... No, not even close.

Any school child with a ruler and pencil would be able to very quickly look at two reference points on the ground, extrapolate two lines then compare them to the building work which took place.  They don't match, not even close.

Further more the building work significantly changed the levels of the area in question.  This is not mentioned on the planning permission request at all.

And the newly raised area is several hundred tonnes being held back by concrete posts... No no structural engineering posts, we're talking 4 inch garden posts, with postcrete and concrete weather board.

In the July & August ran we've had they're already bowing ominously.

And I find these two points extremely curious, for you see we were the ire of this department having skimmed 2 inches of soil and spread road stone we had to account for a "Change of level"... yet someone else can dump several hundred weight and build up a new embankment to around 6 feel of altitude?

We presented drawing plans from overhead shots, real shots from Google Earth, showing the true scale and location; it being a photograph after all.  We had to go back and be exacting, that was the order "be exacting" in the block out diagram shown.... Yet someone else can be approximately six feet off level of reality in two axis?

When this goes over, and it is likely to, could it be a danger to life?  Yep.  Will the planning department comment?  Will they heck as like, they just tick their box and waltz off, it is almost criminal in this case.

Either the planning are incompetents', and I strongly suggest they explain their decision; oh but wait, one can not challenge them, only the applicant can appeal?!?
I must therefore air on the side of caution and suggest they're merely idiots, bureaucratic machination maniacs of the paid civil servant ilk just there to tick the boxes and dot the lowercase J's, since the service... Clearly the service is broken.

Want to know the major comment about the works carried out?  That they must ensure the hedge remain for at least 5 years.  This is a hedge in which (at least further up) I found bottles tangled in the roots with a date of 1914 on them, so this is already very much an older hedge... so a) 5 years makes no sense, b) you ignored they changed the level, c) the works do not match the plans provided - and I told you of this! and finally d) they're already subsiding, dangerously so!

Incompetence demonstrated, well done Amber Valley Planning Department, well done.


I am extremely glad my hard earned council tax money no-longer goes to them, indeed I've spoken to my local duty planner, they were highly available very interested in my requirements and helped me out immensely; Amber Valley, not so much.

Wednesday, 25 January 2023

No Rack, but definitely an IT mistake

I sat down to write this on Christmas Day, but things went wrong... so here it is a mere month late!

It has been twenty years, so I feel comfortable sharing this one with you.

Christmas Eve afternoon my landline began to ring and ring and ring, foolishly, rashly I answered to hear an unfamiliar accent telling me to explain to them the complete inner workings of an intranet web service.  No hello, no explanation who they were, just a desperate voice asking, nay demanding, this information....

It took me a few minutes to collect my thoughts and realise what they were talking about.  At the time I was contracting in short sharp sprints between projects for various folks, I'd actually written three different web based systems in the prior three months; so i was trying to figure out which of the recent ones it was..... Only to then hear the name of the company and realised this voice was asking about a project I had been contracted to write nine months prior.

It was a very long ways away in my memory.

Not only was my memory foggy but I had ensured everything asked for in the contract was documented,  all the work was carried out at their offices, on their own machine, I didn't even hold a copy of their system.

Above all it was Christmas Eve!!

I explained that not only was I not contracted to support the project (a sore spot, as I usually made as much money supporting a project as doing it at that time); but this project had actually been a bit of a squeeze, for it had been two weeks work and absolutely no more.

Long story short I'd been contracted by one chap, the manager, because his in house analyst was overwhelmed and unable to cope, so he'd had me to quickly deliver this project for them.  It was a simple view over data on a few pages, driven from a server that the analyst knew and who deployed it out for himself.

The manager and this analyst signed it all off as I went, and I documented the whole thing, critically including how to edit the pages... So they only needed to know a bit of HTML, JavaScript and CSS to change any part of it as they felt suited themselves... and I left.... Getting my money a month later and never hearing anything from them.

On a shoe string I thought I had delivered them a real bargain!  Not hearing anything for all that time had made me confident they were happy.

So what was this desperate emergency?

The colour!  The guy wanted to know how to change the colours in the cascading style sheet...

It is Christmas Eve!  And this £100k per year analyst is calling me to ask for a crash course in CSS!!!

To say I was not amused is perhaps the understatement of the decade!

I politely explained that I was available (at an extortionate price her hour) from December 28th onwards and then regular rate January 3rd onwards for contracting, but right now I was not available.  And all this was available through my then solo contractor company.

The reply?  To be honest he was quite rude, at which point the telephone was returned to its cradle and the TV remote rediscovered.

The trill ring carried on until I unplugged the phone... and my mobile started to ring, my inbox fill, and my patience ran wafer thin.

But I was simply not going to be talking to this guy, my opinion all these years later was that the guy was a paper suit, he sat there getting others to do all this work for him, not even delivering to his own manager and said manager was just accepting of this for some internal political reasons I could guess at, but which were lost on me at the time.

I decided however to be proactive, I wrote up a couple of paragraphs on my headed PDF, attached the original contract, attached a proposal for employing me from the 28th for 2x8 hour slots and then from the first week back in January for 5x8 hours as a starting point.  I put this all together, with an estimate and I sent it in triplicate.... To this analyst, to the manager and to the HR department at said company through whom I had worked for them.

I then had the most interesting email, which only reaffirmed my paper suit opinion of the guy.... For this email was from the manager saying "Why are you sending me this on Christmas Eve?"

And I replied "because your analyst <insert name here> is contacting me, phone off the hook on Christmas Eve to ask me about that work I did in March".

I heard nothing more.... Until the week following the week back, I was at another contract and my mobile rang... It was a very polite voice, the manager, he wanted me to come work for them.... because Mr Analyst had left his role.

I asked a few poignant questions; essentially the chap was earning an absolute fortune (for 2002) at nearly £136,000 a year and he did nearly nothing, nothing.... he'd sat on projects, say on code, couldn't script, couldn't program, couldn't even communicate properly.  Quite how he'd got into the role I will never know.

I however simply kindly declined, I was due to go to Egypt on Holiday so I did that rather then try and fix that guys mess.

Sunday, 1 August 2021

My Home Game Engine - Motion Decay (Physics) Bug

A few of you may have noted I've been writing my own graphics engine at home, this has fast become my own home game engine; which is more or less just a play ground for me play about with.

And over the weekend I've started to flesh out the physics engine, beginning with a physically reactive camera.  I want to make this thing tilt and shake and move like it's organic, not on the end of your keyboard or mouse.

The motif is going well.

I designed a head for many edge cases I expected, one of them being floating point in accuracy and so I built two things into the movement, first a dead-zone, so zero isn't the ONLY value which doesn't move the camera, instead an area of 0.0004 around the camera forms a null - don't move - zone for all my motion calculations.

And the second was the force of friction or wind resistance, this is just called "Decay" in my engine, you decay from moving to  no longer moving.  Because wind, water or surface friction are going to come into play at different times and from different directions on each object.

Anyway, do work out the motion which needs applying to any object I build a vector of motion actions, these themselves are stored in a set of efficient constexpr static arrays per object type; for not I have so few object types this is fine, it leads to faster code (one day, if I have more than ten moving object types I may need to revisit this.

Alas, this smartness immediately bit me in the arse... And I just spent nearly half an hour pawing over the wrong piece of code to figure out why when switching to an object known to be at rest (0, 0, 0) with no actions on it... it'd slowly jiggle backwards at a very slow rate.

I checked my maths, my direction vectors, my initialization of the actual speed of the object, everything checked out.  I made sure I was giving no inputs, so I wasn't landing in the accelerate or decelerate motion actions.

So I was properly confused, I took a moment and I re-read the code I'd done yesterday (oh the difference a day makes) and suddenly I realized I had two kinds of decay... if you're moving forward you slow down... and if you're moving backwards you also slow down... both heading to zero, or at least the 0.0004 null zone.

Other objects were not moving, just this one particular type... and having a quick squizz, sure enough the acceleration and deceleration decay were BOTH being applied, even at rest this object would jump to a speed and start to decay, this would then swing it below -0.0004 in the null zone and the deceleration decay would kick in... and the deceleration was MORE than the acceleration so then the object was trying to decelerate a little but more each third frame... zero to backwards to null zone to backwards to nullzone... on and on, tiny increments.

This was a flat out bug, the decay should have only been applied to make the object come to, but not beyond the nullzone.

However, I was still perplexed how the forward decay was being applied, sure enough it is, in the above call to "GetMotionActions" we can see it's both ForwardSpeedDecay and BackwardSpeedDecay are "valid" motion actions for objects receiving no input.

And they'd been doing this all the time, every frame... the specialty of this one particular object?  Just the numbers, the profile for motion, specifically the braking, was a larger number taking it beyond nullzone.  And this is multipled by delta time for the frame... all following frames are small, short, but the first frame?... or a frame after a break point... HUGE....

In short I made a bunch of mistakes, but I learned, and I enjoyed myself.  This is perhaps the key thing when trying something new.

I also have a healthy appreciation for just taking a physics engine off of the shelf having done some of this ground work - and I'm literally just playing.

Thursday, 4 February 2021

The most insidious file on Windows....

The most insidious file on Windows....

Microsoft.DataWarehouse.Interfaces.resources.dll?

This particular file lives in my 

D:\Program Files\WindowsApps\Microsoft.Office.Desktop.Excel_16050.11029.20108.0_x86__8wekyb3d8bbwe\Office16\ADDINS\PowerPivot Excel Add-in\sk

folder.... The key feature of that hideous path is that it's in my D drive... this is my second drive and you'd be right to ask why it has a windows installation on it?


Well, that's the drive that came with my laptop, and so it had the spyware, adware riddled carcas of a windows installation I never used, I just installed my own new NVMe drive and went with that.

This installation of windows has been taking up like 15GB or more of Space for over two years to it was time to nuke it.  The problem?  You can't just remove windows trusted installer files.

My way around this is to go into the properties, into advanced, set the owner user and god for that file to be me and remove the other windows junk user groups and such, and make sure everything is inherited down the line.... 

And I did this, removed windows, program files and windows and program data.... all except for this one file.

Which is totally insidious.

It won't disappear despite my being that very user/owner and even having used "runas" to launch explorer and cmd as myself for 100% certain.

The security settings can't be set....



It is literally moments like this where I hate that I can't fully control my operating system.

Sure, this is an edge case, who would really want to let windows delete something critical, but I've clearly worked around the issue, jumped through enough obscure hoops and set myself in the driving seat that the OS must know I'm up to something I know I'm doing... and I'm doing it with their UI, so not with some obscure script, so I'm clearly NOT a baddie.... sort of.

Yet, I can't delete a file, the file is actually zero length... it's just crud and evil.




Friday, 4 September 2020

Great Rack Mount Mistakes #7

Today's story in the annuls of problems in IT comes from a guest editor... Mr B.... And Mr B (no relation to anyone in other stories given monogram names) works as the sysadmin and developer for the whole set of systems with his employer; unfortunately this means "it's all his fault".

So what went wrong?  Well, over night the site had a power cut and though they have a nice server, they don't have a power back up, so that server went off.

The server is essentially a java host, specifically hosting Tomcat, and it reaches out to connect to a set of third party endpoints via a restful API.

You'd think no big deal, start up get running and keep running, except that third party don't force a disconnect upon a new edition of their interface API, if you're connected to version 1.0 then you can and they will happily leave you connected to version 1.0, even if they release interim updates, add new calls and quite what got Mr B today remove a call or two.

Your session ending, and then I presume all sessions of that old version, would free their server provisioning to de-allocate the old version.  But to force users to migrate upwards in the chain their published API (so think the end point here in whatever flavour you wish) declaration changes.  Such that you re-download it upon re-connection and that's your new flavour of the month API.

The problem?  It didn't work.

So Mr B had to set about debugging this on the fly, in a live environment, which was down.  And he went through the three stages of technological grief....

1) Denial:    "This is completely illogical, my code brings down their interface, which is the only thing we connect to, it must be right, they can't miss-match them, so this must be my side or the gods are against me".

2) Investigation:  "Read the logs, make a change, nothing seems to work, the gods are definitely snickering behind that cloud of steam now".

3) Realisation:   "If it's not me, and it's not the system here, it must be their side, the huge multi-billion international must have published their API spec with a mistake or miss-match.... click.... YOU FUCKERS!"

What was the actual problem?  Well, the third party published API was actually wrong, the downloaded specification still contained several calls which were removed, when the services Mr B had written came up they checked each end point and found several calls defined which did not respond and so his software, correctly, reported that the endpoint was offline.  They were, they didn't exist anymore.

His fix was to literally tell his stuff to ignore the multi-billion dollar international service providers API spec and to "download" a copy which he hosted locally, with his own edits to it.

Now, he's a tiny fish in a huge pond here, even if he reports this miss-match said multi-billion dollar international isn't going to hear him, and by the time he does they maybe several months down the line, and other folks may have spotted this problem.  He maybe listened to, but he essentially doubts his voice would be heard.

The problem of course being how to abate this issue in the future?  How to avoid this stress?  For at one point he did say "the company is done for", because literally everything was offline, all their services were down.... And of course everyone will blame the little guy doing all the IT, they won't think that the multi-billion behemoth entity could possibly publish a wonky API spec, most of those shouting at Mr B with mouths frothing wouldn't even know what he meant when he explained this to them...

The fact that he's identified this issue, resolved it, and everything is back up within two hours won't be remembered, the glass will remain half-empty, and so it'll only be remembered that on the 3rd September 2020 Mr B's IT suite went offline.

Thursday, 23 July 2020

Drop Ships Dilemma

I'd never heard of "drop shipping", to me it conjure soldiers in heavily armed space-shuttles being flung pell-mell at the surface of an enemy planet with the winds of plasma and fire burning all around them.
However, what it actually means; apparently; is that you've bought something - say a chair - off of a reputable site like Amazon, but you did so not from them but seller on their platform.

This seller then doesn't actually sell you anything, what they do is contact their own network of suppliers and they buy the item for you and get it shipped by that third party to you.  The drop ship being that third party, to whom you don't exist, they deliver to your address as though you and your address is the middleman you met on whatever selling platform you chose.

And apparently, this is legit on some selling platforms, Amazon, Ebay etc etc.  The former put some extra steps in there, such as if you have an issue that middleman has to accept the return and handle the shipping, but this is a nightmare, because you use something like Amazon or Ebay for the protection the service affords, the expectation of easy and care free returns.

The trouble being, this middle man is only there to cream a little commission.

So my issue was a chair, is a chair - this is still going on - which I ordered from Amazon on the 13th, I didn't even clock it wasn't via amazon themselves, this chair has a brand and a name and was set to be delivered on the 20th.

Which came and went no sign, also no tracking, when these drop shippers do their thing they can keep their cards close to their chest, Amazon just ask that they've dispatched when they say they have ditto for ebay.

Trouble was this middle-man tried to tell me that they had called and left me a voice mail, and I'd not gotten back to them... .except, I don't have a voice mail, don't like voice mails... so they lied.

During this discussion they then said (bare in mind this is the 21st, a day late and eight days since ordering, which said "dispatched") it'd not even been dispatched, indeed it wasn't expected into stock with them until the 27th.

Silence.... I want my chair, I want to know when it'll arrive.

I still don't actually know whether this is a drop shipper or a scam.

"We have another chair, I assure you it's better, more expensive which we can get to you tomorrow".

Now, just because something is more expensive does not make it better, and I spent time picking this chair out on Amazon, it has all the bells and whistles I want... four major features and a comfy shape.

This middle man is persisting to send me details of another chair, and "if you agree I'll send that next day delivery"... this seems like a scam to me, but I don't even get to choose because the information never arrived.

I never saw the info, so never okay-ed it, I never wanted anything except the item I ordered.

Just now, I'm in the kitchen and I hear the letter box flap, and a van drive away... there's been no knocking, no noise made, just a note through the door "left with neighbour".

Hate my neighbours, but go find out what this delivery was... turns out to be a chair... Not the chair I ordered.

A quite ugly square one... with two features I ordered missing, made of plastic not steel, and a manufacturing fault along the top cushion.

So I call this guy up, tell him "I was expected to wait for the item I ordered, I never got the info, never asked for this item, it's the wrong chair and missing features and made of the wrong material".

"This is a more expensive chair" he says.

It certainly doesn't look it, and even if it arrived with gold bullion stuffing the cushions I'd return it because it's not the chair I ordered.

This guy is getting on my nerves, and that's when I realize I've been drop shipped, this guy is in an office himself, this is "his business", but he's clearly at work doing something else, he's not a chair saleman, he's just acting as a middleman.

So back to the selling platform, Amazon... who... seem to be quite happy to let 48 hours pass until they will even talk to me, to give the guy time to reply to me...

I therefore am out of pocket, still without a chair, and frustrated by this whole mess.

I think Amazon need to make a very much more clear distinction between the items sold and delivered by them and items being drop shipped like this or worse.  "FROM AMAZON" in a big clear type.

There's even issues there, for instance I've seen resellers listing parts like say "Intel CPU's" and it'll be listed as "by Intel"... but it's not being sold by Intel at all, sure it's made by intel, but "John Doe Computer Tech in Driotwich" are the seller on Amazon, and really we need to be told that more clearly to avoid the kind of situation I'm now in.

Friday, 5 June 2020

Worst Idea in Development Ever

I'm casting back a long long way, over 15 years to be imprecise as I can, and talk about the worse idea in software development ever.... To perform a group code review once a week.

But before I can do that I need to talk about the good way to do this, code reviews should be non-intrusive for the majority of team members, they should be able to dip in and out, they should fit it into pieces of their day which are spare or otherwise dead time, and it should be use as a tool to not only review the code but introduce familiarity to other people's work & progress to everyone else.

So what was wrong 15 years ago?  Well, the important point about the good way of reviewing code was to actually be able to see the code.... When this new review process was introduced all those years ago... the code was on a machine, whilst we were all in a meeting room and the programmer stood up and verbally described the code to us.

Yes, verbally describing what took all WEEK to do, neither conveyed to us what was being done not shows us how, we were unable to help debug or sense check the logic, and it gave zero oversight into how the code was built, was it efficient for example (we'll come back to that topic in a moment).

And of course the planned one hour meeting was excruciating to be in... and only one developer got to speak in the first session.

There were 6 staff programmers and we were augmented with 6 contract programmers, the "lead" if you could call her that programmer went first... and her presentation was on the hardware to database connection.

It used a Marathon database, which I've just googled and humorously I can't find any references to that product.  And the "lead" had been using it at her prior role on Java based programming, here in C we were a little perplexed by her approach.

For she presented that from the high-speed buttons and lights on the hardware, which had to flash fast and had to be responsive to touch, she had written a system which took the impulses and inserted the values into a "Buttons" database table.  And then another on a loop which polled "SELECT * FROM LIGHTS;" and pushed the "on" or "off" states of the resulting list (from left to right) to the hardware.

Of course was immediately obvious to all but the lead, the manager and her office buddy, would not fly and the three different members of the team, all infinitely more familiar with the hardware and the C language than this lead, pointed out that it would be slow and unresponsive.   That we were on a single core machine so you couldn't just ignore that the database driver would wonder off and do it's own thing, as well as be constantly interrupted by the processing of our system, and the system itself was to be host to third party software which we could not ourselves fully control, so they might run with a tight loop starving our system and especially starving (what was then) a low priority database driver service.

All in all it sounded a REALLY bad idea.

But, she'd already done the work.  The manager had already signed off on her idea in a series of closed doors conferences with her, and her lone office buddy made it clear he was on side.

It was 3 staffers verses 3 "senior" staffers.

It was fact, this was going to happen.


Which brings us to an obvious fault in this "Code Review" no-one could actually get anything changed, we were really there to be told of the fabulous innovation from behind the green curtain.  We could not divert, advise nor simply appreciate the good, bad or ugly in this system.

So it was revision one (of twelve) was issued and immediately a real piece of content (a game) was played on the system... This game already worked on the old system we were replacing, so its behaviour was well established.  And immediately all the lights started to behave badly, they would he updating visually, we could see, from left to right... rather than all coming on together and going off together.

This was puzzling the micro-controller sending the light signals was a 32bit register, you just set the binary representation, and the micro almost immediately lit or extinguished the bulb... Why was it showing this left to right behaviour?

The three of us whom had descented said "are you going through that lights query as a list and applying it left to right?".... "No" came the reply, but she soon disappeared and came back with version 2.

Which STILL turned the lights on left to right, but subtly so, we could see it and the experienced play tested protested it was, but to the uninitiated it was just about passable.  So it went into test proper.

And they reported the same, but opposite feel to the buttons, that they lagged from right to left, and lag they did.

To her credit the "lead" didn't dismiss them and went to actually play the machine, yes she'd not played it until now... and immediately version 3 was issued.

Again, as with the lights, the lag was still there, the left hand most button was the most laggy, and that would make sense if there was a loop which was working through their being updated from right to left for the buttons and left to right for the lights.

But she insisted that there was no loop.

And we had no oversight on the code, even though we had "reviewed" it.

The next morning we walked into find her already present, version 4 had gone down to test.  The tester had put a different game on, which did a different series of light patterns and reported "It doesn't look right at all" (except he'd not been as polite) spurring the new version.

One of the more vocal of our group went to the manager and said "this going through a database is the madness, no matter what she's actually doing in the code, it can't be fast enough to feel like the old direct to hardware system, we need to remove this layer and just go direct".... but the manager didn't want to upset the "lead" so persisted with the database thing.

Release 5, 6 and 7 went down later that day, then about lunch a machine was hoisted up the fire escape stairs and into the office wheeled all the way and plonked next to the lead, she was to debug this properly.

Release 8, 9 ad 10 went only to this machine next to her and the tester was duly dragged up and into the room to sit, painfully, next to her explaining how it should plan and indeed he insisted the old system be wheeled up and plonked right next to the new borked on.

The two boxes side by side it was immediately obvious the new database driven system was really Really REALLY slow compared to the old one.

"It's the database" voices said.


"It's the loop" others called out.



"There is no loop, and the database is fast!" She persisted.


None of us from the C side bought this, and still could not see the code (code revision control is a topic for another day).

Finally, it was Friday, version 10 had remained for all of Thursday, but Friday came and something had to be done.  The engineer responsible for the board, the actual micro-controller was brought in, and he immediately ran his test routine on the board showing the lagging and we saw it being solid behave correctly and work, despite the lass having decried her board was faulty.

The hardware engineer had a view none of us got, he could see the code, he sat beside her and with us all gathered around he blinked, looked at each of us and then looked at the code, then turned to the "lead" and said "you know you can just sent the unsigned 32 bit integer directly to that register, all in one go?"

She looked at him and asked what he meant.

"Well if you want to turn it all on, send zero"... if you want to turn them all on send 4,294,967,295‬"

She blinked and looked at the code and then back at him, "I don't follow".

The hardware engineer looked at all our eager faces, three of us knew what was coming.


"Well, you don't need to loop through each boolean and bit shift them one at a time into your register sending them one at a time, you can still loop and bit shift them all in if you like, but you can sent the command once, set the lights to the value in the register once".


Three of us left the room, the manager looked dumbfounded and a little thunder struck, her office pal was notably quiet.

Version 11 came out about an hour later and the hardware engineer went to leave, popping his head into the office of the 3 of us on the C side... "Why wasn't this picked up in review?"




* Throughout you've seen me put "lead" in air quotes, this is intentional, the lass was not a lead, not as we'd describe today, she was just the loudest voice in the split office, she was furthest from the manager and had this knack of making you feel like she had ALWAYS been there and always been in charge.

I strongly believed she had been at the company for years when I started.

It wasn't until years later that I discovered she had only been in her role two weeks longer than me, two weeks in which she had moved from direct hardware peek & poke to via database.


* Version 12 : Yes you guessed it, version 12 was to remove the database from the hardware interactions completely, an abstract layer was built holding a representation of the hardware in memory and that representation was twiddled from the database side and it's representation imposed on the hardware by directly poking.

Thursday, 4 June 2020

When the Manager Went Fishing

A long time ago in a work group far away there was a bunch of problems coming up in a code base whilst the manager (who had written the very code we were debugging) was up to his knees in a Scottish stream on a salmon fishing holiday....

So yeah, the code didn't work, it was a statemachine implemented in a bunch of "if" statements a smattering of switch statements and flags which were not properly mutually exclusive... so it was a statemachine in name only really.

This particular piece of code was responsible for paying money out of a machine, and as such came under scrutiny when customers started to notice that it was either paying out more than expected or the players of the machine noticed it was paying far less than expected.  A double whammy.

This problem was looked at first by a chap in the team who didn't really get along with anyone else, and he asserted he had solved the problem... I wasn't his manager, but we accepted his word on the matter and issued a release.  This turned out to be the start of a series of problems, for with the focus on this problem the test department took it upon themselves to actually test this fault to within an inch of it's life, and of course they found the problem persisted.

The wheels then came off this development train.

For the technically senior person in the department didn't get on with the chap who had looked at this problem first, they did not get on at all... not one jot.

And I ended up sitting between these two as both a debugging sounding board but physical altercation deterrent, which it's a great place to stand between coworkers who really just needed to grow up.

The debugging progressed from the mess of code into a rewrite of one function, and this started with a large discussion around a 10 foot white board (I love working on a whiteboard).

We came up with the expected behaviour, worked out the inputs we knew and then how to get that expected output to physically happen, and did so.

It worked, it would have taken that one day.... The test department were happy with their results.

The problem?  All releases had to go through review and the binaries built and packaged by one specific person... The Manager... who was still scaring salmon with a pointed stick.

We had to get on the phone to him, do you know how patchy mobile reception is in the highlands?... No... Well, "VERY" is the best way to put it.  We managed to speak to him twice, but then had to get his permission at every step, "Do the work" it's done, "build the binary" it's built, "package the update" it's compressed, "create the release notary" it's written... 

All these calls back and forth to stitch together what should have been my simply putting the package on a flash stick and handing it to the test department (because they tested everything off of our network to be as real to our operating environment as possible).

It was a nightmare... An utter break down in co-worker communications between the other two chaps, the manager not releasing the reins of control*... The slow turn around of a build and messy nature of the codebase we had to edit... not to mention that the problem was subtle and caused by a miss-understanding between the true behaviour of a physical device compared to the expected virtual representation of it within the system's view.

There, that's what happens when the manager went fishing.





* In the hope of accruing himself come modicum of job security by appearing to be a key man.

Friday, 15 May 2020

Goodbye Childhood Confidence

My best game of charades got crapped on... This is a grudge, a very old grudge, for this happened when I was 8... Yeah, I don't let go easily.

It was a life lesson, which put the nail on my opinion from experience that as a child adults can be dumb and remain so outside of their own specific fields of interests, and will miss no opportunity to knock a child's confidence.

What was this about?  Well, it came after a string of little things where adults put me down, my mother would not accept that "ambulate" is a word... And before you start to say "why didn't you just google it and show her?... well, there was no google, this was the 1980's.  There wasn't even a dictionary in the house!

She'd also in correctly corrected my mental arithmetic on numerous occasions, which set me on the path of a life not trusting my own number skills for life.

TL;DR; I'd had a load of adults putting me down...

Anyway, the story.... I go to school this day, you know school; where all the teaching staff encourage learning and being clever like.... Well... No.

On this day, we were all given over to full charge of the schools one teaching assistant, because the teacher herself felt very ill, the teaching assistant, who I will call Mrs C, had no idea what to do with us so we played charades.

Each child was asked to think of a TV show they had watched the night before and to come up with a sign or gesture for it without speaking and we each had to guess the show.  Recall there were only 4 TV Channels at this time, and most of us played out right after school or our tea, so pickings were slim.

Eastenders was signed by one girl pointing east and clapping the drum motif.

Coronation Street was signed by a boy making out a crown on his head and walking about a bit.


Things dried up a bit, "The Bill" was two lads walking around slowly flicking their heels a bit, we all thought they meant a dance show.

Then after a lot of silence, and I was a shy child, I decided to give it a go with the last show I was allowed to watch.

I stood and I performed a wave to everyone, waving and blowing a kiss across the room, then bent down and stroked an imaginary dog at my heels... A pet dog.... A wave goodbye and a pet dog.... A goodbye and a pet... 



I thought this quite clever, I remember watching the men in the show in their bunk room, never really paid any mention to the plot nor story, it was something on the TV and I knew that the words were "goodbye" in German and "pet" was added to affect a geordie accent.

And the teaching assistant, clearly knew what I meant and rather than be encouraging, as she had been to the other kids, who worked in pairs or made only strange motions to intimate their thoughts she shat all over mine.

Like proper shat on me from a great height.  "Don't be ridiculous, how was anyone going to get that?"

Was it my fault you lot can't speak English, or work backwards from "petting something" to "pet" to.. Oh the only show on one of the 4 measly channels last night has the word Pet in it, even if you don't know the funny foreign words because you're 8 English and this is the era before the Berlin wall came down and Germany was a distant ignored memory from old war films and Grandad's recollections of their not liking it up them.

I've never let this go... Not even now.

Sunday, 12 May 2019

Development Job : Interview Questions?

I was asked a question a few hours ago, "how would you kill a named process"... This annoyed me on two levels, firstly, as I was put on the spot, but secondly I had already blogged about this exact problem just a few weeks ago...

The quiz master knew this, or rather they should have, given all the information they had about me, including this blog... So to ask tells me more about them, than my answering would tell them about me.

It tells me that they're working to a bare minimum investigative level, they're looking perhaps too much to their goal (which it to get answers they like) rather than checking anything produced before.

This would be a little like asking Sir John Geilgud, whilst interviewing for a country play.... "Have you done any acting?"

It frustrates me.

Saturday, 23 February 2019

Its all a question of metier

I've had one of those moments, taking the wife to a new hair dressers, I had to sit and after giving up the pile of decidedly feminine magazines as a bad job I used my phone to crib up on a problem I'm having setting Code Collaborator up properly.

The problem aside, it's just one of those things, I needed to read the info.

About fifteen minutes into my reading and with many female voices cackling merrily away their 11 o'clock comes in with her husband in tow.  He takes the seat with me and we do the usual nod of the head and tut at the flapping the girls are all doing cooing and fawning over one another.  It really is all a bit beyond me, some form of communication is taking place, but I'm not certain what kind.

Alas, five minutes after our perfunctory nod and his going through the self same magazines he strikes up a conversation "you reading something good?"

I reply, good naturedly and we're washed over with a wave of cackling.

"Computers eh?" he says it like it's some mystery force in the universe, "our lads into them, doing his A-Levels".

I listen again, "Yeah he wants to go into using them, looking at his degree options and he got into Nottingham".

So, I do the dutiful thing, I ask what degree... I'm expecting computing, programming, systems or something...mathematical maybe physics at an outside edge.

"He's going to do English Literature"

I don't really think about it, I just ask what's the link to computers then?

"Wants to work with them".

And I can't help it, but we're in this rabbit hole and I ask "How does he jump from English Literature to working with computers?"

The guy fumbles a little here, I think this maybe the first moment he's thought about the tenuousness of the connection from A-Levels in Sociology, English Lit and Physical Education, a degree in English Literature and the wish to work in Computers.  But he gathers himself in a flash.

"He uses a right good laptop for his home work".

Game over, good night vienna, sensible has left the building.

Our conversation peters out some at this moment and I just leave him to this thoughts as my wife's done, but I can't help think about the metier here.  Computing is a goal, or the lad enjoys playing games, but he's studying completely unrelated topics, with no seeming extra curricular things, and he'll no doubt be out trying to get any computer related job, I don't know what, maybe sweeping out server rooms.  But he'll be cheaper than a qualified person in a computer academic bent.


Sunday, 10 February 2019

The Lost Router

Its gone... Just gone.. Puft... Up and gone... I remember it in the box, I remember packing it... Puft, gone, where is it?... Have you seen it?....

LOST


LinkSys WRT AC1900

Responds with the SSID "XelNet"

Likes to sit on the side serving internet pages to the house and the occasional belly rub....


It's just lost.. I've come this weekend to sort out my network situation, so I've finally gotten an afer market ADSL modem to replace the BT Home Hub, I've got a powerline network adapter to carry network upstairs to the wired office (rather than running wires through ceilings just yet).

I've gotten the hub for the garage and the hub for the office sorted... And all the smaller ethernet cables all crimped to perfect length to stop wires trailing all over under my desk and behind the TV.

But, then I go to find my router and it's just missing... I remember boxing it back in it's own box on moving day, I remember doing that.... I remember it distinctly.

I think it went into my car, not the wifes... My car is now clearly empty, I emptied it... So I've been through EVERY box in the garage three times, been through the loft twice, I've been through every nook and cranny I can find...

My thoughts are that maybe, perhaps, it's at the in-laws house, I've asked them to look and they just said "no"... But I think it's there by their PC and they don't realize the box which looks like theirs is mine.

So frustrating!


--------

Update, the wife came with to go through EVERY box in the garage with me... Guess what... No, no... She didn't come up smug (I knew you'd think she would)... The thing is still LOST... GONE LOST VANEEEEEEEESHED.... Gah.

I think I have to go look at the in-laws.

Monday, 8 October 2018

Good Riddance Google+

When I was forced (through my YouTube account) to create an interlinked Google+ account I was not best pleased.  And I posted as such on the pages there, then never returned to them.  As a social media platform it was flawed and ran into the "Google being evil" motif far too strongly.

Anyway, I look through BBC News just now and find this....

The fact Google knew about the issue in March and didn't disclose it... Well it's pretty much just the dregs.


Wednesday, 3 October 2018

I don't really go in for political commentary, unfortunately what's caught my eye is about a bunch of folks at Uni whom are members of the Conservative club... Whatever, there you go... That's not the problem, nor is the fact that they've seemingly gone in for body art...

No the point I want to make is... There's one female in the picture... She's allowed them, or they've just, drawn messages on her bosom... She seems non-plus about this....

But look over her shoulder... There's a chap in glasses... Just staring at the back of her head, it needs captioning... "hmm, you smell nice"... "mine, my precious"... It really does... I'm more worried about that than the seeming racism in the shot.


And it's an utter disgrace the chap right right in the glasses making the "ok" sign... He's got a Windows symbol on his shirt... Where's the Penguin?  Bloody Racist!

Wednesday, 2 May 2018

The Best and the Worst : Working with Genius Programmers

A long time ago, in an office far away from where I now sit, I once worked with a chap I still refer to as the best programmer I've ever met.
This was a guy who could take the whole code base, in Delphi, home and over a single weekend re-write it in Java.

This was a guy who I saw, from scratch, write a C controller for an embedded PIC to capture an image from a supposedly incompatible TTL driven camera and then an analyzer for the captured images which would detect and show motion, making for our common employer their best ever selling product a cheap security motion detection system, which didn't rely on relatively expensive high resolution cameras.

It was awe inspiring as a newly graduated programmer, whom had a huge background in DOS programming, but whom had never worked in Enterprise level development before.

I sat next to what I still regard as near genius.

This very same chap was also the worst programmer I've ever worked with.

Because he was so highly functioning he never needed to document his code, fine I hear you cry, good code should be self documenting; and you're absolutely right; the problem?  This guy also got bored so so quickly, so he used to tell himself stories in his code.

Yes, Robert Jordon eat your heart out, this guy wrote epic fantasy on a grand scale, across hundreds of thousands of lines of code, in Delphi, C, C++, Java and even in HTML which I saw him churn out, it was all a gobbledygook puddle of story telling rambling mess.

But the code worked, the managers didn't care that it was gibberish; at least not at first; because they could churn out product to the anticipating masses of customers.

Such a prolific talent, he had so many fingers in so many pies, he was invaluable, key man, the man, the one person every project started with.

The result?  Every single code base he touched was tainted with this un-maintainable morass of code.  Which an ever increasing march of cheap graduate programmers, like my then self, had to then decipher, maintain and coral.

Often the time it took to bring a project into some semblance of order would be three or four times more than it took that one original chap to write, this did not go unnoticed and managers rightly pointed their fingers to ask the question "How could you not keep up?"

I however was the first such junior person with a voice, I've always had a voice, and I pointed right back "How could you let us get into this mess?"

I dated to question, sweep, and change the code, I dared to spend time even just aligning the code correctly.  No JetBrains formatting (or resharping) tools, very few tools existed to cover the whole pantheon of mess we were now wrestling to stay a head of.

Daring to question, change, read and challenge the talented one resulted in his changing his ways, he returned to some of the projects I had lead re-working, he saw the structure and the discipline within he saw that you could quickly pick up and get to work without needing to load all the software into ones wetware in a laborious re-read.

This skill, this willingness, to press the boundaries is somewhere I've oft and continue to take projects, and I do ask those I throw code at to feedback to me where they think anything needs reviewing.

I deplore any project or maintainer whom takes the grounding that they must keep things secret and keep things safe.

Drop, the epic fantasy, you're not Gollem, share, review and open the boundaries.