Laser Cutter Kerf Gauge

While I was in Michigan over the past week, I got to play with i3 Detroit's new laser cutter (affectionately known as "Bumblebee"). When my friend Roger showed me how to use it, he mentioned that the laser cuts away part of the material, so the finished part will be slightly smaller than it is in the file. This lost material is called the "kerf" of the laser. To complicate matters, the size of the kerf depends on the material being used, and the power settings of the laser. So I thought there would be no better way to acquaint myself with Bumblebee than to measure its kerf.

The most obvious way to measure the kerf is to cut a slot and measure it with a thickness gauge, but we didn't have one. I found a few tutorials online for other ways to measure the kerf. This post on the adafruit blog shows how to measure the kerf by averaging over 10 cuts for greater precision, but still requires a thickness gauge. This instructable shows how to create a 1 inch square test piece that measures the kerf of a single cut with a thickness gauge or caliper. Then I came across another method that let's you measure the kerf without any gauges! I decided to find a way to get the best of both worlds: measuring the kerf over an average of several cuts, without needing a thickness gauge or caliper.

The result was this Kerf Taper Gauge. You simply cut the pattern with your desired material and settings, and drop the gauge through the hole in the tab. When the tapered gauge fits snugly, the taper of the gauge exactly compensates for the kerf, and you can read it off the label on the gauge. The measurement is averaged over 4 cuts: each side of the gauge and each side of the hole.

Next step: find a good way to correct for the kerf...

(Photo credit: Eric Merrill)


On Hackerspaces and Inclusion

TL;DR: Inclusion and diversity need to become core hackerspace values. When our spaces lack diversity, we should accept responsibility and take action, not make excuses. A little effort can go a long way.

Everyone running a hackerspace should be thinking about inclusion. There are a few interrelated issues that I keep seeing come up in the hacker/maker/DIY community, and I feel obligated to help give them some of the attention they deserve. Some spaces are doing a really great job at fostering inclusion and diversity, but these values are not yet widely accepted as part of hackerspace culture, and they need to be.

We should care about diversity. All too often, when I talk to members of the hackerspace community about diversity, I'm asked why it matters, or even told outright that encouraging diversity isn't worth the effort. In defense of my fellow hackers, they are also usually quite open to reconsidering their position when presented with good reasons. The reasons fall into two categories: practical, and idealogical.

The practical importance of diversity is simple. Hackerspaces are made of people, and the more awesome people you include, the more awesome your space will be. Diversity doesn't mean, as some might think, lowering the bar for members. It means not pushing away potentially valuable members for silly reasons. It means including everyone who has something to contribute, especially if it's different from what current members are contributing. It means opening up spaces to new socioeconomic groups who will tell you how to make your space relevant to a wider audience, and as a result more stable and sustainable.

But for me, the idealogical importance of diversity is even stronger. The hackerspace movement is about removing artificial technological barriers and using self-education and peer-education to reclaim the ability to make our world. If we leave people out for no reason other than their gender, skin-color, income, etc. then we are the ones placing artificial barriers and hoarding knowledge for our personal and selfish gain. Then we are hypocrites, and doomed to sabotage our ideals.

We have to accept responsibility and promote diversity and inclusion. Another common belief in the hackerspace community is that if we aren't actively discriminating against or excluding people, then there's no problem. But building an inclusive community takes more than that. Demographics are naturally self-reinforcing. Word-of-mouth travels through our social networks, made of people who are likely to share our demographics. When we teach workshops or hold events that are relevant to us, they are most likely to be relevant to an audience who shares our demographic. And there's nothing wrong with that, as long as we acknowledge and correct for it. When you're new to a group it's easy to feel like an outsider, especially if you perceive yourself as somehow different from the group's majority demographic. On top of that, members sometimes unknowingly say or do things that push people away because, through no fault of their own, they've never had to consider different perspectives.

A common response to the gender imbalance in hackerspaces is "Women aren't interested in what we do here." But on closer inspection this is just the "No True Scotsman" fallacy. In effect, it says "We [men] are True Hackers. If you are interested in something we are not interested in, you are not a true hacker and don't belong." To illustrate this point, ask yourself whether a clothes modding workshop or a Starcraft LAN party is more in line with the mission of a typical hackerspace. Then ask yourself which is likely to be better received.

The bottom line of resistance to making a hackerspace more inclusive is often "We don't want to change anything, we like things the way they are." That's a perfectly natural human response, but if it dominates your thinking, you don't have a hackerspace, you have a country club with Arduinos.

What we can do. Luckily, being inclusive is actually not that hard! At i3 Detroit, where I was a co-founder and board member for several years, inclusion was always one of my priorities, and I got a good sense of what works and what doesn't.

Just being actively welcoming to newcomers goes a long way. It doesn't need to be anything complicated, just saying hi, introducing yourself, and asking if they have any questions or if they'd like a tour. Sometimes that's a distraction to members who are in the middle of a project, but specifying best times for newcomers to visit, and a standard onboarding process can make it a lot easier. This is one reason I've never liked the idea of new members requiring a sponsor. Instead I like the idea of accepting anyone who shows interest and offering them a mentor to help integrate them into the group.

It's also crucial to create a safe and welcoming environment. That means having a sensible code of conduct and/or harassment policy. The policy should make it clear that if you're uncomfortable it's ok to voice your concern, and that someone trustworthy will listen, without judgment, and work to restore a safe environment.

Another key is being open-minded about what activities fit into your hackerspace's mission. If you give people the benefit of the doubt, you allow your space to grow beyond what you can currently imagine, and encourage people to push limits and take ownership in the space.

Finally, having a way to include students and other low-income members is important. A guest policy is one way to do that. Tiered memberships are another. A lot of spaces have "starving hacker" rates. At i3, we have two membership levels that are effectively the same, but a good number of people choose to step up to the higher level when they're able. Offering "scholarships" or no-fee memberships for those in financial need can also help. Even if they don't have a lot of money to spend on materials, those members may have awesome skills to share, and may be valuable contributors to group projects. And of course, members often grow through their involvement in hackerspaces. At i3, we had a "founding guest" who helped build the space even though he couldn't afford membership. Four years later, he's now a director and dues-paying member.

The hardest part of inclusivity is realizing that we can't see what's missing, that we have to actively seek it out. The rest is not that hard at all. Once we do that, our spaces benefit from a broader and more diverse membership, and more ties to the community. Some spaces are great at inclusivity, but as a community we still have a ways to go.

If you're part of a hackerspace, is this something your space talks about? What types of things do you do to foster inclusion and diversity? What works? What doesn't?

Mind Flame: Maker Faire Detroit 2012

For Maker Faire Detroit this year, I collaborated with Matt Oehrlein to build MindFlame, a mind-controlled flame effect game.

MindFlame uses commercial EEG headsets from NeuroSky to read the brain waves of two contestants. The signal is sent to an arduino, which can determine (more or less) how hard the contestants are focusing. When a contestant focuses hard enough, the arduino activates a solenoid, releasing a burst of propane past a glowfly ignitor, causing a giant burst of flame. The goal was to be the first person to get to four bursts of flame.

This project was tons of fun, and collaborating with Matt was great because we had twice as much time and resources to throw at the project, and I think the end result was much more impressive than we could have done individually. Plus, controlling fire with your mind is just awesome. Josh “Bacon” McAninch (from the Gon KiRin project) helped us with the flame effects, and Maddy "Brodi3" Winans helped us design and decorate the apparatus.

(Photo by Doyle S. Huge)

Mystic Rose Generator

Here's yet another geometric math/art/code thing. It's a javascript-based Mystic Rose Generator. What's a mystic rose? Draw a circle with n evenly spaced points on it and draw a line connecting each point to all the others.

Carabiner Keychain Mod

In order to stop losing keys off my carabiner when I unclipped it from my belt, I modded it with some heat shrink tubing. The process is documented on this instructable


FlakePad - Maker Faire Detroit 2011

I wanted to do something interactive for Maker Faire last year. I had been drawing my PenFlakes, and thought it would be cool if people could design their own and print them out. So I created FlakePad, a javascript/HTML5 web app that enforces the basic symmetry of a snowflake, and provides a hexagonal grid to work off of.

Aside from being a great way to get my hands dirty with HTML5, the most interesting part of the app was creating the hexagonal grid. I wound up learning about and utilizing Isometric Cubic Coordinates. These coordinates provide an amazingly simple way to label hexagons on a grid, as well as a relatively simple transformation to and from standard Cartesian Coordinates. The basic trick is to recognize that a hexagonal grid, can be seen as a projection of a 3D arrangement of cubes centered on the plane x+y+z=0 (imagine Q*bert, the old NES game).


For one year, starting on May 5, 2011, I sat down with a pen and paper every single day and drew a black-and-white geometric design with sixfold dihedral symmetry, AKA a snowflake. The finished designs can be seen at

I've always been fascinated by the physics and mathematics of snowflakes. Water molecules tend to line up along a hexagonal grid when they crystalize. This grid results from a combination of 1. the hydrogen bonds that hold the molecules together, 2. the angle between the two hydrogen atoms being close to the angle of a hexagon vertex, and 3. hexagons being one of the few regular polygons that tessellate. If water didn't exhibit hydrogen bonding, or if the angle of the water molecule was much different, snowflakes as we know them wouldn't exist. To me, this happy coincidence of math and physics is just as beautiful, if not more beautiful than the resulting patterns.

So when, one day in 2011, I saw an 8-sided snowflake decoration while out to lunch with some friends, I couldn't help but explain how such a design completely missed the deeper beauty of a real six-sided snowflake. With snowflakes on my mind, and as a chronic doodler (a habit rekindled in part by the amazing Doodling in Math Class videos), it was just a matter of time before I started doodling increasingly complex snowflakes. Intrigued by the possibilities, I started drawing one every day.

Snowflakes are also known for their clichéd uniqueness, which is intimately related to imperfection. This is in stark contrast to the trivially reproducible, and arbitrarily fine precision offered by the emergence of digital media. The opportunity for infinitely reproducible digital perfection certainly creates value in our lives, but it can also detract if we aren't careful. For example, sharing photos on Google+ or Facebook can add immense social value, but it can also detract if we forget the value of living in the unique, irreproducible, real-world moments those photos represent. So although it would have been easy to create perfect snowflake designs with digital vector graphics, I chose to use old fashioned pen and paper instead. Each drawing is on a piece of paper that I held in my hands, and spent about an hour drawing a pen across, influenced by whatever events happend in my life that day. I also decided to do the project for exactly one year so that each drawing represented exactly one day of the year.

As for technical details, I used a hexagonal grid generated by the Incompetech Graph Paper Generator, and took much inspiration from this book of snowflake photography by Kenneth Libbrecht.

Sleep Hacks - Penguicon2012

I gave a talk on sleep and how to hack your sleep habits at Penguicon 2012. Here's a PDF of the talk outline: Sleep Hacks.pdf.

Prime Generated Guitar Music

Here's an old experimental, mathy, music piece I did with Hobert Europe back in like 2003. It's based on the cicada principle, although I didn't know there was a name for it at the time. It's 4 short guitar loops, each a different prime number of beats (or maybe it was measures). Because we used primes, it goes on for quite sometime without any repetition. The whole thing would naturally repeat after the last measure.

Seltzer CRM

Over the past couple years, I've been developing a Customer Relationship Management app (CRM) for hackerspaces, and it's now ready to release into the wild! Meet Seltzer CRM!

Seltzer CRM is an open source (GPL) CRM web app for hackerspaces. It's based on the LAMP stack, and has been in use at i3 Detroit for a couple years, growing with us to our current level of 75 members.

There are plenty of CRMs out there already, and even some open source ones, but all of the ones I've come across are rather complicated and have a learning curve before people can use them productively. Seltzer CRM is built around two goals: 1. Be significantly useful to the average hackerspace administrator without any training; 2. Be easy for a typical hackerspace web dev to hack on and extend.

The current features are:

  • Track member contact info
  • Track current and historical membership levels
  • Track keycard info
  • Provide attendance and voting sheets

You can try a demo here: (user: admin, pass: beexcellent)

And the code is on github: