Crafting, lased

Today’s Wooden Displays

Most of the last week has been spent prepping for a craft show, my first one in about two years. In order to get ready for the craft show, and also to attract some more wholesale clients, I’ve been working on some nice wooden display stands for Tinysaur.

Getting ready for Prime Time These are the displays I’m using for the upcoming show. They’re laser cut/etched wood. Each stand holds a different model Tinysaur. The stand on the far left is a prototype, hence its lack of a dinosaur etching.

Each display holds about 30 Tinysaurs. Each Tinysaur is contained in its own matchbook-style packaging. I plan on using these displays to transport the Tinysaurs, but more on that later.

Designing a display takes a while, and is an iterative process. The first time I cut one, I realized the front piece was too short, and had to make a new one. I also decided the runners on the sides were too short, it looked a little stumpy.  So I added two more inches to it. Which turned out to look a little ridiculously long.
Work in progress
When I took the first raster-etched stand out of the laser, I realized I’d made another mistake. I forgot to mirror the right-hand runner, so the dinosaur silhouettes ended up on the wrong side. Oops.

I also had to do some experimenting with the raster image of the dino that appears on the “flag.” The line drawings have a lot of thin lines, which tends to look sort of anemic when etched. I went into Photoshop and used a combination of filters to beef up the lines. You can see the difference in this picture.

Lastly there was the issue of transport. The flags that stick out of the top make it sort of unweildy to pack, and they’re also sort of fragile. Rather than risk them breaking off in transit, I made a second set of backs which are only as tall as the sides.
Raster close up
Then I drilled a few holes in each side of the stand. Since I want the backs to be removable, I don’t want to glue them on. Instead I’m going to run some elastic through the holes and around the back. That way I can switch the backs out easily, and they’re held in place by elastic.

I think the elastic will work OK, but it’s sort of fiddly. I think a beter option would be to use some small bolts to keep things in place. Something to think about for the next version.


Teaching Classes in New York

If anyone is in New York or the surrounding areas, I’m teaching some classes at NYC Resistor over the next month, hooray!

Needle Bed Learn To Use the Knitting Machine

Sunday, March 8, 1pm-3pm

Learn to knit on our super awesome knitting machines. The class will cover all the basic, troubleshooting, machine care, and how to shop for a machine of your own.

Beginning PHP

Saturday, Feb 21, 1pm-3pm

Learn the basics of PHP, one of the most popular languages for creating dynamic web pages and web applications. We’ll cover everything you’ll need to get your first script up and running, and where you can go from there.

Image Manipulation with PHP and GD

Sunday, March 15, 1pm-3pm

GD image libraries can be used with PHP to manipulate and create images on the fly in your web applications. Create thumbnails, crop images, draw graphs, and more from within your web application.

Small Object Photography

Saturday, March 28, 1pm-3pm

Learn how to take good photographs of small objects on a shoestring budget. You don’t need to spend a lot of money to take good photos of your projects / products / jewelry / etc. Learn about cameras, lighting, and make your own light tent.


Fun with Cardboard

I’ve been playing around with making boxes out of old boxes. I plan on using them to protect Tinysaurs during shipping.
Fun with cardboard

The design was done in QCAD, and inexpensive CAD program. I started using QCAD after I got frustrated with Corel Draw. QCAD has a steep-ish learning curve. Here’s what I did to get the irregular octagonal shape. Command-line commands are in italics:

  1. Make a rectangle to the desired exterior dimensions (3×2 in this case) linerectangle
  2. Bevel each corner (lengths 1 and 3 set to 0.33″) bevel [x 4]
  3. Round each vertex (radius 0.1″) round [x 8]
  4. Select All selectall
  5. Create a new polyline from the segments og
  6. Draw an equidistant polyline (distance -0.25) oq

The source for the box is available in SVG format, download the box here.

Crafting, lased

Laser Sponge

A friend of mine asked me to test out laser cutting on some compressed sponges, which she wants to use for a business card. It came out really well!

Compressed Sponge

Test #2

Both the raster and vector cutting was done at 100% power and 100% speed. Cellulose is surprisingly resiliant stuff. The serif font looked OK down to 14 pt (sideways, on the right). The rest of them looked better at 18 pt and up. Click on the photo above for specific fonts used.

Test #2 expanded

The raster is nice betcause you get to keep the counterforms (spaces inside the letters) rather than having them fall out. You can also get much finer looking lines with the raster, and because it doesn’t go all the way through it doesn’t make the sponge unstable. But, it takes longer, and doesn’t look as nice pre-expansion.

Interestingly, you can also get some pseudo-3d effects with the raster settings and gradients, which I played around with some.
flat sponges rings - AFTER h2o

By the way, the sponges look awesome when they’re expanding:

The sponges themselves are available through craft stores including Blick, or if you want someone else to do the cutting, they’re for sale on

Crafting, Jacquard Loom

Rapid Prototyping a Jacquard Loom

Inspired by the loom at the Berlin Technical Museum, Adam and I have started building our own loom. From scratch. We’re going off of the photos/video of what we saw at the museum, and my dim memory of the looms I used when I was in college.

So far we have the frame mostly built, constructed a reed, and I’ve started working on the head.

Completed reed The reed on a loom is used to compact the fabric as you weave it, helping to make things even. They usually consist of a wood frame with thin strips of metal making a grill. One or two yarns will go in between each space.

Our was made from a 12″x3″ sheet of poplar and a handful of popsicle sticks. Cutting popsicle sticks on the laser is fun! Although laying them out is a little tedious.

The frame for the reed was cut on the laser and then the popsicle  sticks were glued in. The holes on either side are for attaching the reed to the beater.

We got a bit of a late start yesterday and had to make way for Craft Night in the evening, so work on the loom will resume next Wednesday.

Adam + frame


Mechanical Embroidery Machine

Also at the Berlin Tech Museum was a punch tape driven embroidery machine. The Tech Museum has a ton of industrial textile equipment as part of their permanent collection. The machines are completely mechincal, as far as I can tell no electricity is required.

Punchtape embroidery machinePunchtape embroidery machine

Sadly I couln’t read the German placquard explaining more about it, and couldn’t find much info online. I got a snapshot of the name plate so I’d at least know what it was called.

Wurker Automat

If anyone knows more about these machines I’d love to hear it.


Jacquard Mechanism Simplified

Spent the better part of the day at the Stiftung Deutsches Technikmuseum in Berlin. They have an awesome Jacquard loom for ribbon weaving, and a great model which shows very clearly how the Jacquard head works.

Next week, Adam and I plan on building one.
I shot a few seconds of the actual loom, and then took some detail photos. The loom itself is HUGE:

Jacquard ThreadingJacquard head Tensioning Heddles from behind

I have a bunch of other weaving related stuff I’ll post over the next few days, as well as the video from my talk at 25c3 as soon as I get my hands on it.

lased, SDXF Documentation

Tinysaur Display

Tinysaur Kit Display

I’m helping my friend Sara at the Squidfire Holiday Market in Baltimore, Maryland on Sunday. She suggested I bring some Tinysaurs, and so I made a display to neatly hold the Tinysaur kits.

I generated the pattern with a python script I wrote, using the sdxf library.

If you’d like to make your own, the DXF files are up on Thingiverse, or you can grab the python scripts and make one to your own dimensions. I cut it on the laser, but there’s no reason it couldn’t be cut on a scroll saw.

first, second, success

Here you can see my first attempt, second attempt, and final. The first two were in cardboard, fantastic for prototyping.

Once all this craft show stuff is over I will probably make a few available in my Etsy shop in case folks who do craft shows are interested in one.


Adam Mayer explains pointers to art students

I don’t have a background in CS. In fact I got my degree in Crafts. Yes, you can get a degree in Crafts. And I have one.

Most of my programming skills are self-taught, which is fine most of the time but occasionally gets me into trouble. Recently I learned about pointers the hard way, and to help clarify things my friend Adam broke it down into art school terms for me. It was so hilarious (and helpful) that I’m reposting it here.

You’re telling me you went through art school without once discussing referers and referents? WHAT KIND OF PUNK-ASS ART SCHOOL DID YOU GO TO? Let me break it down to you in art-school terms, then:

In python, you can think of all variables as pointers. All they do is point to objects. When you say:
>> constructivism = 6
You can think of this as creating an “integer object” with a value of 6. Constructivism is not itself 6 (which is to say, constructivism is not “6” in the way that brutalist materialism might be “6”). Instead, constructivism is a variable which points to this newly created
integer object with a value of 6. If you were to say:
>> constructivism = []
>> constructivism = Socket()
then you’ll be creating an new empty list object, or a new socket object, and then constructivism will point to that instead.

That’s all pretty simple. Then there’s this:
>> futurism = constructivism
Now, constructivism is already a pointer to something else. Futurism, however, will not point to constructivism itself: instead it will point to whatever constructivism points too, much like in 1991 Saatchi did not point at Damien Hirst, but whatever Damien Hirst was pointing at at the time; in this instance a dead shark. Note that while Damien Hirst went on to point at other things, Saatchi is still pointing at the dead shark. So:
>> hirst = Shark( dead=True )
Hirst is now pointing at a dead shark.
>> saatchi = hirst
Saatchi is now pointing at the same dead shark. Now,
>> hirst = Skull( bling=True )
Hirst is now pointing at a blinged-out skull, but Saatchi is still stuck on the shark.

When two variables are pointing at the same thing, they both see any changes made to that thing over time. So, for example, look at the following code:

>> # note that hirst does not make the shark himself, but calls a constructor
>> hirst = Shark( dead=True )
>> saatchi = hirst
>> print

Both Hirst and Saatchi are referring to the same dead shark. But, later:

>> # Saatchi uses his money to bring the shark back to life
>> saatchi.ressurect()
>> print
>> print

However, let’s move on:
>> hirst = Skull() # Hirst has moved on to other dumb shit
>> # What doth life?
>> print
AttributeError: Skull has no attribute 'living'

… because hirst now points to a skull, and not the shark.

I could go on, but I’m impatient to see what google ads start popping up for this thread.

(Actually, you probably really need to hear about scoping, but I’ll do that in terms of objectification and the male gaze.)