IE 7

While I am on the subject of next generation browsers, this is what I think of IE 7: bury it. As Microsoft mentioned countless times before IE 7 was announced, the dang thing has a list of legacy issues long enough to practically guarantee future problems.

Let it just rot and, instead, build a new browser that taps .NET 2.0's full potential. ActiveX? Leave it behind. Netscape Plugins compatibilty? AJAX? Piss on the whole stinking lot and move on to build a better canvas onto which developers can paint their picture on without twisting everywhich way like we have to do now to build even a crippled web application.

Microsoft should be doing more than just dicking around with silly ornaments like browser tabs.

Firefox 1.5

Firefox 1.5 is out. Hurrah? Not for me. What is the big deal? Firefox and IE are like a twin. So what if the geeks favor one over the other? I use IE most of the time and fire up Firefox when IE fails to display certain pages or when I am testing webapps to ensure compatibility. On non-Windows platform, I just use Firefox. I say leave politics and idealism out of engineering.

As a developer, Firefox 1.5 means just another browser/version combo I have to make sure my software is compatible with. While I am wary of AJAX hype, one fringe benefit of AJAX that I rejoice in is that DHTML-based AJAX technology requires fairly modern browsers with DOM support and, get this, JavaScript. AJAX wacks the dizzying combinations of environments I have to support by half at least. Now that's something to celebrate if AJAX comes to rule hearts and minds of clueless executives!

What I wish Mozilla folks to do is to spend more time breaking new grounds, creating an entirely new breed of browsers and making new types of applications possible, instead of beating the same dead horse over and over. Whole Web 2.0 hype is just party inside MacGyver's shoebox: look what we can do with what we got! With all the energy and resources being poured into Web 2.0, we could have broken out of the box instead.

Seeing Nothing

One moment, the big picture was there, the next, there is nothing. I don't know why but I am seeing nothing but empty ideas. Social network, social search, blogging, tagging, Web 2.0, and all that turned into nothing. Why is that? Time for vacation? Am I waking up or going blind? Not sure at the moment. Nothing to do but wait and let it happen.

Hallyu. Hanlyu? Korean Wave!

Just read this interesting news article on Hallyu which means Korean Wave. In asia, it's called hanlyu. What ever it's called, its significance is notable because it has stood up to the global influence of the Hollywood culture.

One of those interviewed in the article mentioned that Korean dramas stress loyalty, responsibility, and discipline. From my view, it's all about industrial-strength social network that binds practically every Korean alive. Social ties are cast wide upward with elders, downward with youngers, and sideways with peers. The web is useful but the cost of being connected is measured in loyalty, responsibility, and discipline.

Ubuntu Breezy: Installing Java and Eclipse

Yesterday, I got my usual Java development environment setup on my laptop which is running Ubuntu Breezy (Breezy is the nickname for version 5.10). It was rather confusing because Ubuntu itself is far from being a consumer OS and googling only turns up confusing and incomplete information.

Here it is:

Installing Java

  1. Enable extra repositories.

Ubuntu, and Linux in general, has utilities (i.e. apt-get) that'll download software from repositories on the Net by name. Steps below requires some files from one or more repositories which are not enabled by default installation of Ubuntu so you'll have to enable it.

Easiest way for me to do this was by using Ubuntu Add Applications GUI panel.

a. Select menus: System >> Administration >> Add Applications.

b. When the panel opens, select menus: Settings >> Repositories.

c. Click Add button.

d. Enable Community maintained (Universe) and Non-free (Multiverse) checkboxes.

e. Click OK, another OK, and Close.

2. Install Ubuntu java-packages package. 

This package is apparently need to convert Sun's JDK installer into Debian installation package. Why? Because Linux world still hasn't got their act together and think this sort of nonsense is acceptable to consumer. Anyway, just shake your head and move on.

a. Open Terminal window (Applications >> Accessories >> Terminal).

b. Type this nonsense in:

sudo apt-get install java-packages

c. Leave the Terminal window open for later steps.

3. Install Sun's JDK package

Java support available via Ubuntu's package download utility is not fully compatiable with latest Eclipse. So Sun's JDK has to be used.

a. Download Sun's JDK.

I've opted for JDK 5.0 which is the latest version. Download the regular bin version, not the RPM version. Save it somewhere (another gnomish UI confusion/hassle suckage). I just used Firefox to save to Desktop then dragged it to my home directory via file manager UI.

b. Run it (eyeroll).

Following nonsense is a perfect illustration of how blinded and clueless Linux geeks are about normal computer users. Since this is an instruction, I'll just move on.

Switch to that directory from the previously opened Terminal window and type this in:

chmod +x {downloaded_file_name}.bin

fakeroot make-jpkg {downloaded_file_name}.bin

sudo dpkg -i {file_created_from above}.deb

The first line gives the .bin file execution privileage. The second line converts .bin into .deb, a Debian version of the installation package. The last line runs it.


p dir=”ltr”>c. Set Sun's JDK as the default java VM.

If you can figure out where one sets system-wide environment variable, set JAVA_HOME and PATH appropriately. If not, use this. I don't know exactly all the things it does, but it does the job for me. *shrug*

Type into Terminal:

sudo update-alternatives –config java

java -version

d. If you see blah blah about Sun's JVM, then you are home. If not, something went wrong and, if you are not a Linux geek, marry one.

Installing Eclipse, Tomcat, and MyEclipse

Just download and open the Eclipse SDK, extract it into tmp directory, then move it to where you want it. What then? Well, run it. Double-clicking on the eclipse file in a file manager view will do the job.

Do the same with Tomcat except there is nothing to run. Just remember where you moved it to.

Now, download MyEclipse for Linux. Give it execution privileage (chmod +x bit above) then run it. MyEclipse installer will ask for location of Eclipse and where to install MyEclipse.

Launch Eclipse again, enable Tomcat under Application Server preference and point to Tomcat installation location.

That's it.

South Korea wins over Serbia-Montenegro: 2-0

Current Serbia-Montenegro World Cup team is said to have the best defense among european teams but South Koreans were able to break it down, twice. Fabulous. I am so looking forward to the 2006 World Cup.

South Korean team's real enemy is themselves. In the previous match against Sweden, they scored twice but, each time they scored, their concentration wavered and Sweden scored right back, resulting in 2-2 tie. If their euphoric weakness can be addressed, I think South Korea has a decent chance of winning the next World Cup.

Screen-based Web Service API

Thanks to Kevin Marks suggestion and an upset stomach which made me blink in and out of sleep for three hours (I am still short 5 hours), I came up with a new design for the web service I was working on, a design which I am calling screen-based web service API. It's not REST so I figured the design approach calls for a different name and, since the approach is similar to the mainframe COBOL application screen scraping web services, the word screen makes sense.

The first cut of the web service API was of traditional RPC-based design. It was functional but none of my client's customers put it into production use. Many stories and lessons there.

The second cut was RESTish grocery bag-based design which I just spent three weeks implementing. Most of that three weeks was spent on eating my own dog food. By the last week, I was terrifyingly convinced that it would take more than a month for a customer to integrate the web service into their webapp. What I wanted was some where between one to three weeks.

With the screen-based API design, which I'll explain after eating it for a while, I think the target goal will be met with ease and the amount of details developers need to know will drop quite a bit, perhaps slicing the documentation by at least half.

Now I have only two problems:

  • Convince my client into abandoning the second cut and waiting for the third.
  • Whether or not to bill my client for the three hours of design work I've done while sleeping.