The Clever Monkey

You're Only Fooling a Few People Bringing Your Laptop to the Library

In an effort to remind myself how to focus after quite a lazy summer, I am at the wonderful new Central KPL stealing wi-fi and prepping for Java interviews. I’ve sort of taken the summer off, and while I’ve written and studied Java a little (taking a Java 8 lambda course, for example) I’ve been mostly learning Python or messing about with Linux, NQC, and LEGO.

(As an aside, how can people stand interfaces that whistle, chime, and others announce every single operation? There is a woman next to me who is using some tiny keyboard-and-ipad combination that is literally making a different noise on every keystroke.)

So, I’m out of practice thinking like a working Java coder.

This whole coding interview is a tricky thing, though. My feeling is that I don’t come across very well in such interviews, mostly because unless I’m in the moment looking at a specific problem, I forget exactly what I did, or how I went about it. I just don’t solve problems and approach algorithms like I was taught in class.

You're Not Fooling Anyone Bringing Your Laptop to the Coffee Shop

The nostalgic soundtrack at this coffee shop is strangely soothing.

I’m pretending to work while Robert Plant’s solo offerings give way to Boston’s “More than a Feeling” and then Van Halen’s “Panama”, and a crowd of nice slavic ladies raucously catch up at the same shared table. The ladies are also strangely soothing.

On _issing Dat_

My great hope of resurrecting some of my better posts from the old self-hosted may be fully dashed.

I cannot, for the life of me, find the backup of the MySQL database that powered that site, lo, those many years ago. I have a terrible feeling that I reused the drive to save @Carmen’s old Mac image when she got the new Air. (Which also means I may have purged the old site. Shhh. Don’t tell her.)

I have one even older drive to check, which requires the usual hoop-jumping because it is either Firewire (what now?) or PATA. But I’m thinking those bits are lost to the ages. My own personal Library of Alexandria, and I’m Caesar.

This mirrors a lot of how I seem to treat the information I’ve generated over the decades. In the past, I have deliberately purged notebooks full of writings in an effort to shed baggage and move on. But the old blog was different; it was always intended to be public. Personal, but very much intended for everyone to read (for better or for worse).

This is an unfortunately loss, if it is a loss. Perhaps I can salvage some of that from the Internet WayBack Machine? Honestly, I suspect only about 1% of the dataset I’m thinking of wants to be saved. It’s not like the world is missing another Socrates’ Rhetorics here.

Pithon Hacini

My daughter made a sign declaring when it is suitable for us to do some Python Hacking (“Pithon Hacini”):

Pithon Hacini

Living with a 5-year old is often an exercise in time-management, leading us to experiment with various go/no-go signs related to when we need to do some work, or when TV is off limits, and so on. It appears she has internalized this mode of communication.

We decided this ought to be commemorated as a cocktail of some sort, and it needed to be a classic 1920s martini, with a twist. Well, not a “twist” because that isn’t classic. Anyway, we give you…

The Dirty Hacktini

Combine ingredients in a shaker with ice. Pour into a cocktail glass and garnish with an olive, a pickled “Perl” onion, and a gherkin (or a pickled hot pepper).

Night of the Living Programmer

I’m not sure how I feel about today being Day of the Programmer. Perhaps because these days it feels more like Day of the Brogrammer or Night of the Living Programmer (perhaps depending on if your shop is Agile or not).

Maybe I’ll celebrate by showing up to one the Geek Week events this week. Tonight is something called HackerNest which refers to itself as a “tech social”. (I note that HackerNest is a very silly name, indeed, though I suppose silly names are very much part of programming culture.)

I’m not sold, yet, on any need to further discuss “tech” in this town, but perhaps I’ll be pleasantly surprised.


Embedded Device Zoo

While cleaning up my work area today I moved a bunch of electronics stuff around into different storage boxes. Since I had most of the turnkey embedded hobby systems out as part of that reorganization, I decided to take a photo of them.

Embedded Device Zoo

How to not Repair a Dinosaur

As I mentioned in a previous post I have a dinosaur of a TRS-80 Model 100 that I’m trying to bring back to life.

The symptoms:

Slightly Dead Model 100

It responds to power by setting all the LCD pixels on except for that weird half column. Reset doesn’t seem do anything.

Beware the Food Blogger

Well, if there is anything a TRS-80 Model I emulator can’t do, it’s make a nice dinner.

Actually, taking a look at the old Model I software available on sharing sites, I suspect there are several menu and cookery applications. Convergence is a bit of a bitch, no? We’ve been trying to pull-start that engine for a few decades now.


Apparently, there was a WUMPUS v2.0 for the TRS-80 Model I.


Two Great Tastes

There is a very interesting article about Agile methodologies as labour unions over at West Space Journal. I’m still making my way through it (it isn’t particularly long, but I’ve been… distracted) but I wanted to get some ideas down while they are fresh in my mind.

Retro-computing, the Last Refuge of the Scoundrel

Because I can’t seem to get enough of 1980s high-technology, I’ve decided to attempt to resurrect a TRS-80 Model-100 I inherited years ago. Unfortunately, I made a classic rookie mistake by not properly putting it back together the last time I looked at it, so now I may have misplaced all the hardware that keeps it together.

Web Design is Hard

I keep tinkering with the layout and style of this site because I can’t quite get what I want. I messed around with a few Jekyll site generators, and stole some ideas from other GitHub Pages, but I couldn’t quite get what I wanted.

I learned a lot from poking about in other GitHub Pages, but at the end of the day many of these even simple sites do a little too much; or they do too much I don’t understand. Like many people, I needed to bring up my site from scratch so I grokked as much as I needed to.

Learning Python Like a Five Year Old

I’ve been putting off learning Python for a few years now. In some double irony, someone I met on an IRC channel dedicated to Perl is a big fan, and has been prodding me to learn it for nearly as many years.

Recently, though, someone got my 5-year old daughter a classic Spirograph toy for her birthday, and she loves it. It got me to thinking that programming a version of Spirograph might be a neat project, and that led to me to old-school Logo turtle graphics, which led me to an O’Reilly webcast based on the book Teach Your Kids to Code. All roads lead to O’Reilly, I suppose.

Thoughts on a KIM-1 Emulator

So, nobody has really made a fully binary compatible KIM-1 software emulator.

KIM Uno KIM-on-an-Arduino project is really cool, and highly accessible. It does 96% of what needs to be done, even without hardware. The MAME/MESS mess is an approximation, but it doesn’t do single-stepping, which is pretty much the best thing about the KIM-1. And it really doesn’t behave like a KIM-1. I even found an old Palm III emulator that is actually pretty close, but it does not pass the acid test.

Is This Thing On?

While researching hosting a CMS (again) for @CarmenNave I ran across a very smart article about ditching the CMS model altogether for small personal sites.

Like many coders, I was in love with building a solution based on their pet technology (in my case, I wanted an excuse to make a Linux [well, DD-WRT], Lua, Lighttpd, SQLite thingy) but I also knew that I wanted something lighter weight and easier to maintain.

Well, what could be more lightweight than letting GitHub host static pages underpinned by Jekyll and decent templating? When I looked at Jekyll the first time I liked it, but I didn’t want to go down the road of hosting it locally if I had to build a front-end (I’m afraid of Javascript!) that was necessary for non-git-command-line-using folks.