Imagine this: You still use an RSS reader. Maybe it’s been set up for a decade or more, and today, in some small, disused corner, there is this post, from Lone Locust Productions.
I’m not kidding myself. The chances there are more than 5 people on the entire planet are slim, and those people have probably all forgotten that they were.
So, why now?
Partially, it’s my hubris. Let me explain.
Several times over the last few years, I’ve considered delving into iOS app development. Not because I have some brilliant idea for an app to make a fortune but because the challenge of adding another programming skillset to my arsenal amuses me.
And it is genuinely just about the amusement factor. Conservatively, I have programmed in at least 10-15 languages over the decades. I flatter myself into believing that if, as Apple says, “…some grandmother in China is a thriving app developer,” I shouldn’t have any problem, either.
I’m retired. I have time on my hands. As far as I can tell, the coding part of my brain hasn’t atrophied too much. This should have been a breeze.
But it has been anything but.
I have had several complete false starts, working my way through various books or online tutorials, and while I grok them, I have failed to apply them to anything productive.
That’s just how I am. In every prior programming language that I’ve learned, from FORTRAN to Java, I’ve had specific programs that I wanted (or needed) to write. With an objective in mind, I can thrash my way through any project and learn any needed skill along the way, but without a concrete objective, I drift and lose focus and drive.
Try though I might, I have failed to have an objective – until now.
About 12 months ago, I had to replace my beloved and somewhat ancient HP-28S calculator. I was mortified to learn that HP has gotten out of the “good” calculator game. Ceding the market to massively inferior Texas Instruments ones. (OK, it has been 40 years since I owned a TI calculator, but I don’t forgive or forget easily.)
Luckily, you could still buy the last of their flagship scientific calculators, the HP Prime, so I bought one.
About the same time, I got the habit of playing the Guardian’s Killer Sudoku puzzles.
Not sure what a Killer Sudoku puzzle is. They are not ordinary Sudoku puzzles that have a difficulty rating of “killer,” they are a different variation of Sudoku. The Guardian describes them thusly: “Normal sudoku rules apply, except the numbers in the cells contained within dotted lines add up to the figures in the corner. No number can be repeated within each shape formed by dotted lines.“
A lot of what you need to do in Killer Sudoku (KS) is to work out the possible combinations of digits (1-9) that will “…add up to the figures in the corner…” of the “…cells contained within the dotted lines.” (I call this a “cage.”) At the same time, digits and their placement must also comply with standard Sudoku rules, too.
I find the puzzles enjoyable, but, particularly when I was starting out I kept a sheet of paper that I had printed and laminated that listed all the possible combinations. It can certainly stuck, particularly on the larger cages.
Example: A cage with four cells that adds up to 14 has five different combinations. (1,2,3,8), (1,2,4,7), (1,2,5,6), (1,3,4,6), and (2,3,4,5)
It can also tell you other things in more oblique ways. In the example above, I can tell not only what might go in the cage, I also know what cannot – in that example, “9” cannot be present. This can help to figure out things outside the cage you’re looking at.
But there’s more you can do. In that same example, say you’ve figured out, through other means, that the cage cannot contain a “2.” If that were the case, the only possible combination that works is (1,3,4,6).
I thought to myself, “This is a programming problem, and I can do better than a paper list.” I had a nice shiny new programmable calculator, and I had an objective to work towards.
And so, as I’ve done many times in my life, I sat down and learned the HP PPL programming language and dashed off my Killer Sudoku Killer (as I then called it.)
It works well if I do say so myself. (And since I’m the only person who’s ever seen it, or ever likely to see it, you’ll have to take my word for it.)
Months later, I slap myself on the forehead and shout, “d’oh!” as I realize that I should have used the opportunity to learn to code for the iPhone instead.
I also realized it’s not too late, and so, in fact, I have ported it over to iOS, and that was an adventure of its own, which I will recount in a later post.
So back to the original question, “Why now?”
The answer to that and the related question, “Why here?” will have to wait for part 2 of this post. Stay tuned; it will happen.
I do still use an RSS reader. But you tooted before I’d checked it today…