Tag Archives: programming

Code Ignitor

I am recreating my most used Google apps under the open source Code Ignitor framework. I have always stayed away from frameworks. Not because I feel they make you lazy (lazy programmer = productive programmer = happy programmer), I just don’t like having to bend my code to the way someone else thinks I should write it. I normally stay away from any library that offers more than two or three functions, but after playing with CI trying to go back to straight PHP just feels clunky.

The main nice things about making your own web apps is that:

  1. You don’t have to worry about licensing issues
  2. You can hard code in stuff such as passwords and preferences
  3. You don’t have to include everything.

That last item could use some explaining. When you create a normal web app, you need to consider everything that a user could want to do and either include or ignore it. When you are making something that you will be the only one to use, you only have to worry about the stuff that you want to do often. The little one-off cases (such as changing a password) can be done directly in source files or SQL. No sense spending an entire afternoon allowing yourself to change a password when you can do it directly from the command line, and you will only do so every couple of months.

If you are looking to escape from both proprietary web apps and being tied to a single computer (or syncing files) I would recommend that (after searching FreshMeat) you download CodeIgnitor, read the user guide, and make it yourself.

Languages of Choice

I recently checked out a book from the local library on Python (Learning Python, 2nd Ed.) and don’t think it is a very good language. It is too loose where it shouldn’t be, and restrains you where it shouldn’t.

A good programming language should allow you to do almost anything you need, should be consistent throughout, and should allow you to use knowledge of another language as a starting point. C and derivatives, Java, and to some degree Perl and PHP all have enough similarities in syntax that it is fairly nontrivial to learn all of them once you have learned one. For my money, however, the best one to learn is JavaScript.

JavaScript is (almost) essential if you plan on doing any web development. It is designed so that you can learn bits and pieces and do functional stuff within the first half hour or so (without much case and pasting), and is scalable. It can be used for trivial tasks such as image rollovers in a web page, but scales so well that the majority of Mozilla, Firefox, Thunderbird, and pretty much any other Mozilla.org application or extension is primarily written in JavaScript. A good chunk of DreamWeaver is in JS. Not to mention a large portion of Windows (okay, that’s not such a good example, but bad apps can be written in any language).

JS is cross platform. Odds are that the browser you are using can interpret JS. Excellent quality web applications are written in it (Flickr, Google Maps, and GMail come to mind). And if you want to do something more ambitious than a web app (perhaps an app that can save files, for example) you can make a piece of Mozilla chrome (XUL Planet has an excellent tutorial) that will run on any computer that is running any Mozilla.org application.

I long for the day that GNU releases GJSC (GNU JavaScript Compiler).