Tuesday, February 14, 2012

Thoughts on the Status of My CD Collection

(This is a repsonse to Streamlining Physical Media: What's the Status of Your CD and DVD Collection? over on my friend Chris' blog. Go there and read that first, then come back and read this...)

I'm still a CD person. I just got my first car with a CD player in it a few years ago. And I still buy them, although mostly from library sales and thrift shops. It's kind of dumb, I know, since CD's have none of the good aspects of either vinyl or mp3s. But I remember when having my own CD player and buying CDs my parents didn't want me to listen to was a big deal. And I feel that sort-of-prideful collector's urge when I browse my collection "Look at how awesome my collection is. You can tell I'm cool."

That said, I've recently been facing up to the fact that CDs are going away. I have started to find old CD's that won't play in old CD players. CD technology itself has a pretty short lifespan. So the past few weeks I've started ripping all my CD's to a computer with a big hard drive. It's like 2001 all over again. I'm setting it up so that I can stream my own collection to myself over the Internet. Kind of like my own private Pandora or Spotify.

I've even found some old mix CD's and playlists for potential future mix CD's written down on scraps of paper in my old college stuff. I'm planning to re-create them in electronic playlist form on my music computer. A mixtape is a powerful thing.

As for DVD's, I went through a pretty short period of buying a lot of them and then quickly quit. I probably never owned even forty. Eventually, I'll do the same thing with them that I did with the CD's: rip them to a computer, and stream them to myself around the house or over the Internet.

I've never bought music digitally. Ironically I feel like digital objects are too ephemeral. That and DRM is evil, etc, etc. And I never felt the same satisfied ownership with online services like Pandora and Grooveshark that I still feel when I buy even used CDs.

It's a funny coincidence that you posted this just now. What prompted me to go through all my old CD's has been getting a lot of my old stuff from my parents' house. I've been sorting through all the stuff that, at some point, I thought I would want to keep forever. It's hard to get rid of anything that feels like it was a part of what made you who you are. A lot of the things I'm finding in my old junk remind me of times that I had totally forgotten about. When I then make the decision to get rid of it, it feels like I'm choosing to maybe never remember that part of my life again. It feels like I might be getting rid of a part of myself.

I guess for a while, at first, becoming an adult means adding things (to your CD collection and to your personality) - that is to say growing and expanding. And then at some point it becomes also about shedding things from the past.

Friday, April 02, 2010

Fun with Processing

Building on the brilliant work done by guru, I made my first baby steps into Processing this week.

Guru's code generates a grayscale image and then creates a height map from that image. Then it allows the height field to be exported to STL. This of course means that we can attempt to print it out on our MakerBot or RepRap.

For me the obivious next step was to modify the code slightly to allow any grayscale image (or any image at all) as input to the program, building a 3D object from a 2D graphic.

Here's what I came up with:

generate a stl file from a heightfield

by Guru

modified by Dave Menninger

import processing.opengl.*;
import unlekker.data.*;

PImage img;
STL stl;

void setup() {

size(640,480,OPENGL );

img = loadImage("kashmir2_elev.jpg");


float a = 0;
boolean imgmode = true;
boolean rot = true;

void draw() {
if ( imgmode ) {
image(img, 0,0, width, height );
} else {
a += 0.01;
if (rot) translate( width/2, height/2 );
if (rot) rotateX( PI/2 );
if (rot) rotateZ(a);

float h = 100;
float l = 10;

translate( 0, 0, -h + l );

if ( !rot ) stl=(STL)beginRaw("unlekker.data.STL","guru.stl");

for( int x = 0; x < img.width; x++) {
for( int y = 0; y < img.height; y++) {
float h1 = map(brightness(img.pixels[ x+y*img.width]), 0,255, 0, l);
float h2 = h1;
if ( x < img.width - 1 && y > 0 ) {
h2 = map(brightness(img.pixels[ x+1+y*img.width]), 0,255, 0, l);
if ( x == img.width - 1 ){
h2 = 0;
if ( y == img.height - 1 ){
h2 = h1 = 0;
if ( x == 0 ){
h1 = 0;
if ( y == 0 ){
h2 = h1 = 0;

float x1 = map( x, 0, img.width, -100, 100 );
float y1 = map( y, 0, img.height, -100, 100 );
float z1 = h1 + 10;
vertex( x1, y1, z1 );

float x2 = map( x+1, 0, img.width, -100, 100 );
float y2 = map( y, 0, img.height, -100, 100 );
float z2 = h2 + 10;
vertex( x2, y2, z2 );

vertex(-100, -100, 0);
vertex(-100, -100, 10);
vertex(100, -100, 0);
vertex(100,-100, 10);
vertex(100, 100, 0);
vertex(100, 100, 10);
vertex(-100, 100, 0);
vertex(-100, 100, 10);
vertex(-100, -100, 0);
vertex(-100, -100, 10);

vertex(-100, -100, 0);
vertex(100, -100, 0);
vertex(-100, 100,0);
vertex(100, 100, 0);


if (!rot)


void keyPressed() {
if (key == 'e') {
rot = false;
a = 0;

} else {
imgmode = !imgmode;
rot = true;

Here are some of the results I'm getting:

I should note that I haven't actually tried to print any of these yet. I'm hoping to tweak it to get slightly better models before I take that step.

Wednesday, March 10, 2010

RepRap Rainbow Packs - ABS Group Purchase

One of the plastics that Makerbots and other 3D printers use is called ABS. ABS comes in many colors but most people have been using Black and "Natural" up until now because they are the most commonly available. We want to order some ABS plastic in Red, Green, Blue, and Yellow too so that we can make more fun and happy objects. The plastic is kind of expensive and it has to be bought in somewhat large minimum quantities. We want to fund a group purchase of all the colors and then divvy up the colors in portions to our backers so that each person can get a smaller amount of all the colors. We also want to be able to make fun colored objects that we can send to backers.

Here's the plan:

Once we get the money, we will place an order with Village Plastics. We are going to be looking to gather at least $2000 to start off with so we can get a 30 lb. spool of each color.

Once we get the plastic, we will spool out the 1 lb. quantities and mail the Rainbow Packs out.

Help spread the word by linking to the Kickstarter project page so we can help out as many people as possible. Thanks!

photo by Anke L

Wednesday, January 27, 2010

Video of my Ignite Cincinnati talk

Video of my talk about Hive13 at Ignite Cincinnati last week:

It was a great event and I definitely plan on attending the next one on 03/03/10.

Tuesday, January 12, 2010

Hive13: Epic 2009

Just posted a review of the epic year Hive13 had in 2009 on the Hive13 blog.

Thursday, December 31, 2009

Plans for 2010

2010-01-01 00.00.28.jpg

What a year!

I can't believe all the awesome stuff I was able to participate in this year. I think it is due in small part to blogging the list of stuff I wanted to do at the beginning of the year and then checking in on the list periodically.

More important than the list itself was the conscious effort I made to change how I approach projects and activities. The best way I can describe it is I made the decision to say "yes" to things. Instead of being scared and nervous about new projects and responsibilities I decided to Just Do It. I recognized that there was a very clearly defined emotion that would make me chicken out from doing the things I wanted to do and being the type of person I wanted to be. So I decided that whenever I have that feeling, I should do the opposite of what it tells me to do. As a result I've been involved in many exciting projects that I definitely do not regret.

I'm also a believer in putting your goals down in front of you and tracking your progress. I think making things concrete that way makes it easier to actually make progress. That ranges from putting numbers on things and making graphs to just writing out your thoughts a the end of the day. It's easy to lose focus. When some free time comes along and you're not sure how to spend your time it's easy to get distracted and waste your time away doing stuff you don't really care about.

At the beginning of the year last year I made this list of stuff I wanted to try to do. It wasn't so much a list of new year's resolutions, but more of a bunch of things I didn't want to forget about. I checked in again on my list in March and July.

Cooking, Bread, Beer, Cheese, Kombucha - I learned a lot about food ways this year but haven't turned any of it into a regular practice. I am happy with all I've learned and may get back into some of the recipes. I also started packing my lunch on a somewhat regular basis which I'm pretty happy about. I'd like to keep that up.

Local Food, CSA, Farmer's Markets - I did a lot of thinking about this and shopped at a few farmers markets. I need to work a farmers market into my weekly routine. I'm proud of this big table I created about CSA's in the Cincinnati area; I'd like to update that for the new year. I may sign up for weekly service from this company in 2010.

Gardening, Composting - Never did get a garden started, but I did grow some sprouts so that must count for something. I also didn't do as much composting as I wanted to, but I did build an outdoor compost bin so I'd have a place to get rid of collected kitchen waste. I plan on increasing my usage of the compost bin in 2010 and use the compost for a garden. I also want to get a rain barrel. Another idea I had was to make a big window hydroponic garden system at the hackerspace.

Paper Making, Crafting/Upcycling, Knitting/Weaving - I made another big batch of paper for Christmas cards and they turned out pretty alright I think. My next goals are to try and get smoother sheets and to try putting seeds in the mix.

Rapid Prototyping, MakerBot - This is an enormous success for this year. Getting a MakerBot is one of the most awesome things that happened to me this year. It ranks up there as one of the most awesome things I've ever done. Every time I make something new with it I get excited. I've even contributed some objects to Thingiverse and they were featured as a "Thing of the Week" on the Thingiverse blog. My goals for rapid protoyping are to basically build more rapid prototypers. I already have firm plans to build a Mendel and a CNC router. I also started a regional group for reprappers and makerbotters in the SW Ohio area that I should spend some more time on. I think rapid prototyping / distributed manufacturing / fab labs is a big and important phenomenon and I love being a tiny part of it.

Online Projects - All of the projects I was working on around the beginning of the year of somewhat stagnated, but I still believe in some of them. The biggest thing I hope to do in the first months of 2010 is to get skilled at using Drupal and hopefully that will allow me to flesh out some of the ideas I've had for websites. I've got a good Drupal book and an idea for a basic site I plan on building ASAP.

Local Currency - This has been on the back burner, but the local currency conversation has been heating up online and there are a lot more resources online now than there were at the begininng of the year.

Hackerspace - This is probably the biggest thing that has happened with me this year and I still can't believe it sometimes. Literally a month or two after I was thinking about starting a hackerspace, some other folks and I managed to create one. It's called Hive13. It is really cool and deserves a post of its own. My goals for 2010 with the hackerspace are to have more classes and build up our tools / fab lab. I also hope I get a chance to visit some other similar groups in Cincinnati and other hackerspaces in other cities.

Libraries - This seemed like a life-threatening year for libraries but we managed to come out of it ok. I'd like to continue to explore the ideas I was having about the future of online / decentralized libraries. I'd like to experiment by setting up a personal library online and a library for the hackerspace. I'd also like to make a tool library for the hackerspace.

Screen-Printing - I got some screen-printing gear for my birthday, but I am really sad that I didn't get around to printing anything. I have everything I need. I think first up I will screen-print something cool onto an old sweatshirt. I also have an idea of screen printing designs onto the homemade paper to make gift cards.

Android Apps - I stopped about midway through the tutorials and I don't know if everything I did is out of date now or what, but I'd still like to find time to play with this more.

Clothes Audit - In addition to moving forward on all the projects above, I had an idea for a project that I want to do some time when I have some time. I want to basically inventory all my clothes. I feel like I have way too much clothes and I only wear a small fraction of it. I also want to be able to look at all my clothes in terms of how many days I can go between doing laundry. For example, do my numbers of white socks sync up with my numbers of white undershirts? How many towels do I really need? Just to basically analyse it as a system and then cut out the waste.

In terms of doing stuff instead of just thinking about doing stuff I couldn't be much happier with how 2009 went. It was a very good year. I think 2010 will be even better!

Wednesday, September 09, 2009

MakerBot Awesomeness

2009-09-09 03.02.37.jpg

Last night, after the Hive13 meeting Craig presented a quick tutorial on the basics of Blender and showed us how to make simple objects. This was incredibly useful because it got a number of us over that initial hump of not knowing anything at all about Blender. Blender can be tricky to understand, but I definitely felt like I was ready to start making useful models after tonight's short lesson.

In the class we made these hexagonal coin / keyring shapes. After class we started trying to print them out. With this result:

2009-09-08 22.45.59.jpg

After we played around with the MakerBot for a while, everyone left and I decided to learn how to create text in Blender and I added the "Hive 13" to the coin. I only was able to print it one time since it was getting really, really late, and I found some errors in the design, but I think I know how to fix them. Soon I will have an "official" Hive13 coin / keyring to give out. Be the first in your city to get one!

(Did I mention having a MakerBot is awesome?)