Monday, February 21, 2005

Kelvin Quee

New blog, Kelvin Quee, is created using Wordpress 1.5.

This is to be sure google will spider my new blog. Google has a preference for blogs using blogger. Yeah, sure, this's a cheat. Shhhsh.

Friday, August 20, 2004

Google Wise?

Google debuted yesterday, shooting up to USD100 from USD85. Such news couldn't be any better, for a company, founded upon ideals and ambitions of the people, from geeks to netizens alike.

It couldn't be any better to actually own a piece of that company. Can its future be anything but rosy with a string of sensible innovations ever since its founding? Perhaps it's the only tech giant that still maintains enormous goodwill with its users - Incredible, to say the least, in a world where once you are big, you are labelled a giant wrestling for monopoly, stifling competition.

And yet, morning star has an article throwing cold water on this sizzling, highly anticipated google IPO, with good reasons of course.

It even highlights a move by google's management which is equivalent to shooting themselves in foot which earned them their public goodwill:

When our analyst writes his or her "Management" section on this company, it will probably read something like this: "Insiders hold Class B shares, which have 10 times the voting rights as the Class A shares held by ordinary investors. This gives insiders control over the board of directors and makes it very difficult for public shareholders to have any impact on the management of the company." Tsk, tsk, Google. What about the "Don't Be Evil" principle you mention in your filing?


Which bring us back to the topic of the future of google. Will it still retain its big friendly giant status, or will it go the way all giants go? Only time will tell.

Thursday, August 19, 2004

Thin Client Revived?

Tech Central Station has an article arguing the revival of thin clients.

Thin clients are minimalised computers, complete with a screen, keyboard and mouse, with just enough processing power and memory to store user details and log in into a grander system. This larger network will then provide the needed processing power and storage space. Thin clients' clear advantage over conventional setups is its simplicity, hardware-wise, making per unit costs so low it can be given away to free, provided that you use specific products or subscribe to a particular service.

In fact, due to its low initial investment, thin clients have a distinct edge that extends beyond what the article suggests. Thin clients can act as web browsers alone very comfortably. Companies using very specific and limited range of programs can subsitute full-fledged desktop for thin clients for their employees. The applications are countless, but perhaps what most people are most concerned with, especially hardware manufacturers, is will thin clients ever make it to the popular mass?

The technologies for thin clients have already arrived. People are however still skeptical about it, because a network failure will eventually bring down everyones' connected to it. There's nothing as trusty as one's very own hard disk, CD-R and thumb drive. At least, I've only myself to blame if I lose my two hours worth of effort to a local power surge or a hard disk failure. A network failure is simply unjustifiable. I can't swallow that. Many can't either.

Until the day when networks are almost 100% reliable, 99% just wouldn't do, I'll stick to my desktop. Even then, I think some company will manufacture a memory card add-on to my feeble thin client, just for paranoid people like me who simply refuse to leave the fate of my efforts to the server admin I don't even know.

Sunday, August 15, 2004

Small BlogThis!

Tip to make BlogThis! even friendlier: Render it on a Opera in small screen rendering mode. Here's how it looks like. Click to get a larger version.



To add BlogThis! on your Opera panel, just drag this URL to your panel. It's that easy.

There's a glitch though. I can't seem to get back to the initial "create" interface after I had posted, except to restart Opera. Workaround?

It's still a great demostration of Opera's rendering prowess though.

Saturday, February 14, 2004

It's been long.

Over the few months lots had happened. I lost all the programming interest until last week when my order of Learning Python from acmabooks.com rekindled the fire and I started to code on. Now I'm proud to say that at least my little system is half done.

I spent last week agonising over how to build a secure log-in. SSL? I don't want to use that, mostly because it sounds like an overkill. I had the gut instinct that a simpler solution could be found. Paul Johnston had the perfect javascript solution. Unfortunately for the javascript-illiterate me, I didn't know a single line of it. After nights of poring over Beginning Javascript, which turned all to be an exceptionally easy learning experience thanks to the clear, concise and the ample explanations, I managed churn out a few lines. That later evolved to just one line to capture the password from the user, pass it to Paj's script to digest it into SHA1 hex and then route it to my database. Hmmm....

I'm beginning to love Python more than ever. "Learning Python" is a real joy to read, even when there's no computer around in my bunk to practise the coding. And all the documentation and tutorials online make it even easier to grapple with the language. And more than ever I'm finding myself focusing on the conception of the program, instead of struggling with the nuances of the syntax and all the woes of C. Even having to work with both the cgi and MySQLdb modules concurrently still didn't manage to look too threatening to discourage me. And that's the beauty of Python.

Oreilly's Safari Bookshelf allows you to browse and read through fully the text of up to 10 books for 14 days for free. I found that I could save the book in all it's grandeur albeit one chapter at a time, but that's enough for me since my needs are specific. It's up to you to find the workaround. Really simple actually.

And now the only thing left is to find more motivation to finish up the system now that I've fully explored the technical feasibilities. Also, to add sufficient exceptions catching, just to make it industrial-grade. Oh, and to find a host when Tuxfamily.org has decided to give up. Where do I find a cheap Python host?

Tuesday, November 25, 2003

I know, I know, this blog is becoming more and more non-bioinformatics but I swear that I didn't intend this to be so.

The initial idea for this project just stuck on as I learnt about Python and MySQL.

November's Linux Journal (which I bought for SGD13 at a newstand) had an article about sequencing the SARS virus in 5 days. The lab involved used MySQL LIMS to store and track "reagents, equipment, processes and reactions performed in the lab". Besides that, a number of other technologies which I was interested in were also used. It confirmed that my learning of all these technologies and science was not wasted and was actually relevant and used in a real-life situation.

And that's comforting for a newbie to know.

Ok, this project is bringing me to many places.

It's because of this project that I read up like crazy. Besides burning my eyes on the LCD screen, I printed and brought notes to camp so that I could study the mysql and cgi module in detail. Devshedhelped alot too.

I tried setting up an Apache server on my XP laptop but I couldn't get it to work no matter what I did. I could access it locally but those outside my LAN couldn't. Maybe I didn't do enough, but that's it for it. No way am I going to waste precious time at home on it.

I drew up schema tables for my mysql database so as to eliminate many-to-many relationships, then realised that my drawing skills are pathethic. When was the last time I seriously drew something? I recalled Tony Buzan writing that drawing actually promotes thinking, so for the last week I drew what I could, including an intense two hours this early morning when I was doing my guard duty. I admit that it was actually fun.

tuxfamily is generous enough to host me with MySQL, python and the MySQL python module. That's everything that I could ask for, not to mention that it's ad-free. The only downside is that it's in French and I couldn't understand most of it, even with the help of google.

Right now I'm designing the interface of my project. With the shallow understanding of the modules and MySQL, it's beginning to look tough but at least some progress has been made. I think my goal of finishing it by the year ends could still be met.

Saturday, November 15, 2003

Er huh! My little quest is getting more and more interesting with each passing day. Last Sunday, after my last entry, I went to conceptualising, designing then putting it all to work at my first serious database. It went pretty fine after a few tweaks then I was stuck.

Well, the results of my queries were fine. They give the desired, correct results, but far too many. Some rows were duplicated as many as 6 times. Where I should have gotten merely 5 rows, 48 were churned out.

Was I being too much of a purist in trying to adhere to the rules of normalisation (see previous two posts)? I didn't know then, but I figured there's no reason why normalisation could have caused it if I had known SQL well. Perhaps I've missed something? So I went....

Try this. Stuck. Try that. Stuck. Google this. Stuck. Google that. Stuck. Post it up! (On recommendation from Jack) Stuck.

Thinking that it's just a common problem, I went to consult campmates who studied SQL. None was of my help. One suggested UML. I'm too lazy to learn that.

I was pretty desperate by that time...

One afternoon, I burned an hour of my lunch time designing the database with Microsoft Access, which, I admit was really easy with the GUI (alright, MS got it right but I'm still not buying it) and... *dismayed* it produced the same results as mysql.

It was not just a few minutes ago that I decided to use the distinct keyword which worked! I have been ignoring it for days, thinking that my problem was one that's conceptual. I've never thought that it would be this simple. It's so simple and obvious that I can't googled much out of it. It's a really simple basic keyword, and it just happens to be very powerful, at least in my situation. And that's embarrassing.

Now that this hurdle is cleared, the next will be to try to design an interface to key in and display data easily. That wouldn't be easy but I believe that the apache, mysql and python combination would work.

The only limiting factor is me.