Star Wars A-Z

Star Wars ABC:

A is for Ackbar

Neat!


Uptown Dallas

Great photo by the urban fabric:

Uptown, Baby


Garrett's life, yesterday

My Day, Yesterday - a glimpse into the world of Garrett Murray. Best ninety seconds of video I’ve seen all week. If you like it and/or my style of humor, you’ll like his Qwick Reviews too.


Bell curves

Rands In Repose: Horrible:

You are a bell curve.

Launch the missiles!

The A-Z of Programming Languages: Haskell - a great interview with the awesome Simon Peyton-Jones on Haskell. I love his use of the “launch the missiles!” metaphor for thinking about side-effects and IO in programs. Via projectionist.


JBox2D equals fun

JBox2D is a port of a C++ physics engine to Java. Being Java means you can use it in Processing. Being Processing means you can use it for fun. And the demos, behold, they are fun!


Awesome desk


Mining my Git repositories

Since I started using Git, I’ve been finding myself creating tons of repositories. Anything I think might someday prove interesting or that I work on for more than a few minutes, I create a Git repository. I’ve yet to discover that ultimate workflow, but between experimenting with using it to put presentations online, managing the Dallas.rb website via Git and using it extensively at FiveRuns, Git is proving quite fun.

But let’s get back to that earlier point: I have a metric shit-ton of repositories laying around in my home directory. This morning I found myself wondering exactly how many I have and how many actually have a remote (i.e. how many have yielded a project worth backing up remotely and/or sharing). So, I did the numbers:

Directory Repositories Remotes
@/Users/adam@ (Home, sweet home) 287 263
@~/FiveRuns@ (Work stuff) 161 160
@~/repos@ (All source-ish stuff) 85 69
@~/repos/sources@ (Interesting code of others) 62 60
@~/repos/projects@ (My own code) 9 6
@~/Desktop@ (Landing pad for the newest of projects) 1 0

Which is about what I’d expect in terms of quantity and ratio. I’m a little surprised I have so many work repositories laying around, but we use submodules extensively so there’s probably only about 40 repositories that are meaningful to us. I’m a little suprised that so many of my personal projects do have remotes though. I guess I’m making progress towards doing more.

For those interested, the script that begat all this fun data. Run it yourself and share your numbers!


Rich Kilmer speaketh

Ruby’s Best Feature? Rich Kilmer is one of those uncanny developers who can crank out orders of magnitude more good code than your average developer. When he speaks, I always listen.


Awesome writing

[youtube=[www.youtube.com/watch](http://www.youtube.com/watch?v=Ky5p-L_m6BQ&hl=en&fs=1])

I want to take that video behind the middle school and get it pregnant.


You need more Lyle Lovett

Lyle Lovett is quite possibly one of Texas' finest exports. If you’re not hip then you’re missing out. Heck, I was missing out; consider a couple of his appearances on the Johnny Carson show.

[youtube=http://www.youtube.com/watch?v=5iHI2-SEdh4&hl=en&fs=1]

Make it a…cheeseburger.

[youtube=http://www.youtube.com/watch?v=HFhQgj9SM-I&hl=en&fs=1]

Do I wish that I could sing like Francine Reed or Lyle Lovett? Every day.


Read slightly less, practice slightly more

Chris Wanswrath, a smart and distinguished fellow, advises us to burn our news readers and just “hear it through the grapevine.” But how far can one go with that?

For myself, reading feeds gets me a few things:

  • Aesthetic where I have none. Feeds like BLDGBLOG and Coudal point me to things that make me better at what I do, in a tangential way, and a more interesting person. These are things that otherwise I wouldn’t know where to start.

  • Awareness on the edges. Reading folks like Simon Willison or Jason Kottke make sure that interesting topics in programming or erudition don’t go unseen even though I am focused on that topic.

  • Aggregation of ideas. This cuts two ways. Most people worth reading compress a bunch of different sources down to a manageable stream. This gives me more bang for the buck in my feed reading time. On the other hand, if a link is mentioned several times in the aggregate of feeds I subscribe to, then its probably worth checking out.

I can see how following interesting folks on Twitter and reading aggregators occasionally can you get you some of this, but not all of it. With sources like Reddit or Hacker News, signal to noise is a problem - you can’t control who posts what. Some people have a lot of extra angst and/or spare time. Which is also the other side of the Twitter story. Some people are great to read, but a pain to put up with at times. So it goes.

When Chris' essay first hit the wires, I was tempted to adopt his ways. But, I think I’m pretty good at ignoring the need to unbold things and cut down to business. What has proved immensely useful to me was has encouragement to just code all the time and make lots of stuff. I’m just getting started with this, but already I’m liking the increased feeling of accomplishment.

Regardless, we could all probably stand to trim our feed lists and hunker down on our projects, no?


Our trip to Germany in pictures

Here are four of my favorite pictures from our trip to Germany:

BMW Welt Munich Berlin BMW Museum

From top to bottom we’ve got the cool elevator at BMW Welt with glass doors, an old building in Munich with rather modern wings added on, a pygmy hippo at the Berlin zoo and a cool video wall at the BMW museum showing numbers that might appear as model numbers.

You can “look at all my pictures”:flickr.com/photos/th… or “check out”:flickr.com/photos/co… “Courtney’s”:flickr.com/photos/co… “pictures”:flickr.com/photos/co…


Vector Prime

Vector Prime. Yeah, I’m that big of a Star Wars nerds, I read these little novels when I need a break from heavier stuff. This one isn’t as good as any in the Thrawn trilogy, but its not horrible action sci-fi and fun for Star Wars nerds, like myself.


I Heart Complexity

Like I said, I think the market for simple applications is probably saturated and now is the time for Ruby and Rails to go up-market and tackle bigger problems. We’re well equipped to do that, having learned from what sorts of simplicity help reduce tricky problems to tractable problems.

IHeartComplexity.jpg

In my RailsConf Europe 2008 presentation, I play the role of the messenger. I’m not bringing any new science that makes building more involved applications easier. Instead, I’m trying to tie it together into an understandable package. You take the gems described herein (money, acts_as_state_machine and acts_as_versioned) and a couple concepts (domain driven design and queueing) and you can build some really cool applications that solve pretty tricky problems. To me, that’s big fun.

You can check the presentation out on Slideshare or grab the PDF. Also, make sure to check out the code on GitHub. Enjoy!


Pretty Parallax

jParallax - a JavaScript gizmo for composing images using a parallax effect. In other words, insanely cool.


Freakonomics

Freakonomics. Its not about economics in the dry, dismal sense that I remember from college. This is more about counterintuitive turns of logic, data showing causations that no one really supposed made sense. In the end, its about economics in the sense that real estate agents, sumo wrestlers and criminals respond to financial, social and lifestyle incentives.

Oh, and the book features twenty misspellings of the name “Jasmine”, a bit on two brothers named Winner and Loser, and a person named Shithead. Predictably, the last was my favorite.


RailsConf Europe, here I come

RailsConf Europe is next week. I’m so there!

I’m giving a talk on complexity and how I heart it. Ruby, and Rails in particular, started out with a very strong statement against complexity. Mostly this was about the complexity that imposed by ceremonious frameworks and technologies.

My stance is that all the really simple applications are done. But perhaps there are some ideas, some complexity, we can add to our problem-solving repertoire that let us tackle much larger applications. Some levers we can use to apply a little force and get a lot of result. Please to be joining me!

I took a couple years of German in high school, which is hopefully going to pay off as Courtney and I travel about Germany. If you’re at the conference, please come say hi, but forgive my Texan drawl. Ich spreche ein bisschen Deutsch! How little? Here is the translation of my first attempt, from my memory of German: “I am a small German language!”

(Oh, and rumor has it that there may be one more MVC video. Maybe.)


Guns, Germs and Steel

Guns, Germs and Steel is one of those essential books that makes more sense of the world. Specifically, it address in rational terms, how it came to be that the modern world is arranged as it is where it concerns the haves and have-nots on the global scale.

The author, Jared Diamond, does so by taking an extremely long view on history, over the course of the last ten thousand plus years). From there he tries to build models and theories that predict why some societies advanced faster than others. To make a long story short, the societies that have become the contemporary first world were able to:

  • Move knowledge and technology on an east-west axis, an axis that allows easy migration and translation of farming knowledge because the climate is roughly the same
  • Develop immunity to epidemic diseases like small-pox that are tied to living near agriculture, thus making them less likely to get killed off by certain foreign invaders or to kill off natives as they travel to foreign lands
  • Organize people into ever-large structures that can sustain invasions, research and other useful forms of specialization

Of course there’s more to it than that. It’s a great read and illuminates all sorts of topics I’d never even thought of, let alone correlated. If you, like me, seek a greater understanding of the abstracts that define the world, this is a book for you.


"with" for Ruby

Use with caution:

That said, @with@ is discouraged in JavaScript. If you can, its better to have methods return @self@ so you can chain like so: @people.get_dressed.put_on_music.and_party!@