Tuesday, 5 May 2020

File Catalogue

I need to write myself a piece of software to catalogue all my files and mark/reduce duplication and then store them forwards onto my back up medium.  For you see, I have a back up routine, unfortunately since 2016, I've updated this three times... And changed the disks in one of them once, this means I have four copies of my back up.

Not bad, but also not storage efficient, and I want to reduce this to two, one on site disconnected and one off site disconnected, with a buffering server in my office for fast retrieval.

To do this, I first need to know what I have.

And I have a lot of files, at least 14TB in the office alone, split between the 500GB mirror ZFS pool, the file server itself and my local drives, upon which I reckon there's at least these 3 or 4 multiple copies of everything.

There was also an old machine which had 500GB of storage for family photo's, but I've already migrated that to cloud storage.

So we're purely talking about files I have, project files, videos clips, edits and lots of code.

Now, my original plan, when putting the new PC together was to migrate a single copy to the dual 4TB drives I bought, and from there split between the new local file server and one remove cold storage server.

However, I never got around to this, I started, but didn't finish.... and in the ensuing half year I've of course used some of that 8TB of spare space for things further exacerbating the task a head of me.

NEW plan therefore, write a cataloging software tool, to parse everything, get me a checksum and hash of the file contents so I can uniquely identify each file, boil all that down into one copy on one of the 4TB drives... And over spill if I absolutely have to onto the other.

Then, spew this backup blob onto the external storage, I'm thinking of using the garage file servers I have and an Amazon AWS instance or some other cloud solution, that'll be a mammoth upload, but crucially I have time to identify the location over the next day or so whilst I write the cataloging software.

The next step will be to keep only the active projects and use the file catalogue, even expanding it with metadata, to make the remote stuff easy to parse.  One tool I'm already thinking of adding is a cpp source tree parser, to give me the namespace, class/struct names and include file pattern for any cpp file it finds, and build a DOT file graph of the header includes from a project so I can see what it is without retrieving the files themselves.

This makes it a complicated task, and it's compounded by the sheer number of files and diversity of projects and tech tinkering I've undertaken and generally left to languish as I've ran out of time or simply moved onto other things.

This whole effort is to move my code bases towards completing tasks on my own terms, my own project, my own way, and in my own time, but finishing them, because at the moment at work I'm not in that kind of control and I miss it, I miss being in control of the projects I'm working on... Hey ho, on-wards and upwards and all that.

Sunday, 3 May 2020

It Finally Happened... Dead CPU

It's happened, happened in annoyingly mundane circumstances, but happened nonetheless... I've killed a CPU.

The first CPU I've ever ever killed, and I've toyed with and worked with CPU's since about 1994, juggling them and building systems, basically as soon as I was introduced to modular PC's at college I was playing about with them fitting parts and drives and replacing things in the great beige boxes.

So what was I doing to finally kill a CPU?

Well, before I explain, let us just lament the chip, it was my Core 2 Quad Q6600, a chip I paid release week prices for, which served me throughout my time playing Eve-Online and World of Warcraft, the chip on which so many gaming marathons in Day of Defeat was carried out and the first chip I really played about with understanding the out of order execution of the new Pentium architecture Intel had foisted upon us (and which I'd tried to ignore for many moons).

Late July 2006 it arrived, I installed a then whopping 1GB of RAM into it and Windows 98 was stuck on it until November when it received Windows Vista, and it worked a charm, equipped with a further 3GB of RAM to a total of 4GB.  Two GTX 8800 graphics cards in SLi it was a beast in it's day.

It led a long and fruitful life in gaming and productivity for me, and so last night 2nd May 2020, a full fourteen years of service later it has gone to silicon heaven.

How did it die?  Right, well, I've been setting up a CCTV system, the neighbours continue to be a source of perturbation for us.  So I had the Q6600 set up in a case with 4GB of RAM streaming to YouTube, however it ran so hot, like a really really hot.  So the plan was to take it out that cramped case, put it into a Bitfenix case with a large 775 cooler.

I get it on the bench, test boot, all fine, remove the ssd and stow it and get to work, all the power out and off, all the cables out the way, unscrew and lift the mobo out, I get my test bench PSU and test boot to the BIOS, all fine.  But I can hear a loud noise, like a whine... I figure it's the power supply, so swap to another power supply, and still hear the same noise... Ohhhhh... what the heck is that?

I reduce to the minimum RAM, and boot... Nothing, what happens is the fan spins a moment then off.... Spins, then off... Spins then off... Oh oh...

I changed the RAM, so change it back... same thing. spin, stop, spin stop... No post.

This whine is getting louder each time I turn on....

I have no idea what it is, I'm suspecting a capacitor or coin whine, I'm suspecting the power supply, not the board.

So, I remove the cooler, and swap a different socket 775 chip into the socket, boots to bios fine, no problem.... Oh oh.... I'm suspecting the CPU is bad.

A visual inspection, it looks fine... I trust the Q6600....

I put it back in, power on again and the whine reappears but instantly goes away, and I smell burning.

Power all off, pull the chip... and sure enough one of the underside surface mount components has gone, I can see its blistered and bubbled up... That CPU is dead, at least to me.

I have no idea what's cause this, I suspect it was age combined with being in this constrictive case and getting so very very hot.

I've decided to retire all my core 2 based machines, I have (well had) three... The Q6600, a X5472 and the wall mounted PC.... The wall mounted project is a little difficult to directly change, I may continue as it is, but the rest of them are to go, they're running too hot and too inefficiently, a now old sandybridge chip will be far more energy and performance efficient.



Wednesday, 26 February 2020

Corvid 19: Chronovirus Bemusing Me

I'm a bit bemused by this whole Chronovirus affair, the amount of news time it's receiving and the amount of public awareness is brilliant; if not itself curtailing the inevitable spread of the virus itself.

For people to be aware is great.

In Nottingham it's not stopped my observing at least five people randomly spitting in the street today... but hey ho.

What bemuses me though is the news worthiness of this Corvid 19 virus, there are far more common and more deadly diseases and disorders out there, that are not receiving their due attention.

Lets assume the numbers given today on the BBC are correct, 78159 cases, of which 2717 deaths arose.  That's what 3.47% fatality rate....

Malaria can be up to 20% fatality rate, but we don't kick off about that do we?

Maybe it's something new, something about the modern works, Malaria is old it's no consequence, it's been killing us for millennia... Corvid 19 has only had a couple of months and that's alien not familiar.

I don't know, I'm just bemused by the whole thing....

Where have I been?... Well, I've been very busy with work and so I've not had chance to come to these pages at all this month, my apologies for that.  I've also been busy with the new land we've purchased, fitting gates, laying a road and helping in part to refurbish the stable block... More about that soon, I promise.

Saturday, 4 January 2020

Multiboxer - Numpad Fail

That moment you're testing and you realise you've bound the test buttons to the numpad....


Yeah, so I'm working on the multiboxer in bed, the amount of work I've got done on it since Boxing Day has been really great for me, I feel like I've gotten it onto the right footing and things are moving in the right direction.

I plan on getting the parameter passing sorted then working almost exclusively on tooling to help write the scripts.

At the moment I do the mouse offsets with a google sheets page, so high on that list is something to help calculate the client relative offset values for me.

Then there's got to be some visual designer for the scripts and the parameters.

If you're not sure what I'm talking about, I'm writing (well re-writing) a multiboxing software application for any old MMO, you can find I've played this a lot on a vanilla World of Warcraft instance, but also on other games.

See my older pages:

But there's a lot of them if you search "Multiboxing" on this very blog.

Wednesday, 1 January 2020

Happy New Year

Yes, it's a happy new year from me!

In case you have been missing them, I've been posting regularly about a C++ project I'm working on, the multiboxer for World of Warcraft (and eventually other games).

You can catch up on all the original posts and tests, as well as the new in my play list here: 


2019 refused to go out without a final surprise for the wife and I... we were blissfully watching a film (John Wick 3 in case you're interested) and I got up to make us each a drink, only to realise I'd stepped into a hallway full of a centimeter of cold water.

The toilet cistern had gone berserk and started to flood through its top, so it was clean water, but toilet water non-the-less.  We mopped up, I've ripped up the floor in that toilet totally as it was ruined.  We've left the heating on (so the house is boiling) and we're hopeful it'll dry out.

The wooden floors through, I'm hoping not to have to take them up... hey ho.

It's been a hell of a year, new job, new house, lots of things going on, travelling to the US with work a lot (none of which I can talk to you guys about here).

So, you will have to forgive me being so busy.... 2020 here we come.

Friday, 27 December 2019

Be Aggressive....

SPOILER ALERT!
I just came back from watching Jumanji : The Next Level.... And... And... yes, good film, the wife and I like them, but I was very ... LIKE VERY... surprised to hear a reference to "Be Aggressive"...

A song from Faith No More's 1992 album "Angel Dust", an album I not only own but own two copies of in different formats, but it's a family film...  In case you missed it, the song is about oral sex, rough oral sex.

So a family film, and the character who made the reference is like what 18, 20 at most, and I can't for the life out of me figure out the pop-culture link from 1992 to that characters mind even via an older script writers pen.

Its gnawing at me (no pun intended) like some ungodly experiment in Kevin Bacon's six degrees of separation.


I just hope that it's not some cheer leader chant the parents are snickering about making their cherub kids sing about from the side lines.

Wednesday, 25 December 2019

C++ Programming : SDL2 Graphics Rendering Loop

Today, it's a bit of a programming ramble, I'm literally throwing this code together, from memory and the docs... What does it do?

Well, I set up an SDL2 based graphics project.  Added font loading and set up the compilation environment and get something updating on screen, at the end there's then a second short video debugging a flickering... or if not properly fixing it, I at least start to pull the thread as to what is going wrong.

You can find the final code here: https://github.com/Xelous/Frog


And the short follow up: