An Office Tour in Pieces

  • August 27, 2023

I’ve been experimenting as a TikTok (and YouTube Shorts) creator. Let me explain. I recently shot a home office tour (thanks to my daughter Molly who was my camera operator) but when I started to edit it I just didn’t love it. I might still release it, but what I was inspired to do instead was to make a bunch of little videos showing off one specific thing in my office rather than a long video going over everything at a high level.

Read More

Egg.js Hits 1,500 GitHub Stars

  • July 18, 2023

I love putting easter eggs in the applications I write, and years ago I wrote the Egg.js javascript library to make that easier. My little silly library is used around the globe and it has 1,500 stars on GitHub!

Anyway, here’s a video I made about it.


I Made an Arcade Cabinet

  • May 4, 2023

As a kid in the 80s and 90s there were a few things that you could see in a friend’s house that would immediately impress you. Examples would be, a second fridge, usually in the garage, one of those big projection TVs, or, and this is the big one, a full stand-up arcade cabinet.

Read More

Someone Made a Hackers DVD Robot

  • April 24, 2023

It’s common knowledge that I love the movie “Hackers” and if you haven’t seen it you should…and in the meantime, you might not find the post all that interesting.

For the rest of us: Someone made a tape robot that works the same way as it does in the movie scene where Zero Cool is fighting with Acid Burn over the local TV station!

To jog your memory, or for those weirdos that haven’t seen this masterpiece, here’s the scene from the movie:

Hackaday has a write up. Here’s a blurb:

The whole system is controlled by an ESP32 running FluidNC inside the robot as well as a handmade cyberdeck next to it that manages the overall process of loading and storing tapes. Although [Nathan] is currently using the robot for his streaming channel, he’s planning to also use it for digitizing part of his massive tape collection, which contains a few titles that were never released on newer formats.

On a related note, this scene from “Hackers” has always struck me as odd. Are we to believe that Acid Burn was OK with the racist guy that was on the channel until Zero Cool swapped him for “The Twilight Zone”? While hardly a big flaw in a movie with a lot of, let’s say “quirks,” bit that has always bugged me a bit.


AI Headshots Sorta Work

  • April 13, 2023

I gave AI headshots a try and it’s not bad. Some are quite good, but I’d call it a 7/10 over all. I made and attached a grid of the results, but I mixed in one real picture. Any guesses? The hardest part was that it required 10-20 selfies with different backgrounds and outfits, but since I don’t take a lot of selfies I had to run around my house finding backgrounds and changing clothes for 30 minutes to generate enough training data!

Read More

A Decade of Clojure at Studio71

  • March 30, 2023

What is Clojure and why did it fit for Studio71? Clojure is a programming language (a dialect of Lisp) that excels at concurrency and data processing. Clojure runs on top of Java so it’s runs in all of the places Java runs and can use all of the Java libraries already out there (hello, Google and AWS libraries!

Read More

Everything is a Remix: The Final Version

  • March 26, 2023

I’ve been a big fan of Kirby Ferguson’s work, and my fandom really started when Everything is Remix hit the web. A few days ago, Kirby uploaded this final updated version and announced that he will be stepping away from online filmmaking.

If you haven’t seen Everything is a Remix, find an hour to give it a go. It’s a fantastic study of an issue that seems to get every more important with ChatGPT remixing everything these days!


The macOS Privacy Settings Deleted My Backups

  • February 13, 2023

The other day I logged in to my NAS to find that all of my backed up media files were gone. No errors, the drives were fine, the directory was there, but the files were gone. Thankfully it wasn’t a freak out moment as I had my originals and my other backups, but it was a mystery.

Read More

The Cube Keyboard

  • February 11, 2023

Does your custom soldered, greased o-ring, mechanical keyboard not feel as hipster as it once did? I’ve got great news for you: The Cube Keyboard exists.

The bad news is that you can never set it down or it will roll over and type out > rm -rf /.


Building a Mastodon Client in to my Cyberpunk SSH App

  • February 3, 2023

Let me quickly get you up to speed: I wanted to build a website for my hacker projects, but instead of a website I ended up building an SSH app (because I’m weird). Basically, instead of visiting it in your web browser you have to open your terminal, run an SSH command, and then you use text commands to play with the application, read about my projects, etc.

Read More

Cybercrime Groups Offer Six-Figure Salaries

  • February 1, 2023

AJ Vicens, reporting at Cyperscoop, about the high salaries groups are using to lure skilled software developers in to a life of crime:

And just as the cybersecurity market is competing for the best talent, cybercriminals are also offering high salaries and perks to attract the best. Some ads boasted annual salaries as high as $1.2 million for the skilled hackers. […] According to new analysis from the cybersecurity firm Kaspersky, it appears that developers are the most sought after within the cybercrime ecosystem. […] Other in-demand positions included attack specialists, reverse engineers, testers, analysts, administrators and designers. Even the most sophisticated hacking crews still need help, the researchers said.

Another good reminder that software is software! No matter where or how it’s used, you still need the same process, support, and the ability to attract talent if you want to be “successful.”

Now, if you’ll excuse me, I need to finish polishing this other version of my resume. At this point there’s no one that can prove I wasn’t a high ranking lieutenant on the Silk Road, right?


Why Are Technical Interviews Still So Bad?!

  • January 19, 2023

Python for Engineers has a great post on how terrible technical interviews are for people on both sides of the table.

There is this idiotic myth online that the majority of programmers cannot program. That everyone else looking for a job is an idiot, and our job is to expose them, to teach them a lesson, to humiliate them till they quit.

Most programmers feel they are Gandalf holding back the darkness rather than just random people who happened to be on the other side of the interviewing table this time.

The average technical interview tends to be a terrible way to evaluate candidates. The setups don’t match the real world experience of coding and the interviewers are usually there because they are skilled at the technical aspects of that company, not because they are good at evaluating talent. Things have only gotten worse with COVID because now you have the same broken systems, but recruiters are freaking out that the hiring process is taking too long even though you’re hiring a well-paid scientist who will have the keys to your data.

The suggestions in this post are some of the same things I do after ~20 years of going through and conducting technical interviews. Here is my high-level plan of attack, but if I had to distill it down to a one-liner, it would be “Get them talking.”

  1. Talk about their resume. Let them walk through their work history.
  2. Give them a short problem to solve at home using whatever resource they want. The goal of this isn’t to take up a lot of their time, but a simple way to ensure that they can do the basics. You can learn a lot by looking at something someone worked on for a couple of hours.
  3. Ask them what their favorite thing they ever built was. Maybe it’s code, maybe it’s from work, maybe it was a personal project that was barely technical. Ask them why it was their favorite and what the biggest challenge was.
  4. Ask them about the hardest project they ever worked on. Why was it hard? How did they get through it?
  5. Ask them what they do when they finish a big project. How do you move on to the next thing?
  6. When they bring up new topics along the way, pause and go down that path for a bit before coming back to the primary thread.

After that do you know them completely? No, but if you can’t get a good sense of a person from a conversation like that you did it wrong. Don’t think of yourself as a host on a technology game show, think of yourself as a podcast interviewer with the primary question of “Do I want to work with this person on our list of projects?”