Let's JAM!

jessie's blog

Self-signed certificates can be a good thing

There have been several incidents of SSL Certificate Authorities signing keys for the purpose of impersonation. The most recent of the incidences was Trustwave. When an attacker gets a SSL cert that identifies them for something they are not, a man in the middle attack becomes much more simple. This is one of the sole things that SSL was designed to prevent.


Shrewsoft in Ubuntu 11.10 Broken?

I had troubles connecting to a VPN using the Shrewsoft in the Repository in Ubuntu 11.10. I believe the version in the repo is 2.1.7. What I needed to do to get back to a working version is rollback to version 2.1.5 which is available in 11.04. Hopefully this helps some unfortunate soul in the future. :-)

Customer Retention (and how Autozone is doing it right)

I am an Autozone fan. I shop there for car parts almost exclusively. It's not soley because they are cheaper (though they typically are), it's because they take care of me. Any time I have an issue, it is resolved much faster, simpler, and more professionally then I expected.


Events are UDP for APIs

As I looked over the event spec that Phil Windley and Sam Curren created, I realized something. I realized that your standard API (a request-response type API) is to TCP what an evented API is to UDP. This is important to keep in mind as you decide whether to use a standard API or an evented one.


Slowness from an unexpected place...

There has been some slowness on Pacecarz lately, especially when submitting speeds. I finally got time to look into this last night.


The first step was figuring out what exactly was slow. I went to download a profiler for Django (via wget). To my suprise, it took ages to do the DNS lookup.


Ahah! I recalled that there is a call to an external service in the log-speed code. That DNS call must be taking ages.


Fixed the DNS problem, and everything speed up by 10x or so.


Convert a KVM image to VirtualBox's VDI

Super simple and easy to do, though I must I have been searching poorly since it took me a while to figure this out.


One command will do it:

VBoxManage convertfromraw /path/to/raw/file /path/to/output/file.vdi

Error when importing a DB router in Django

DB routers in Django allow for complex DB set ups. For example, reading from one database and writing to another or using a different database for a specific model.


I had created a router and placed it in my app's models.py file. I edited the DATABASE_ROUTERS setting in settings.py. Yet no dice, I kept getting the same error over and over. The error I got was: 

django.core.exceptions.ImproperlyConfigured: Error importing database router DBRouter: "cannot import name connection"


Using G+ as a Journal

UPDATE 1 (07/29/2011)

I have been using it as both a journal and as a place to store useful, interesting information. The only problem: I cannot resare things from my mobile device. This limits how much saving of posts I can do. :-(


Darrell Hudson recently posted on G+ about how to use G+ as a journal. Add an empty circle, post posts to said circle. Very interesting idea; I am going to try it out and see how it goes. I will continue to update here about my experiences. :-)

Flash Player 11 Beta (64 bit) on Ubuntu 11.04

EDIT (07/29/2011)

I just found the following directions from http://www.linuxnov.com/install-flash-player-11-beta-in-ubuntu-11-04-natty-narwhal-ppa/

This is how I reccomend installing flash player 11 beta from now on:



I swear PHP's designers are creating a cruel, evil, wonderfully executed prank. count() instead of .length() or length()? Seriously?


I applaud you, PHP. You have punked me well.