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.

🙂

Busy Signal

Sorry about the lack of posts lately. I've been in the web service hell. I think the main problem with web service API is that ideal granuarity of service conflicts with ideal interface for the service.

RPC-style web service API is unsuitable for typical medium to large web applications because too many calls per page has to be made, resulting in unacceptable performance.

State transfer (aka REST) style web service API is typically chunkier (less calls) but message payload could get too big and the reduction of payload size could easily increase payload and client software complexity. What's the point of building a web service API if a complex platform-specific client has to be built to use the API?

While being tormenting, I've been taking my breaks in WoW, grinding through monsters. Oy. I think I was a mule in my previous life.

Walls

Dave rants and Scott ponders about walls. I agree that walls are not fair to everybody, particularly to those who find themselves not within the walls, and that increasing popularity of invite-only events and services is not healthy for the community as a whole.

But I think walls are like security blankets. It's not about reasons but fears and wants. It takes courage or recklessness to let them go. Frankly, I think it's foolish to let go of the blanket unless there is either a big carrot or stick hanging over one's head.

When in doubt, think like a pig.

Building Walls around Blogosphere

I am sure I'll get a lot of fleck for suggesting but I think we need to start building walls around blogosphere, to keep out spammers, pretenders, and freeloaders. Isn't this elitism? Yup. It is and I don't care that it is. I want good content inside the wall and all the trash thrown outside. Links going out may result in pulling blogs inside or pushing them outside. It's a dynamic social network for blogs, if you will.

In the end, this is where we are going except the wall will be the wall of ranks, ranks that push splogs to the bottom and the rest to the top. But I think it's better to know exactly where it is that we are incrementally heading toward.