Archive for the ‘Uncategorized’ Category

Introducing standalone and bundle products on pagegangster.com

Tuesday, January 26th, 2010

Big updates on pagegangster.com. We introduced the standalone product so people can download the entire e-catalogue and put it on a CD, their own webserver, an USB stick or whatever they want. We’re really excited about this launch, so go check out the new website and products. We also made a number of other changes making it possible to purchase a number of activations directly in the system. This is really good news for the customers looking for mass discounts.

Getting slightly technical for a moment, we learned a painful lesson regarding migrating data from one structure to another using the Django ORM. By mistake we tried to update a lot of models one by one. After waiting for over 90 minutes we rewrote that specific data migration in raw SQL and completed it in 3 minutes. I love the ORM but you have to be careful.

Seeing this update from a Django developers point of view the best news is that we’re not using wordpress for drive our main website. We can now concentrate on making the more hard core backend stuff. And besides some cache trouble it’s hard to beat wordpress in the usability game.

All comments are very welcome. Just comment here or send an email to info (at) pagegangster.com.

Protecting a Drupal site with Mollom

Sunday, August 9th, 2009

Just when I get really tired with Drupal something happens that kindda pull me back in. It happened to me again yesterday. I have spend a lifetime building a customer website, and the final result is – from a technical stand point – not the most beautiful piece of work I have ever done, so I was already afraid when the client called me. Apparently the 7000 comments on the site was not a sign of the sites popularity. Just spam.

After some digging I found Mollom, which is a somewhat commercial module for Drupal and installed it. After spending about 10 seconds on creating a Mollom account (thanks for supporting openid so well), 30 seconds to installed the module and about a minutes to setup the module, the site was protected against spam. Now, 24 hours after setting it up, no spam comments have made it’s way through.

When complex modules that integrate with an entire system that deep just work out of the box you have to give it credit. It’s simply fantastic.

Database structure migration without code versioning

Thursday, July 30th, 2009

This is not intended to be a rant or even close to it. But I find myself with a problem so obvious that I’m annoyed by the lack of solution. I can’t be the only developer with this problem.

I use South to handle database structure migration and it works (for the most part) very well, and I’m happy to use it. One problem though. When you actually need to migrate backward and forward many times you will run into problems with missing fields in your Django models. Say, so have a field called “person” on a random model. You wish to rename this to “full_name”, so you write the straight forward migration to handle this and remove the field from your model. Now, if you wish to migrate back your code is outdated. This mean that you’ll be unable to use your Django system to inspect things or whatever you might wish to do.

The solution – from my point of view – for all of us using some versioning tool would be to bind the migration to a changeset and have the forward and backward migrations update the code as well. This is a bit more demanding to set up, but it’s properly the only solution you have if you want the possibility to migrate back and have a useable system.

If only I had the time to take a proper look at South to find the solution.

Is my iPod brain dead??

Saturday, July 25th, 2009

Somehow I managed to get my iPod + Nike stuff out of sync with the real world. Apparently the iPod didn’t like handling 2 Nike censors and somehow the calibration got damaged.

Today I tried to calibrate the system so I could start a new running frenzy. So I selected 1.25km and ran it (measured it on a map beforehand). When the distance was completed my breain dead iPod said 0.7km, so I ended the calibration but got an error message like the following:

The distance you have chosen doesn’t match the distance completed.

Is it me who’s an complete ass here? Or would you think that the reason for people to calibrate the censor would indicate some error in the step to distance conversion? If the completed distance was correct. WHY CALIBRATE???

TVs impact on people.

Wednesday, May 13th, 2009

I just finished the 20th episode of House M.D. season 5. It’s pretty sad as one of the main characters commits suicide. So, put in crying people, sad music to a truly sad history viewers are bound to leave the episode less happy than normally. Despite of this I was amazed by the end screen:

If you are in crisis and thinking about suicide, call 1-800-273-TALK (8255). For general information about mental health issues, visit the National Alliance on Mental Illness.

I’m amazed, not only that TV can actually have that big an impact but also that the producers are actually putting the screen on. It’s a bit dramatic. Wouldn’t it just be easier to write the truth about the episode. The actor wanted out of the serie so they killed him. It’s normal.