Author: hmason

  • A quick twitter bot, @bc_l

    Several months ago, on a whim inspired by an off-hand comment from Chris, I created a bot to bring the wonders of the Unix bc language to twitter.

    bc is a command-line calculator that’s fast and has the capacity to do some fairly complex math.

    Try it out on the command line:

    echo '100 / 10' | bc -l

    …Or by sending a direct message to bc_l (if you follow bc_l it will follow you back within a few hours).

    I released the code under GPL, and it’s available on github: http://github.com/hmason/tweetbc.

    John Cook mentions the bot and makes some great observations in his post three surprises with bc.

  • Conference: Web2 Expo SF

    I gave a talk called A Data-driven Look at the Realtime Web Ecosystem at the Web2Expo SF conference in May in San Francisco. I attempted to highlight some of the interesting facets of the bit.ly data set, and it appeared to be well-received (showing up on TechCrunch, ZDNet, and a few other places).

    I attended the full conference, and it was great. The attendees were extremely international and I met a ton of fascinating people.

    I’m still getting a couple of e-mail requests per week for my slides and materials, so they’re posted below for posterity.

    The slides:

    And the video:

    As always, I welcome your questions or comments.

  • E-mail automation, questions and answers

    Welcome! I’ve gotten several hundred e-mails about my e-mail management code. I do want to share it as soon as possible. Here are the answers to the most common questions.

    Why separate scripts?

    My philosophy is based on the unix command-line tool model; Each script should be simple and useful alone, but when combined together they become extremely powerful.

    Why don’t we have the code yet?!

    I had no idea the talk would be shared beyond the couple hundred people in the audience or that it would be so popular! I started my position at bit.ly the same day I gave that IgniteNYC presentation, and I also have some other awesome projects that are competing for time.

    I have to admit that the trained classifiers are all based on my personal data and were also trained mostly through tweaking in ipython. I need to finish a generic framework for people to train their own filters before I can publish that piece of the system. I promise, I’m working on it.

    Keep nagging me — nagging works!

    Are you going to commercialize your scripts / can I invest?

    I have certainly thought about commercializing the application, but I’m uncomfortable asking people to give me access to their personal e-mail data (even if there are very interesting things to be learned by aggregate analysis).

    Just imagine how much more creative, interesting work could be done if we could partially free the world from the e-mail workload… that alone is worth making the code open.

    How does it work? What tech are you using?

    The scripts run on my gmail account through IMAP (and should work with any IMAP interface, though I’m sure there is debugging to be done). They live on a Linode VPS and run individually via cron jobs.

    Most of the scripts are in Python. I use NLTK and libsvm (in addition to my own code) for the data analysis.

    I primarily use the gmail web interface (though I’ve flipflopped between Mail.app and Thunderbird for a while), and the only cost is that I have to manually reload the page to see new labels and new drafts appear.

    Do your scripts go mad with power and e-mail inappropriately? Are you some kinda robot?

    I have all of the scripts deposit suggested responses in the draft folder, and then I use the gmail “multiple inboxes” feature to keep the draft folder up in the UI. It’s very easy to go through and modify or delete responses before they are sent.

    Of course, I only thought of that after one of the script DID go a bit mad. I’m still sorry about that, Mom.

    I’m not a robot, though of course I would say that anyway! The point of the automation is to remove the stupid parts of e-mail and leave me free to personally address the interesting messages.

    If you’ve read this far, there are a few things I would love your feedback on:

    What’s a kickass name for this project?

    More important, which features/scripts are you most interested in seeing first? The nag script is about ready to go, but I’d like to know where to focus my time.

    THANK YOU!

  • IgniteNYC: The video!

    The video of my IgniteNYC presentation is up, and has gotten a great response!

    I’m working on removing the me-specific bits from the code and I’ll be posting it as open-source very soon!

  • Art and Technology: Seven on Seven

    I’m honored and excited to be participating in Rhizome’s new conference Seven on Seven, where technologists and artists are paired up to create a completely new project in 24-hours.

    The formal description:

    Seven on Seven will pair seven leading artists with seven game-changing technologists in teams of two, and challenge them to develop something new –be it an application, social media, artwork, product, or whatever they imagine– over the course of a single day. The seven teams will unveil their ideas at a one-day event at the New Museum on April 17th.

    I really love this idea because the time constraints and the inherent discomfort of the situation (working in an unfamiliar space with an unfamiliar person) makes it likely that we’ll be able to accomplish something creative and unexpected. Or else it will go completely awry, which will still be amusing for the audience.

    I’ve had a lot of fun and been able to work on some interesting projects at hackathons in the past, and I hope this one will be even better.

    The event has been covered by an amazing assortment of blogs, including TechCrunch, BoingBoing, Art Fag City, Stowe Boyd and Andrew Parker.