lunatechian (lunatech-ian)

one relating to, belonging to, or resembling lunatech

why code maintainance sucks

I have had to work on updating someone else's code for a few days now. The code was a headache to read because

  • It was not formatted to conform to my coding standard ... in fact it did not conform to any coding standards.
  • There was no version control ... oh wait, yes there was version control. It was version control by commenting out unwanted code. So I had to scroll through screenfuls to commented out code. I must take a moment to thank the programmers of Anjuta IDE, which helped me a lot a with their excellent syntax highlighting. Here is how you delete code.
  • Did I say there was no version control. There was a version control system. It looked almost like this
  • There was no comments.
  • There were spelling mistakes in variable names
  • PHP code and HTML were mixed
  • there was more .. i have forgotten it.

Defined tags for this entry: ,

Hyperlinks with LaTeX

I am big fan of Texinfo for writing articles or any other documentations work (yes, I do sometimes try to write the specification document). For a few weeks now, I have been trying to learn LaTeX, sice it can be used to typeset good quality presentation slides and letters too.

A problem that I faced when writing the articles in LaTeX was on how to make a hyperlink to a webpage. I was using latex2html to convert the latex file to HTML format. LaTeX comes with a hyperref package which can be used to create links. It has a \href command which can be used to create hyperlinks, but the links did not come out in the HTML page. I found that this was a known problem with hyperref and latex2html. However, the solution, as I found out, is much easier. The command to use is \htmladdnormallink{link text}{universal resource locator} You have to include the package html in your document to use it

\usepackage{html,makeidx}
....
The text of this article can be downloaded from our
\htmladdnormallink{web site}{http://www.example.org}.

Defined tags for this entry: ,

Search Google from command line

As I had pointer out in my previous entry, I had not been able to search google from within my emacs environment. Hence the "need" to write a command line script which I would be able to call from within emacs

The code is not the best I have written and any decent Python programmer would be able to make more improvements to it. If you do something clever with the code, it would be very kind of you to let me know about it too (raj at rajshekhar.net).

You need to have Pygoogle module installed. In its unaltered form, the script will require Python2.3 to run. However, if you remove the #--ugly hack part (see the comments in the code), it will run with Python2.2 too.

Code now available at mouse click from here.

Defined tags for this entry: ,

to GET or to POST

As Macbeth would have said "To GET or to POST , that is the question". The general consensus is :

  • Use GET when you want to give the user the ability to bookmark a page (as all the data is held in the URL and does not rely on an existing session on the server.) The "get" method should be used when the form is idempotent (i.e., causes no side-effects).
  • Use POST when a form causes side effects (for example, if the form modifies a database or subscription to a service).

formed discussion over this topic in this usenet thread. Some words from the bible covering this topic. A more lengthy but not boring discussion on this topic is URIs, Addressability, and the use of HTTP GET and POST
Defined tags for this entry: ,

naming conventions

I have a very particular style of naming variables and functions in programs. I usually prefer the Linux Coding Syle I keep my variable and function names in small case and put an underscore (_) between the words, for example create_ftp_user.

A common practise found in the programmers using M$ technology is the use of MixedCase names. I find this type of names extremely prone to errors. For example, what would you keep your function's name, CreateFTPUser or CreateFtpUser ? Would you be able to recall the name correctly 4 days later ? find it easier to have everything in small case with an underscore between the words. A no brainer and easy to remember.

Defined tags for this entry: