May 2006 Archive
May 6, 2006
|
|
Today I converted three web sites to the latest Django's trunk formerly known as the magic-removal branch. It was a very positive experience in general. New Database API with lazy database queries (courtesy of QuerySet) rocks! Direct interaction with model classes allows doing a lot of things much simpler than it was before. A lot of small improvements, which makes a big difference like explicit template extensions (use whatever is appropriate for your content), more transparent new Admin inner class, natural overriding of model methods (no more _pre_save() and _post_save() hooks!), and, of course, no more pluralization guessing.
I encountered exactly three small problems during the conversion:
- RemovingTheMagic is a formidable encyclopedia of changes but it is difficult to use it as a cheatsheet for the conversion, because it is not organized by functional areas, and requires modifying files in several passes. I filed an enhancement ticket #1786.
- I had small problems modifying users and groups after the conversion. Instead of change screeens I started to get 404 pages without any helpful traces. I had to regenerate permission tables. An enhancement ticket #1787 shows how I did that.
- I found get_list_or_404() being less flexible than before. I used to pass in "__ne" and "order_by" kwargs, which I cannot do anymore, because they are not recognized as proper keywords. I had to do it manually with exclude() and order_by(), which was not a big deal because get_list_or_404() has a very small body.
In general the whole process was painless and left me completely satisfied with the outcome and code changes. Thanks to all contributors, who made it possible!
Save/recommend this post:
Subscribe to this blog:
May 2, 2006
|
|
Yes, another Google SoC is upon us. I signed up as a mentor with Dojo and Django. Both projects are on the leading edge of new wave of web-based applications doing extremely cool stuff. I anticipate that some smart students will bridge both projects, but individual projects are fine too.
What is Google SoC? Read the FAQ. Who can apply? Any student anywhere in the world can apply. You don't have to be Comp. Sci. major to participate. Why should I apply? You will gain a real world experience with open source projects on the bleeding edge of modern technology. Your code will be used by high profile projects (it will look spiffy on your resume). You will meet new people who "do it" instead of "talk about it". And you will earn $4,500 USD and a cool T-shirt as a proof of your participation.
We already started evaluating incoming proposals. You have to submit your proposal before 17:00 PDT on May 8, 2006.
Now some tips:
- You should "see" what you are going to do:
- Some sketch of general design will be very helpful.
- Outline of your timeline (conforming to SoC timeline) would be good too.
- It's okay, if you still need to fill the gaps in your vision of the project — both projects have vibrant communities, and mentors are here to guide you.
- We don't want you doing some insignificant work on remote outskirts of our projects. We know it is no fun. We want you to do something interesting, which can be immediately useful. So I suggest: try to resolve core problems, be bold and innovative.
- Try to see how you can improve the system, instead of how to use existing features. We will prefer core improvements over projects built using our frameworks. The former will benefit everybody, when the latter will be used by smaller group of people. Obviously we are interested in your code making the biggest positive impact.
- Aim high. Don't be afraid that the problem is bigger than SoC timeline. We can always scale it down, or stage it.
- If you came up with a small scope project, it is okay too. Try to bundle them until we have a proper chunk of work.
- If you need some ideas to get you started, don't fret: of course, we have suggestions. And we published them for Django, and for Dojo.

