Ada Lovelace Day

March 25th, 2010

Hey it’s Ada Lovelace day. I found out about it from 2d goggles, a web comic that follows the awesome adventures of Ada Lovelace and Charles Babbage.

Ada Lovelace Day is an international day of blogging (videologging, podcasting, comic drawing etc.!) to draw attention to the achievements of women in technology and science.

Women’s contributions often go unacknowledged, their innovations seldom mentioned, their faces rarely recognised. We want you to tell the world about these unsung heroines, whatever they do. It doesn’t matter how new or old your blog is, what gender you are, what language you blog in, or what you normally blog about – everyone is invited.

The two women I thought of are Rear Admiral Grace Hopper and Barbara Liskov without whom computing would not be where it is today. They rock.

I use concepts they came up with every day. e.g. The Liskov Substitution Principle: If it looks like a duck, quacks like a duck and needs batteries, it’s probably not a duck. Or for Grace Hopper, compilers and the idea that computing machines could be used for things other than arithmetic (read calculating bomb trajectories).

Some Quotes

I had a running compiler and nobody would touch it. … they carefully told me, computers could only do arithmetic; they could not do programs.

— Grace Hopper [more]

It’s much better to go for the thing that’s exciting. But the question of how you know what’s worth working on and what’s not separates someone who’s going to be really good at research and someone who’s not. There’s no prescription. It comes from your own intuition and judgment.

— Barbara Liskov [src]

Check out some of the other posts for Ada Lovelace day at findingada.com

Mountain West Ruby Conf Rocked This Year

March 22nd, 2010

Mountain West Ruby Conf this year was awesome. I totally had a blast.

It was the third time I’ve gone to it. It was my first conference and still is my favorite. I got to meet Matz, I gave a lightning talk, I met all sorts of interesting people and I learned a bunch of new things. To quote Matz, MountainWest RubyConfはすばらしかった。

Matz & me

Things to revisit

  • Rack(1.1.0 in particular)
  • Chef(looks better than the last time I poked at it)

New things(to me)

  • RVM(rvm looks pretty handy, especially for cross vm library development)
  • Hubris(this might be a neat way to get into Haskell development)

My lightning talk

Twitter API + rest_client == Awesome

January 28th, 2010

I was catching up on my tweets last night, when I saw this tweet and thought to myself, “Hey, that should be easy to do with rest_client


So I dove into the Twitter API docs and found the pages on creating friendships and reading list members.

I then looked at rest_client’s documentation to see how best to manage the basic auth login, etc and decided to use RestClient::Resource, since it stores some of the config data for you., even though it makes things more complicatted due to needing two separate resources — one for api.twitter.com and one for twitter.com.

It took me ten minutes or so to put it together and test to make sure I didn’t make any stupid mistakes. Cool?

Winter Cooking

January 28th, 2010

While I was home for Christmas & New Years I cooked up some tasty stuff.

Chicago Deep Dish PizzaCooks Illustrated recipe(requires registration, but totally worth it.)

Pizza Detail

Apple Turnovers — Again a Cooks Illustrated recipe, this time from the America’s Test Kitchen Family Cookbook.

Turnovers Detail

Broiled Salmon — I don’t remember, but I think this mostly came from the America’s Test Kitchen Cookbook, except the mushrooms.

Broiled Salmon

Okonomiyaki(wiki), Hiroshima style(お好み焼き) — Hiroshima style means it has ramen and a fried egg.

Okonomiyaki V: Done (お好み焼き)

My First Arduino Sketch

November 21st, 2009

I got my arduino and chumby guts from makershed.com this week.

Arduino and Chumby Guts Boxen

I unboxed them and thought about what to do with them.
Chumby Guts

My chumby guts needs an enclosure, something I am going to wait until I have access to power tools perhaps.

But the arduino provided immediate gratification. Who knew embedded programming could be so easy.

My first arduino sketch (can you guess what it says?):

Things I’ve Forgotten

November 14th, 2009

I was googling myself today(That’s normal, right?) and came across my old blogger accounts from when I was in Japan and before.

http://bizcomcult.blogspot.com/ — Musing about multicultural communication etc. I started this while in a class taught be Garr Reynolds, better known as the writer of Presentation Zen.

http://baroquebobcat.blogspot.com/ — my first blog ever, and definitely baroque in some of its sentence structures, stylings. It clearly didn’t last very long, unlike the baroque period, which lasted from the late 16th century through the early 18th(thank you wikipedia).

Some of what I’ve written is rather cringe-worthy, but it is interesting to look back at  it and remember those heady days, playing Starcraft with exchange students, surrounded by Japan. Or, reflecting on my kendo miscommunications.

Usdo. Misspellings turn into gem-fu practice

November 14th, 2009

Indian Paintbrush
A few weeks ago, during a period of frustration, I found myself repeatedly mistyping ‘sudo.’ So, in a fit of silliness I wrote a short script to insult me when I did it, and put it in the path.

Later, I packaged it as a gem, because a) I had never built a gem with an executable and b) gems are a great way to share things.

The end result?

http://github.com/baroquebobcat/usdo

It isn’t particularly smart, but I happen to find it funny. It also showed to me how far gem packaging has come. Gemcutter and Jeweler make building and distributing ruby gems freakishly easy. This is especially awesome in light of the recent announcement that gemcutter is going to be the default gems host(though at rubygems.org)

How I put it together

I ran jeweler to create the default directory structure and added a bin dir to it, for the files I wanted to end up in the path.

$ jeweler usdo
cd usdo
mkdir bin

I put my gist from before in the bin directory, and set up git.

Set up my gem info in my Rakefile

#...
Jeweler::Tasks.new do |gem|
  gem.name = "usdo"
  gem.summary = %Q{adds usdo command to ridicule mispellings of sudo}
  gem.description = %Q{...}
  gem.email = "ndh@baroquebobcat.com"
  gem.homepage = "http://github.com/baroquebobcat/usdo"
  gem.authors = ["Nick Howard"]
end

then did the jeweler gem initialization dance

rake version:write
rake gemspec
rake install

Testing it out:

$ usdo -l
----USDO----
    You mispelled sudo
    You can't do anything, you can't even spell sudo
    are you really sure you want to try running
    'sudo -l'????

Now that was working, to send it up for distribution.

Jeweler is awesome and now has gemcutter support. I followed the jeweler README‘s directions on uploading to gemcutter. Which makes pushing your gem as simple as

$ rake gemcutter:release

Awesome.

Check out my code if you want.

I loves me some music geeks

November 12th, 2009

I saw OK Go last night at the Canopy Club. The show was a blast. The songs were awesome, fucking loud; there was much kick assery to be had. My favorite moments though, were the silly ones.

On Conductors and Directors

November 9th, 2009

This reminded me of all the time I spent in Howard Hall, practicing music and listening to music majors talk about their work.

Scrubyt On A Server Workaround

November 4th, 2009

So you got some awesome scraper script and you want to deploy it to your server but you don’t want to have to install firewatir. Or, you don’t want to pull in the firewatir gem because you are not planning on using it. Whatever.

Problem: scrubyt
requires the firewatir gem

Hacky Solution: comment out the require

But where you ask?

/lib/scrubyt/core/navigation/agents/firewatir.rb line 1

This works on the current rubyforge version(0.4.1).
Recommended: Or, you could just use the version on github that is fixed(see commit)

grab the files via git or archive from github.com/scrubber/scrubyt

then

cd scrubyt-somehash
rake gem
gem install pkg/scrubyt-0.4.26.gem

Not as nice as using jeweler where you can just `rake install` it, but pretty nifty none the less.