2010 August 28
Since the Django Dash ended, We've been working on adding some requested new features to Read The Docs. There are a couple of major ones that we have added that I'd like to talk about.
We've added support for all ...
2010 August 22
Continuing from my previous post about Django Dash, I will be talking about another thing that I learned from the dash. This isn't as big of a post, but just something that we ran into that caused us ...
2010 August 21
I have written a couple of different services that have needed to be required when your repository has had code committed to it. The normal path of getting this to happen is to ask your users to add your special URL to their list of post-commit hooks for their repository ...
2010 August 16
This year's Django Dash just came to an end, and I'm really excited about the project that we built. I'm sure the other teams are feeling just as stoked, because there is an amazing amount of awesome work that was done in the last 48 hours.
I ...
2010 August 16
This is going to be a series of posts that talk about what I learned from the Django Dash. I think it's a really fun competetion that is also a great learning experience. I hope that this series catch on, and other people write about some ...
2010 June 23
[This is part of the Large Problems in Django Series, see previous entries about: Documentation, APIs, Search, and [Database Migrations](http ...
2010 February 14
Django itself has shipped with a "semi-private" introspection API, _meta, for a long time. I have created a drop-dead simple wrapper on top of this.
The value of introspection keeps growing on me as I realize how it makes making truly reusable applications possible. It is an interesting intersection of ...
2010 February 06
UPDATE: There is a new thread about the roles and implementation of a Design Czar up on the Django Developers mailing list. Please contribute there as well, if you have thoughts and ideas.
There has been a [recent discussion](http://groups ...
2010 February 05
[This is part of the Large Problems in Django Series, see previous entries about: APIs, Search, and Database Migrations]
Django is ...
2009 November 22
With Kong, I have been trying to figure out a way to provide overridden model defaults. At work, our pythonpath's default to /home/code, however your setup is probably different. It would be useful if there was a simple way to let you override the defaults for your Kong ...
2009 November 19
When working on side projects, usually you wear all of the hats. Sysadmin, developer, designer, marketing, etc. You have to do all of them, and presumably you do one or two of them well, and the others well enough to get by. Working at the Journal World has been the ...
2009 November 18
On Monday at work, our sites started to slow to a crawl. We looked to diagnose the problem, and found that the database server had a load of 10, and was struggling to keep up with the morning rush of traffic. After EXPLAINing the slow queries from the slow query ...
2009 November 17
At work we have to manage a ton of Django based sites. Just for our World Company sites, we have over 50 different settings files, and this doesn't take into account the sites that we host for other clients. At this size it becomes basically impossible to test each ...
2009 November 16
At most open source conferences, a lot of attention is given to the talks. At the ones that I have been to (Djangocon and Pycon), the most fun that I have had, and the most I have learned is during the sprints. I want to talk about the value and ...
2009 November 13
As part of the summer of code 2009, Django test coverage has been developed. I mentored Kevin Kusabik, who developed the code. It is hopefully going to be merged in 1.2, but there are still a few issues to be worked out in the implementation ...
2009 November 11
This is the third part of my Large Problems Series. The first two were Search and Database Migrations.
A lot of efforts have come and gone in the Django space, trying to provide a ...
2009 November 09
At work, a lot of our sites have sweet mobile versions. The problem is how to educate people of their existence. Currently we just have little ads that show up on the site that promote the ...
2009 November 06
Continuing in the series of big problems that are mostly solved, we have database migrations. A couple days ago I talked about Search.
Database Migrations are an interesting piece of the Django community. Rails has the functionality built in, but ...
2009 November 03
In my previous post about template tags, I discussed the two steps required for template tags. Today I will be focusing on Parsing of template tags, and how they may be improved in the framework of Class Based Template Tags from yesterday ...
2009 November 03
In Django, template tags currently are separated between a Node class and a "parsing function". The parsing function takes the tag, represented as a string, parses the input, and passes the correct arguments to a Node class. The Node class then does whatever rendering it does, or updating ...
2009 November 02
It's been a little over a year since I started doing Django development full-time, for one of them real jobs. Around that time, there were a few large problems in the community that hadn't been solved yet. They were kind of blemishes when you would talk to people ...
2009 October 16
Update As of Django 1.2, Django ships with default test settings for sqlite. They require two databases to be defined, because of Multidb. More information at Django advent and in the docs
Alex Gaynor ...
2009 September 23
Continuing on with the simple tricks that make everyone's life a little bit better, I know a lot of people hate that Django's 500 pages don't get rendered as a RequestContext ...
2009 September 05
In a previous post I talked about a neat middleware to debug production environments in Django. It basically checked to see if you were a superuser, or if you were in settings.INTERNAL_IPS, and if so, then it displayed a technical 500 ...
2009 June 29
Setuptools comes with a way to run the tests on your application. This allows the user of your software to download it, and run python setup.py test and check to see if the tests in your application pass. This is really useful ...
2009 June 11
Migrating test fixtures is one of the biggest pains of testing. If you create your tests too early, then change your schema, you have to go back and touch all your old test fixtures. This discourages people from writing tests until their app is relatively 'stable'. As we ...
2009 May 24
Any sufficiently large Django project starts to have a wide variety of Template Tags and Filters. Even Django ships with a dizzying array of them that allow you to do all sorts of fun and interesting things. Ellington, our CMS at work, has a ton, and I've ...
2009 April 20
Today is the day that Google has announced the accepted projects for the Summer of Code. Django has 6 spots this year, with a bunch of exciting projects. I am lucky enough to be mentoring Kevin Kubasik with his project "Upgrade the Awesomness Quotient of the ...
2009 April 16
A lot of the Django code we use at work has a special case for AJAX. It has been a kind of a pain to test, because the test client by default doesn't use AJAX. Luckily the [is_ajax](http://code.djangoproject.com/browser/django/trunk/django/http/init.py ...
2009 March 12
It's that time of year again, and the Google Summer of Code is happening again. This year Django will be applying again, and there is currently a Wiki page on the Django wiki devoted to ideas and people ...
2009 March 08
The ice is starting to thaw and I'm making my way out from under my first winter in Kansas. You know that spring is coming because the conference season is starting to bloom. I'm looking forward to a bunch of conferences that will be upcoming in the new ...
2009 February 28
Lately I've been delving into Django development a bit more, and applying people's patches has been a bit of a hassle. You know you want to apply someones patch, but there are about five steps in between you and applying their patch to your source tree.
So I ...
2009 February 15
So at work we have a lot of different django environments, scattered across varies servers. All of this information is kept in a central resource. We have the pythonpath, settings file, and the remote server that the client is on. So every time that I want to go do work ...
2009 January 29
Just a quick warning/tip on using Django with rsync, for other people pulling their hair out later.
When you use rsync a good way to get a directory is using rsync -aCq, which means recursively, quietly, move a directory ignoring common files. The -a command means 'archive'; keep permissions ...
2009 January 27
So about a month ago I started a project on my blog called the Django Conventions Project. It was an attempt to document and record conventions that are used across the community. Conventions are a great thing ...
2009 January 21
5 second review: Reading this book will make you a much better Django Programmer.
In full disclosure, I was sent a review copy of this book by the publisher, but I had already pre-ordered it on Amazon, and the copy I am reviewing is that copy. The review copy is ...
2009 January 15
As of Changeset 9756, Django's test suite is A HELL OF A LOT FASTER. This was one of the 1.1 Features and probably the one I was looking forward to the most. Django Unit Tests ...
2008 December 03
During the last month I have proposed some conventions for Django, mostly in the realm of templates. In doing so I have looked around for other documented places where conventions are mentioned. I haven't found a really good reference for Django conventions. [Brian's post](http://oebfare.com/blog ...
2008 November 30
It's the end of the Post a day for a month. I did pretty well, but fell off about 3 weeks in because of work. First some stats.
In [4]: Post.objects.published().filter(publish__year='2008', publish__month='11').count()
Out[4]: 23L
In [10]: for post in ...
2008 November 27
A couple posts ago, I talked about how we should have conventions for the names that we use in Django Template Blocks. Today I will be talking about the value that is gained from this kind of structure.
2008 November 26
About a week ago, I went ahead and re-wrote testmaker and moved it into my django-test-utils project on github. The syntax is now a bit different, and the whole thing is much improved. This is version 0 ...
2008 November 22
I have been doing some more work on my Django Community Aggregator / Django People v2 project. A big feature that I want to incorporate is tagging. I want people to be able to sort data by tag, among other things. I think that this is a pretty killer feature.
This ...
2008 November 20
There are a lot of reusable apps out in the Django Ecosystem. I wrote a previous post about why I think that reusable apps should come with templates. There is a problem about distributing templates that I want to address with this ...
2008 November 16
Well I spent all day Saturday, and all night. Into Sunday morning hacking on some code. Probably the most productive 24 hours of my life. I have a couple of announcements, but in the spirit of post-a-day, I'll spread them out over a couple days :).
The big one, is ...
2008 November 15
Nick had a nice post about setting DEBUG based on the hostname of the server that you're site is running on. This allows you to set DEBUG to True for your staging site, and False for your production site.
I do something along ...
2008 November 14
There is a debate among the Django community about whether people should include templates in their reusable apps.
The arguments for including them are generally that it is nice to simply install the app and have things just work. This is a really nice feature to not have to dig ...
2008 November 13
I was having a conversation with Jacob tonight about testing in Django. He has shot down testmaker for being too specific for Django core, which I almost agree with, given my grandiose plans for it before the month is out ...
2008 November 11
This is the fourth in a series of Django testing posts. Check out the others in my Testing series if you want to read more. Today is the start of a sub-series, which is practical examples. This series will be going through each of the different kinds of ...
2008 November 10
Today I'm going to be releasing a new project, called django-test-utils. It's rather empty at the moment, but it does have one cool feature. That is my [Django Crawler](http://github.com/ericholscher/django-test-utils/tree/master/test_utils/management/commands/crawlurls.py ...
2008 November 09
A couple posts back, I was talking about software that I use all the time. I was going through and linking to all of the software. I would go to google, type in the project name, go to the first result, and copy that URL back into my post. I ...
2008 November 08
There are a lot of things that I love about Django. Template tags are one of them. However, they do have a couple of warts that bother me. I know that there's a problem when I actively look for another way to accomplish something instead of writing a template ...
2008 November 06
My workload at work is about to get a lot less critical and time consuming, so I was looking for a project to start on. I am really interested in the social aspects of the web, and below I will outline an idea that I think will be my next ...
2008 November 05
In the first two posts of this series, we talked about how to get the basic infrastructure for your tests up and running. You should have a file with doc tests and one with unit tests. They should be linked into your django project with an `init.py ...
2008 November 04
Last post we talked about how to set up and use doc tests inside of Django. Today, in the second post of the series, we'll be talking about how to use the other testing framework that comes with Python, unittest. unittest is a xUnit type of testing system (JUnit ...
2008 November 02
This is the first in a series of blog posts and screencasts that will walk you through how to test your Django application. These posts will focus more on how to get things done in Django, but note that a lot of the content is applicable to pure python as ...
2008 November 01
November blog posting month has a special moment in my Django history. It was this time last year that I really got serious into Django. With the help of James Bennett's and Marty Alchin's blog ...
2008 October 05
We were talking about things that we wish we had known before while developing for Django the other day in IRC. I proclaimed that we should write them down somewhere. So I'm writing a post to get this effort started. Please feel free to leave comments with your own ...
2008 September 18
I went ahead today and figured that I would try out Pinax, seeing as it's been getting a lot of good press in the ...
2008 September 12
This is a screencast on the Django Command Extensions project. It is one of my favorite third party apps, and it gets installed in every Django environment I work in. It provides a plethora of useful manage.py commands, and a couple other little ...
2008 September 02
Today's screencast is about pdb again. This time we are going to be debugging management commands, and unit tests for django. This is a little bit more powerful than the previous screencast which just introduced the basic debugging commands.
This screencast uses a couple of really ...
2008 August 31
I had a couple of comments about my last post saying that I should be sending all of the screencasts to the aggregator because this is content and isn't spam. So I'm going to do that. Thanks for all the feedback everyone! Hope you're enjoying the series ...
2008 August 29
This is the second screencast of a week long series.
So that I don't spam all of the Django Community Feed (Bad RSS handling has done that more than once, Sorry!) I'm only going to be posting this post and the last post summarizing all of the screencasts ...
2008 August 28
This is part 1 of a week long series of screencasts
Hey Everyone, I'm here to make a minor announcement. In the upcoming 7 days, I'm going to be releasing 5-7 screencasts on Django, mostly focused on debugging, and hopefully trying to throw in a couple of other ...
2008 August 14
Today I ran into a fun problem when writing template tags at work. (I'll write another post later on the fun-ness that is testing of template tags :) In ellington we have some templatetags that test for the current time of day. ifmorning, ifnight and so on. These template tags ...
2008 August 06
First off let me say that I know that not everyone likes setuptools and that is fine. distutils works well and is included with python. However, I believe that Python needs to get some parity with what Perl has with CPAN. Pypi is Python's ...
2008 July 26
Okay, Well I have been hacking away at django-testmaker for the last couple of days based on some ideas from the community. It has gotten a lot better, so here is another blog post showing what's new.
First let me just say how awesome the Django community is, and ...
2008 July 23
At work lately we've been writing a bunch of tests for all of the work we've been doing. This is generally a good thing (tm). I was getting tired of manually having to write all of the code to test the views ...
2008 July 08
I was just convinced to setup mod_wsgi on my server instead of mod_python, and I'm going to write up how I did it. All of the documentation I found on the internet was really hard to follow, so I'm going to distill it here the best that I ...
2007 November 25
Implemented Background processes, the ps command, and the kill command in GeekOS today for my Operating System class (hard shit!). Really neat stuff though.
I am also hacking arounc w/ Django to implement my independent study. So busy...
5 days, 7 hours Ago (Comments: 3)
Lessons Learned From The Dash: Nginx SSI
1 week, 4 days Ago (Comments: 3)
A better webhook for code hosting
1 week, 5 days Ago (Comments: 0)
2 weeks, 2 days Ago (Comments: 7)
Lessons Learned From The Dash: Easy Django Deployment
2 weeks, 3 days Ago (Comments: 9)
I may not have gone where I intended to go, but I think I have ended up where I intended to be.
- Douglas Adams

