Archive for December, 2008

Happy Holidays!

I know that Christmas is almost here, but if you’re a slacker like me and you don’t have presents yet, dont worry!  All you need is access to a laser cutter and you’re good to go.  The awesome users at Thingiverse have created some cool designs that you can download and print.  Then you’ll have some very unique and cool gifts!

First, there is the Vector Snowflake Generator which will guarantee you a unique (and hopefully beautiful) snowflake:

Second, we have a cool Christmas Tree Christmas Tree Ornament. So meta!

Last, but not least a NYC Resistor Snowflake Ornament that will be sure to put a smile on faces when you customize it and cut it with your laser.

Happy Holidays,
Zach Hoeken & Bre Pettis
Creators of Thingiverse

PS. Santa’s elves (aka me) are working on a cool present I hope to deliver shortly after Christmas. If you wanna be sneaky, check out /tools. ;)

Comments (1)

Infrastructure: New Image System

I’m happy to announce a major change to the Thingiverse internals.  I’ve spent the past few weeks working on a complete overhaul of the image system.  The old system was a quick hack just to get the ‘verse up and running and it quickly showed its shortcomings (ie: being directly tied to Flickr, only supporting Flickr image sizes, etc.)

The new system is the image engine I’ve always wanted to write:  it supports multiple size options, you can add images from any url on the web, by flickr ids, and yes even by uploading them directly.  Basically, if you have an image, you can easily get it on Thingiverse.

Of course those aren’t the only improvements I’ve made:  I’ve consolidated the images rendered from files with the images you’ve added (you can set a render as the thumbnail!)  I’ve also done some very extensive work on the rendering system itself and have managed to uncover a few deep-seated and rare bugs (and eliminate them)  The rendering system itself is much faster.  Previously, we were using a cron based system which would check an SQS queue every minute for new render jobs.  Now, we have a rendering daemon that will check the queue every second for new jobs.  Not only that, but the daemon uses fork() so render jobs are processed in parallel.  This technique has also been applied to the ‘finished jobs watcher’ that handles all of the finished job information.  The net result of this is that render overhead goes from a minimum of 120 seconds to a minimum of 2 seconds.   The whole process is a lot smoother.

Oh, and finally, in order to batch convert all of the previous images, I went through the legwork of setting up the rendering system on Amazon EC2.  You’ll be happy to know that the rendering system will happily scale up very nicely for when Thingiverse starts getting hundreds of uploads per minute, or when we start generating gorgeous raytraced flyby movies of the 3D models people upload.

Anyway, just wanted to poke my head out of the trenches and let people know whats happening in the Thingiverse.  The next major feature I have planned will be very cool and will be very useful. There may not be anything like it anywhere else on the internet.

PS. we now have a custom ‘not found’ image instead of piggybacking on the fail whale.  Yay!

Comments (1)

Thingiverse, SQS, and Open Source

Here at Thingiverse, we use a lot of open source software. Sometimes it works great, and sometimes it needs a bit of tweaking. Sometimes it needs a lot of tweaking. Here’s a story about how open source works for us. If we take a peek under the hood, Thingiverse has a distributed rendering system for producing web-friendly images of the various funky file formats that digital designs come in. To do this, we have 2 different ‘tiers’ of software: the front-end servers which serve up all the images, html, etc. and the rendering servers which take all the images (dxf, stl, png, etc) and render them to the lowest common denominator: jpg.

When I build things, and Thingiverse in particular, I want to build something of quality and power. Instead of rolling my own queue system, I decided to use Amazon’s SQS aka Simple Queue Service aka super-scalable queueing service. This is a simple little service allows me to put messages on the queue from one place, and get messages off the queue from another place. Thats about it. I use this (as well as Amazon S3) to let the front-end tell the renderers that there are jobs to be done. I also use it to let the renderers let the front-end know that jobs are finished. It works great and it was a really enjoyable system to write.

So, where is this all leading? In order to talk to Amazon SQS, you need some sort of API. I found a PHP class developed by Intellispire that implements it. It was a nice class, but unfortunately it was from 2006 and Amazon had changed the SQS protocol since then. I had to give the class a complete work-over in order to get it working properly with the new SQS and in the process slipped a few improvements in there as well. As a member of the open source community, I’d like to offer my new and improved version back to the community so that others may use and enjoy it.

You can download it here.

Comments (2)

Mike Gee Lazzzored a Tumbler Lock


Things – Mike Gee Lazzzored a Tumbler Lock from Bre Pettis on Vimeo.

Mike Gee designed and prototyped an awesome lock that you can see right into because it’s made out of clear acrylic. When you turn the key you get a happy surprise!

You can find the plans on thingiverse if you’d like to make one!

You can watch in HD and for the iPhone. You can subscribe in iTunes. Watch them all on Blip.tv, Vimeo, or Youtube.

Comments (1)

Things – Zach Smith Lazzzored a Peristaltic Pump


Things – Zach Smith Lazzzored a Peristaltic Pump from Bre Pettis on Vimeo.

Zach Smith, fellow NYCResistor and Founder of The RepRap Research Foundation decided that for Lazzzorbattle 2008, he wanted to do something cool. In QCAD, he mocked up a peristaltic pump and after about 5 versions, he had it working and the entire design is cut out of 12″ x 12″ x 1/4″ of acrylic!

Peristaltic pumps are used to pump liquids that you don’t want touching any mechanical parts. By squishing a tube, the pump can keep the liquid sterile. These pumps are used in medical situations for pumping blood.

You can go check it out the design on Thingiverse and make your own!

You can watch in HD and for the iPhone. You can subscribe in iTunes. Watch them all on Blip.tv, Vimeo, or Youtube.

Leave a Comment

Things – Adam Mayer Digitally Designed Geared Business Cards


Things – Adam Mayer Digitally Designed Geared Business Cards from Bre Pettis on Vimeo.

Adam Mayer is a friend of mine and fellow resistor who may be the most prolific person I know. When he decides to do something, he commits totally. Check out one of his previous obsessions documented in the Things video series: the teletype.

Recently he got into gears and gearing and spun that interest into a rad project to make cards with planetary gears embedded in them.

He’s uploaded the plans for the geared card and the geared planetary card to thingiverse so you can make your own!

He’s sent me to Vienna with enough materials to make 15 business cards and I’m honored to have them! I can’t wait to put them together!

Adam may be the best kept secret on twitter. If you’re not following him, you should do so now. He’s at http://twitter.com/phooky.

You can watch in HD and for the iPhone. You can subscribe in iTunes. Watch them all on Blip.tv, Vimeo, or Youtube.

Comments (2)