So you have upgraded your iPod to 1.1.2 by accident (or am I only one that stupid:P) and you’d like to downgrade back to 1.1.1 so you can jailbreak it?
Nothing easier done…
Download the 1.1.1 firmware
Start iTunes and click on the iPod on the left menu.
Hold down ALT and click on Update button. This will open a file selection menu, choose the firmware file you’ve downloaded.
After 1~2min you should be happy 1.1.1 iPod user :-) now only a quick visit on jailbreakme.com and you’re done.

If you’re wondering how to override a name of a file you’re uploading to ImageField/FileField in Django, here’s one of the possible solutions:

Add this to your models.py

Python [Show Plain Code]:
  1. from django.dispatch import dispatcher
  2. import shutil, os, settings, re
  3.  
  4. class CustomImageField(models.ImageField):
  5.     """
  6.     Model class should have a method like:
  7.  
  8.         def personalize_name(self, field_attname):
  9.             return "path/to/file/%d.jpg" % self.id
  10.  
  11.     """
  12.     def contribute_to_class(self, cls, name):
  13.             super(CustomImageField, self).contribute_to_class(cls, name)
  14.             dispatcher.connect(self._save, models.signals.pre_save, sender=cls)
  15.  
  16.     def _save(self, instance):
  17.         oldname = getattr(instance, self.attname)
  18.         extension = re.findall(r\.[\w\d]+$’, oldname)
  19.         if len(extension)>0:
  20.             extension = extension[0]
  21.         else: extension = ""
  22.         filename = instance.personalize_name(self.attname)
  23.         filename = self.upload_to + ‘_’.join(re.findall(r‘[a-zA-Z0-9]+’, filename)) + extension # leave only alphanum characters and add extension and add extension
  24.         try:
  25.             shutil.move(os.path.join(settings.MEDIA_ROOT, oldname), os.path.join(settings.MEDIA_ROOT, filename))
  26.         except IOError:
  27.             filename = oldname
  28.         setattr(instance, self.attname, filename)
  29.        
  30.     def db_type(self):
  31.         """Required by Django for ORM."""
  32.         return ‘varchar(100)’

And to your class definition you need to add something like this:

Python [Show Plain Code]:
  1. class MyPhoto(models.Model):
  2.     photo = CustomImageField(upload_to="photos/")
  3.     owner = models.CharField(max_length=32)
  4.     uploaded = models.DateTimeField(auto_add_now=True)
  5.    
  6.     def personalize_name(self, field_attname):
  7.         return "%s %s" % ( self.owner, self.uploaded ) # don’t worry about the non-alphanum characters

Assuming that the owner will be Bartosz Ptaszynski and the uploaded date 08-11-2007 13:06:00 and the file is photo.jpg the saved file will be:

photos/Bartosz_Ptaszynski_08_11_2007_13_06_00.jpg

Inspired by this blog. Thanks Scott.

“The Witcher” had been developed for many years now, originally based on NWN engine it grew to something beautiful.
The Witcher (or in polish original “Wiedzmin”) is based on Andrzej Sapkowski’s novels. Sapkowski is one of my favorite polish writers and I’ve read all of his work (even those that was published years ago in some fantasy magazines before he became famous).
As with many good literature like in this case someone had this brilliant idea to make a movie based on it.
Unfortunately for fans, polish movie directors got their hands on an exclusive rights to shoot the movie and that guaranteed them time (I believe it was 2years) before anyone else could even think about creating a movie based on the novels, and to my knowledge some Holywood producers were looking into it (god I was so suprised when I’ve seen intro to “Beowulf” with Christopher Lambert - I thought: ‘No way they’ve made Wiedzmin!’ as the main character resembles Witcher so much :) )
Anyway, long story short, the movie was a hoax. Then they’ve made a TV series, which was bad, but not as much as the movie.

So I’ve lost my hopes in polish productions. Don’t know why, I know that we have good programers and talented graphic artists in Poland (hey I’m one of them right? :) ) but somehow I’ve pushed away the idea of a good game based on The Witcher novels and after like 4years after the development started I almost forgot about it, until now.

So, on Sunday I’ve visited GameStop looking for a RPG to waste time on as my mood pointed me to this genre at the time. To be honest I was looking for the NWN2 Mask of the Betrayer, when my eyes landed on a familiar sign - the Witcher’s medallion - a wolf’s head. After few moments of gazing at the back where you can find microscopic sized screenshots I said to myself what the hell at least I’ll support the guys who made it in some way if I’ll buy it. Same afternoon I’ve installed it and the game sucked me in good. My girlfriend gave up trying talk to me when she saw that I’m not giving any responses beside “mhm”, “right”, “yeah you’re right” and I’ve got totally immersed into the world I came to know so well.
Some monsters and characters I’ve imagined a bit differently but hey, overall I’ve got great impression from the art.
Game runs on almost highest settings on my rig (Intel Pentium D 2,66GHz, ATI Radeon X1950XTX, 2GB DDR2) but to be honest the system could use a reinstall. I’ve just had to change the resolution down to 1024×768 and the anizo down to x8 and I’ve got constant 20-30FPS which is playable enough for this kind of game and the sights are uh oh gorgeous.
The dialogues are technically on a level of Fallout, they repeat themselves if you try to talk to one person second time, you’re getting same ‘hello’ kind of message from a NPC you’re trying to talk to, but still the story and immersion is great.
You can evolve your character as you gain more experience, or perhaps as you recover your experience after loosing all memory as Geralt, the main character, is one of the best Witchers around, well was, err will be again ;) So you have 4 attributes Strength, Dexterity, Stamina and Intelligence. Each one of them has five levels of advancement. First two require bronze skill points, third and fourth requires silver, and fifth gold. Investing in each level unlocks set of skills you can invest in same kind of points as in the level itself.
Beside attributes you can (re)learn witcher’s signs. They are kind of simple magic signs ie for telekinesis (Aard sign), causing pain (Yrden sign), fireball (Igni sign), etc.
Witchers also know their way in alchemy, so we’re be also able to brew potions that will boost us in those dark, smelly sewers, crypts, graveyards, forests or dungeons. Witchers are mutants, by definition they’re faster, stronger, more durable than humans, but they also have limits on how much they can handle. So beside the stamina and everobious HPs you have a toxicity level. More stuff you drink that you’ve brewed, more screwed you get. Of course you can invest a bit more in the elixir base (which is alcohol) to have better quality potions(stronger the better).
I must say it’s a game that doesn’t get borring after 30min, heck after 4hrs that I’ve spent the other day I was considering - warm bed or zombie-like appearance next day. I’ve chosen bed not because the game isn’t good enough to sacrifice a good night sleep, but because I’m a good boyfriend and my girl needs a goodnight hug ;) Anyhoo I believe that the 80+ hrs of gameplay is not overestimated, and not only because of longish load times between locations, but because there’s so much going on, and the amount of great cinematographic moments in the game just keeps you glued to the keyboard and mouse glazing at the screen.
There’s nothing more funny and exciting to get drunk in an inn with your ol’friend dwarf Zoltan and fist fight with some peasants when the screen is blurry and our character barely stands on his feet.
Anyway it’s a bit too soon for me to give a good overall review of the game, but from what I’ve seen so far I can recommend this game to anyone looking for great time playing RPG and all fans of Sapkowski’s work.

Recently I’ve moved to new house. And because I simply can’t be offline as I work over the net I’ve decided to give 3G a try.
I gave 3Ireland a chance at first. Unfortunately their “Up to 3.6Mb/s” is far from advertised. I didn’t expect it to reach speeds they advertise but something closer to 1Mb/s, but in practice I’ve got only 200-300Kb/s down and 50Kb/s up and the connection choked so often it wasn’t even funny. So the next day I have returned it and went to Vodafone.

Vodafone turned out to be more reliable in terms of stability and speed. It can fallback from 3G to GPRS if the signal gets too weak (and in some parts of my home it does). While on 3G I’m getting speeds of ~1Mb/s down and 400Kb/s up which is great, on GPRS it’s ~380Kb/s down and ~50-90Kb/s up.
Latency is not as bad as I’ve expected: 100-250ms for most servers.
So… Vodafone is nice but there’s a catch… 5GB traffic limit per month.. AND it’s aggregate traffic for upload and download!
With my day to day internet habits and work I’m using 300-1000MB each day, and no that’s without any P2P traffic.
As of yet Vodafone seemed unwilling to make any kind of deal to get a better package, and I’m not sure I’m prepared to pay hundreds euro per month for medicore broadband.
I guess I could always try out O2, and I may actually do that, because I’m sure I’ll resign from Vodafone Broadband before the 14days return warranty.

I’m trying to get a DSL at home, but that may take anything between few weeks and 3months. I guess I’ll be calling BT everyday to check when the installer will come and in the meantime I have to look for an office space with nice internet connection.