2009
Thor doing his thing
My wife doing the canine agility:
Go Thor!
More monads
“While we’re talking about monads”:therealadam.com/archive/2… you should read into the compelling argument that jQuery is, in fact, a DOM monad. It’ll set your mind straight. Also, give “All About Monads”:http://www.haskell.org/all_about_monads/html/index.html a look - I just started reading it, but it’s making a lot of sense.
DataMapper + Factory Girl
I’ve been toying with “Factory Girl”:www.thoughtbot.com/projects/… lately. The code I’m currently working on needs to generate lots of data before tests run and Factory Girl is handling this well compared to fixtures or coding my own data generators. So, in some unrelated toying with “DataMapper”:datamapper.org/doku.php, I came to wonder if Factory Girl and DataMapper play nicely together.
Turns out they do! The only hitch is you need @dm-validations@ in addition to @dm-core@. Since no one seems to have written this up yet, I thought I’d “share my results”:gist.github.com/49017.
Compare and contrast
Compare. “Suburbs built on top of military/industrial complexes”:infranetlab.org/blog/2009… - intriguing yet awful. Quirky and cute - “people re-enacting Far Side comics”:www.flickr.com/groups/fa…
Contrast. Assaf Arkin notes that the current “recession may bring us more apps that put function over form”:blog.labnotes.org/2009/01/1… Hopefully this means we won’t hear about Rich Internet Apps (blech!) for a while. On the other hand, hopefully we will see more apps that leverage “game mechanics”:bokardo.com/archives/…
On Feeds: Tactics
Ask enough people what feeds they read and you will quickly hear “too many” and “I suffer from information overload.” I’ve been there too; at one time I subscribed to more than five hundred feeds. A lot of people say you can’t really follow more than fifty feeds and do productive things. I’m not the most productive guy, but I’m comfortably following 239 feeds right now. My secrets:
- Man made the “mark all as read” command for a reason. Use it without shame.
- Skim aggressively. If the title grabs you, check out the first few sentences. If it doesn’t, just skim over the content and let the words and images that may jump out grab you. If they don’t, skip to the next item.
- Don’t add feeds out of guilt or peer-pressure. Know what topics you want to read about. Add feeds that align with those topics. If a feed looks really awesome but doesn’t match a topic, subscribe to it and put it in a “Trial” folder. Evaluate your trials every few weeks.
- Unsubscribe if you find yourself consistently skipping all the items in a feed. NNW and Google Reader both have attention readouts that can help you decide what should go. Do this sort of pruning every few months.
After reading feeds for several years, I’m finally starting to feel like I’m doing it right. How do I know I’m doing it right? Because I recently thought, “hey, I haven’t seen enough awesome today.” And then I open NNW and I’ve got awesome all over me.
Monads + Ruby = crazy
Guaranteed to boil your brain: do notation in Ruby. You got your monads in my Ruby! He uses ParseTree and Ruby2Ruby to rewrite your code. In other words: heavy.
I’d love to point you to a good monads tutorial, but the monad fallacy prevents me from doing that. I’ll try again once I fully grok them.
Awesome people, hacker spaces, double basses, dictionary
Brian Oberkirch is a big fan of people who are doing awesome stuff on the web. Me too! I’d add to his list: Ryan Tomayko, Greg Borenstein, Garrett Dimon, _why the lucky stiff, Jeremy Keith, Robert Hodgin, J. Chris Anderson, and Christian Neukirchen. My list, like his, is incomplete, so make your own!
A hacker’s space in Kansas is renting an underground bunker to house their activities. Recommended joke: those guys wouldn’t know a hacker’s space from a hole in the ground.
This image and story makes me want my double bass really badly. Don’t miss the story; it’s fantastic.
Pro-tip: go ahead and add refactoring to your system dictionary. You won’t thank yourself later, but you won’t curse the machine either.
On Feeds: My History
Ted Leung recently noted his “blog-aversary”:www.sauria.com/blog/2009… This reminded me that I’ve been reading feeds for 6-7 years. Shifting from reading centralized media like CNET, Infoworld and even Slashdot to individuals like “Matt Webb”:interconnected.org/home/, “Brent Simmons”:inessential.com and “Simon Willison”:simonwillison.net was an important event. For me, it was one of those moments where you realize there’s a whole other world of cool stuff to discover, explore and take part in. Certainly I would have a completely different character if I hadn’t discovered people out there on the web, doing their own cool stuff.
When I first started reading feeds, I experimented with some Linux stuff, most notably the crazy “AmphetaDesk”:www.disobey.com/amphetade… I quickly settled into loving “NetNewsWire”:ranchero.com/. It was the first app I purchased when I got a Mac, and I still use it every day, to this day. Call me a feed reading curmudgeon, but I still think it’s the best way to keep up with lots of sites.
I’ve gone through some shifts in the kinds of feeds I read. I discovered feeds and blogging by “Dave Winer”:scripting.com, so I started reading him and the people in his sphere of influence. I quickly figured out that said sphere is an odd social environment that has little relevance to what I do as a developer. For a while, I subscribed to the “must read” influencers, such as Boing Boing. I quickly found that firehose was too strong and, again, not relevant enough.
So instead of trying to figure those worlds out, I started reading more coders. Somehow that lead from reading people who do front-end coding to reading design stuff, which proved quite interesting. These days I’ve been subscribing to people writing about “information design”:konigi.com, “visualization”:www.flight404.com/blog, “open source hardware”:tinker.it/now, “game criticism”:www.rockpapershotgun.com and “urban design”:bldgblog.blogspot.com/. I’m finding lots of awesome there.
The Next Generation meets Reading Rainbow
Star Trek: The Next Generation was, for all intents and purposes, my jam. I was just the right age to enjoy it when it was on the air. Concurrently, I was the right age to watch Reading Rainbow. Ergo, the episode of the latter regarding the former was pretty much the coolest thing ever.
Comicus
“Matt McCray’s”:www.mattmccray.com Comicus is a CMS for “web”:www.zoodotcom.com “comics”:www.lilmonstas.com/. You may know Matt better for his excellent “CMS-in-a-Rails-plugin Comatose”:github.com/darthapo/… but he wrote this in PHP. More impressively, he wrote it in a style that doesn’t have all the grunting that is normally involved with writing PHP. He’s got classes, templates and everything! I salute you, Matt.
Generative Van Halen
I saw this last week (really!), but it appears the “blogger embargo” was broken on Sunday, so here goes.
“Microsoft Research released an app”:research.microsoft.com/en-us/um/… that lets you sing along to a drumbeat and then it generates music to match your singing. Many moons ago, an acappella version of “Runnin' with the devil” made it’s way on to the internet. Some brilliant joker used the former on the latter and you get: something that’s just not quite right. It’s especially interesting how the software tries very hard to accommodate David Lee Roth’s off-beat entrances.
In my opinion, the “DLR soundboard”:www.thetyser.com and the “Roth Alarm”:rothalarm.ytmnd.com are even better uses of the source material.
I found more awesome on the web
Via Tinker It Now!, I ended up at Live Control of Open Source Animation in Animata. Therein, real-time 2.5D animation is controlled via a likeness of Mickey Mouse laden with Arduinos. Said gizmo sends data to PureData, relaying data to software called Animata. Animata does the animation sweetness.
This led me down a whole rat’s hole of awesome. “Matt Niinimäki”:originalhamsters.com/index.php “is up to awesome things”:vimeo.com/mattiniin… Animata seems “wicked cool”:animata.kibu.hu/tutorials… — it’s like digital marionettes, except not creepy. PureData, near as I can tell, is like Little Big Planet, but for audio/video. The “PureData documentation”:puredata.info/docs/manu… is dense, but there are good examples and docs included in the application (look under Help→Browser). Pd, so far, has the distinction of being more inscrutable, for me, than Haskell. I can run Haskell programs; I cannot, for my life, figure out how to make Pd patches go.
Let’s enumerate: “Arduino”:arduiono.cc is open source hardware with a dandy little programming environment that makes writing embedded programs vastly less onerous than is typical. PureData is visual-patch-language-thing for creating audio-oriented systems with some graphics smarts on the side. Animata does interactive real-time animation. All of these great toys are open source.
Did I mention “people are making cool stuff”:therealadam.com/archive/2…
Birdland, Forgetting, Libertarianism, Hoboken
Hello, 2009! Let’s try a slightly different format. Starting it out with ““Birdland” by Weather Report”:http://www.youtube.com/watch?v=pqashW66D7o&feature=related can’t hurt.
Shawn Blanc says “the best todo software lets us forget”:shawnblanc.net/2009/thin… I absolutely agree. Shawn also pointed out “Rules For My Unborn Son”:rulesformyunbornson.tumblr.com/, which is indeed a great set of guidelines on being a mensch. A choice “JFK quote from therein on optimism”:rulesformyunbornson.tumblr.com/post/6117…
Provocateurs “Zed Shaw”:www.zedshaw.com/blog/2009… and “Giles Bowkett”:gilesbowkett.blogspot.com/2009/01/f… are in much better form when they are tilting against libertarianism. Which isn’t to say that they’re right or libertarianism is wrong. They’re just better at tilting against social abstractions.
If you’ve ever looked at writing tiny web apps or services with Sinatra, you’re probably interested in “what’s proposed on the Hoboken branch”:gist.github.com/38605. “Ryan Tomayko”:tomayko.com has great taste, I tell you.