Unaffected by the London blasts

July 7, 2005
1 comment

I live very near Liverpool Street station where some of the blasts happened but I'm fortuntely totally unaffected by the blasts.

When I cycled to work I calmly went past the vast amounts of people, police and ambulances. I wish all people the best of luck with handling the situation.

Lisp compared to Python

July 7, 2005
1 comment Python

I was reading a thread about "Lisp development with macros faster than Python development?" on comp.lang.python when I stumbled across a little statement by Raymond Hettinger, a core Python developer:

"With Lisp or Forth, a master programmer has unlimited power and expressiveness. With Python, even a regular guy can reach for the stars."

Falling mannequin animation

July 4, 2005
1 comment Misc. links

Falling mannequin animation Probably the coolest Flash animation I've seen in weeks. Not a lot happens but I warn you because it's dangerously addictive. The body keeps falling down and sometimes get stuck. When she gets stuck you have to pick her up and get her to fall down in some other place instead.

Don't miss that you can pick her up and throw her upwards so that she falls harder the next time. Got this link via boingboing.

Module dependencies of IssueTracker.py

July 2, 2005
0 comments IssueTrackerProduct

Dependency graph of IssueTracker.py A rather impressive yet useless dependency graph of IssueTracker.py I created this graph simply by downloading py2depgraph.py and depgraph2dot.py from this website

The result is a big ass picture with little boxes that describe each little module that is connected to IssueTracker.py in some way. This image becomes rather useless to me because it digs down into python libs that the code never really goes near. To make this genuinely useful one would have to intercept the .dot file and remove references to libs that aren't interesting.

ztar - my wrapper on tar -z

June 29, 2005
8 comments Python, Linux

Something I find myself doing very often is to download a .tar.gz or .tgz file that I want to unpack, but only in a subfolder. Some rather annoying gzips aren't collected in one folder so that when you unpack it lots of files are created in the current directory. Do you find yourself often doing this:


$ tar -ztvf Some-0.x.tar.gz
Some/file1.txt
Some/file2.txt
...
Some/file100.txt
$ tar -zxvf Some-0.x.tar.gz
Some/file1.txt
Some/file2.txt
...
Some/file100.txt

Or, in case they the gzip is badly organised:


$ tar -ztvf Foo-0.y.tar.gz
file1.txt
file2.txt
...
file100.txt
$ mkdir Foo; mv Foo-0.y.tar.gz Foo/; cd Foo/
$ tar -zxvf Foo-0.y.tar.gz
file1.txt
file2.txt
...
file100.txt
$ cd ..

Truncated! Read the rest by clicking the link below.

Zope in DevelopmentMode

June 26, 2005
0 comments Zope

Imagine if you, in your code, want to find out if Zope is running in debug mode or not, then how do you do that? Here's my take on it that I learned today:


from Globals import DevelopmentMode

class MyProduct(Folder):
   def save(self, file):
       if DevelopmentMode:
           print "Saving the file now"
       self._save(file)

The example doesn't do much justice because your product code should perhaps use its own "debug mode parameter" to get greater control.

Truncated! Read the rest by clicking the link below.

AJAX accelerated web widgets

June 23, 2005
5 comments IssueTrackerProduct

To me, AJAX (Asyncrounous Javascript And XML) patterns are only interesting if they work as a bonus rather than a must. I've written before about autosaving web forms whereby a form with a big textarea is autosaved on the server every 8 seconds. That feature took existing form functionality and used it in Javascript instead of user actions.

Now I've done it again (actually it was a couple of days ago but I've had time to write about it until now). When you on the IssueTrackerProduct, list issues you'll see a little button that makes it possible to enable "filter options". If you press that button it sets off a GET request to the server to re-request the same page but this time with ShowFilterOptions=true as a parameter. Here's some simplified code:


<div id="filteroptions">
  <form action="ListIssues">
    <input type="hidden" name="ShowFilterOptions" value="1" />
    <input type="submit" value="Show filter options" />
  </form>
</div>

How can we load the filter options widget on the List Issue page without having to refresh the whole page?

Truncated! Read the rest by clicking the link below.

Zope compared to PHP

June 22, 2005
2 comments Zope

I picked this up from the Zope mailing list where the expert python Andreas Jung makes a good mention of comparing PHP to Zope.

"Don't compare PHP with Zope. PHP is a tiny language compared to the fat Zope frameworks. Working with Zope on the scripter level (ZPT, DTMl, ZSQL) requires similar skills as a PHP programmer. If you want to go beyond you have approach open-minded and come a with some solid knowledge in programming and understanding architectural issues in Zope. But when I read some questions here then I have the impression that people except that Zope solves their problems although neither they don't understand the problems themselves nor have the basic skills to reach the goal."

This is very good because it reminds us that one little part of Zope is what the whole of PHP offers more or less. I like PHP and it's open source community momentum but technically it is very basic compared to Zope.

As Andreas points out, it's not until you want to go beyond scripting that you have to take a step back and accept that Zope has a learning curve.

Software Patents in the EU (Stallman's explaination)

June 21, 2005
1 comment Politics

If you work in IT or a business that is related to IT, you should be aware that the European Parliament is making a pivotal decision next month on allowing or rejecting software patents. If they go for it, it will hinder all small IT companies and destroy the future of non-profit projects like my IssueTrackerProduct.

If you're not fully clued up on the topic and don't know what to think: read this article

Truncated! Read the rest by clicking the link below.

Authentic Locations

June 21, 2005
0 comments Misc. links

Authentic Locations It was actually launched a few weeks ago I think, but I haven't checked it out till now. Authentic Locations is a website where my kung fuing friend Marcos Theodosiou rents out holiday houses on Crete. This stunning website was created by Swede UK (a London based web design company) whom I also know. Swede has done several design jobs in partnership with my company, Fry-IT so I know Petter and David personally. They're really good and I would genuinely recommend them if you need some web design done.

I've been to Crete twice, on weeklong kung fu camps (some photos from the last one), and I can promise that it is as beautiful as the pictures on this site shows. Both times I went to the little town of Vamos which is not by the ocean but also not near to any noisy tourists (apart from ourselves).

So if you're interested in going to Greece, Cyprus or Malta this summer: don't. Go to Crete instead and with my personal recommendations I recommend that you have a serious think about booking with Authentic Locations.

Truncated! Read the rest by clicking the link below.