Gitpod, Java Approvals, and the Gilded Rose Kata

The Gilded Rose is a really interesting one for exploring techniques to work with legacy code. It’s simple enough to make progress in an hour, but complex enough to be tricky. GitPod is a cloud based development environment. It uses VSCode as the editor, either in the browser or through an extension in your desktop VSCode. It is really nice for ensemble programming on kata’s because it seems to work reasonably well with multiple people in the same workspace while providing some level of editor and refactoring support. [Read More]

Hacky SQLCipher WASM Build

Here’s a hacky start to building SQLCipher for WASM. What makes it hacky? Assumes latest emscripten only Hard coded openssl location OpenSSL flags and files added in random locations mlock/munlock code commented out Work remaining to make it less hacky: autoconf flags to enable configuring OpenSSL flags and files and replacing hard coded stuff allow variations on emscripten version and required flags use a #ifdef around the mlock/unlock stuff instead of commenting it out completely, or replace it with something else if possible If you attempt to follow these instructions, you will have to update all of the paths here and in the SQLCipher code yourself. [Read More]

2021 06 13 Code Retreat

June 2021 Week Long Code Retreat Last week I attended a code retreat during my lunch breaks. It was a really good experience, and I think I preferred it to a full day code retreat, which can get pretty exhausting by the end of the day. I’ve done a few code retreats now using tools like Anydesk, cyber-dojo, and Visual Studio Code Live Share, but in thinking about how I might introduce ensemble programming at work to use on a production code base, I think something that allows each person to use their own familiar tools would be best. [Read More]

MDIC Threat Modelling Bootcamp

A few weeks ago I attended a medical device threat modeling bootcamp put on by MDIC / MITRE / FDA / Shostack & Associates. Shostack & Associates is lead by Adam Shostack, who literally wrote the book on threat modeling. I learned a lot from his various papers, blog posts, videos, and the small part of the book I managed to read while I was setting up a Product Security Risk Process for my employer, so I was pretty excited to get to do some of his training. [Read More]

Setting up a new Raspberry Pi

So, you’ve downloaded Raspbian, put it on a SD card, maybe with Etcher. What’s next? You have a few things on hand: USB keyboard USB mouse HDMI monitor mini USB power supply Hook it all up. When you plug in the power it should boot up. Log in as pi, with the password raspberry. It’s running, but the keyboard doesn’t work quite right, some of the keys produce different characters than you expect. [Read More]

Setting up an Elm Project using Docker

I didn’t get into containers when they first came out. I didn’t get the hype. Now I’m finally learning about uses for them, and one use case I really like is for isolating development environments. For Elm, I have a number of small projects. I want to be able to use a particular version of Elm with each project. If I install Elm system wide on my computer, which is the default way of doing it, I have to upgrade each project if I come back to work on it. [Read More]

Steam Family Sharing on macOS

It’s good to give everyone in the family their own OS level account. Helps keep things nice and separate, reduce risk of the kids trashing your files, and for Steam, it avoids having to enter your password and Steam guard code every time you what to change who is playing. Unfortunately, Steam is a little finicky on macOS, because games are installed in each user’s home directory by default, under ~/Library/Application Support/Steam. [Read More]