Blog

HTML Form HTTP Extensions


In 2016, it is not possible to properly interact with a RESTful API endpoint in a browser without using JavaScript. Users make changes to server state in HTML through form elements and subsequent HTTP requests. Unfortunately, HTML currently only supports GET and POST form methods. This forces pages to either use...

Academic Paper Template


March 14, 2014 I've been meaning to begin work on an academic paper, and have been trying to find something that allows me to easily track all of my references and format the paper for me. I eventually settled on Pandoc over something TeX-based because I wanted to be able to simply...

Lego Set Database


February 16, 2013 As part of my Lego hobby, I've been looking for a way to create a Lego part/color histogram. In order to do this, I needed a data set containing inventories for the majority of sets that Lego has produced. A number of sites around the net have this...

A simple vector library in C++


August 31, 2011 I should start off by saying that if you are planning to do any serious work which requires vector mathematics, you should probably just use one of the many open source libraries or packages: Boost Basic Linear Algebra Eigen library GLM - API similar to GLSL Vectors are really a solved problem....

Taylor University Wikipedia Vandalism



May 06, 2011 As part of a recent project to better understand the culture of the university that I'm studying and working at, I decided to look at the instances of anonymous Wikipedia vandalism coming from school-owned IP addresses. While a lot of the vandalism was simply boring and offensive, there...

Google Books Citation Bookmarklet


September 10, 2010 I've been working on a paper for class and I've found several great books on Google Books. Google Books is a great resource, unfortunately, I wasn't able to find a super simple way to cite books from there. Google does provide a link to WorldCat, which in turn has...

Basic Server Security


August 06, 2010 I stumbled across a presentation on HN today which detailed a vulnerability on several sites which allowed the contents of memcaches to be viewed. It's a pretty interesting scenario. Sites use caches to speed up all kinds of things from profile information, tweets, and evidently even login credentials. These...

Uploading to Dropbox with Python


July 21, 2010 I've been searching for an easy way to backup some files that are located on my web server. I use Dropbox to backup lots of important files on my computer, but I don't want to have this software running on my web server for security and performance reasons....

Android on the iPhone: History Repeats Itself (almost)


April 22, 2010 For those of you who haven't heard, a member of the iPhone Dev-Team has ported Android to the iPhone. This might be the best iPhone hack since the device was jail broken, but it doesn't ultimately matter at all. If it becomes as simple to dual boot an...

Experiments with HTML5 Canvas



April 13, 2010 I've been playing around recently with the HTML5 canvas element. For those of you not familiar with the canvas element, it is very similar to the img element as far as the DOM is concerned, but it can be drawn on using API calls from JavaScript. In simple...

Google Voice Provides a Lot for Free


August 01, 2009 I've been using Google Voice for about a month now, and I have been impressed in some ways, but let down in others. If you aren't familiar with it, Google Voice provides you with a phone number that you can configure in a number of ways. For example,...

Analyzing the Astalavista Hack


June 08, 2009 Several days ago, astalavista.com was torn down by an anti-security group. If you are not familiar with it, astalavista is a "security" community that discusses and hosts vulnerability information and exploits. The site appears to have been completely destroyed by attackers. The attackers posted a text document detailing what...

Sniffing the CAN Bus



May 20, 2009 My final project for embedded systems required us to connect to and analyze the CAN bus of a Ford 500. Our requirement was to simply create an LED that would be lit only if the vehicle was in park. This ended up being quite an interesting project which...

Python Global Interpreter Lock


April 27, 2009 Some friends and I have been playing around trying to write a game engine in Python. In an effort to avoid premature optimization, the whole thing has been single threaded up until this point. We're all still learning Python and hadn't used it for multithreading anything, but we...

Netcat for Windows



April 10, 2009 Netcat is a simple networking utility which reads and writes data across network connections using the TCP/IP protocol. It's a wonderful tool for debugging all kinds of network problems. It allows you to read and write data over a network socket just as simply as you can read...

Learning Git


March 05, 2009 I've been planning on getting more familiar with git for several months. Yesterday, I watched the Google talk in which Linus Torvalds covered many of the advantages of the tool. I use git for most of my personal stuff because distributed version control is certainly the simplest to use...

Google Apps Email + msmtp on Ubuntu


January 26, 2009 I like to be able to send email from my server so that I can email myself reminders, important server stats, backups, and other minor things. I had previously set up postfix to do this, but I realized that this was overkill since I use Google Apps as...

Django and memcached Interface


January 25, 2009 I've had memcached running on my server for a while now, but I haven't really been keeping track of what it is doing. Other than monitoring its memory and CPU usage, I didn't know of anything fun to look at. I did some looking around and found this...

Performance Boost from memcached


January 22, 2009 The server that I am currently hosting this site on is not a very powerful box, which is why I have been putting a lot of effort into getting things configured on it as efficiently as possible. One of the things that I am using to achieve quick...

FastCGI, CGI, and mod_python



January 20, 2009 As I began looking at deployment options for Django and Python in general, I was faced with some choices about what method the web server should use to process the requests. I'm relatively new to the server side of things, and I didn't find a lot of good...

Lighttpd + Django + SQLite


January 20, 2009 I just finished rewriting my entire site again. I switched out virtually every element of my former stack, so I thought that it might be worth mentioning how I have things working now. I did a lot of custom configuration, so I will probably post more details of...