Showing posts with label disks. Show all posts
Showing posts with label disks. Show all posts

Wednesday, 28 July 2021

Comprehensive Computing (1990's and my meeting the Acorn A3000)

When I went to comprehensive they had BBC Micro's... I had an Atari ST at home... the school then upgraded to Acorn A3000's.  Now the ST, Acorn and IBM PC used very nearly the exact same floppy format (there was one byte difference between the ST and the PC basically, and nothing with the Acorn Archimedes series)....

The teachers, totally no idea how to use these machines.  Sure they could run applications in pre-packaged orders, but they never delved into them.  The Acorn had a whole host of built-in software, the OS itself came with a RAM disk, one teacher once saw me cache all my work on a 1MB RAM disk and work hundreds of times faster than anyone else in the lab, but they had NO idea how I did it; and didn't want me to explain it to them.

So they often found me in the lab... despite it being locked...

You could get in via two routes, one was to go in through the neighbouring classrooms air vent between the two back-to-back store cupboards... One day I found the grill had been screwed back in place and sealed, which put a stop to that... And no matter how often I asked teachers would NOT let us into the lab without themselves being present, and quite simply they didn't have the will to help encourage learning, it was a dangerous prescient for them in the 90's to admit that there were those with a natural talent in a field the staff had no interest nor experience in.

So what next?  Well we had to climb out the window, shimmy along the ledge and climb back in... Usually only one person did this and then unlocked the door for the others, but it was a bit hairy on windy winter days.

 But literally, the school didn't want the kids to use the computers, either scared we'd break them, or more likely we'd steal them, ever seen the size of an A3000 and the bespoke monitor?  yeah, I can really not imagine how they thought we'd sneak them out the building unnoticed.


Anyway, one day, I'm there with some code in the RAM Disk, playing about with the Basic interpreter and I had a new thing called a "Compiler"... I think it was for Pascal, but it's lost to memory.... The door unlocked and a teacher pounces in Alan Partridge style... "A haaa, I caught you"....

Yes sir, you caught me.... trying to better myself, please put me in irons and take me away.  Basically, I can only assume; after the fact; that in this school we're all meant to be preparing ourselves as manual labour, I know!   (Top Valley Comprehensive, represent; it's now "Top Valley Academy" or even just part of Red Hill Academy, because you know... We're not allowed our little tribal enclaves anymore).

But this teacher takes a look at I'm doing; I would hazard a guess he expected a game instead he see's code and the dozens and dozens of disks I have, "Come with me, I know what punishment you must receive".... Bit worrying, but we trusted everyone back then, and I followed him to the store cupboard.

And he slaps a brand new unopened packet of 10 disks into my hands then rummaged in a plastic disk box for another grubby one with tippex all over the paper label, which is so tatty it must have been reused until the plastic platter inside was an atom thick.

"Right, I need 10 copies of this disk by tomorrow, else you're in front of the head master"

In hindsight I should have said "Can I go talk to the headmaster about your not encouraging me to learn and explore the machines which are taking over our daily lives".... But alas I said "yes Sir"

I didn't even think about the format issue, I just went home and made an exact sector by sector duplicate on my ST, assuming it was either an Acorn or PC compatible bunch of data, I couldn't tell until the morning, but I made a copy for myself too.

Arriving back I handed him the box.... His stunned face was quite a thing to behold, I think he expected it to take a long time... But I got two drives, yeah baby, rocking the power set up!

But during break, and after scaling the building again, I popped one of the disks into a drive and let it boot....


Lemmings... For the Acorn A3000 series, it was ported by some other company, it wasn't the DMA/Psygnosis original, I kind of remember it being some butterfly logo in purple... But it was lemmings... And I'd made eleven pirate copies of it as "Punishment".

Pretty sure the wrong was all on the other side.

I did get permission from one of the deputy heads to use the computers from time to time, but by the time I finished at comprehensive I was learning Pascal for my ST, and even writing and released my first program as a kill counter/leader board for Elite II Frontier; that was the first piece of software to earn me some money (£25 one weekend, with five sales) so I was hooked; no thanks to any part of my education experience at comprehensive level.


Monday, 8 June 2020

The Worst (or maybe second worst) Source Control Ever

I've not made a bit deal out of this, but I like source control systems, I like git, I even like subversion, I like when folks even take the time to zip up the whole project tree and stick it on a whole other machine.  All are different source control strategies, each have their place.

What doesn't have a place in my opinion is poor implementations of this... such as... When there is no source control, that folks "remember" how the code was and can work back to where it was when things go wry.

Because inevitably they can't remember.  Solutions, subtly and satisfaction with what was present can easily be lost.  And in such situations you can only blame yourself for not having a back up of the original or yesterdays or whatever.

So it was as part of the tyrannical "lead" of one developer I came to meet the worst source control system ever, it was based on floppy disks, had no back up and was a manual process.

And it starts with an initial checkout, to a CD-R.

The CD-R was known as the "master" disc, and it contained a set of the SQL scripts to build an instance of the database, a series of sequential updates which each quarter were compacted down and made into one new "CREATE DATABASE/TABLE" thing.

Then there was an auxiliary folder with a bunch of tools which you copied to your hard drive and used.

And finally there was the source tree, you installed Microsoft Visual C++ 6 and opened the project and built the code.

You then ran a tool and put a floppy disk in, this disk was used as a swap between you and the lead developer at the end of the day, so a nightly build could be carried out (or a morning build on a Monday after a weekend) on a slightly more powerful machine.

As a developer then you had you IDE, this background tool running and you worked as you normally would.

Every time you would save in the IDE the tool saw the change in date of the source code file blatting that file onto the floppy.  The whole file, overwriting the old, not a delta, not a diffable solution, it just progressed forwards only.

You could not revert, not compare, not really do anything we take for granted in modern development.

This was a bad system.

The bad became worse when there was a delay between the save & the tool picking up, and then a floppy disk took time to write ( a lot of time ) and it was soon realized whilst it was writing the file from the HDD to the floppy it locked the file, so you couldn't write another copy of the file whilst this slow write was in progress.

As such lots of developers didn't run the tool, they would run it once at the end of the day, or just copy all the files listed as date/time changed to the floppy manually.

This floppy was then the feedback of all changes to the lead, in charge of merging the changes... Well I say merge, what happened was the mainline version was simply over written with whatever the developer handed over.  They were meant to qualify their code was coo, they were meant to run the tool which performed the copy.

So all the pieces were on the board and check-mate was one move away.

For the worst moment came on one particular Friday, a developer was toiling on tidy up duties, those little tasks you put off until the end of a day to fill time until you can go home, his task this day at 5:03pm was to correct two typo's in a file, one higher up and one lower down.

Just spelling mistakes, no need to recompile that, taking an hour, on a Friday with the pub and a takeaway calling.

So the chap performed his save, saw the light come on the disk and then did the second correction, hit save, the floppy light went off... and he turned his machine off... just dead off... pulled the floppy and dropping it into the "merge tray" on the leads desk started his weekend.

I walked into this on the Monday morning at 8am, as a very junior developer, the managers were all present, the lead was present, two senior devs were pawing over floppy disks in no discernible order.

For it turned out that the tool had started to overwrite the second save of the file, it had gotten so far through the write when the power had been pulled.  The original was lost on the developers machine for he had pulled the power... rather than shutting down.

And this source control system only went forwards, you could never ever regress.

The seniors were trying to build a delta list of each change for the last month, back to the start of the last CD-R... From floppies which had been used and reused, they had to manually inspect the changes between the file in question in the floppies.

If the copy they had was deemed to be older the disk was put aside.

If younger the file was copied into a directory to slowly try and catch the code up.

Around 10am the developer responsible wondered in, listened to the complaints, listened to everyone being exacerbated and then without a blink of irony said "Told you this wasn't source control".

Fabulous...




The worse Source Control ever?... Perforce... Hands down, Perforce.

Friday, 29 December 2017

Windows Defrag v KingDian SSD... FAIL

I'm sure you all already know this one, and many vendor specific implementations of SSD drivers/applications prevent this... Not me though.

Yes, I have a dirty cheap (£27) SSD from KingDian in my Laptop... Wait, wait wait, stop abusing me!  This is just a boot disk to hold a local OS and some scratch space, all my storage is provided to this machine over NFS.
The trouble?  Well, in the late summer the wife and I had a few days away in deepest darkest Wales... Now this was a disconnected break, however, I couldn't resist taking the laptop loaded down with a few DVD based games and a steam download or two, plus I got to take some system code with me and a slew of PDF's I could read... I got a lot of work done, even without Linux (yes I had to flatten the machine back to Windows 7).

And I pretty much put the machine away until just before Christmas, I then needed it again, so flipped it out the cabinet and fired it up, only to immediately find the battery was dead... It had been dying, I rely on a meager source of dodgy, second party batteries from China... You know the kind of Lithium cells you'd not want to leave alone too long.

But being Christmas I was skint, so I've had to wait until the end of the month to get a new battery... Which arrived today, I left it to fire up and take it's first charge, everything looked fine, it was still Windows from the holiday, so I left it to it and I've been and enjoyed some TV...

Upon coming back up however, the machine is mental... Telling me I have no boot device, I had left the machine on... It has no network connection, so it can't have downloaded a Windows update and restarted... I was a little baffled... But fear not, I'm a trained professional...


This got us into a Windows Recovery, and after not giving a shit and starting normally, back into windows, where I started to puzzle out the problem....

Event Viewer, and Applications... Nothing but the panic about the non-clean reboot... System... Hmm... System shows the last event at 16:54 and then the reboot at 23:54 (alright, don't judge, I watched three films okay, and we had a take-away!)...

 So what was the event at 16:54... "Service Control Manager".... Hmm, which service.... "The Disk Defragmenter service entered the running state"...

OH SHIT... This is an SSD, you really shouldn't defragment them (it reduces their life)... So it tried to defrag and not only crashed windows, but made the device/bios not able to inter operate upon a warm restart.  That's quite a feat.

A hot reboot sorted everything, so I'll not dig any further, however, I'm interested in this phenomenon.  The disk is a cheap chuck away one, so I start the defrag manually... BOOM, crash, same thing.

I trawl through my box of bits and find an old OCZ 128GB SSD (which has about 26% life remaining - lol) and I throw Windows 7 onto this... Let it all set up and I come back (it's about 23:35 now, if anyone's counting).  Starting the defragger on the OCZ device, no problems.... It just does nothing, the management software from OCZ stops any nastiness.



Back to the KingDian, boot up.. .and Defrag... BOOM.

It's definitely something about the very cheap KingDian drive... Any ideas?  Drop it into the comments, but its back to Arch for this machine me thinks.