I ran my first 5K this weekend!

5k run

It was surprisingly a lot of fun.

Running with other people is soo much better than running along, and totally motivates you to run faster.

I finished around 30 minutes and feel pretty great.


I’ve been playing kickball every Wednesday.


We’re in a kickball league competing with other companies.

Despite being completely not into sports as a kid, I actually really like adult kickball.

I get to hang out with coworkers that I don’t usually get to hang out with, and everyone’s really friendly.

It’s great!


3D printed with plastic and conductive silver on the Voxel8 Development Kit


Designed with Blender

Screen Shot 2016-06-17 at 10.26.32 AM

For a while now, Harry has been trying to get me to 3D print a light up Ralph, the mascot of Thoughtbot. While folks have 3D printed Ralph before, they didn’t have access to printers that can print conductive traces. Luckily, I work for Voxel8, a company the makes 3D printers that specializes in printing electronic devices.

I used the Voxel8 Development Kit to print Ralph.

For modeling, I turned an SVG of Ralph into a 3D model via Blender. Then I used Curves to create the traces. That’s it! It’s really awesome that Voxel8’s slicer, Euclid, is smart enough at path planning that I didn’t have to manually create tracks for the silver to sit in.

Design and printing took about an hour each. Once Ralph came off the printer, all I needed was an LED and a battery, and viola!


This Ralph was printed in a single try. If I spent a little more time, I could’ve improved the design and print quality, but I’m kinda lazy.

Anyhoo, there you have it, a light up Ralph!

Much like how you should use a csv library to generate csv files, you should use a library to generate GenBank files.

In Python, you can use Biopython!

Here’s a small recipe you get to started. It creates a GenBank from a sequence, and even includes an annotation.

from Bio import SeqIO
from Bio.Seq import Seq
from Bio.SeqRecord import SeqRecord
from Bio.Alphabet import IUPAC
from Bio.SeqFeature import SeqFeature, FeatureLocation

# Create a sequence
sequence_string = "ggggaaaattttaaaaccccaaaa"
sequence_object = Seq(sequence_string, IUPAC.unambiguous_dna)

# Create a record
record = SeqRecord(sequence_object,
                   id='123456789', # random accession number
                   description='An example GenBank file generated by BioPython')

# Add annotation
feature = SeqFeature(FeatureLocation(start=3, end=12), type='misc_feature')

# Save as GenBank file
output_file = open('example.gb', 'w')
SeqIO.write(record, output_file, 'genbank')

The output:

LOCUS       Example                   24 bp    DNA              UNK 01-JAN-1980
DEFINITION  An example GenBank file generated by BioPython
ACCESSION   123456789
VERSION     123456789
SOURCE      .
FEATURES             Location/Qualifiers
     misc_feature    4..12
        1 ggggaaaatt ttaaaacccc aaaa

Check out the really good Biopython documentation for more details!