Travis Tidwell

Web technology, software, and everything else that bores my wife..

A Nerds Guide to a $100 DVD-less Car Movie Experience

For those out there with kids, you already know what a nightmare it is to go on a road trip with them. Don’t get me wrong, I love my kids… but driving in the car with them on a road trip makes me go batshit insane. That is why it is important for all parents out there to establish a road-trip strategy to keep your kids occupied. Movies are great, but that also opens the door for more frustration trying to deal with movies in the car… Things like…

  • It’s expensive! (especially if you have more than one kid who don’t like to watch the same movies)
  • Keeping track of DVD’s in the car is a nightmare
  • Car DVD players have a tendency to trash your DVD’s
  • You have to keep swapping out movies unless your kid is OK with watching the same one over and over…
  • The list goes on.

So, for all those parents out there, who would like a good car movie experience for both the kids and you, here’s a nerds walkthrough on how you can make it happen.

Fun With GIT and AWK

For those of you who use GIT, you have probably noticed that while it is an incredibly powerful tool, one area that it could use some help is reporting. For example, Let’s say that I want to determine all changes to a file provided a date range… how would you do that? While there are many plugin utilities out there that provide reporting to GIT, very rarely will you find a utility that is able to generate the report you need at all times.

One thing that many people do not realize is that within GIT you can easily pipe the log to another application and quite literally build your own reports from within the command line. One of the more powerful applications that you can utilize is AWK, which allows you to write some code that parses through a log to generate a report to your needs.

Here are a few that I created to give you an idea of what you can do with this technique.

Working With Seamless iFrames

As a web developer, one of the things that I have learned is that old conventions should NOT apply to modern practices. iFrames is a great example of a wonderful web technology that is shunned today based on old impressions and existing bad practices. But, when it comes to iframes, you should not base your impressions off of the applications of that technology, but off of the technology itself. And as it turns out, iFrames are amazing if used correctly.

Coder Soundtrack Volume 3

It has been a while since I released my last Coder Soundtrack, and due to such a great response from the previous soundtrack, I have decided to bring you my latest. I hope you enjoy…

An Online RSA Public and Private Key Generator

I was recently in a meeting where a person needed to generate a private and public key for RSA encryption, but they were using a PC (Windows). This is something that is easily done via a terminal using ssh-keygen on Mac and Linux, however on Windows… this tool is not easily accessible to the non-technical person.

It then occurred to me (and a head slapped followed), that I have fairly recently published a library for Javascript RSA encryption which includes private and public key generation for RSA encryption. Not only that, but this is all available online.

So, if anyone needs an online RSA key generator, look no further than http://travistidwell.com/jsencrypt/demo.

Sudo Make Me a Sandwich… Literally!

So, I have been preparing for my presentation that I will be giving to the jQuery Conference, where I will be talking about automating and testing the web using a combination of jQuery, Node.js, and Phantom.js. This presentation will primarily go over a new library that I wrote called jQuery.go.js, which takes the jQuery interface and brings it into Node.js for the sole purpose of web automation and testing using the Phantom.js headless browser. It is a project that I am very happy with so when you get a chance, check it out and give me your feedback…

But what REALLY excites me about this presentation is the project I came up with that demonstrates the power of these three JavaScript technologies combined. What I basically created was a command line application that allows you to order a sandwich from Jimmy John’s website. This should strike a chord with many geeks out there, since there is a legendary XKCD comic which I basically made real with this project…

So, without further adieu, I give you MakeMeASandwich.js!

Coder Soundtrack Volume 2

As most of you already know, I am a big fan of music and am a firm believer that a good coder listens to music while they code. For that reason, I am releasing my Coder Soundtrack volume 2 which is the latest of the music that I am listing to while I code. I hope you enjoy…

Using Phantom.js With Node.js

Recently, I have had much interest in building web automation and testing tools using Node.js. The challenge, however, is when using Node.js for building tests and automation, your options are pretty slim when picking your headless browser. While Zombie.js is a decent browser, it uses JSDOM for its layout engine, whereas most of the web is ran on (or based off of) WebKit. This creates problems when trying to formulate accurate tests as well as benefit from the ongoing development into the WebKit engine. What really peaked my interest was the project called Phantom.js which is basically a headless WebKit browser that exposes a JavaScript API to interact with the browser.

Mobile Drupal With Sencha Touch

Yesterday, I gave a presentation to the Drupal Dallas Group over a technology that I have been really interested in lately called Sencha Touch. Basically, this technology allows you to create a mobile application using an MVC web application framework based off of ExtJS. What is even more exciting is when you pair this technology with the Drupal CMS as a backend service for this mobile framework. The result is something very exciting.

My New Blog Using Octopress

Today I am launching my website using a new technology that REALLY excites me. For starters, this blog is built using the Jekyll system, which is basically a static website generator but allows you to install plugins, create layouts, as well as many other features that keep you from repeating yourself when building a website (DRY).

In addition to Jekyll, this blog is built using a technology that sits on top of Jekyll called Octopress, which simply provides a framework for building technology blogs… or in other words, it is a blogging engine for Nerds. Amazing stuff and I hope this enables me to easily add my thoughts from the past and the future.