Latest Posts

How the desktop notification saved the day (sort of)

I was sitting at work this afternoon, getting things done, when I noticed a notification pop up from the notification daemon I’ve been working on. It was for Google Voice (one of the types of notification requests I have written in so far), and read “MISSED: Front Door at Home (62 seconds ago)“. I immediately knew two things:

1. I JUST missed a call
2. That call was from the call box at my apartment, which meant I had just missed a delivery

Because of that notification, I knew exactly what I had to do… I jumped up, ran home as quickly as I could (I live only a couple of minutes away), and caught the UPS driver on his way out of my apartment complex. (I had actually first stopped the Post Office driver, but she said it was probably the UPS driver. Luckily, I found him right after that). I retrieved my package (not having to wait another day, redirect the delivery, or pick it up at the UPS facility 20 miles away) and was back at my desk 15 minutes after the notification had popped up.

I knew I was writing this thing for a reason.

(Note: I also added the ability to follow SVN and GitHub commits this weekend.)

Social Notifier: Now with extra Google Voice and Gmail following

I decided this week that I wanted to add a few request types to the Social Notifier application I’ve been writing in Ruby for the past month or so. If you’ve been following along, it has previously supported following a twitter home feed, twitter list, or twitter search term.

This week, I decided to add functionality to check for new emails in my Gmail account and new text messages in my Google Voice account. (more…)

Twitter Notifier application for Linux in Ruby: Overhauled

Last month, I spent a weekend writing a short application to retrieve updates from Twitter and display notifications using libnotify in Ubuntu. Although it “worked” after that weekend, I’ve put a great deal of effort during my free time over the last month toward completely rewriting it to be much more of an application, instead of just a functional script.

Over the last month, I’ve made drastic changes and improvements to the functionality, the code structure, and have made numerous bug fixes. I might has well have ripped out its guts and started over, but it has been absolutely worth it. (code at the end of the post) (more…)

Weekend project: A ruby application to pass new tweets to libnotify in Ubuntu

I was thinking on Saturday morning that it would be nice to have a way to receive ongoing notifications of new tweets while I’m running linux, without having to check my phone, switch to a browser or twitter application, or stop doing whatever it is I’m doing. My first thought was to create a bash script to work in conjunction with twidge, filter out the data, and pass it to libnotify via the command line, but it started to get a little more complex than I was intending. I had wanted the script to be simple, and twidge’s output wasn’t working with me. I decided instead to start over, using ruby to accomplish the same goal: Twitter notifications over libnotify. (more…)

Experiment: Ruby calculator using GTK2

As a project to assist in learning Ruby, the decision was made to build a calculator. I believe it’s a common challenge that developers undertake to learn a new language because—despite the initial thought that it is an easy task—it’s challenging and can serve to sharpen your understanding of the language and how the language handles numeric types. Additionally, part of my original goals was to allow for interchangeable user interfaces, even though I only ever wrote the one, using GTK2 to provide a windowed interface.
(more…)

Recursive initialization of JavaScript objects

It’s been a frequent practice of mine lately to write my Javascript as “object oriented” as is realistically possible. Doing so has made my code incredibly easier for me to maintain, document, and read. The more I write this way, the more non-OO Javascript stands out to me as the less desirable alternative.

The purpose of this post is not to explain how or why to write Javascript objects or even best practices. (A good, quick article to read first can be found on Konr Ness‘s post How to Create Javascript Objects.) Rather, I wanted to introduce the idea of recursive initialization of objects and their “children”, if you will.
(more…)