jessie's blog

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:

 

Gotcha!!

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.

Turbogears2 and Pip

I have been playing around with several different web development platforms lately, one of which is TurboGears. TurboGears is an extensively modular framework. After installing virtualenv (virtualenv is to python as RVM is to Ruby), I set up an environment for TurboGears. I did a 'pip install turbogears2' (pip is Python's gem). Everything seemed to work great, until I tried to run the first command in the tutorial, 'paster quickstart'. Except paster didn't know what this new-fangled 'quickstart' command was.

Rails and Magic

The book "Agile Web Development with Rails" states 'Some folks press the point:

“Just how do these variables get set?” These folks clearly don’t believe in magic. Avoid spending Christmas with them.'

 

My feelings:

Magic is great; until it fails to work for you. Then you're hosed...

Syndicate content