Sponsorship

Monday 6 February 2023

The Abject Coder

Locomotive BASIC, Z80 Assembler. If those leave you shaking and in a bit of a dread sweat, you're my tribe. I actually learned on Sinclair ZX80 BASIC and some kind of 4bit homebuilt SCMP (from a Dick Smith kit I think, at any rate I bought it and built it and toggle-programmed it - this is long long ago in a land far far away so I really can barely remember it) but that's so far ago that I think I can be excused for it now, surely?

I never touched a programming manual until I got the cheerful Amstrad spiral-bound pulps on LocoBASIC and their assembler/monitor, and if you've seen them you know that they're great on describing functions but provide almost no "style guides" for coding. This is how you GOTO / JMP, what you do with it is up to you, suckah!

The "book" on the ZX80 was even more sparse, the SCMPthingie had nothing but fanfic if I recall, so my coding skills were always - ... Always ... what you'd call abject.... *ahem* Unique. I hacked until it worked. I have to admit that I wrote a program in BASIC with a machine code block that let me play a Centipedes style game but that played better in attract mode and wiped me off the score table regularly.

The way it calculated centipede motions was some kind of kludge as I remember, and it stored some parameters in a spare chunk of RAM that it then honed to a fine edge over the space of about fifty games, but the actual game played random parameters from time to time so it could never rest on its laurels so to speak and the parameters in memory kept oscillating. That kept the autoplayer from becoming too clever. 

Anyhow. I got to read the handbooks for DEC RT-11 because I got the unenviable task of babysitting a PDP11/03 with several homebrewed 6502-based boards feeding data in. And it regularly needed updates applied and stuff broke and so instead of being the once or twice-a-year visits envisaged, I ended up going there pretty much every few weeks and got good with RT-11 debugging and even wrote myself a program to print out my results sheets from my Amstrad CPC464 at home on the huge teletype printer that was attached to the PDP11, so I didn't have to spring for a printer at home, and could print D&D maps on wide WIDE fanfold paper... 

Are you getting the picture? I got exposed to a lot of the technology, but always by getting chucked in at the deep end without Floaties. As a result I only ever got to swim in a dog-paddle crawl. Not one formal lesson. Then in the 90s I worked at a commercial broadcaster as a tech, and the "new super duper computer" was just being set up by an old guy who went to England to learn how to program the PICK operating system that this huge chunk ran.

I had a whole TWO computers at home, so when - let's call him Roger - went on leave, his offsider took ill, and the system was in jeopardy. Enter the Chief Engineer asking if I could keep an eye on it. That was actually easy because by now I had a bit of an idea of what to do, and knew about the Internet and stuff already, so I kept the huge printer fed with paper - and that was about all that needed doing, actually. When Roger came back I told him that he had set up FTP on the system but hadn't even put a password on it, and showed him me accessing it by FTP from home and being able to download everything including the payroll. 

Roger shat himself, said I'd hacked the system, and I was out of a job. Full stop. But apparently he was so much of an idiot that he didn't even know how to SET a password on his FTP server. Anyhow - no longer my problem. The sad thing is that Roger was using a PC as his terminal to the PICK-OS behemoth and it had far more grunt than that big POS and he could have served the entire broadcaster's offices and all their on-air program scheduling at the time. 

Since then I've bounced around computers and IT before it got wanky, and I also got some small programmable computers (I think AXE or something like that rings a bell? Hang on, I've still got one of the proto kits in the office. . .  Ah yes, the lovely old PICAXE08. Here it is. No, I have no idea what the program on it is, nor what that circuit does, last used about 20 years ago

But then... I saw some cool thing called an Arduino, then a Wemos D1R2, D1 Mini, Arduino Nano, oh and Raspberry Pi and Pico boards, and a few others. I started mucking around with the full size Uno and D1R2 boards, and I still have my first project, a temp/humidity gauge with an LCD screen and some usable print to screen routines and it now keeps an eye on my filament cabinet's weather. 

That was quite a few years ago. Bear in mind I was a late 50s / early 60s old dog by then, so now I have to basically keep the programming PDF handy, and a list of people's hacks and tricks to get stuff working well, and my notes too. Dual screen is not enough sometimes, and even that is a laptop sat next to and plugged into an old monitor. 

And even then my code is still the same clunky dog-paddle construction, and Python's still a very opaque thing to me but I'm slowly getting a handle on it. Then losing that handle again because I stopped mucking with MCUs for a few years while we had other storms in our life here, and memory's a fickle bitch. With me wishing it would take less than 10 minutes to compile a 20 line sketch and let me open a 3D program so I could keep doing useful stuff while I was waiting, even though I know byu the time that's happened I'll have forgotten what I'd just done in the code back, what? - five minutes ago now... 

An artist's conception (well, okay, my and NightCafe's idea)
of what my simple little reticulation and climate monitoring
garden management system might end up resembling. Maybe. . .

But my garden reticulation controller project has got me arced up again and I'm almost back to my former appalling levels of coding. And I've ordered a few more boards that I've never had before, will see what develops hey? So far I've got a basic one channel timer going and a web page, the RTC's next, and then a way to save all the data it collects to SD card (or send it to a webserver?) - anyway, it's taking shape. 

And I still have all the model files for CAN-CNC to work on so that's a farther along the future plan. 


Please Read Down Here Too.

I blog because I like to share. Things you can read about on my suite of blogs (which I'm the sole person creating, researching, writing, and publicising) range over topics like cyber-ethics (AI, sustainable energy, EVs) and 3D printing and recycling plastics and other waste streams, general tech and personal ramblings, environmental and ethical issues, rants about sustainable and eco-friendly tech and bad actors on those scenes, COVID news and opinion, even a recipe blog that has less chit-chat and more recipe..

There are a few others but they're not really my main topics. On top of that I design and make the odd machines and things to help with recycling, my vegetable garden and soon to be reinstated mini aquaponics system, and more. It's a lot to do. I can only manage it because I'm retired on a disability pension. I've included a link below to Chat with me on Mastodon (which is a Twitter alternative without the bitter after-taste) if you think you'd like to write the odd article on one or more of the blogs and help out, or if you have an idea you'd like me to investigate and follow up.

Lastly, if you'd like to help me defray the costs of domain names, server hosting, parts and materials for the show projects, you could donate the price of a cup of coffee - or even make that a monthly donation - by going to my Ko-Fi page, and you could also Paypal Direct.

Chat with me on Mastodon >>


No comments:

Post a Comment

Making Web Toys I Can Use

Bear with me. It's not often I get to brag about stuff I've designed. I say "designed" because I figured it out, then got ...