Travis Tidwell

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

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.

A Better Library for JavaScript Asymmetrical RSA Encryption

I am a firm believer that JavaScript will eventually be the ubiquitous coding language of the future. Although there are many objections to this statement, I don’t think anyone can argue that it is the best poised for ubiquity considering it is now used in both server side (node.js) and obviously client side open web standards. And considering that this language did start out as a ‘toy’ language, I am often amazing at how far it has come in maturity in recent years. There is an area where I am most amazed at its progression, and that is with Encryption. For years, this area was pretty much dominated by the C and C++ languages (to which I am also a seasoned developer in), but now that JavaScript has made its way to the server, it is becoming recognized as a potential contender to this domination.

Authenticating Flatiron.js With Passport.js

So, I have fallen in love with Flatiron.js. For those who are not familiar with this framework, it is basically an application framework for Node.js. Obviously, it isn’t the only framework out there, but I would like to argue that it is THE ONLY framework doing things right with JavaScript on the server side. My reasons for this statement are backed by how it utilizes RVP instead of MVC considering the isomorphic nature of Server-side to Client-side libraries. For more foundation to this statement, please read Scaling Isomorphic Javascript Code; it is a fantastic read.

Regardless, one of my major complaints with Flatiron.js was that it lacks in OAuth. Looking around the Node.js community, there is a clear winner when it comes to OAuth, which is Passport.js. But, there is a problem… Passport.js was built on top of the Express.js applicaton framework and not Flatiron.js. Although, Express.js libraries are Connect.js compatible, and Flatiron.js is also Connect.js compatible, this isn’t enough to provide a clean integration between Passport.js and Flatiron.js. So, to solve this issue, I created a library that takes care of the integration work for you. It is called Flatiron Passport, and I would love for you to check it out…

minPlayer: A Minimalistic, Plugin-based ‘Core’ Media Player for the Web

Today I would like to introduce my latest media player creation. The minPlayer. The idea behind this media player was that I have a lot of experience building web based multimedia players, but also noticed that I continually build more and more features into them based on clients requests. Because of this, I have decided to create the concept of a “core” media player whose sole purpose was to only deliver the multimedia experience while the more complex features would go inside of another media player I created called the Open Standard Media Player. This allows me to keep the core media functionality slim while still being able to extend onto the minPlayer class to provide the more advanced features such as Playlists and custom 3rd party integrations.

Rope Maze

Today I went to the Science Museum of Oklahoma and was very intrigued by a rope maze puzzle they had there. This puzzle was basically a layout of 5 different rooms with doors between each room, and connected to this puzzle was a rope. The challenge said to use the rope to weave through all of the open doors and do not let the rope cross each other. The goal was to go through all of the doors. I approached this problem like any software engineer would and went home and wrote a program that would solve the problem for me. I did it in HTML, CSS, and JavaScript.