Prototype Window Class, JS library for creating DHTML window

September 10, 2007 § 2 Comments

Prototype Window Class is free (as in beer) and easy to use library for creating DHTML window.

It is based on prototype.js and doesn’t really require Scriptaculous.



Some of my thought about Software Architecture

September 4, 2007 § Leave a comment

Upon various drinking occasions with fellow developers, there are a couple of wisdom worth sharing about software architecture. Enjoy…

Design Pattern:

Don’t do some of them because James Gosling said so. Don’t do some of them because the book said so. And more importantly, don’t do it because your blue suit client demand you to do so.

Use design pattern technique based on necessities and careful consideration about the feature’s purpose.

Don’t just use design pattern that you only know. Depending on the requirements, sometimes you just have to learn new design patterns. Better start learning now rather than never.


Be very careful with it. Don’t over do it. Nobody wants to see 10M lines of stack trace.

Remember that the purpose of polymorphisms is to re-use parent object’s properties as much as possible. Extending excessively cause object’s behavior to keep changing throughout software’s life cycle.

Web Frameworks:

Which one is really good for you? Is the company you are working for a JAVA shop? Is the application that you build need Perl? The answer of this question depends on what skills you already have. Unless, if you make an application for the sake of learning something new.

CakePHP is awesome by the way, but that’s me being a zealot.

If you think a framework sucks, is it because the framework really suck? or is it because you don’t want to learn it? or it’s because the learning curve was huge? It is best to stay objective when reviewing or using a framework, you might miss some awesome features.

Ain’t nobody cares about your choice of framework, as long as it get the job done.


Scale what? How to scale it? It is very important to be able to identify which part of the application that needs to scale well.

Software/Jargon Zealotry:

Between friends, the zealotry is fun (i.e. OS X rulez, Windoze sux) but in professional setting, this is bad. Not because it would make you look “unprofessional”, but because it will clouds your judgment.

Not everything needs to be Service Oriented Architecture & definitely not everything needs to be AJAX.

Ruby on Rails may be cool, it is actually so totally cool, but the performance may varied (depending on the Gems and many other things).

Sometimes reading Slashdot too much makes you think that all of your choices sucks big time. For example, client-side development requires AJAX, or Flash, or Java Applet, or Browser plugin. All 4 of them suck big time in different categories. Maybe it’s best to just pick 1 and read more API.

I think Java sucks, and becoming suckier in every upcoming version but it is de facto standard for blue suit jobs. If I’m starving, I will code in Java.

Debunking Old Myth:

Just because Javascript/Flash used to sucked, it doesn’t mean that both will stay suck.

It is true that IE 7 is still suck, but try opening IE 6… you will realized that the world had become a better place. In addition, Firefox was and is still awesome but the memory usage is still brutal.

Scriptaculous was great, but there are others which is flat-out better now, i.e. Mootools or Mochikit. Why I said that Scriptaculous was great? Browser memory is precious and Scriptaculous is not really efficient, new Effect is always creating a new object as opposed to recycling existing Effect object.


IBM – Best Practice for Web Developers Finding documentation has never been so easy

September 2, 2007 § Leave a comment

For readers and all fellow developers: Finding documentation has become less of a pain. Thanks to Gotapi.

Currently they have:

  • HTML/CSS/Javascript. Too bad they don’t have MSDN Javascript.
  • Javascript UI libraries.
  • XML
  • C/C++ libraries.
  • PHP
  • Ruby on Rails
  • Python (Reading from blog.gotapi, Python is 1 of the first documentation)
  • Perl
  • Erlang
  • MySQL
  • and much more…

I highly recommend readers to go check Gotapi. RTFM has just gotten easier.


Silverlight on Linux…

June 25, 2007 § Leave a comment

is Moonlight.

Fresh today, I read it on Slashdot. A hack-a-thon in 21 days by Mono team created Moonlight. An interesting port of Silverlight.

Interesting Notes:

Note 0: The summary of the development effort can be read here.

Note 1: It doesn’t require Mono. Thus, don’t immediately disregard it as no-future project.

Note 2: The port was done in 21 days. These people deserve extreme credits.

More background to the story:

Q: So what the heck is Silverlight anyway?

A: Silverlight is Microsoft attempt to compete (duh… what else can MSFT do?) with Adobe in Rich Internet Application realm.

Q: What is Rich Internet Application? Yet another Jargon?

A: Kinda. It’s like AJAX & DHTML technologies but instead of using Javascript, it can use Flash (Flex) or native C code (+ browser plugin). Usually it render using interesting technologies.

Q: Is Silverlight available on all platform?

A: Yes, from Wikipedia, MSFT is not being too much of an ass in terms of supported browsers and OSes for Silverlight. That’s a good thing. But then again, you can simply use Flash or Flex for the same results.

Q: So, how about Moonlight? Isn’t it a bit immature? hacked-in-21-days product cannot possibly be that good right?

A: I personally don’t think it’s a bad product. It shows the capability of Mono’s developers. How dedicated they are in delivering more to Linux community (on top of that, remember the harsh criticism Mono team always received).

Q: What does all this mean to me?

A: This fantastic project gives me yet another alternative in building Rich Client application without using Java applet. Although my preference is still traditionally Javascript, now I have Scriptaculous (or Mochikit), Flex, Silverlight, & Moonlight.

Finally, congratulations to Mono team. I have so much respect for you guys.

Where Am I?

You are currently browsing the scriptaculous category at RAPD.