The Clever Monkey

Update Roundup Clip Show

I authored an entry on my new camera, but ated it. Anyway, I recently got a sweet deal on a Pentax Q-S1, so I went for it. I’ll probably talk about this more in the future, once I’ve had a chance to play with it more.

It feels like years ago, but I pre-orderd a Tessel 2 when it was announced. I had a very specific idea of what I wanted to do with it, but now I can’t remember what that was. For now, I’ll add it to the list of embedded devices. I’m sure I’ll talk more about that in the future.

I’m also pretty sure I’m about to get an oscilloscope so I can finish trying to fix the TRS-80 Model 100 basketcase I have. No sense in letting the beautiful pleather slip-case go to waste. I even have a perfectly capable cassette player ready to CLOAD some BASIC goodness into it once it’s running again.

All this and more, I promise. Thought, right now I’m immersed in some for-pay C++ hacking. Because, for some reason, I keep getting hired as a Java or Lua coder and end up hacking on C++. All I’ve learned to date is that header files are weird, structs are weirder, and new is evil.

clvrmnky, out.

National Girls Learning Code Day

There was a local Twitter call-out for “mentors” to assist with teaching girls, age 8-13, in learning HTML and CSS for National Girls Learning Code Day. So, I thought, “why not”, and volunteered my time; now it looks like I’m showing up at 10AM tomorrow to act as a sort of web coding expert.

There was a brief moment when I panicked about my spotty HTML and CSS experience, and started to plan a crash course review of HTML 5 and CSS selectors and…

Ruby Tuesday

On Monday I had a meeting, and today (Tuesday) I blew the space-dust off of my copy off of the Pick-axe Book and, Crom save me, re-re-reinstalled Ruby On Rails on my lappy.

These two things are tangentially related, of course, and this will be discussed in a follow-up. But, since I’m in a mood to Learn All The Languages, I may as well refresh my L33t Ruby Skillz while I’m at it.

Wherein the Author Attempts to not Learn Python

I recently ran across an article discussing strategies for learning a new computer language (while still having a life) that was both inspiring and a little depressing. I agree that success at something as mushy and large as “learn a new computer language” is best approached as a “series of little wins”.

Inspiring, because I recognized many of the techniques the authors uses to bootstrap learning a new language: we both have a similar approach, where we grok enough of the docs and READMES to get a purchase, and build from there. This can be a very good way of iteratively building up a new skill while side-stepping information overload. Experience has taught me that I do not do well trying to sip from a firehose, and I’m at my best taking the smallest sips.

In Cupertino, Laptop Replaces You

It occurs to me that this 2007 MacBook Pro I’m using is on its second motherboard, its third battery, its third hard drive, its second charger, and its second set of memory sticks.

Now I want to keep it alive long enough to replace all the fans and reseat the heatsinks. I’ll be tempted to replace the capacitors as they start to dry out and fail, too.

A Nice Piece of Kit

So, apparently Heathkit lives again, which creates such a feeling of must-have nostalgia for me, it’s hard to convince myself not to buy this TRF AM radio right now.

Yes, an AM radio. Using tuned radio-frequency circuits instead of PLLs or microprocessors. I imagine for many people, the notion that one could spend US$150 on an AM radio is simply insane. Which, of course, it totally is. But this is as much a statement of art as much as it is a piece of technology. Well, for some definitions of art.

Once I get my Amateur Radio license I’ll be equally tempted if they re-release their famous classic QRP transceiver (or I can find a vintage kit in good repair). Ditto, if they re-release any of the equally famous valve radio kits.

But the thing that really got my attention is a little gem of an air variable capacitor. Good grief, an air variable cap with reduction gears and bearings like it’s 1963? Given how rare such things are, I’m not at all surprised that Heathkit is selling them separately. I’m only a little confused why they don’t share the range of values this capacitor covers, though for US$20 I suppose one would simply adjust they rest of the circuit to match.

It’ll be interesting to see if Heathkit can make a go of it selling objects of nostalgic desire in this manner.

Via Hackaday.

Backups are for the Weak

Well, I just went through all my old PATA drives looking for the MySQL dump from an earlier incarnation of this blog, and it appears that the data is well and truly gone forever. I made a backup image of a candidate drive, which was very lucky: the heads crashed hard whilst I was running TestDisk on it.

But I’m not really able to make sense of the image anyway. It looks like this IBM drive is from my original OS X/Mac OS box that I bought nearly 15 years ago. At some point I put it in a FireWire (remember that?) enclosure as a bootable Mac OS drive (when Apple still supported that) so I could play Alpha Centauri, and from there it ended up as an OpenBSD backup drive. So, most partition-level tools see a complete mess of HFS and DOS partitions containing a hodge-podge of duplicate HFS+, NTFS, and FFS filesystems.

It’s an intractible mess, or at least enough of a mess the rewards are not worth the effort. Just use the Internet Wayback Machine if you want to see how much I used to swear on my blog. (Hint: a lot.)

I suppose I did become an instant expert in Linux partition and filesystem tools. I still think the best solution to data loss is to not make data you are afraid to lose.

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.