New version (1.1) of very popular web framework Django has been released. New version includes ORM improvements, better testing performance, conditional view processing and URL namespaces.
ORM Improvements
One of SQLObject benefits over Django ORM was in my opinion possibility to make aggregations without issuing raw SQL-s. This feature is now present in Django allowing to make more efficient reports implementation.
Model improvements
A table can be marked now as “unmanaged“: syncdb/reset will not touch such table. Also: proxy models and deferred fields now are present.
Testing improvements
Big optiomalisation for unit testing fans like me: tests are run in one transaction, so performance is much better than before. I don’t use Django unit test infrastructure (selected nosetests for this task), but it’s pleased to hear about this improvement. Hope it will make unit testing more popular among Django programmers.

SAN (Storage Area Network) jest w dużym uproszczeniu sieciowym systemem plików. Pozwala scentralizować zasoby dyskowe z kilku fizycznych serwerów i udostępnić je poprzez sieć przy wykorzystaniu np. NFS lub iSCSI. Daje to znaczne oszczędności dzięki czemu można zaoferować tanie serwery dedykowane oparte o Inel Atom i sieciowy dysk.

Taką właśnie ofertę przygotowało ponad rok temu francuskie OVH. Entuzjastyczne opinie (serwer dedykowany za taką cenę!) dość szybko zostały ostudzone poprzez informacje o bardzo słabej wydajności dostępu do macierzy dyskowej po sieci. Użytkownicy informowali o spadku wydajności dysku do 400 kB/sek. (współczesne dyski dają zwykle kilkadziesiąt MB/sek.).
Ostatnio OVH po wielu walkach zapanowało jak się zdaje nad QOS dla dysku, ale wyższa gwarancja transferu jest okupiona odpowiednio większym kosztem.
Z tego przykładu można wysnuć następujące wnioski:
- w przyrodzie nie ma czegoś takiego jak “unlimited“
- współdzielone zasoby bez limitów zwykle kończą się jakimś mechanizmem limitowania ze względu na skończoną przepustowość
Trend do wprowadzania limitów obserwujemy też w hostingu (coraz więcej dostawców mierzy aktywnie zużycie zasobów we współdzielonym hostingu). Mechanizmy typu VPS (gwarantowane stałe zasoby) stają się także coraz bardziej popularnym wyborem dla twórców serwisów internetowych.
Sometimes you have to edit files in different chatacters encodings using the same terminal (that is configured, let’s say, for UTF-8). It’s very easy by using the following Vim configuration:
set fileencodings=utf-8,iso-8859-2
This setting allows Vim to automatically detect encoding from list and select first that match. If your terminal is in different encoding file will be converted on-the-fly.
Happy Vim-ing!

Lighttpd is smaller and faster alternative to Apache web server. You can handle bigger traffic with the same memory and CPU constraints (it’s important on virtual servers where resources are limited). Let’s see how we can convert existing Apache+FastCGI stacks into Lighttpd:
Global options
There’s special syntax to add options to all virtuals:
global {
dir-listing.activate = "disable"
server.follow-symlink = "enable"
}
In above example two config values are set: one is responsible for disabling directory listings (“Options +Indexes” in Apache), second for FollowSymlink counterpart.
(more…)