Thursday, February 22, 2007

Feature I wish I'd known about before

This morning I woke up (after two hours long sleep), dressed, went to work and suddenly an idea enlightened me. The idea I supposed would change the world from its roots. Well, at least my world.

You see - I love keyboard. Because it's fast. Faster than mouse. Actually it's an ideal input device for me. No way I'd ever have enough time and nerves to explain to the computer what I want to do with voice commands. Mind control may be useful, but for some reason it scares me just to think about it...

That's why I fell in love with Launchy. It's so simple and yet 42 times as much useful. When you press assigned shortcut (ALT+space is default, but I changed it ALT+Esc) launchy displays a simple text box. Just type part of the name of an application/document/bookmark (you choose) which you want to run/open, press enter and Launchy launches it for you. Simple, yet ingenious if you ask me.

Back to the idea, now. I wanted similar feature for Firefox. I wanted an extension in which you could define shortcuts for URLs. After you type shortcut in, say, location bar, you'd be directed to the mapped URL. For example, instead of typing "https://www.google.com/analytics/home/" one could type only "gan" and get to Google Analytics homepage. Would change world from deepest roots, don't you think?

Just moments before I started preparing all the tools I need for building an extension I googled a bit and found that Firefox supports that feature. By default. It's called - keywords.

Right click on any of your bookmarks and type a keyword. After that you can just focus location bar (CTRL+L, of course) and type the keyword. Works like a charm :D

Moral to the story: start googling before you write the code. Speaking of morals check today's joke of the day.

Wednesday, February 15, 2006

New project planning

I'm about to start developing heavy client-based web application. It is meant to be some form of CMS for web-comic relying on client-side JavaScript and PHP as data connector.

I didn't decide yet which technologies/protocols/software I'm going to use, but I had following structure in mind at first:

  • User interface: JavaScript using XMLHttpRequest to obtain data from server;
  • Data transfer protocol: pure XML;
  • Data provider: PHP would be used to read data and prepare results in XML for XHRO;
  • Data store: XML files sound like cheap solution. I think it should be easier to prepare XML output if I only select some elements and redirect them to XHRO.

As more time passes I find more flaws in this design. Some points I've read at "Why does XML suck" just cannot be denied.

Now I think I'd use JSON to transfer data between data connector and JavaScript. I still cannot decide upon data store.

MySQL does seem like logical solution. I have used it many times before, version 5 seems like serious RDBMS with features like stored procedures and data dictionary. Problem is that hosting solutions I'm interested in do not support newer versions (MySQL 4.0.x is most recent I saw) and generally, MySQL database has to be seperately paid for.

Hence, I started to think about SQLite. I've never used it before and don't have any idea about how fast/flexible it is, so I will do some testing.

I tried using embedded Firebird on previous project and liked it. Especially because it has support for stored procedures and many 'advanced RDBMS features' ('advanced RDBMS features' is everything not present in MySQL < 4.1 :D). Unfortunately it would require rebuild of PHP or additional dlls. I doubt I'd get that with shared hosting :(

Maybe I should look for more hosting solutions :)

Tuesday, February 14, 2006

Hello World!

And may the KIMV protect you!