Archive for the ‘Programming’ Category

Get to know Python

Tuesday, April 15th, 2008

We recently decided to choose Python over PHP for a new project. I did not know Python, so I’m currently learning it.  I was always in love with the C like syntax of Java, PHP, etc. and could not really imagine someone liking anything else. However, I have turned around now.  I really, really like Python’s whitespace sensitive approach. It makes all your code look so clean and compact.

It is clear from the start that Python really forces you to take one approach. That seems inflexible at first, but ultimately it gives you less to make a decision about and improves consistency of the code.

I do think there is a lack of documentation at some point. The core language and most important modules have excelent documentation, but that is not true for everything, so sometimes I really felt the need to look at the source.  Which fortunately is very very easy to read.

What really helps me to learn Python as fast as I can is the commandline interpreter, which allows me to simply check what works and how data looks. Furthermore, the PyDev environment is a really great help, with immediate feedback about syntax errors.

If you did not give Python a try yet, please do, even if it looks a bit weird at first, it is really nice to work with.

Weird JavaScript/Browser quirks

Tuesday, March 4th, 2008

The use of JavaScript has evolved over the years.  In the early days we would address a form element using:  myform.elementname .      Nowadays we prefer to use myform.elements[‘elementname’].   A related problem I ran into and only solved yesterday was, why    myform.submit();  was not working. Google presents the answer as the first result: for the query form.submit does not work.

Because my button was named “submit”    myform.submit refers to the button instead of the function.

Today I encountered a similar but harder problem.    Imagine this form:

<form id=”f1″ action=”go.php” onsubmit=”return ajaxSubmit(this);”><input type=”hidden” name=”action” value=”something” /> ….</form>

So I use  document.getElementById(“f1”).getAttribute(“action”);   to get the action and submit using AJAX.   Which works perfectly well in Firefox… and not in IE…

Apparently  IE does not really get you the action attribute but simply  object.action…. which in turn is the input element instead of the action attribute, similar to the first problem.  Unfortunately I can’t come up with a way to fix the script, so I had to replace the HTML all over the place.  (removing the action named input element by defining the action as action=”do.php?action=something”).