taylorbarstow.com

Git is the New Hotness

Wow. I have looked at git before, but it seemed at the time to have a steep learning curve and I didn’t want to deal with it. I stayed in my warm blanket of svn. Now that I’ve given it some focused attention, I can see that it is most definitely the new hotness!

Here is why I am going to use it on my next project:

  • It’s fast - seriously, it blows svn out of the water
  • It tracks branches and merges, and comes with a tool for visualizing them
  • Branching is a real feature, rather than just a concept utilizing the “copy” command
  • It’s distributed, so you can work without access to a central repository
  • It stages changes before committing them - so you can selectively commit your changes with ease
  • It tracks changesets rather than whole files! So you can change a file, stage it, then make another change to the file, commit, and only your first change (the one you staged) is committed - you still have your second change waiting to be staged and committed. Rad.

And here is a list of super friendly git resources:

In Search of a Twitter Client

What have I become, a Twitter freak?! Woe is me, I can’t find a Twitter client that I love.

  • Twhirl’s UI locks up too often, and doesn’t handle old tweets very well
  • Twitterific doesn’t even show me when tweets occurred, let alone turn significant parts of tweets into links

Bah. Another kata?

Kata

Lately I’ve been hungry for some new kata. Doing kata gives me an opportunity to break from my normal programming routine and try something new. This keeps my brain stimulated by introducing unfamiliar problems, and also gives me a chance to play with new languages.

Remindo is a good example of a kata. Here are some more I’ve been thinking of:

  • Write a language for interacting with simple HTTP services; for example:

    GET http://twitter.com/statuses.xml
    Authorization: Basic username:password
    X-Requested-By: HTTPScript/0.1
    ON OK: (...)
    ON 4xx: (...)
    ON 5xx: (...)

    Not yet decided as to whether I should really write a new language or perhaps just implement a DSL in Ruby. I like the expressiveness of the new language, but I don’t really want to go through all the trouble of writing a parser/evaluator for common constructs like conditionals.
  • Write the beginnings of a runtime environment for Rails applications, similar to what AIR has done for Flex/JavaScript.
  • Write a subscription service for Twitter. Subscribers sign up for certain event types; as events are published, they are repeated to any subscribers for that event type.