HNHacker News
TopNewBestAskShowJobs

Starwatcher2001

446 karma · joined November 19, 2014

Started in 1979 (hobby) with TRS-80 (BASIC, Z80 Assembler, Hardware hacking). 1983 first paid gig. 1985 (Career) with IBM PC MSDOS (BASIC, COBOL, 8x86 Assembler, C), C#, SQL 2018 Java & Android 2023 - I'm 62 and still doing this stuff as a career and for fun. Still learning.
submissionscomments
Starwatcher2001··on CS quotes found while browsing Notepad++'s code
I came across a council system for recording the holes that ultility companies dig in roads. Often a specific job would require several additional "associated" holes to be dug around the main one.

The programmer chose the filenames: "holes" and "assholes". kudos!

NB: This was MSDOS days when filenames could be a maximum of 8 characters.

Starwatcher2001··on Simulating protected mode in the Z80 [video]
I did a lot of that on my CPC464 and TRS-80 too. Thanks for rekindling the memory. Relative jumps were the easiest way to make code relocatable, but you were limited to +/- 128 for an offset.

I used the "Programming the Z-80" book by Rodney Zaks, which is still on my bookshelf. Some manuals just can't be disposed of!

From memory I recall my favourite instruction - LDIR (Z80 block memory move) is EDB0, and JMP is CA.

Slightly more on topic, I piggybacked a 2716 EPROM onto the back of the TRS-80 ROM so I could get to the previous hard-coded RST locations and interrupt vector of the Z80 processor. In a nutshell, that allowed me to stop/debug/hack running programs without software being able to prevent me.

Fun times.

Starwatcher2001··on What the Hell Was the Microsoft Network? (2018)
I'm an ex-demonite too. Had all the telehone numbers of the local pops (point of presence) in a file to copy to the moden after the ADT command. As the pops were heavily subscribed and would often just give engaged tones, I used to use the net at 6am. The phone rates were cheaper then too.
Starwatcher2001··on Chaff Bugs: Deterring Attackers by Making Software Buggier (2018)
Many moons ago I came across an anti-theft device for a car that was designed on similar lines. The idea was that car alarms are easily defeated and are generally ignored anyway if they go off.

When armed, the circuit would cause the car to run but stall frequently, blow the horn and lights and misbehave in other ways. Eventually the thief would assume the car was in serious disrepair and abandon it.

Starwatcher2001··on File transfers via the parallel port on DOS using LapLink
Good old laplink. I've still got a "hydra" cable in my desk drawer.

Back in the 90s I used the parallel port to interface a PC to a TRS-80 to allow me to store games on the PC. As another commenter has mentioned, the parallel cable isn't fully bidirectional so I used the printer ready, paper out and other signals as imput lines and wrote a nybble (half a byte) based protocol between the two. Fun times.

Starwatcher2001··on Mental speed is high until age 60
I'm 61 and average 211. I don't think my reaction time is bad, but my memory isn't as good as it once was.
Starwatcher2001··on Light exposure during sleep impairs cardiometabolic function
I've tried probably a dozen over the years and settled on this one about a decade ago:

https://www.hibermate.com/

I've had three in that time due to accidentally leaving it in hotel rooms.

A test of a good mask is if you can see any difference with your eyes open or closed, and if you can feel your eyelashes touch anything if you open and close them. These are excellent and have a satin outer which slides around the pillow rather than coming off or moving.

They include ear pads to block out sound, but I find them a bit uncomfortable and never use them.

Starwatcher2001··on Personal Stories about the TRS-80
I bought a TRS-80 in 1979 and still have it (and a couple more). I cut my programming teeth on it, learning BASIC, then assembler and even a little hardware hacking. I dislike the "trash" term as for me it revolutionised my life, helping me leave the plastic factory where I worked, and getting me into software development, something I still do over 40 years later.
Starwatcher2001··on If Looks Could Kill
Pretty sure it's not in the original TRS-80 model 1 Level II ROM. (Also a Microsoft version). I disassembled it to see what unused key words it had, then revectored some of the disk related commands to my own code. (Before I got a floppy disk system for it).
Starwatcher2001··on If Looks Could Kill
The original IBM PC (8086) had the letters IBM coded into a specific part of the ROM. When PC clones started being made, IBM (and probably other software companies) would look for those letters to verify the software was running on a genuine IBM PC.

Rather than just copy those characters into their ROMs, the clone companies would add "NOT IBM" to get around any copyright claim - with the letters "IBM" in the same memory location as the originals of course. I discovered this when hacking on an Elonex PC - if anyone remembers those.

Starwatcher2001··on The Revenge of the Hot Water Bottle
We had a hot water bottle burst this week. My wife woke up to soggy feet and the water had penetrated right through the mattress. The bottle was empty and probably slowly leaking all night. It took much of the day to dry the mattress out.

On inspection we found the rubber had perished, probably as the bottle was around five years old. The replacement cost less than £10, including fluffy cover. We'll be sure to inspect this one more frequently when filling.

Not only does the bottle provide her warmth, to helps ease the pain in her arthritic feet.

Starwatcher2001··on Multitasking hurts performance and may even damage the brain (2018)
I've been a developer for 40+ years and can really relate to this sub-thread. Now I'm spending time with my grand-children do I realise how much time I missed when my own children were growing up. Working those hours, building those products, helping the company grow, weeks on site, 96 hour weeks... all seemed so important then - and less so now.

I still love coding, learning new stuff and occasionally burning the candle, but I'll never again make it my god.

Starwatcher2001··on The Blue Hole in the Red Sea is the deadliest dive site in the world
"Unless you are a diver please don't comment with this type of snark - seriously."

PADI Advanced, deep, nitrox, 100+ dives mostly in the cold waters of the North Sea.

Edited: added context

Starwatcher2001··on The Blue Hole in the Red Sea is the deadliest dive site in the world
If you really have only a vague recollection of basic safety checks you shouldn't be diving - seriously.
Starwatcher2001··on A call to improve London's lighting at night
"Seeing" is actually about how steady the atmosphere is. The old sodium lights emit in a narrow part of the spectrum which can be mitigated against by using light pollution filters. These allow all light through, except sodium frequencies. Sadly, filters are ineffective against modern LED lighting which emits across a lot of the spectrum.
Starwatcher2001··on Notes on My Colon Cancer
I had a colonoscopy five years ago here in the UK without any anesthesia and it was perfectly fine. Walked into the theatre wearing a gown and a pair of shorts with a flap at the back, and hopped up onto the bed. Somewhat embarrassing with a half dozen nurses standing around various bits of kit and more monitors than NASA.

They asked me if I wanted to watch, then angled one of the monitors so I could see what they were doing. Laid on side, knees up and relax. Blimely is my bum really that hairy? Don't normally get to see if from that angle.

It feels weird and a little uncomfortable at times, but certainly not painful - even when they found a polyp and removed it with a remote lasso tool of some kind. This later turned out to be harmless.

As is normal for Brits, there was a lot of humour, with the women discussing the latest TV soap opera whilest doing their thing with the "dynorod" tool. As they pump in a gas of some kind to keep the bowl inflated while they work, they tell me it's okay to fart whenever I need. Boy, I think I've got a bad job sometimes. Whatever the nurse with the pointy end gets paid - it's not enough.

It's not exactly pleasant, but necessary and quite interesting to watch inside your own body (not as interesting as watching surgeons put stents into my heart, but that's another story).

Totally agree with Graeme, nothing to fear and massive win if they find things before it's too late. Don't hesitate!

Starwatcher2001··on How Developers Stop Learning: Rise of the Expert Beginner (2012)
I'm 60 next month, and have been programming for 40 years (everything from Basic, Cobol... to C#). I'm currently having a blast learning Java and Android programming.
Starwatcher2001··on Solar storm risk and EMP attacks
If this subject interests you, I'd highly recommend the book "Sunfall" by Jim Al-Khalili. It's the physicist's first venture into fiction and is based around the threat of coronal mass ejections and a flipping of the Earths magnetic field. He also weaves hacking, encryption and other science themes into the plot.

As you might expect from a theoretical physicist, it's based on solid science, with a small amount of poetic licence that he describes in the afterword.

It's been described as "The Day After Tomorrow meets Neuromancer". Not sure I'd quite go that far, but it's a damn good read.

Starwatcher2001··on Stories about the B5000 and people who were there (1979)
Hey, I used one of those in an accountants in the early 80's, with the same weird orange and black screen. I recall there being no "enter" key, but several keys marked OCK1, OCK2.. etc (Operators Control Key). That was a good piece of design rather than a single "Ctrl" key on other machines.

I swear that printer could be heard several streets away!

We had a hard disk cabinet that took "cassette packs" with disk platters in them (maybe 15 inches in diameter). The engineer used to have to come out to it and re-align the heads every couple of weeks as they were not very stable.

I didn't realise there were games for it, dammit. I managed to get hold of a Cobol compiler for it, but with no other technical information about the B80, didn't get very far. No internet in those days kids.

I can't recall if the B80 had it, but there were small satellite workstations that looked similar and had a small silver button under the desk at exactly knee height. On my first day I was introduced to the "shit button". So named because if you accidentally knocked it, it reset the machine and lost all your work. Most people taped a small cover over it.

Fond memories of the B80, and it's big brother the B800 which I used at a different job. Boy was that sophisticated... it needed a paper tape through a "rat trap" to boot it.

Starwatcher2001··on The original source code of Microsoft GW-BASIC from 1983
I ran accounts on an Apricot for a year or so. It was actually an improvement over the PC, using software fonts etc, and the spanking new 3.5" diskettes. I don't think it was 100% compatible and sadly didn't do particularly well.

I'd forgotten about the cool little LCD display until I looked up your link to it.

Starwatcher2001··on The original source code of Microsoft GW-BASIC from 1983
In 1985, I was developing a simple serial network for barcode readers, to run on the original IBM PC. It needed to run as a TSR (Terminate and Stay Resident) assembler routine and use the 8250 UART chip, and the 8259 Programmable Interupt Controller.

At that point the only documentation we had access to was the IBM Technical Reference Manual, which gave the schematics and BIOS listing, but little else.

I was very familiar with GW-BASIC and had written some BASIC code to use the RS232 serial interface from it, so decided to reverse engineer GW-BASIC itself, to work out how it was addressing those chips.

A month or two later, we came across Peter Norton's "Programmers Guide to the IBM PC", which could have saved us weeks.

Exciting times.

Starwatcher2001··on The original source code of Microsoft GW-BASIC from 1983
There was a bug in the TRS-80 basic (which was indeed Microsoft). It had an "on x goto" command that allowed the program to move to different lines depending on the value of a variable:

ON X GOTO 200,300,400,500 depending if x=1, x=2,x=3...

They'd obviously used the same parser for the standard "If a=1 then goto 200" construct, which allowed an undocumented shortcut of "If a=1, 200" which a few people noticed and started using. However, a later model fixed this, which broke a number of programs.

Starwatcher2001··on X
The old TRS-80 Model 1, Level 1 had 4KB of memory and the only permitted variables were integers (A-Z), and two strings A$ and B$. No decimals, floats etc.

Level 2 allowed any number of letters in a variable name... but only the first two were recognised as unique. CUSTORDER was seen as the same variable as CUSTLINE.

Starwatcher2001··on Florian Schneider has died
Very sad day. Autobahn, Man Machine and Computer World were my constant background music when I was learning to program on a TRS-80 all those years back. "I program my home computer... beam myself into the future..."

Still programming, still find Kraftwerk inspiring. Thank you Florien and Rest in Peace. Your music changed my life.

Starwatcher2001··on Null Values in SQL Queries
I like nulls too and think they make perfect sense, especially with numeric fields.

Suppose we have an "age" field, but don't actually know the age of the person, null makes perfect sense.

Otherwise we'd have do do something like using a "magic number" like 0, -1, or a separate field altogether to indicate an unknown value.

Granted, they do need some handling in queries.

Starwatcher2001··on “My wife has complained that OpenOffice will never print on Tuesdays” (2009)
That was the port that switched the screen from 64 columns to 32. A different bit in the port also controlled a physical relay that was used to switch the cassette tape recorder on and off. Toggling the pair together quickly did indeed look and sound quite dramatic - and would probably knacker the relay if left for long enough.
Starwatcher2001··on A Tandy / RadioShack TRS-80 Model 1 Clone
I did pretty much the same, although I managed to get the 16k RAM version. I've still got my old TRS-80 in the loft, eventually with the expansion box and couple of disk drives. Each single-sided 5.25" floppy held a massive 90k, then someone worked out that if you punched a timing hole in the cover in the right place you could put the floppy in upside-down and use the other side too.

Like you, I cut my teeth on the TRS-80 and wrote my first commercial program around 1982, a graphics drawing tool (written in Z80). It sold maybe a dozen copies, but was a start. I've got fond memories of EDTASM and T-BUG, the assembler and debugger.

Starwatcher2001··on ZedRipper: A 16-core Z80 laptop
Back in the day there were a suprising number of good technical books to learn from. I kicked off with two books from Tandy (Radio Shack): [0]

The TRS80 Technical Reference Manual (1978). This had the full schematics of the computer, explanations, timing diagrams, fault finding tips etc.

Understanding Microprocessors (1979). This taught basic TTL gates, how flip-flops worked, shift-registers, adders and all the other basics.

In my opinion learning this stuff gives you a better understanding of coding, especially with low level languages.

[0] http://www.trs-80.com/wordpress/books/140213/

Starwatcher2001··on ZedRipper: A 16-core Z80 laptop
Back in the 80s I had a TRS80 with 5 inch floppy drive, and an Amstrad CPC464 with built in cassette tape.

Having no patience to wait for games to load, I linked the two together via the parallel printer interfaces and wrote some Z80 code on either end to allow the TRS80 to store CPC464 programs.

I seem to remember only being able to use 6 of the bits for data, and using a couple of the others to signal as "clear to send" between them. The transfer was very quick, much faster than tape, but wasn't very reliable due to the dodgy connectors on the TRS80.

Using an SD card with the old micros would be miles better.

Starwatcher2001··on 35 Year-Old C64 Easter Egg Hidden on Vinyl [video]
Not an easter egg as such, but I came across a BASIC program for the TRS-80 in the early 80's where the programmer had worked out that program lines of various lengths would produce interference of different frequencies when a radio was placed next to it.

Using lines which included long REM statements, and various loops, it would play the William Tell Overture.

For background, the Model 1 TRS-80 had virtually no RF shielding and would interfere with many audio devices next to it, so a radio tuned "off station" was ideal.

← PreviousPage 2 of 5Next →