Speed Reading

Recently, there have been a few articles about Spritz, the new app that promises to change the way we read.


Reading a book is slow because the reader has a full page of words that can be read at any speed. Spritz, on the other hand, demands the readers attention because single words are flashed on the screen. Spritz flashes the words on the same point of the screen, so your eyes don’t even move. The “Optimal Recognition Point” (ORP) of a word is the point in a word which your eye seeks to identify the word. Spritz colourizes and centres the words on this ORP.

When I first heard about this, I immediately thought of how easily it could be implemented. With some help from my roommates who are pursuing English and Linguistics PhDs, I put together a working demo in a night. Check it out! It isn’t perfect, but it works. There are also a couple differences of note. For example, Spritz slows down and shows a blank screen for a moment after punctuation and shows a line or arrow over the ORP. If I took more time to work on this, I’d likely add pause/restart functionality, and that doesn’t even seem to be a feature of Spritz. Punctuation could also be handled better.

In my experience with speed reading (I max out at around 600wpm), I have been disappointed. Reading comprehension goes way down. One can barely blink in fear of missing a word, and long words are very difficult to read at such high speeds. I think this technology can be improved to perhaps use an adaptive method by learning about the reader’s skill level and changing the length of time longer words are displayed on the screen. If you completely miss a few words, you must go back through the text to better understand. The only practical uses for these speed readers is for small blocks of text that you need to read fast but not understand, so there is no point in reading them in the first place.

Again, here is my Spritz-like speed reading implementation, I hope you like the speed reading experience more than I do. Yes, of course it is open source and on GitHub.

snp reaches v0.1

Today snp, my text snippet manager and creator for the terminal is reaching v0.1.

For me, a v0.1 release signifies stability and a simple, introductory feature set. That is exactly what this release is.

snp is hosted on GitHub. As always, I welcome any pull requests. I hope the use case is interesting to you.

Check out the Downloads page to see all of my software’s releases.


Today I am open sourcing another shell script that I have been working on in my spare time. It is called Spool, and it is a Bitcoin mining monitor for Slush’s pool. The script makes use of jq for json parsing and spark for creating sparklines in the shell.

While the profitable days of mining Bitcoin on a single computer are long gone, I hope that larger scale mining operations can find this script and use it as a dashboard to see whatever information they deem useful.

There is still a lot of work to be done before v0.1, namely selecting specific workers to show and fining a better method to clear the screen rather than using clear.

As always, if you find any bugs in the code or if you want to implement a feature, feel free to talk to me via Twitter or Email, or send me a Pull Request.

Time Machine backup completion notifications using Pushover

Pushover is a great way to send yourself push notifications. Lately, I have been creating push notifications for new git commits, web keyword searches, and for torrent download completion. So, I created a little shell script for use with Pushover to notify me when Time Machine backups have completed, using the very handy tmutil.

In order to get it working:

  • Get an account at Pushover and install one of their mobile apps.
  • Register an application named “Time Machine”.
  • Copy the shell script below into a file named tm-pushover.sh. Paste your user token and app token for your “Time Machine” app and run chmod +x tm-pushover.sh in a terminal.
  • Schedule tm_pushover.sh to run as often as you’d like using crontab.

Top 10 Albums of 2013

The amount of music I listen to each year always changes. New, interesting podcasts or radio programs can take up most of my listening time. Though, I always find time to listen to music and I always find at least ten good albums to list in an annual Top 10 list.

Top 10 Albums of 2013

  1. Arcade Fire – Reflektor
  2. Man Man – On Oni Pond
  3. The National – Trouble Will Find Me
  4. Moonface – Julia With Blue Jeans On
  5. Haim – Days Are Gone
  6. Kanye West – Yeezus
  7. Kurt Vile – Wakin’ On A Pretty Daze
  8. Shotgun Jimmie – Everything, Everything
  9. Bill Callahan – Dream River
  10. The Knife – Shaking the Habitual

Honourable Mentions

Deerhunter – Monomania
Queens of the Stone Age – Like Clockwork
Nine Inch Nails – Hesitation Marks
Okkervil River – The Silver Gymnasium
Brendan Canning – You Gots 2 Chill
My Bloody Valentine – m b v

Past Years

Listeners of my radio program Takes On Tones (09/2011 – 04/2013) will remember the 2011 and 2012 lists.

Top Albums of 2012
Top Albums of 2011
Top Albums of 2010


Today, I am open-sourcing a shell script that I have wanted and needed to write for a long time. It’s called rsink.sh and it automates the archiving and syncing of files to external volumes.

For a while, I was happy doing backups to my external hard drives manually. My Time Machine hard drive handled my full system backup, so I wasn’t bothered by occasionally dumping files onto my other hard drive meant for media alone. I sync my music with my external hard drive, and I archive all of my movies. Some time passed and then, I noticed that I hadn’t transferred any new media over in a while. Becoming increasingly aware and paranoid of the disaster a laptop failure would be, I decided it was time to fix this and create a solution.

Enter rsink.sh.*

If you are interested in contributing, fork rsink.sh on GitHub and send me a pull request. There is a To Do wiki page.

* The reason the project is called rsink is because rsync is the only requirement. “Sync” and “sink” are homophones. I like puns.

Dotfiles published

Tonight, I posted my dotfiles on GitHub. This is all a part of my backup strategy. Of course my Time Machine will back up my dotfiles. But now, on GitHub, they are under version control (of course) and there is also the added benefit of being able to git clone my dotfiles from the git repository. The only thing that is required is an internet connection. I also included a file, bootstrap.sh that automates the install of most of the software I require when I set up a new machine or virtual box.

Back into F1. Probably for good

I used to be really into cars in high school. I couldn’t wait to get my license, and always dreamed of the day I would get my own car. Most of all, I was into Formula 1. I watched nearly every eace during the seasons from 2005-2008. During my undergrad I couldn’t pay as much attention, and eventually stopped caring.

But I am back into Formula 1, mainly thanks to my brother Cory. He mentioned that he watched a race and he made me remember how much I loved the sport during high school. This season has been quite entertaining despite the dominance of Sebastian Vettel. I am looking forward to next season to see how Kimi and Alonso can do as a team at Ferrari. Lately, the driver market has been very hectic, and there look to be some teenage drivers that could be signed for next year. I am most interested in the new engine designs and weight restrictions. For more info on all things engineering and technical-related to F1, check out ScarbsF1 and SomersF1.

Now, during my Master’s I am also doing a lot of reading. I was searching for some papers on Formula 1 to read and I came across this paper. It reminded me of a video I had seen on the /r/Formula1 subreddit:

It is extremely hard to comprehend how much stress these drivers are put under while in the vehicles. You could even say the drivers need to be in … cracking shape.

I also recommend this paper if you enjoy Formula 1 and audio and image processing.

Finally, I am on iRacing! If you also subscribe and want to race, add me.