The single most valuable advice I can offer to new software developers

When starting out in software development or even learning a new language as an experienced developer, the most likely cause of most ‘I don’t know why this code isn’t working’ type questions is pretty simple:

What you think your code should be doing is often not what it’s actually doing.

This seems like an obvious observation, but it’s easy for even an experienced developer to get caught up in what they think their code is doing, and they forget to look at what it’s actually doing.

Next question: “ok, so how do I find out what my code is actually doing at runtime?”

Answer: you use a debugger. You step through your code and you compare what you think each line should be doing with what it’s actually doing. At some point you’ll find a line where you assumed the code was doing one thing but it’s actually doing something else. It could be the variable of a value that you were assuming to be a particular value but actually it’s something different and it results in a result that’s different from what you were expecting. It could be a condition you were assuming to be true is actually false. It could be a block you were assuming would always get executed but never is. There’s many reasons.

Learn how to use your debugger:

  • Practice stepping through your code
  • Learn how to set breakpoints
  • Learn how to set conditional breakpoints (break when a certain value or condition is met)
  • Learn how to inspect value of your variables
  • Learn how to change values at runtime – what happens when this value is 1 instead of 2?
  • Learn to break on an error
  • Learn how to step backwards to a previous statement (not all debuggers do this but it’s a useful feature)
  • Learn how to change code while you’re debugging

Knowing how to use a debugger is an incredibly valuable skill. It’s seems a given that as a developer you would learn to use and use a debugger as an integral part of your development, but all too often though when asked ‘why is this code not working’, if you ask ‘have you stepped through in a debugger to see why it’s not working?’ the answer is ‘no’.

Learn to use your debugger!

TenFourFox FPR32 will be the last release (Firefox for G4 and G5 Power Macs)

Sad to read today that the upcoming FPR32 release of TenFourFox, a browser built to run on older PowerPC G4 and G5 Macs, will no longer be developed.

I run TenFourFox on both a Power Mac G4 Quicksilver 2002 and a Power Mac G5, and have enjoyed having this option of a current browser that still runs and is able to access most modern websites on these older machines. Given that TenFourFox is developed and maintained by a single developer for free, it’s really nothing but outstanding that we’ve been able to enjoy having the option of running a modern browser on these aging machines.

Overnight Navtex reception on 518 khz 3/24/21 – 3/25/21

After the success of getting my first couple of successful Navtex decodes a couple of days back, I left my PC, SDRPlay and YAND running overnight to see what I’d receive from different stations during the night.

Checking this morning, I got several messages from a number of different stations. Around midnight I was receiving from the Cambria station in Los Angeles. Over the following couple of hours I received transmissions from almost all the West coast stations.

Each message starts with ZCZC (referring to the Navtex page on Wikipedia here), then the next character (B1 field) is the station identifier. Stations are listed on the Station List page here, but there’s also a useful table in this doc covering all Maritime communications which is an interesting read:

This doc also has a map showing the location of each of the US and Canadian stations:

Here’s the messages I received overnight, from Cambria, Point Reyes, Astoria, and Tofino stations:

Cambria, Los Angeles – Station ID = Q

Astoria, OR, station ID = W :

Point Reyes / SF, station ID = C :

Tofino, Vancouver Island, Station ID = H :

This one is interesting, a warning re. a sub-surface scientific platform west of Vancouver Island:

Warning re. COVID-19 pandemic:

Astoria, OR, Station ID = W :

This one is interesting, Whidbey Island small arms safety warning:

Receiving Navtex on 518khz

First time receiving some Navtext on 518 khz.

03/25/21 06:51UTC using an SDRPlay with an MLA-30+ loop and decoded with YAND.

I’m assuming looking at the schedule this was from the Cambria station near LA. The Character ‘Q’ in the B1 data field seems to confirm that.