Django community: RSS
This page, updated regularly, aggregates Community blog posts from the Django community.
-
Jimbo's Number
It’s been a bad new year for Wikipedia, and it’s probably just going to get worse. While watching such a noble experiment come apart at the seams is depressing, it seems there’s a pretty valuable lesson here: Jimbo’s Number 1,000,000 — the approximate maximum size, in pages, of any one website. -
Ripped by Engadget
What a fun morning. The Daily Python-URL carried a link to an Engadget story featuring a picture of the OLPC from PyCon (Ian Bicking’s badge is visible in the background). Hey, doesn’t that picture look familiar? Yup, that’s right: Engadget ripped me off. That photo’s licensed under a CC BY-NC license, meaning that even if you pretend that Engadget’s use is non-commercial (on an ad-driven site it’s hard to say, really), without attribution they’re essentially guilty of plagiarism. -
Five things I hate about Python
Inspired by Titus (who was in turn inspired by brian d foy), here’s what I hate about Python. I completely agree with Brian that you can’t trust any advocate who doesn’t know enough to find stuff to hate. Given that I spend a lot of time advocating Python, writing down what I hate seems a good exercise. Perhaps I’ll do the same for Django in the future… Anyway, here are the five things I hate about Python, presented Letterman-style: -
toward a RESTful approach to Django applications
If you've read my blog in the past, and you probably haven't, you'll know that I have been trying earnestly to understand how to effectively apply REST, both in Web applications and Web Services. I also believe that you can't claim to know something, and judge it fairly, until you have used it in a significant project. That is what I intend to begin in this post. -
Helping Sort Django's Error Emails
When you run a Django powered website with debugging turned off, whenever a condition happens that would cause a HTTP 500 Error (such as an uncaught exception), the administrators receive an e-mail with a traceback and other relevant details to help debug the issue. These e-mails are really, really handy. If however you run multiple Django sites, all with Debugging turned off, it can become difficult to tell which emails and errors relate to which site. There are two solutions: Write perfect code that never throws errors; or Get Django to prefix the subject of the error e-mails so you can tell what belongs where. Since there are only 24 hours in a day (most of which when I'm either sleeping or at my non-Django day job which pays the bills) I've opted for #2. And doing that is easy. All you need to do is set the EMAIL_SUBJECT_PREFIX variable in settings.py: EMAIL_SUBJECT_PREFIX = '[myproject] ' Easy as pie! -
Helping Sort Django's Error Emails
When you run a Django powered website with debugging turned off, whenever a condition happens that would cause a HTTP 500 Error (such as an uncaught exception), the administrators receive an e-mail with a traceback and other relevant details to help debug the issue. These e-mails are really, really handy … -
PyCon 2007 pictures
I published first day pictures from PyCon 2007. They are raw, unedited, I didn't put descriptions yet. You can recognize Django guys, people from multiple Python web frameworks, and, of course, the BDFL with OLPC. But why wait for pictures to be prepped? Dig in while they are raw and fresh: Yes, this is Steve Holden sporting a Django t-shirt.Update: I added pictures from the 2nd day.Update #2: I added pictures from the 3rd day. Now I can go and put some names and descriptions like I did last year. -
PyCon 2007 pictures
I published first day pictures from PyCon 2007. They are raw, unedited, I didn’t put descriptions yet. You can recognize Django guys, people from multiple Python web frameworks, and, of course, the BDFL with OLPC. But why wait for pictures to be prepped? Dig in while they are raw and fresh: Yes, this is Steve Holden sporting a Django t-shirt. Update: I added pictures from the 2nd day. Update #2: I added pictures from the 3rd day. Now I can go and put some names and descriptions like I did last year. -
Overheard at PyCon
Overheard at PyCon: James Tauber: “Reinventing the wheel is great if you’re trying to learn more about wheels.” Adrian Holovaty: “Having Python produce JavaScript is like using a motorized wheelchair because you’re too lazy to walk.” Titus Brown: “I don’t do test driven development. I do stupidity driven testing… I wait until I do something stupid, and then write tests to avoid doing it again.” Simon Burton (introducing RPython): “Who here would like your Python code to run thirty to forty times faster? -
Building a manageable jumpstart infrastructure using the Solaris Security Toolkit
Luke Kanies has been stirring the hornet's nest lately about why system administration isn't evolving despite the huge growth in the development communities around the applications we manage and use every day. The tools system administrators use get nowhere near the attention, if any, that the applications do. Nor do system administrators often publish the tools they use because they feel they -
I don't care whose is bigger
Lately there’s been a big flare-up of web geek dick waving. This happens from time to time, and every time it just pisses me off to no end. All this arguing over “glue” versus “decoupled”, “full-stack” versus “NIH”… it reminds me of the ridiculous “surge”/“escalation” frenzy flaring up over in D.C. And like politics, these dick waving contents only really succeed because the sane people get too disgusted to participate. All that’s left are the people who are pedantic or insane enough to keep shouting back and forth. -
Quick Django Benching
Today I did an unscientific benchmark to see which was quickest between Apache's mod_python, Lighttpd's FastCGI and Nginx's FastCGI. The ... -
Implementing Tagging in a Django Application
Although I've used many Web based applications that employ tagging, I've yet to create an application of my own with this feature. But now, I have two potential projects on the horizon that could benefit from tagging, and I'm thinking about how to best implement this, both in the database and user interface layers. So, I thought I would explore how to implement tagging in my own applications, from scratch, and write about them on this blog. Therefore, I won't pretend I have all the answers--or even necessarily any good answers--but I will simply be trying to think through how to approach implementing tagging, and I will welcome any constructive feedback on those thoughts. -
The power of Zero
So I've been on this minimalism kick for a couple weeks. Basically applying a "less is more" philospophy to software. This time I'm building a site that has no content of its own, no network configuration of its own, no database, etc. I'm trying to build it completely out of reusable components that themselves use sensible defaults allowing for zero-configuration deployments with the flexibility to allow them to be controlled in cases requiring advanced control. You can see it at homes.knoxzilla.com. In fact you can see it at anything.knoxzilla.com,too. You can use any word you like and add .knoxzilla.com to the end and get the site. Behind the scenes it will use your word to fetch headlines from knoxnews.com. Business listings and photos come from within a 15 mile radius of the 37922 zipcode. I built it all using django and yahoo APIs. The latin text is random and supplied via a nice library I'm building called mockup and loremipsum. The components I'm building allow me do things as simple as {% loremipsum %} and poof -- you get one to six random passages from Cicero's De finibus bonorum et malorum, "On the ends of the good and the evil." … -
Benching Lighttpd vs Nginx (static files)
As it stands, the Django development team recommends mod_python to deploy your Django applications. With that in mind, they recommend ... -
LDAP: a Gentle Introduction
The perception of LDAP (Lightweight Directory Access Protocol) is pretty ambivalent. On the one hand, most software supports it and many people talk about it. On the other hand, there is only one serious open source LDAP server (OpenLDAP), whose qualities are openly discussed. There’s also very little and poor documentation that is mostly targeted towards a special case (e.g. replacing NIS by LDAP). Although being mainly a developer, I’ve been lately heavily exposed to LDAP and would like to give a very gentle introduction into this field, to make the first step easier to others who have to grok this technology. Introduction So what is LDAP? I’m going to spare you the details of its history, which is a fundamental part of each LDAP-covering text I’ve been criticizing. So right ahead: An LDAP server is a database. A database with some special attributes which make it a directory. One of the most fundamental is: It is (or should be) highly optimized for reading. Writing is also needed, but essentially it’s about reading. Therefore it’s perfect for any kind of “white pages” or configurations. Accordingly, it’s mostly known for the usage as a centralized address book or for authenticating. So … -
LDAP – A Gentle Introduction
The perception of LDAP (Lightweight Directory Access Protocol) is pretty ambivalent. On the one hand, most software supports it and many people talk about it. On the other hand, there is only one serious open source LDAP server (OpenLDAP), whose qualities are openly discussed. There’s also very few and poor documentation, which is mostly targeted towards a special case (e.g. replacing NIS by LDAP). Although being mainly a developer, I’ve been lately heavily exposed to LDAP and would like to give a very gentle introduction into this field, to make the first step easier to others who have to grok this technology. Introduction So what is LDAP? I’m going to spare you the details of its history, which is a fundamental part of each LDAP-covering text I’ve been criticizing. So right ahead: A LDAP server is a database. A database with some special attributes which make it a directory. One of the most fundamental is: It is (or should be) highly optimized for reading. Writing is also needed, but essentially it’s about reading. Therefore it’s perfect for any kind of “white pages” or configurations. Accordingly, it’s mostly known for the usage as a centralized address book or for authenticating. So … -
Django Quick Tips #1: Managers
This post is the first in a series of "Quick Tips" for Django, short bits of information not meant to ... -
Manipulating IPv4 and IPv6 addresses in python
Eighteen months ago, after many years of programming in perl for most of my systems programming needs, I decided to give python a go after much coaxing by a colleague, Alec Thomas. At the time I had started developing an IP address management system, designed for ISPs/Telcos who need to manage hundreds of address blocks and allocations to customers and internal infrastructure. I did a quick -
Awesome Talk by Adrian Holovaty at Vancouver Python User Group
Adrian Holovaty gave a talk to the Vancouver Python User's Group tonight. Really nice, funny presentation. His plane was late so while we waited for him we watched his talk at Snakes and Rubies. He showed us some of the new features coming in Django. The neatest thing for me was this new thing he's been working on called "databrowse". It's really awesome. Also the forms stuff is a lot nicer now in the newforms library. Someone asked about migration with Django and how to modify the schema once your app is up and running. It was neat to watch him add a column to his database and watch how he did it. It's unbelievable how many apps this guy has written and with Django it is so fast. Some of the stuff he has been doing for the Washington Post is pretty cool. -
Awesome Talk by Adrian Holovaty at Vancouver Python User Group
Adrian Holovaty gave a talk to the Vancouver Python User's Group tonight. Really nice, funny presentation. His plane was late so while we waited for him we watched his talk at Snakes and Rubies. He showed us some of the new features coming in Django. The neatest thing for me was this new thing he's been working on called "databrowse". It's really awesome. Also the forms stuff is a lot nicer now in the newforms library. Someone asked about migration with Django and how to modify the schema once your app is up and running. It was neat to watch him add a column to his database and watch how he did it. It's unbelievable how many apps this guy has written and with Django it is so fast. Some of the stuff he has been doing for the Washington Post is pretty cool. -
Improving performance of Dojo-based web applications
Introduction Web 2.0 brought on us an onslaught of new server-side web frameworks, and made it OK to put some code on the client side as well. Yes, I am talking about Ajax. While elements of Ajax were available (and used) for a long time now, 2005 was the crucial year for this relatively old technology fueled by proliferation of modern browsers with proper support of JavaScript and HTML DOM, which, in turn, gave a rise to numerous Ajax toolkits. As always new exciting technology polarizes people — you can find ardent supporters of Ajax and a booing horde of naysayers. The latter crowd points out real and imaginary problems with Ajax. Some problems are real enough but stem from a misuse of the technology. One of them is a performance of a web application. In this article I will show how to improve a performance of a web application with Ajax and how to optimize an Ajax web application. Specifically I will show how to optimize a Dojo-based high-performance web application. I will use Django and Apache as examples of a server environment. Design of a modern web application In order to improve the overall performance of a web … -
Improving performance of Dojo-based web applications
Introduction Web 2.0 brought on us an onslaught of new server-side web frameworks, and made it OK to put some code on the client side as well. Yes, I am talking about Ajax. While elements of Ajax were available (and used) for a long time now, 2005 was the crucial year for this relatively old technology fueled by proliferation of modern browsers with proper support of JavaScript and HTML DOM, which, in turn, gave a rise to numerous Ajax toolkits. As always new exciting technology polarizes people — you can find ardent supporters of Ajax and a booing horde of naysayers. The latter crowd points out real and imaginary problems with Ajax. Some problems are real enough but stem from a misuse of the technology. One of them is a performance of a web application. In this article I will show how to improve a performance of a web application with Ajax and how to optimize an Ajax web application. Specifically I will show how to optimize a Dojo-based high-performance web application. I will use Django and Apache as examples of a server environment. Design of a modern web application In order to improve the overall performance of a web … -
Adrian Holovaty Talk and Django Jam in Vancouver
This Sunday, the Vancouver/Zope User's Group (maybe the Zope part should be removed? sorry guys) is having a "Django Jam", a hands-on session where you can see how to create some simple applications or perhaps here some people talk about things they have developed in Django. Unfortunately the two applications I am working on are immature right now and I don't have a laptop, but I'll be there checking out what other people have done. Tuesday is even more exciting as Adrian Holovaty, the lead Django developer/founder is going to give a talk to the Python User's group while he is in town for another conference. If you are interested in web frameworks (especially simple ones done in a cool language) come and check it out. Vancouver DjangoJam. Full invite text follows: Django is the Python-based web framework used at companies like Google, the Washington Post and St. Joseph Media (publishers of Canadian Life magazine). "Vandjangojam" is a great opportunity to learn Django or learn more about it. In addition to a quick introduction to Django, the jam will feature a Q&A; session with the lead programmer of it. ---- Introduction to The Django Web Framework : Sunday, February 4, … -
Adrian Holovaty Talk and Django Jam in Vancouver
This Sunday, the Vancouver/Zope User's Group (maybe the Zope part should be removed? sorry guys) is having a "Django Jam", a hands-on session where you can see how to create some simple applications or perhaps here some people talk about things they have developed in Django. Unfortunately the two applications I am working on are immature right now and I don't have a laptop, but I'll be there checking out what other people have done. Tuesday is even more exciting as Adrian Holovaty, the lead Django developer/founder is going to give a talk to the Python User's group while he is in town for another conference. If you are interested in web frameworks (especially simple ones done in a cool language) come and check it out. Vancouver DjangoJam. Full invite text follows: Django is the Python-based web framework used at companies like Google, the Washington Post and St. Joseph Media (publishers of Canadian Life magazine). "Vandjangojam" is a great opportunity to learn Django or learn more about it. In addition to a quick introduction to Django, the jam will feature a Q&A; session with the lead programmer of it. ---- Introduction to The Django Web Framework : Sunday, February 4, …