I just want to give a public shout out to Brookfield Properties for being cool with us geeks bringing our foldable bikes into One New York Plaza.
The midtown offices would probably have none of that
Next wish: provide centralized bike parking. Or at least non-rotating doors that actually open.
I’ve started to use ratpoison on my netbook. I’ve made a script that displays a menu of power-related actions and the current state of the battery. Here is a screenshot:
[discharging 58%]
SLEEP
HIBERNATE
REBOOT
SHUTDOWN
LOCK
The script uses ratmenu to actually display the menu and uses dbus to send signals.
download ratpower.sh
By no means an authoritative or ranked list.
- Learning Perl (by reading some random guy’s series of emails, and subsequently by memorizing Programming Perl, my bible) – I learned Perl during college for a job I wasn’t really qualified for. Knowledge of Perl has opened more doors than I can imagine.
- Brooks Brothers No-Iron Pants and Shirts – I’m a huge fan of these for work clothing. I spend zero minutes a week ironing.
- My new Dahon mu p8 folding bike – since I bought it, I haven’t been on a subway and have never been more mobile. Life just feels better when biking every day.
- Kinesis’ Advantage keyboard and Logitech’s Trackman Wheel mouse – For a while, I was bringing my work Kinesis home on weekends. Now, I have the pair both at work and at home because I love the setup so much.
- Cryptonomicon by Neal Stephenson – I will never think of Alan Turing or Pearl Harbor in the same way. (Thanks Brendan!)
- GNU Screen, Mutt, and Ratpoison – While I’ve used GNU screen for its detach/attach feature when doing Gentoo compiles in my adolescence, I started seriously using Screen seriously about 1.5 years ago. Discovering hardstatus was the key to using it as a constant tool. Mutt is just how email should be. Ratpoison harmoniously unifies the world and throws out the extra junk one’s computing experience doesn’t need, especially when living in only Firefox, Mutt, and Vim.
- Being on the right subway platform at the right time – Ah circumstance.
- Google Maps and Reader – I recently didn’t have a phone for a few weeks and realized how lost I can become. Reader has become my de facto news source and an activity with with I begin and end my day.
- Post-hardcore music – As with all music I like, I hated it at first, but have become devoted to it (for better or worse).
- Having a kitchen timer in the shower – I really like taking long showers, like most people, but it is not conducive to either time or energy efficiency. Having a timer in the shower has vastly cut my shower time down. Admittedly, I’ve increased it to 4.5 minutes instead of just 4, but it still beats the national shower time of 8 minutes.
I’ll come up with more another day.
I decided I wanted to take five minutes today to implement a simple idea I’ve had for a long time. When I get home, I typically eat dinner while reading news in my RSS reader and I’ve found less and less time to write my own posts. I simply wanted to be able to bookmark the things I found interesting and have them automatically appear as a weblog entry.
Part one was getting the data from Delicious, which is the obvious choice for bookmarking. They make it really easy to get all bookmarks made on the last day of activity with a given tag with their posts/get function. To get all bookmarks I made today with a tag of “viewed”, I simply ran:
$ curl 'https://minusnine:password@api.del.icio.us/v1/posts/get?dt=2009-04-07&tag=viewed' > todays.xml
which saves an XML form of the posts.
Transforming the XML into a list is a trivial task but I saw two approaches: sed would do nicely for the crufty old sysadmin in me, but XSLT satisfies the young whippersnapper in me.
The XSLT is very simple and elegant:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"></p>
<p><xsl:template match="/posts">
<span>Posts around the web that I found interesting today:</span>
<ul>
<xsl:apply-templates select="post">
</xsl:apply-templates>
</ul>
</xsl:template></p>
<p><xsl:template match="post">
<li>
<a href="{@href}">
<strong>
<xsl:value-of select="@description"/>
</strong>
</a>: <xsl:value-of select="@extended"/>
</li>
</xsl:template>
</xsl:stylesheet>
Combining these with xsltproc:
$ xsltproc posts.xsl todays.xml
yields a cut-and-pastable post. The next step is to pipeline these (also trivial) and upload it to my WordPress installation.
Posts around the web that I found interesting today: