I came across this collection by chance recently. I noticed that the HTML used for each play was clean and well structured, so I thought I’d write a twitter bot to perform them. I’ve been waiting for a chance to learn Ruby, too, so I thought I’d use this as an excuse.
The Tragedy of Hamlet, Prince of Denmark
features
parses MIT shakespeare plays
can handle an over-capacity twitter
specify tweet interval, rehearsal (dry-run) mode
authenticates to Twitter using the twitter_oauth gem
installation
it’s just source code for now as it’s not really useful outside of my one twitter account. However, it could provide a basis for a more general structured-play reader/tweeter, so in the future it may be a releasable tool.
Having tried todo.sh, ikog, and a plain text file I was frustrated with my options for todo list management from the command line. Daily I use timebook for time tracking at work and wanted something similar to manage my todo list.
I chose this opportunity to write my own todo list and learn Haskell doing it. I managed to produce something basically usable but it didn’t support due dates and wasn’t scaling too well. I had grown dependent on the tool, though, so instead of waiting till my Haskell improved I just rewrote it in Python.
Thus, I present done.
features
natural date parsing (eg. ‘tomorrow’, ‘in 2 days’) for due dates
color-coded due dates (items go from green to red as due date approaches)
tagging
hardly any footprint: minimal in design and in implementation
I just uploaded a chrom{e,ium} extension to google’s extension repository. It adds tab-completion to twitter; when you type an @ symbol into your status box an autocomplete menu pops up with all of your friends’ screen names in it.
tabtweet screenshot
The project is open source. Here is the code (as well as an issue tracker, if you need to submit a bug report).
Technically speaking it’s an interesting project. It is a combination of:
the Chrom{e,ium} extensions framework / API
the Twitter API
the OAuth specification
HTML5 (local storage)
The jQuery library (with a patched autocomplete plugin)
and is the first open source javascript OAuth application I’ve come across. It uses code from this project (albiet with a small patch) to successfully implement the 7-step OAuth flow using AJAX. This was a pretty tremendous struggle as the internet doesn’t think you should do that.
I’ve been a longtime fan of ampache. As a way to centralize and broadcast your music library, it’s fantastic–easy setup, hardly any configuration, friendly web interface. My one annoyance was that, as long as I had my music in Ampache, I couldn’t really use it with my preferred media player Amarok. I could export playlists into Amarok (this is back in 1.4.x) but that was it; I manually had to go to Ampache, craft a playlist, export it, listen, repeat. Very tiresome.
Amarok 2 has finally filled the gap with its built-in Ampache plugin. Now, once configured, your Ampache collection can look and behave just like your local collection (sans tag editing features, but c’est la vie). Even album art is pulled.
There’s not much to it; one pitfall is that in my haste to make this work I installed Ampache from the Ubuntu repos; don’t do this. The version you get is 3.4.x which doesn’t work with Amarok 2′s plugin. Download 3.5.x from Ampache’s website and you’ll be good to go.
I just followed the directions here and was going in no time.
Now, I keep my music on an external hard drive attached to my eee server, Lovecraft, and access it from my work thinkpad / home thinkpad / on the go eee901 / where ever.
Also: it works with Amarok 2′s built-in last.fm support.
A friend had the idea to start up a game of musical telephone. The details of it are still somewhat foggy to me but, basically, I make one or more tracks, give them to someone else, and get tracks in return. I do what I want to what I get and trade those in. after some N number of trades, a song appears.
I took this as an opportunity to practice with some new stuff. First, I ran my pdrss program through the great jack rack for two minutes, recording into Rosegarden. Next, I just programmed some oscillators in pure data, put them through jack rack, and recorded another two minutes.
It’s late, and since someone else is going to be hacking these up anyway, I didn’t strive for perfection. I only did two or three takes for each track. They don’t match up all that great and their sluggish changes represent my still-neophyte computer music skillz (computer mice are different than mixer knobs).
I had a lot of fun, and since these tracks are for collaboration (and fairly large…nay, extremely large) I put them up here instead of gmailing them.
I have a radio show every Monday at 9p on WECI 91.5FM. It’s (usually) internet streamable from a rando IP address (directions).
I wrote a very very simple perl script to destroy a string over time. I find the end result to be pretty aesthetically pleasing, so I use it to make fliers for my radio show:
Originally this blog was a blosxom blog. I learned of blosxom through hobix, which also made me intensely fascinated by why and his subsequent disappearance.
Here’s why I liked blosxom, and eagerly installed it on lovecraft, my eee server:
it’s perl
I can use vim to edit my posts
it doesn’t insist on rdbms bloatware (I’m looking at you, mysql)
it’s hip. I guess.
Unfortunately, my experience was less than stellar. It started off great–the installation was easy and I was up and running within a few minutes. I made my first post with ease. I was still starting at a nineties-looking black-text-on-white-background ‘flavour,’ however, and decided to update it; unfortunately blosxom failed to ever find my flavour files and refused to change styles. I read and reread the docs on the blosxom website (which, I began to notice, has many broken links and some links that simply go to the wrong place) to no avail. I googled around; I found no information or documentation more recent than 2007. I finally logged onto #blosxom on freenode and asked there as politely and fully as possible; that was about 24hrs ago (Yes, I’ve been lurking) and I never received a response from the dozen or so lurkers in there.
I was worried that as I started to add stuff like comments and search that I would have a similar experience, so I made a wordpress blog for myself just like I did for my sweetheart.
And, jeez. WordPress is just awesome. I will gladly overlook the php and the mysql for all the eye candy ease-of-use goodness awesome it provides.