Month: December 2022

  • Old Salt

    As I’ve mentioned in previous entries; going to Waffle House for breakfast is usually punctuated by myself and some other former Navy guy talking about ‘the old days’. And as my roommate tends to hit the local Waffle House once a week, I end up there about once a month.

    Today’s trip ended with another fellow Navy guy… He’s a retired Navy, Vietnam vet, wheelchair bound hell-raiser with a penchant for spending his leftover government checks on the slots in Blackhawk – and apparently hit it big last week to the tune of $350,000.

    Anyway, I was contemplating buying his breakfast just to say thanks for his service, but he turned it around on me and bought my breakfast – which I’m still processing as I’m usually the one doing the buying.

    I double checked that he was okay with getting my ticket, which is where he explained the sudden windfall and that he was happy to spread the wealth. We both thanked each other for our respective service, shook hands, wished a happy new year, and went on our way.

    Definitely a strange turn of events for me – enough that it’s worth writing down. 🙂

    Listening to "Hotel Crowne" by At 1980
  • Snow Day

    Had a bit of a blizzard last night, and the snow outside is deeper than the ground clearance on my car – so it looks like I’m working from home today.

    Yes that is a Jeep on the left of the picture and yes I could get out of the garage if I really wanted to – but I don’t want to. 🙂

    And a photo from the front of the house…

    Listening to "Saved by the Bell" by Miami Nights 1984
  • Old Code

    I was rummaging around in a box of old stuff, and came across a typed-out bit of BASIC I wrote for my ZX-81. I know it was the ZX-81 because of the code structure…

    See, BASIC on the ZX-81 was pretty primitive. For example, while it understood arrays there was no ‘data’, ‘read’, or ‘restore’ functionality. So you had to do things the hard way and line-by-line define the array on runtime:

    10 DIM A$(2,10)
    20 LET A$(1)="data"
    30 LET A$(2)="more data" 

    It also had a hard time chaining commands, so while an IF / THEN could do a mathematical operation

    10 IF A=B THEN LET C=C+1

    it generally couldn’t run a second command based on the evaluation. So you needed to:

    10 IF A=B THEN GOSUB 100
    
    100 PRINT "I did a thing!"
    110 RETURN

    Anyway, back to the ancient typed code. What this bit of code apparently does (I don’t have a ZX-81, and the tokenized input method of keyboard modifiers is nightmarish – and they preserved that in the emulators) is display “TRON” in the movie font on the screen in the low-res 64×43 mode.

    Based on this I’m guessing this was written in 1982 after I saw TRON in the theater, which means I was 13.

    It’s interesting to me to see the thought process of 13 year old me; the machine had 1K of RAM, so I was doing tricks to maximize that space.

    The ZX-81 has a PLOT X,Y function which will put a dot on the screen in that spot, and while it would have been totally acceptable in the early 80’s to write a ton of PLOT commands, it would be too large for the 1K of RAM – so what I did was:

    10 DIM D$(13,64)

    And then did 13 variations of

    20 LET D$(1)="111111111111100111111111100000000111100000010000000011111"

    Each of these is stepped through and each position of the string was evaluated to plot a point in that position for each of the 13 lines that made up the logo on the screen.

    100 FOR I=1 TO 13
    110 FOR P=1 TO 64
    120 IF D$(I,P)="1" THEN GOSUB 1000
    130 NEXT P
    140 NEXT I
    
    1000 PLOT P,I+13
    1010 RETURN

    I’m guessing as the code doesn’t define “fast” mode, that this whole display process would have taken like 10-15 seconds. The ZX-81 was so primitive that that process for both the screen draws and processing reduced the Z80 CPU’s processing speed by two thirds – so you could put it into “fast” mode where it stopped worrying about the screen and just did work, and then updated the screen at the end.

    This would have been before I had a cassette deck that I could use to record programs on, so this would have been written out on green-bar printer paper, typed in, debugged, and then the final version typed out on my IBM Selectric typewriter for later readability.

    Interestingly, because of the limited space, nothing I wrote for the ZX-81 is commented – a major faux pas in the modern day. I just have to analyze the code and “figure it out” when I stumble over something from this era. 🙂

    Listening to "Joyride" by Dream Fiend
  • Christmas Breakfast

    Brought to you by Waffle House.

    24 hours a day, 7 days a week – 365 days a year…

    Listening to "Neon Sun" by At 1980
  • Designed in California

    Colorado has seasons, which means it occasionally gets colder and cloudier than “72 and sunny” – which also means that things designed for California fail here. Which is unfortunate as many home builders are based in sunny California.

    For example, it’s -17F outside right now, which means I need to go out once an hour and de-ice the intake for my water heater…

    See, my house was built by a company based in California and to keep costs down they vent the water heater and furnace on the side of the house instead of the roof – so the exhaust and intake are about a foot off the ground and ten inches apart, which is fine when it’s mid 70’s year ’round.

    It looks a bit like this:

    The problem is when you burn natural gas you get water vapor, which condenses into a huge cloud when it’s below freezing – and when it’s below freezing that water vapor collects on the critter screen in the intake ten inches away and freezes into a sheet of ice. Which ultimately means no more hot water.

    This isn’t the first time this has happened either… The apartment I had in Parker many years ago was built by a California contractor and had the hot water heater in a closet on the patio – and they would freeze, rupture, and flood the apartments on the first floor.

    The solution there was to put electric space heaters and powered pipe tape in the closets – which completely negated any savings from the super efficient mechanical stuff they installed.

    Not that I’m complaining really; at least I have hot water with a little manual intervention – which these days isn’t guaranteed what so ever.

    Listening to "Chemistry" by LeBrock
  • Digital Art

    My first ‘art’ on a computer was a code-based graphic of a pegasus, done on my ZX-81 – which was 64×46 pixels. It was basically digital needlepoint, where I’d made a grid on paper, filled in blocks where the pegasus would be, and then coded the whole array to display on the TV I used as a monitor… This would have been about 1982.

    My first exposure to a ‘digital art tool’ was the KoalaPads they had on some Apple IIs at school in 1984. These were really primitive low-resolution pointing devices essentially, and I never did anything truly artistic with them, but they did serve to get me interested in alternative input mechanisms.

    My first actual ‘digital art’ was via the mouse on a shipmate’s Macintosh he had in the barracks at Electric Boat, which would have been about 1987. Prior to this all I had really used was a keyboard, and it was actually tricky to retrain myself to move my right hand while watching a monitor. My best effort on the Macintosh was a helicopter flying over some mountains – but it was good enough to impress the guys in the barracks. 🙂

    In 1988 I acquired an Amiga 500, and with that a copy of Deluxe Paint III – and this is where I really cut my teeth on digital art. Everything I did on the Amiga was done via a mouse, but the tools available were really similar to modern software with pallets of tools and colors, and the ability to use them in fairly high resolution.

    The next digital art milestone came in 1996 when I acquired a Summagraphics Summagrid digitizer, which I used on my PowerMac 8100/100.

    Digital cameras were pretty wimpy in 1997 – the coffee table looking thing on the right is the digitizer.

    The problem with the digitizer it was designed for CAD work and while very precise, didn’t make a very good freehand device… And it was HUGE – so didn’t make the move to Virginia in 1997.

    In 1999 I acquired my first Wacom – an Intuos 9×12. This was a bleeding-edge tablet that used the brand new USB connector, so I had to get a CardBus USB card for my PowerBook G3 to use it… The problem was that CardBus USB cards for Macs were rare, so I wound up using some sketchy Apple development driver that made PC CardBus cards work on the Mac…

    During this time I did most of my artwork on paper, inked it, scanned it, and did the coloring in the laptop with the Wacom.

    The Intuos was given to a friend when I moved back to Virginia in 2004, and when I picked up the PowerBook G4 after the move I also picked up a new Wacom Graphire 3 to go with it…

    The Wacom Graphire 3 (CTE-430) – it still works, if your OS is old enough.

    I chose the Graphire 3 because it was small and fit into the laptop bag. In hindsight it was a bit too small, but I made due with it for several years.

    Which leads to my current Wacom, the Intuos4 ‘medium’ that I’ve been using since 2009…

    My faithful workhorse, the Intuos4 (PTK-640)

    As you can see by the picture, my current Wacom has about a million miles on it – I’ve just about worn through the active area on it in fact.

    I figure I’d still be using this in 2030 if Wacom wasn’t playing games with the drivers to create some planned obsolescence to sell new tablets… There is no actual driver for the last two versions of MacOS for this tablet, but the old driver still (mostly) works so I keep using it.

    I really need to upgrade, it’s just hundreds of dollars to do so and the economy is still kinda crap. Maybe for my birthday. 🙂

    Listening to "Hangin' On" by LeBrock
  • TV

    I don’t really own a “TV”; I do all of my media consumption online and I don’t see any real reason to sit across the room from a panel the size of a pool table when I have laptops with better resolution. And, if you’re 18 inches or so from the laptop, it’s perceptually just as big as an olympic-size TV twelve feet away.

    So, with that thinking, I generally use my old circa 2011 15″ MacBook Pro as a TV… I like to lay in bed and watch whatever has caught my interest for an hour before passing out – so it works out.

    Unfortunately I’ve limped that 15″ MacBook Pro along about as far as I can. It’s on it’s third battery, which is failing, the wall-wart is some aftermarket thing that mostly works, and the AMD Radeon HD 6750M video card in it went out years ago so I hacked it to use the CPU’s integrated graphics full-time – which is sketchy with modern video compression. It’s also big, heavy, and with the second generation i7 in it, runs pretty warm…

    So, the other day I retired it and picked up a refurbished “Early 2020″ 13” MacBook Air at Microcenter for $450. It’s an education version of the last Intel laptop Apple made, with a tenth generation i3, 8gigs, and a puny 128G SSD in it… But it still runs better than my 2011, has a better screen and sound, and even runs the latest version of MacOS.

    So, yet another Mac to add to the list.

    Listening to "Los Angeles" by The Midnight
  • MiniDisc

    Today we set the wayback machine for February of 1998…

    In late ’97 I had moved to a forty acre farm in the backwoods of Rhoadesville Virginia and was working on some very high-tech stuff in D.C. – which is a pretty good drive…

    For a while now MP3s had been a thing, as were burnable CDs, and making CDs full of MP3s to play on the computer was also a thing. But the car was still limited to audio CDs, and while you could make them yourself the storage was limited to 10-11 tracks at best. And I-95 wasn’t in the best repair so even the high-end CD player in my car would skip quite a bit.

    Portable MP3 players were being experimented with, but weren’t a reality just yet, so the solution for me was MiniDisc.

    For my birthday in 1998 I bought what was the best portable MiniDisc player / recorder on the market at the time, with the intention of using it on my daily drive back and forth to D.C… The Sharp MD-MS702.

    I still have the original box and all of the stuff the unit came with…

    The contents of the box. The only thing missing is the original headphones, and while the original battery is there, it’s dead and is just there for the model number.

    Fortunately you can still buy replacement rechargeable batteries – so here’s the unit playing a MD I recorded in 1998.

    And the size of a minidisc. The player / recorder is only slightly bigger than this and about a half an inch thick.

    What really sold me on the Sharp was that it was essentially a recording studio in your pocket. I could connect it to my home hi-fi setup optically, so ripping a track on a CD to a track on the MD was easy, as well as being able to title the track and see the info on the LCD screen.

    The MD player allowed for all-digital mixtapes, essentially – and it didn’t skip no matter how bad I-95 got.

    I still use the MD player pretty often; I take it with me on evening walks, play MDs I recorded before the turn of the century, and remember how cool everything was in the before times. 🙂

    Listening to "Hollow" by LeBrock
  • 2022, a year in review

    2022 has been routinely weird… Which is worrisome that the weird is becoming routine.

    Once again I didn’t really go anywhere; thanks to the one-two punch of covid and crap economy it’s been several years now since I really left the house for more than dozen hours. The sad thing is I’m getting used to it.

    I did pick up a bleeding edge MacBook Pro early in the year, and that has proven to be money well spent. As I mentioned in a previous post, I pretty much live out of this laptop eighteen hours a day. It also has all of the hardware-level encryption and biometric security I need to allow me to leave work with it… With the laptop I also relented and moved back to an iPhone mostly for the GPS enabled camera and iCloud photo support, but also to work on some SwiftUI / Xcode stuff that went pretty well.

    In August I traded in the overly sensible Nissan Kicks I acquired last year as a hold-me-over until the new “Z” came out in 2022 – it still hasn’t – on the hemi-powered Chrysler 300-S I’d been eyeballing for over a decade. This has also been money well spent so far; the car is really entertaining and just caveman-technology enough to be fun to work on. I’ve hacked it quite a bit electronically and mechanically, and probably totally voided the warranty, but such is life in the modern world.

    Work-wise it’s just another year filled with hijinks I can’t talk about for projects I can’t talk about related to clients I can’t talk about. I’ve done hardware design work for some mechanical test harness stuff, lots of coding for everything from script-based user-modeling to routine application development for in-house stuff, and a metric ton of wild and wooly network engineering to support isolated offline testing of cloud-based stuff.

    I love my job, I just wish I could talk about it more.

    Other than that, the latest expansion for World of Warcraft came out a couple of weeks back and I’ve been having an absolute blast with it in my scant free time. It’s really the only “game” I’ve had much truck with this year – other than Second Life of course. Second Life isn’t so much a game for me though as much as it’s a weird hybrid of a script engine, Blender, and Photoshop that I use to kill time creatively.

    Anyway, I hope your 2022 was at least passable, and here’s to hoping both of our 2023s are truly excellent!

    Listening to "Nightland" by Droid Bishop
  • Walk

    While I was out on my daily stroll around the neighborhood I noted that the mountains were really pretty – so here, have a picture.

    The view from my street, looking west.

    I also noted that there was a lot of excessive jet noise, and then two f-16s from Buckley flew over…

    This was the second jet, I couldn’t get my phone fired up quick enough for the first one.

    It looked like they were doing laps of the Cherry Creek state park across the street for some reason…

    Either way, super loud. They did two laps and then flew off, but it was enough to set off the neighbor’s dogs and a few car alarms.

    Listening to "Who You Run To" by The Bad Dreamers
  • Cleaning

    Back in March I bought the 16″ MacBook Pro I’ve been using this year, and by using I mean it’s basically an electronic RV that I move from place to place and live out of – for both work and home use.

    The machine runs about eighteen hours a day, seven days a week – and longer on holidays. I even tend to eat breakfast, lunch, and dinner in front of the machine while I’m working on things…

    So, this morning I broke out my iFixit oddball screwdriver set and popped open the laptop for a thorough cleaning to evict any accumulated cruft.

    And after two lengths of eight weird apple pentalobe screws and some tense moments prying on the bottom cover to release the clips – I was in.

    The innards of the 2021 16″ MacBook Pro “Max”

    Overall the insides were cleaner than I expected; the several right-angle bends used for the intakes (the oval holes on each side where the battery is) does a pretty good job of separating out the dust. Most of the grittier stuff was on the case lid, where it falls out of the air stream as it flows around the bends – which is good.

    The fans and heatsinks themselves were pretty clean, and given the extremely fine blades and fins this is also a good thing… It wouldn’t take much to impair them.

    Anyway, cleanup took a few minutes, then I put it all back together… The hardest part of the whole ordeal was getting the bottom back on the laptop; it’s held on with massive amounts of over-engineering to remove *any* flex so that the laptop feels like a solid chunk of aluminum.

    Listening to "Cliffhanger" by 80's Stallone