Posted in 2010

Required Reading

  • Nov 17 2010

At work, we have a wiki page that’s called Required Reading. Named after that oh-so-lovely tradition in high school or college of having books that you needed to read over the summer before you started class. The idea being that they are relics of the culture of the company, and if you read everything, you will understand a lot about how work (and play) is done.

Read more ...


Using Haystack to index non-database content

  • Nov 16 2010

Over on ReadTheDocs, I wanted to build search around the documentation that we’re hosting. I chose Haystack and Solr for this, because it’s the best way to do search in Django these days. However, I’ve only ever used Haystack to index content that is in the database. I thought about trying to add all the rendered HTML from the documentation into the database, but that was a non-starter.

Read more ...


Correct commands to check out and update VCS repos

  • Nov 15 2010

In my work in ReadTheDocs, we now support all of the major VCS repositories: svn, bzr, hg, and git. At this point in time we’re only checking out the repos to their default branches, and then trying to trying to update them again to another revision. While writing this code I have had at least 3 different bugs that caused the repos not to be updated correctly. So I’m going to detail here the exact code that allows me to do this for each of these types of repos, hopefully so that when you or I need to do this in the future, we can at least start from here.

Read more ...


Site upgrades

  • Nov 12 2010

Today I went ahead and flipped the switch on a couple of server migrations I’ve had queued up. One of these updates is moving ReadTheDocs over to its own dedicated server, that I built up over the week in my Chef Tutorials.

Read more ...


Building a Django App Server with Chef: Part 4

  • Nov 11 2010

Alternate title: There’s no place like home!

Read more ...


Building a Django App Server with Chef: Part 3

  • Nov 10 2010

Alternate title: Show the world what you’ve got.

Read more ...


Building a Django App Server with Chef: Part 2

  • Nov 09 2010

Alternate title: Actually doing something useful.

Read more ...


Building a Django App Server with Chef: Part 1

  • Nov 08 2010

Alternate title: Fucking Chef, How does it work?

Read more ...


Using ZNC, an IRC bouncer

  • Nov 05 2010

I use IRC for work, play, and generic open source questions and support. I think it’s a pretty integral part of my existence as a developer. Today I’m going to write about why using an IRC bouncer makes IRC a ton better and show you how to get one setup.

Read more ...


Running Hudson matrix builds on multiple machines

  • Nov 04 2010

When I was setting up the Django Hudson instance, I ran into a problem that seems like it should be pretty easy to solve. However, I couldn’t figure out a way. So at this point it’s looking like we’re going to have to use buildbot to build out what we want instead of Hudson. Wondering if I missed something obvious, or if this is a missing feature.

Read more ...


Django Testing Mailing List

  • Nov 03 2010

Duplicate implicit target name: “django testing mailing list”.

Read more ...


Celery Tips

  • Nov 02 2010

Following on yesterday’s post about Virtualenv Tips, I will be talking about celery tips. Yesterday I talked about how to run celery with upstart easily, and today I’ll be expanding on that below as well as talking about how to set it up using supervisord.

Read more ...


Virtualenv Tips

  • Nov 01 2010

Virtualenv is a project that is indispensable for most Python devs these days. I am writing down some tips here so mainly for personal reference, and because I found them useful.

Read more ...


Djangocon Talk

  • Sep 10 2010

I just gave a talk title “Large problems, Mostly solved”, which you will recognize if you’ve been reading this blog for a little while. I took my past series of Large problems posts, and expanded on them into a full talk.

Read more ...


New features on Read The Docs

  • Aug 28 2010

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.

Read more ...


Lessons Learned From The Dash: Nginx SSI

  • Aug 22 2010

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 some trouble.

Read more ...


A better webhook for code hosting

  • Aug 21 2010

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. However, once you have 3 or 4 or 10 services that need to do this, it becomes cumbersome. If I am a user that has 5 repos and I want to use 5 services, this is 25 times that I need to copy/paste some URLs into a form on a website.

Read more ...


Announcing Read The Docs

  • Aug 16 2010

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.

Read more ...


Lessons Learned From The Dash: Easy Django Deployment

  • Aug 16 2010

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 of the things that they learned in the Django Dash.

Read more ...


Conference Fun

  • Aug 08 2010

It’s conference season and I realized that I haven’t talked about any of the ones that I’ve been to or am going to, so I figured it would be a good post.

Read more ...


Large Problems in Django, Mostly Solved: Delayed Execution

  • Jun 23 2010

[This is part of the Large Problems in Django Series, see previous entries about: Documentation, APIs, Search, and Database Migrations]

Read more ...


Django Inspect: A generic introspection API for Django models

  • Feb 14 2010

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.

Read more ...


The role of designers in the Django community

  • Feb 06 2010

* 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.

Read more ...


Large Problems in Django, Mostly Solved: Documentation

  • Feb 05 2010

* [This is part of the `Large Problems in Django Series <http://ericholscher.com/tag/largeproblems/>`_, see previous entries about: `APIs <http://ericholscher.com/blog/2009/nov/11/large-problems-django-mostly-solved-rest-api/>`_, `Search <http://ericholscher.com/blog/2009/nov/2/large-problems-django-mostly-solved/>`_, and `Database Migrations <http://ericholscher.com/blog/2009/nov/6/large-problems-database-migrations/>`_]*

Read more ...


A simple Perl IRCBot

  • Jan 07 2010

A couple things I want to talk about. First of all, I will be participating in project52; which is a competetion to write a blog post in every week of the year. The last 2 years I have done the november post-a-day, and gotten about 25 of the 30 required posts. So hopefully writing twice that number of posts in 12 times the amount of time will be easy, right? Anyways, this is the first post in that series, so stay tuned for more regular and hopefully useful content :)

Read more ...




Hey there! I'm Eric and I work on communities in the world of software documentation. Feel free to email me if you have comments on this post!