Creating with Code

The web is a powerful toolbox

Thing-a-Day #28 - Finished an Audiobook

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

After a long lazy Sunday spent catching up with old friends, I found myself in bed at 11:30pm realizing I had not done anything for thing-a-day.

And that this is okay. :)

Today I spent my bus ride from Baltimore to NYC, and a bit more time this evening, finishing the audiobook for Cory Doctorow’s For the Win.

For the unfamiliar, For the Win is a story about gold farmers (players who exploit in-game resources to sell them for real-world money) around the world coming together to fight for reasonable working conditions and pay.

I enjoyed both of the other Doctorow books I’ve read – Little Brother, Down and Out in the Magic Kingdom, and Makers – but the synopsis put me off of this one a bit at first.  My actual knowledge of gold farming extends only about as far as World of Warcraft music videos, so I just wasn’t that excited about it.

However, the story definitely grew on me. As usual, Doctorow does a really nice job of blending technology that’s “not quite here yet” and putting it to work in his stories. I’m a sucker for the near-future scifi. I’m also a sucker for obscure familiarity, so the odd coincidence I know someone who once worked at Coca-Cola games, the megacorp behind these towering virtual economies in the novel, was another good hook for me as well.  Story arc wise, there are compelling good guys and they encounter harrowing challenges at the hands of a colorful host of bad guys, from the misguided to the downright cruel, and I always enjoy the suspense.

Beyond these hooks, I also enjoyed being made to think about a great many more things that I expected to.  From stories of factory girls in China, to union organizers forced to live outside the system under a stream of false identities, to confidence scams and how they are played out on the small scale and the global scale alike.

So, my thing for today is the review you have (hopefully) just read. I hope that you enjoyed it.

——

I must say that, despite missing a day, I am quite pleased that I have managed to stick so well to thing-a-day this February.  I definitely learned a lot!

I went in with a lot of grand ideas about being able to knock out one little piece of a bigger project every day, but quickly found that little pieces are a lot bigger than I expected. I often found myself without a plan for a given day, and would (grumpily) have to both come up with something to do and then do it.  Still, this approach worked well in the beginning.  A bit more time spent refining my larger projects into little deliverables over the month could have gone a long way towards making it easier to stick to the commitment and towards the completion of a bigger project.

Complications aside, I made some awesome stuff that I might have never found the time for otherwise!  It is always easy at the end of a day to say “Meh, I’ll do those things later.” Having the thing-a-day structure meant that I was almost always making progress on something, even if it was frivolous, and it is nice to recognize little accomplishments, sometimes.

Anyway, thanks to those who followed along.  Let’s keep making stuff!

—Marty

Thing-a-Day 2011 #26 - “Improved” Scribbling in JavaScript

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I played with the mouse coordinate handling a bit to try and compensate for the rotation, but it’s still not great. For some reason, up-and-down movements seem to track well, but left-right movement causes the drawing point to move up and down relative to the cursor.

My guess is that I am just being bad at “the maths” and that I’ll get it figured out later. :)

Derp

Play here: http://schmarty.net/hershey_js_demo/

Thing-a-Day 2011 #25 - Scribbling in SVG (+Hershey Font Typing)

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Added some scribbling to my little JavaScript app, which also gets saved to the SVG.

It’s not great (my insistence on making these things map to the sticky note image means they don’t line up right with the mouse), but it works!

Scribbs

As before, you can play with it here: http://schmarty.net/hershey_js_demo/

Thing-a-Day 2011 #24 - Hershey Fonts in JS, Now Sized for Unicorn Plotting!

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I tweaked my little Hershey Fonts in JavaScript toy a bit. Now, the SVG data that it produces is at the right size and scale to plot on a sticky note on a MakerBot Unicorn.  Save the SVG content, load it in Inkscape, and save it as .gcode using my Inkscape extension for Unicorn.

At long last, after a bunch of little thing-a-days, I can write out a sticky-note:

Belaird

Save the SVG data and open it in Inkscape:

Belaird-inkscape

And save it as G-Code for plotting on the Unicorn!

Belaird-gcode

Matt Griffin was kind enough to plot it for me on one of the Thing-O-Matics at the BotCave:

Belairicorn

… sorry for the Bel-Air… :)

You can play with it here: http://schmarty.net/hershey_js_demo/

Thing-a-Day 2011 #21 - Auto-scaling Hershey Fonts in JavaScript

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Ok, this is kind of fun, even though the code is very naive.

I’ve added a height-check at the end of my line-breaking code. If there are too many lines of text to fit within the allowed space, the algorithm will rescale everything and try again:

Auto_scale_hershey_js

This isn’t great for real-time text flow, but it is fine for fitting text, I think.

Thing-a-Day 2011 #20 - Hershey Fonts in JavaScript on the Canvas

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

I haven’t been making as much progress on my “draw things in the browser so a robot can draw them on the Unicorn” project, so I decided to take a stab at cleaning things up a little to make that easier.

Today I rewrote my little demo to use canvas 2D instead of Raphael.js.  It looks the same, for the most part:

Hershey_js_canvas

But being in canvas land instead of Raphael land means I can do real stacked transforms easily, without having to keep track of them myself. For instance: ROTATION!

Canvas_rotated

Thing-a-Day #19 - Cube Gears!!

This post used to be on Posterous. I rescued my posts before Posterous shut down and am now sharing them here.

Today I finished and assembled the awesome Cube Gears by Emmett from Thingiverse!

They are so much fun to turn. Printable working gears for the win!

http://www.thingiverse.com/thing:6073

Photo