Finally, it appears as though there is an official driver to connect to PostgreSQL from Python, called py-postgresql. The only downside is that it’s only supported in Python 3. Unfortuanately all our production systems are still using Python 2.6 and we’re not going to migrate to 3 in a hurry just yet. Still, it’s promising, and I’m looking forward to working with this in the future instead of some of the poorly documented alternatives.
Piracy, and helping to prevent it
Piracy exists, and truthfully it always will. There is an element of the population that will always pirate music and software. That’s inevitable.
However, there’s also a segment of the population that pirate because they are given no other choice. Sound ridiculous? Bare with me.
Let’s take a look at iTunes as a perfect example. The iTunes US store is the biggest and best of all the iTunes stores, and as such carries the lions share of content. In stark contrast, other iTunes stores carry limited music and movies/shows, and in some cases (South Africa), no music or movies/shows at all. Do these users not want this content? Of course they do, but because copyright laws in these countries differ from the United States, the content is not published there. And therein lies the problem.
There are vast amounts of the world that WANT this content, and are quite prepared to pay for it. Instead, record and movie labels restrict access to their goods to these countries. This essentially leaves these people with two choices:
- Wait (and hope) that the content is released in their country.
- Pirate it.
This is completely brain dead. Who gives a damn about which country your consumer resides in? Do you want his/her money or not?
The solution? It’s simple really. Give users what they want:
- Simultaneous worldwide release of all content. Stop releasing content at different times in different regions.
- Remove the ridiculous notion of DVD regions. It doesn’t stop piracy and only hampers consumers.
- Allow worldwide access to digital mediums such as iTunes.
I for one will be gladly waiting in line to start purchasing those goodies which I am unable to get now…
RPL
Good news… I finally got feedback from the Australian Computing Society, and my RPL application was successful. Thank goodness, considering the time and effort involved in completing it. Now, we continue with the next phase of our application.
Pylons 0.9.7 changes
I recently upgraded my test machine to Pylons 0.9.7rc4 and ran into some minor hiccups. Seems there have been some changes with regards to mako templates escaping HTML and also changes to the routing.py file that broke a few of my test cases.
The changes for the upcoming 0.9.7 release can be found here. The new Pylons Book, covering the new release is also available here.
iTunes goes (partly) DRM free
A day or two ago Apple announced that all music on iTunes will be DRM free. This is great, and something I’m very much in favour of. I think Apple has done a great job at finally getting this done, even though it should have happened a lot sooner. I only have two minor gripes:
- All content should be DRM free, not just music. If I purchase from the iTunes store, regardless of whether it’s movies or music, I have a right to own that content, not merely rent it as is the case with DRM restricted content.
- I think it’s slightly wrong to be charging customers to convert their libraries to DRM free files. It seems wrong to be charging people for content they have already bought.
Honestly though, it’s a step in the right direction. Looks like all the opposition to DRM may just be making a difference.
Happy New Year
Happy 2009 to all of you. May you all have a fantastic new year.
No resolutions for me this year… just some silent commitments to myself of things that I need to achieve. And achieve them I will…
2to3
Those of who are interested in Python will have noticed that 3.0 is the first release to break backward compatibility. I won’t go over the actual changes here (that’s what the release notes are for) but one thing that caught my eye was the 2to3 conversion tool that’s provided with Python 3.0. The tool easily allows migration from 2.x to 3.0 by modifying your existing code base. I’ve already used this on our largest project on my test box and so far everything has worked flawlessly. Now, back to work code monkeys…
Good (Birth)Day
So today has been a pretty good day overall so far. Firstly, it’s my birthday. A bittersweet day I guess since it means I’m getting older, but I get to hear from all my friends and get gifts which offsets that quite nicely.
Some of my friends pitched together and bought me a new 360, which is really awesome as I had been waiting until later this month before I bought one myself. Currently the new box is sitting next to me getting the NXE update, so am looking forward to playing with everything and praying that this hardware doesn’t give up like my original 360 or I’ll be permanently switching to the PS3 if/when I next buy a console. I recently saw that 360’s outsold the PS3 by 3:1 over the Black Friday weekend, and it made me smile since I wonder how many of those purchases are original 360 owners replacing their faulty kit. In my opinion, Microsoft should have recalled all those original consoles and replaced them once they knew there was a problem… but such is big business. It seems some companies are not responsible to their consumers. I guess we’re partly to blame too, since we don’t move to the competition… but once you’ve made an investment in the games etc. it is hard to switch.
Oh, and Python 3.0 was released. Very cool. The next couple of days will be spent making sure that all the code I wrote still works as this release breaks backward compatibility.
The age of internet gaming
I’m an impatient person when it comes to personal (home) computing. I work daily with specialized systems that require 100% uptime and in an environment where users demand systems that are fast, responsive and dependable. When I come home and have a spare moment I expect my gaming experience to be as reliable, as fast, as responsive as the environment I provide at work.
And so it’s with some mild irritation that my night unfolds:
- I log into the Bloodhoof WoW realm but due to the popularity of the new expansion, the queue is around 500 users which equates to a 30 minute wait just to get online and play.
- I launch Steam to play the L4D demo, but get an error saying that the Steam servers are too busy to handle my request.
- After 5 minutes, I try launch the demo again, but this time I’m told I need to update my L4D client, which results in 15 minutes of waiting for the patch to download.
In short, infuriating. In an age where everything is supposed to be so much easier, it seems it’s never been more difficult to just relax and play a game. Between DRM, patching, long queue times, latency, lag and all the other annoyances that seem to be creeping into today’s gaming experiences it’s hard to believe that the purpose of all these things is to allow us to relax.
RPL
I finally completed my RPL (Recognition of Prior Learning) for the Australian Computing Society. I went through today and submitted it. Nervous times ahead, as I now have to wait somewhere between eight and twelve weeks for feedback. The document itself wasn’t too bad to fill in, though I must say that the way in which it must be completed is fairly different to anything I’ve else I’ve seen before. Most difficult was the acquisition of the references from past companies, some from as far back as ten years ago.
The cost of the application is $450AUD which is fairly pricey given the current exchange rates. No sense in complaining about it though. Now, to just wait and hope for the best.