RSSAmplifier

Blog

David Ziegler's Blog

David Ziegler’s personal blog of computing, math, and other heroic achievements.

blog.davidziegler.netRSS feed ↗20 posts

Latest posts

Django-css is dead, long live Django Compressor

This announcement is long past due. When I originally forked django-css from django-compressor the Django landscape and state of django-compressor were very different. The main impetus for the fork was to be able to use CSS compilers and fix some outstanding bugs. Since then, django-compressor has been taken over and revitalized by Jannis Leidel . Not only is there a lot more active development,…

Graceful Degradation and Web Typography

This is a cross-post from the Codio engineering blog , but I feel it’s justified since I wrote it: Graceful Degradation For Non-Standard Web Fonts .

Codio Now in Beta

Codio is now in Beta! http://blog.codio.com/codio-goes-beta Things have been going pretty well so far. Since Chris is in San Francisco and I’m in Pittsburgh for the time being, we’ve been working on our own schedules and coordinating online. Pros of working in Pittsburgh: I don’t know anyone here, so there’s not much to distract me. All I do is code, work out, and sleep.…

django-urlcrypt now with RSA

Someone on Reddit pointed out that our url obfuscation method for django-urlcrypt was rather simplistic. We already kind of new this, and that if someone was able to figure out the obfuscation key then they’d be able to decode the urls to get someone’s hashed password. I don’t think that’s the end of the world because the password is still sha1 hashed, but it’s…

django-urlcrypt

http://github.com/dziegler/django-urlcrypt Chris and I just open sourced django-urlcrypt , a Django app for encrypting information in urls. The main use case for this is when you want to give a user a url that logs the user in, and redirects them to some url. For example if I want to email users a link that logs them in and sends them to http://www.davidziegler.net/inbox/, I would send them…

Codio Alpha Launch

Hiring is one of those topics you constantly hear people gripe about. I’ve been on both sides of the fence and know how hard it is to find top talent and how frustrating it can be to get lost in a stack of resumes because you didn’t include the right buzz words and acronyms. Codio is an attempt to improve the technical hiring process. Companies post jobs and specify what programming…

Python Books

My dad recently asked me for a good book to learn Python, causing my heart to swell with pride. I’m pretty sure the last programming language he learned was Fortran , since that’s what they’ve been using for the past zillion years in his department at GE. He once told me that he’s gotten to the age where every new thing he learns causes something else to get deleted, but I…

Life Update

It’s been a while since I’ve written here because my life has been pretty busy lately. Here’s the rundown: I’m splitting my time between Palo Alto and Pittsburgh. Helen is doing a MS in product design at CMU so I decided to move to Pittsburgh with her. Her program is only a year long, and we plan on moving back to the bay area in May. I’m still working full time at…

Some Common Django ORM Pitfalls

For the most part, I like the Django ORM because it makes it easy to write reusable code that reads and writes from the database. I’ve found that the ORM can be a double edged sword though, as it sometimes becomes too easy to read and write from the database. In hindsight, most of the following mistakes are pretty obvious once you understand how the ORM works, but I still see these all the…

Announcing django-cachebot

“There are only two hard things in Computer Science: cache invalidation and naming things.” — Phil Karlton Over the past couple weeks I’ve been working on a Django app to do automated caching and invalidation. The basic usage follows like this: Photo.objects.cache().filter(user=user, status=2) Anything I would say here would mostly be a repeat of the documentation I wrote, so you…

Test Database Settings in Django

For early stage local development with Django, I typically use sqlite. It’s easy to setup, delete the database if I need to, etc. Later on though, I find that it’s a good idea to switch my local database to whatever I’m using in production (postgresql, mysql, etc), either because I want to make sure that my schema migrations work, or I might have some custom non-database agnostic…

See Which Twitterers Don’t Follow You Back (updated)

It turns out that if you were following more than 100 people or had more than 100 followers, there was a bug in my script to check who on Twitter doesn’t follow you back . Since I’m not super popular and have less than 100 for both, it took me a while to figure this out. The getFriends and getFollowers api methods in python-twitter are paginated to 100 results per call, so I needed to…

Programming Gloves

Unfortunately a lot of the code I’m working on is on lock down at the moment , but I thought that since it’s winter, I’d share a little trick to keep your hands warm during those cold late night coding sessions. If you’re like me, you’re unnecessarily frugal. This means wearing 3 layers of clothes, a blanket, and maybe even a snuggie before thinking about turning on…

Halloween

This is me as Kim Jong Il. Unfortunately, my dedication to the role meant shaving a receding hairline, which means I now have a shaved head. My alternative costume was to be Kim Jong ILL, North Korea’s finest gangster rapper.

A replacement for django-admin.py startproject

When I create new Django projects, I find myself doing a lot of the same things over and over. For instance, the file structure of each project is pretty much identical, and looks something like this: deploy wsgi_handler.py docs env (my virtualenv folder) src apps profiles photos etc. localsettings.py manage.py scripts settings.py static css images js templates urls.py The things is, I’m…

Procrastination

I just wasted an hour solving this stupid puzzle: http://www.techcrunch.com/2009/09/21/google-is-searching-for-beautiful-minds-but-so-far-no-m-i-t-students-have-broken-its-code/ I say stupid, because once you discover the answer you’re like, why did I just waste my time solving this? It’s not a cool puzzle that you might have to write a neat algorithm to decipher, it’s just one…

Email Fail

I just noticed that my mail client will occasionally auto-select my old work email address for the “from” field when composing new emails. Unfortunately, I no longer have access to emails sent to this address. So if I wrote you an email and you responded to it, but I never replied back, this is probably the reason. Sigh.

Feeling Nostalgic

I had the urge to create a retro version of my homepage today. I cheated a little bit because I didn’t have the patience to use frames or tables. http://www.davidziegler.net/retro.html

Sikarra

No updates in a while because I’ve been traveling around a lot. I did manage to build this in my free time though: http://www.sikarra.com It’s basically an online wishlist that lets you bookmark stuff you’d like to buy. Nothing fancy or anything, it’s something that I mainly just wanted for myself. I use Amazon wishlist a lot, but I didn’t like how I could only…

SF Theater Buzz

It looks like it’s safe to mention this now. I recently finished building this site for a client: http://www.sftheaterbuzz.org My friend Kim Nguyen did the design and artwork, and I think it looks pretty awesome. You should definitely hire her, as long as it doesn’t interfere with her working with me. The whole thing is written with Django and jQuery, and I used django-css with…