Living in Germany: Converting a Driver's License

I don’t ever plan to drive in Germany. The public transit here is amazing, and in 7 months of living here, I haven’t once wished I had a car. But there are some things one can’t do by public transit (like moving furniture or appliances). I will eventually have to do those and would like to have the flexibility to drive if needed. So I want to keep my ability to drive, which means converting my US license to a German one.

As it turns out, Massachusetts (where I lived before moving) is one of 11 US states that have full reciprocity with Germany. That means that converting my MA license to a German one should be a matter of just some paperwork. This page is the list of countries and states which can be converted into German driver’s licenses, and whether or not the theoretical or practical tests must be done.

So… How does one actually do this?

There are many articles out there promising to tell you step-by-step how to convert a driver’s license. Many …

Continue reading

I'm moving to Germany!

I’m moving to Germany in March! I took a position as a researcher at HLRS (in Stuttgart, Germany), where I’ll be working primarily on SODALITE.

I’m really excited about this for a number of reasons. The largest is simply that I miss being in a research environment. I miss being around people thinking about big problems in a variety of ways, just for the fun of thinking about them. Over the last few years, I’ve published two papers, been issued a patent, and spoken at three conferences. Only one paper and one speaking event were through work and that was a rather unique opportunity. I find the process of starting with a problem and building up a novel and unique solution to be really fulfilling. If engineering is the process of building things, research is the process of proving things can be built. And it turns out I enjoy both parts and am most fulfilled when doing some of both.

This does mean leaving HPE/Cray. I’ve been there six years and worked on 3 …

Continue reading

I Finally Finished King's Quest 6!

Well, tonight, I did it. I finished King’s Quest 6! A feat 25 years in the making, at least for me.

I used to play this game at my grandparents’, on my grandfather’s computer. We’d sit for hours just poking things on the screen. It was probably 1995, we were all between 3 and 7 years old and - in the manner of children - not so much actually trying to progress in the game so much as entertaining ourselves. We probably killed poor Alexander several hundred times by having him jump into the sea. (When I told my mom I was playing the game again, that was all she recalled of the game!)

This year, after seeing an article at the wonderful Obscuratory that mentioned it (probably this one), I picked up a copy. And now I’ve finished it, though I did miss a few points (I think I didn’t save after tugging on the loose thread of the Black Widow’s web…). It holds up remarkably well and was quite fun to play, even if some of the mechanics feel a …

Continue reading

The Post of Shame

So this site has been down since at least July 9, 2019 (according to my email). And the reasons were pretty simple – and dumb. This post is going to be a sort of post-mortem on why it failed and what the fixes were. And (hopefully) it’ll include some lessons learned.

About the Site

This site runs on apache2 on a debian-stable server. The underlying site is written in Django. The entire site is supposed to be self-maintaining. This happens via a combination of Debian’s unattentded-upgrades capabilities and a homebrew django-autoupdate script. Django, in turn, is backed by a MySQL database.

In order to be able to cleanly attempt upgrades,

So What Happened?

Simply put, Debian Buster released (on July 6, 2019) and I wasn’t prepared. This release upgraded python. Normally that’s not a big issue. Except that I had hard-coded the python version in the site configuration file:

<IfModule mod_ssl.c>  
    <VirtualHost *:443>  
        ServerName …
Continue reading

Metalcasting by 3D Printer

Starting at the End

I used 3D printing to create a pendant for a friend.  The steps I took are below.  However, I’m so excited about the end product that I wanted to start by showing it off.

Picture of the finished pendant

The Adventure Begins

On a whim, I asked a friend to give me an idea for something to 3D print.  She’s a huge fan of Garth Nix’s Abhorsen series and admires the Clayr.  She suggested creating a pendant based on their sigil.  After a couple hours work, I had this:

From here, I started thinking about how nice it would be to have this in metal - to make it into a proper pendant that she could wear.  After quite a bit of looking online, I settled on trying to cast it in a low-melting point alloy.  These are usually used in thermal fail-safes in industrial machinery, rapid prototyping or die-casting.

Many of these alloys contain lead - obviously an issue for something that is to be worn.  The most prominent non-toxic option is Field’s Metal.  However, that stuff is EXPENSIVE. …

Continue reading

Booting Gentoo from LVM in RAID

I run Gentoo Linux on my personal servers, including my RAID server.  (I have a dedicated server for raid and file dumps.  What, you don’t?).  When I first set this machine up 2-3 years ago, I gave it a single HDD (yes, spinning iron!) to boot from.  At the time, my rationale was “hey, if it dies, the RAID is intact, I just have to rebuild the system”.  Now, I’m changing from having several home directories scattered over all my machines to keeping a unified home directory in AFS.  This means that my RAID is suddenly critical - it goes away and I loose access to my files.  For various reasons, I chose to do this install as a mostly-from-scratch - primarily after three years, spanning the linux 2.6 to 3.x kernel change, quite a lot of useless, outdated or just dead config has built up.

In these instructions, we assume that you wish to set up a bios-booting machine, using GPT partition tables, mdadm software raid, lvm volume management, and grub2.  We also assume …

Continue reading

The 9/11 Commission is Massively, Completely and Catastrophically Wrong

Note from Steve (April 3, 2022): I’m leaving this up because it’s a thing I wrote once upon a time. In the intervening 7.5 years, some of my opinions have shifted. Some haven’t. And frankly I’m not sure about some of my textual interpretation here anymore. A post like this is best left to experts - not some 23-year-old.

I still think “hacking back” is a terrible idea, but we’ve managed not to have a cyberattack turn into a shooting war. Much the opposite – we’re now seeing that overt and offensive cyberattacks can sometimes be components of shooting wars.

On the other hand, I now come down on the opposite side on liability. At this point, it’s better companies can disclose attacks so they can be mitigated and consumers can react appropriately. We’ve also seen that in cases of actual/gross negligence, there is still liability. Also, market forces still incentivize protecting consumer information.

Anyway, the original post …

Continue reading

New software - GCode splitter!

Over the last few months, I’ve been silent as I transitioned from the life of a student to the life of a professional.  But!  I have finished that transition (for the most part) and am now back.  I even bring new software with me.

This new software (which has the rather uncreative name “gcode splitter”) is a utility for use in 3D printing.  I have acquired a 3D printer for me to experiment with.  The printer I own has one printhead.  However, many of my designs require two or more materials.  (I’m using a lot of “exotics”, like conductive or flexible plastics).  It occurred to me that as long as the two materials never shared a layer (or only shared one layer at the interface), I could split the print into parts, change the plastic between prints and thereby end up with multi-material objects.

The code is available on my github.  The utility has fairly simple inputs - it takes a (specially formatted) gcode file, followed by the locations in which the …

Continue reading

Extruding Silhouettes for 3D Printing with Inkscape and OpenSCAD

I recently found myself in a position where I wanted to extrude a logo so I could 3D print it.  Unfortunately, this is a pretty difficult process to figure out without instructions.  Therefore, I decided to document it.  This process assumes you’re starting with a pixel-based image (bitmap, jpg, etc).  If instead you have a vector graphic (SVG, etc) you should be able to do this by starting at the export step.

Software Used

  • Inkscape 0.48.4-r9939 (latest through Debian testing as of time of writing)
  • OpenSCAD 2013.06.09 (Also Debian-testing latest)
  • A Debian-testing system (though this shouldn’t matter)

Process

As the highest level we need to accomplish three steps:

  1. Convert the pixel (bitmap) image to a vector graphic
  2. Export the vector graphic in a format OpenSCAD will use
  3. Extrude it in OpenSCAD

The last step is documented solely because there are a number of little details which can totally stop this process from working if you don’t get them exactly correct. …

Continue reading

Defense Distributed versus the US Government

In my last entry, I mentioned that the United States Department of Defense had requested Defense Distributed remove the plans for their 3D printed firearm from the internet.  I also mentioned that I believed this was Defense Distributed getting the legal fight it had been spoiling for.

Eating my Words

However, I believe I have to eat my words.  It has now been more than a month since the USDoD requested the plans be removed form the internet and there has been no response (other than compliance) from Defense Distributed.  In my mind, this is indicative of Defense Distributed scrambling to find a response or believing they have achieved their goal.  If Defense Distributed had anticipated that they would be targeted using export laws, I believe they would have already responded.

My basis for analyzing Defense Distributed’s actions is a lawyer friend of mine.  I have seen him repeatedly take on laws he doesn’t like, believes are unjust or poorly written.  His typical …

Continue reading