Tuesday, October 16, 2007

Digital Mars C/C++ Compiler Review

Some peoplein the Linux programming mailing list suggested people to use this Digital Mars C/C++ Compiler to learn C/C++ language. I still maintaining my C/C++ programming skill once a while, but it's been quite long since last time engaged in big project.
You can take a look here: http://www.digitalmars.com/download/freecompiler.html
The compiler seems to be free, but you are required to pay when requesting for the CD.
I tried to play around a bit with it, which seems a good for fast up-and-running C/C++ environment. It runs on Win32 and Win16 environment as well. Of course you might need a DOS Extender for Win16 environment in order to be able to use high memory (if you don't understand this, it's ok, just a heritage from the old x86 architecture which we might not be using anymore).

I downloaded the 8.50 version and try to make a working environment out of it.

Friday, August 31, 2007

CentOS 5 Doesnot Support AMD Turion 64 X2

I tried to run the installer for CentOS 5 on my VirtualPC 2007. Until certain step it works, then suddenly it stops. This one remains me to first time running SuSE Linux on AMD K6 based processor long time ago. There were some buffer overrun which was not guarded by the Linux kernel.
After then we have to wait for the patch/fix.

Wednesday, August 29, 2007

Market Still Being Reluctant Towards Migrating to IMS-based Platform

A recent poll by Comptel Corporation (OMX Helsinki: CTL1V), the leading vendor of dynamic Operations Support Software (OSS), found that operators around the globe have still not fully decided on a migration path to IMS. The poll, conducted at Comptel’s annual User Group forum, showed that while a third (32%) of operators worldwide had decided to move towards an IMS architecture within next 2 years, another 32% had made no plans with regards to adoption.
In my opinion,

IMS sounds like the Holy Grail for integrating land line and mobile networks, which everybody already agreed that most likely it will  be based on TCP/IP and UDP/IP stack. The adoption itself is no such an easy task, especially for already operating telecom operator.

My experience working with some telecom operators in Indonesia and Malaysia has shown that it is not that easy to implement a new paradigm in infrastructure for already operating telecom operator. Their main concern normally would be to keep the subscribers services. Migrating the system is not first priority. Maintaining current subscribers are first priority.

For newly launched telecom operators, it would very well make sense to adopt the latest technology straight away because there would be less entry barrier to adopt the new technology.  As it is common in communications, electronics and telecommunications, the latest technology usually is much cheaper than the older ones.

Sunday, August 19, 2007

IBM become Solaris reseller for its x86 product!

IBM has offered Windows based solution, then Linux solution, Novell solution, and now it also offers Solaris solution. This is of course marked the true separation of Sun's hardware business and its Solaris operating system business (now earns mostly from support!), a path that Sun has chosen years ago. Jon Schwartz has stated in his blog that August 16th, 2007 was the milestone for the separation.
Actually Solaris has run on high end hardware other than Sun's, but still in the SPARC architecture circle (such as Fujitsu high end servers).
Now Solaris runs a business model pretty much similar to the RedHat Enterprise Linux (RHEL), competing head-to-head to it, and has the advantage of being positioned as high end operating system lowering down to earth, while RHEL was positioned (at least by community) as hacker operating system trying to go up to become high end platform.
As far as I can remember, Sun also run its StarOffice business under the same business model. So I think this business model is nothing new to Sun.
It will be most likely that other x86 based hardware major vendors (HP/Compaq, Dell, Fujitsu, etc) will join the bandwagon, but IBM has had the advantage of being one to catch the first wave. Now users will have other choice instead of using Windows, Linux, and Novell.

Saturday, August 18, 2007

No TELNET Client in Vista!?

Changing job always needs adjustments.
One of the most annoying thing is that you have to backup all your data, return your notebook to the office, and move the data to your new notebook. I moved to my personal notebook, cos starting from now I will be working on office's PC.
For me, I had an additional tasks, as I have to buy a new notebook. Making backup of all your data you have accumulated for more,than 1 year itself quite a tricky stuff. I have settled on the XP Professional, have a virtualized OpenSolaris 11 (Nevada) and CentOS 5, WebLogic 8.1 and WebLogic 9.2 installations along with the domains, and tons of codes personal stuffs to move.
My choice eventually fell on dual core Turion64 based Fujitsu lifebook. Large clear screen, economic, no camera, but I like it. Fujitsu also invented smart battery management and shock prevention software for hard drives.
One of the thing, is that latest computers only offer Vista. Mine is bundled with Vista Home Premium. It is much like changing platform from Linux to OpenSolaris. Lots of homeworks to do before you could run it so well.
Last week when I tried to work on with Tomcat, but my browser don't show anything. I need to check whether Tomcat service is available on the default port 8080. Then suddenly I found out that THERE IS NO TELNET CLIENT in Windows Vista! I checked the PATH variable, seems to be okay.
Then I googled around, and found out that TELNET client is disabled by default on Windows Vista!
You need to set it up like this, go to Control Panel:
Control Panel > Programs and Features > Turn Windows features on or off > Telnet client
Turn it on.
Amazingly, it took more than 10 minutes just to enable TELNET client! I got no idea why it took so long to enable such a simple trivial client application.
Later on I found out the reason why Tomcat not yet listening to port 8080. Vista blocked the port and asking for permission to listen to that port. This happens only the first time you run your Tomcat instance. If you enable client access feature, you need to reply to this kind of quite-annoying-prompts. Anyway I must be getting used to it.
Voila, Tomcat works again.

Friday, August 10, 2007

End of Unemployed Period and How To Work in Singapore

Today I collected my Singapore EP (employment pass), so right now I officially end up my unemployed period. Next week I will start working right away.
If you want to work at Singapore, you need to have a company that wants to hire you. After the interview and you have been admitted, than you will need to prepare at least these things:

  • Your passport.

  • A passport size photo, black and white.

  • Your university certificate, preferably in English, or translated to English.

  • Your academic transcript, in English or translated to English.


Send the softcopy of the document (scanned) to your employer. They will make application for your EP.
If your document is not in English, then you need to translate it by translator attested by your country's embassy in Singapore, or you may as well go translate it to sworn translator in your country.
When the time your EP has been approved, or before, they might be asking you to show the original documents submitted. This is not always the case, but be prepared for it. Then you will need to collect your EP at Ministry of Manpowers (MOM) . This time you need to be physically present in Singapore.
If you want to go to the MOM office, take an MRT to the Clarke Quay station. Probably this is the most convenient way to get there. Right at the MRT station, you will find a lot of sign board showing where to go to the "Ministry of Manpower". Follow the board, cross the road and you will get to the MOM office. It will be better if you get there before 11am, Singapore time (GMT+8), so that you could be able to collect the EP document within the same day. Don't forget to bring:

  • Your passport

  • Your immigration card attached to your passport

  • Passport size photo (you can take it for SGD 10 beside the MOM office)

  • Declaration and forms from your employer

Wednesday, July 25, 2007

What is an XA driver?

XA is a set of distributed transaction protocols defined by Open Group.
XA provide interfaces that could be used for cross platform transactions. Currently, much of the famous databases provided XA-compliant drivers. XA-compliant driver means that the transaction manager could send XA command directly to the driver.
Oops, sorry, in the world of distributed transaction, there are transaction manager and resource managers. Transaction manager coordinate the transaction, orchestrating the two-phase commit for each of the resource manager.
In JEE point of view, and transaction manager could be a type 3 JDBC driver, and the resource managers could be an XA compliant JDBC drivers, or general type 4 JDBC driver in which the type 3 JDBC driver will emulate XA command using common JDBC transaction commands.
In WebLogic console, when we setup a connection pool, usually we will be asked whether we want to assign an XA driver or just ordinary driver. XA drivers will have a significant overhead imposed into it, so make sure you only use the XA drivers when really required. It is common to have an XA-compliant version of connection pool and non-XA-compliant connection pool, both connecting to the same database, to avoid performance penalty when we don't need two-phase commit.
In my former company, we have a clustered WebLogic server installation with each of the databases have two pairs of connection pools, a non-XA and XA-compliant driver. Due to clustered environment, database connection are using RMI through JNDI lookup. For read only data, always use non-XA connection pool to increase performance.

Tuesday, July 24, 2007

Free and Unemployed

After admitted for work in Singapore, I resigned immediately because the employer asked me to start working ASAP. Singapore is a nice country to earn money, but I have a personal matters that pretty much the main reason to relocate there. The employer has been taken care of the EP application for me.
Yesterday I was called, suddenly the asked me to provide the translated academic transcript for the EP application. They said that this is not usually the case. Probably some kind of random sampling happened and it happened to be me that was chosen for the random checking. They already have some foreigners in the company, the procedure is a bit unusual.
I called to my campus. They told me that probably there is a delay in providing the translation of my academic transcript, due to the change of the rector of the University of Indonesia. Again, I lost my booked flight for the second time. What a waste of money.
Meanwhile, I'm free and unemployed now. Free zone..
Only for a while though...
This event also provides me with enough free time to explore, and accomplish things otherwise I couldn't do. Now I could read some old WebLogic texts, learn more the difference between type 3 and type 4 JDBC driver, and those kind of thingy... This time is a kind of retreat time, where you could do things you wouldn't have time to when you are engaged in an employment. I missed those time when I was as free as bird, when you become the business owner. But become an employee isn't a bad thing at all. You don't have to take just about everything, instead you could focus on things that you are best at.

Saturday, July 21, 2007

Intermittent problem with JRoller?

Today I found out this happening on our fellow JUG-ID JRoller blogs. The JRoller engine has been generated a script variable "$renderedText" instead of displaying the blog content. This suppose to happen temporarily, as the JRoller team pleaded they will fix it ASAP.

No INNER JOINs in Oracle 8i

Yesterday we encountered a problem when testing an already working version of our web application. The application works well in the development environment. When we move the application to hit the production database, it throws an exception.
The application uses Hibernate as its persistence manager. Our team has been hassled for quite some times, until one of our colleagues found out that the query produced by Hibernate was not runnable from Oracle's console. Digging further we found out that the database in production used an older version, the Oracle 8i. Oracle 8i does not support INNER JOIN syntax, therefore it rejects the query produced by Hibernate.
It came across my mind that we should change the dialect. If 8i does not support what is running on 9i, then the developer of Hibernate should have put different dialects for them. This is found out to be true. There is org.hibernate.dialect. Oracle9Dialect for Oracle 9i databases, and org.hibernate.dialect.OracleDialect for older Oracle 8i databases.
After we change it to the correct dialect, the problem somehow is still there. After browsing for a while I eventually found out that we also need to change the query translator to the older version, org.hibernate.class.ClassicQueryTranslator.
Then the application is working in the production database. Voila! It works!

My Last Day,John Stovall, Python, WLST and Jython technology...

Yesterday supposed to be my last day @work. But somehow I must come again on Monday, and reschedule my flight to Batam to Tuesday. Moving to different kind of industry, but still in the same JEE/WebLogic/Solaris/Oracle path. Just a bit apart from the telco industry.

Lately I wasn't able to update this blog because at client office, they block the blog sites. Now, after being freed now I can start updating this blog again.

After accidentally meeting with John Stovall while at Changi Airport, I got enticed to learn more and more about Python, and Jython, its Java porting. First time I met John when I came to JaMU, December 2006. I was presenting Maven 2 technology, and each of the attendees were asked to introduce themselves. You can't miss noticing that big John. We happened to be in the same airplane, and after arrived at Changi airport, I began to recover his name, I called him, "Mr. Stovall", and then he began noticing an acquaintance. He's on the way to Amsterdam, to attend a Python meeting. He began preaching the beauty of Python, the philosophy behind it: "there should be one best way to do it...". I was also realizing that the reason why Guido von Rossum moved to Google was because of almost the entire Google site is based on Python.

I told John that I was using some Jython script because it is part of the WebLogic Scripting Tool (WLST). I learned a lot on it because some of my tasks while at Ericsson's project at Cyberjaya, was to create a automatic installation, deployment and setting tools. I found out that the best way to do it is through WLST. The older method wlshell still works, but using WLST, you could have access to a broader range of futures, both offline and online (requires a running WebLogic instance).

After returning to my regular tasks at Jakarta, I began downloading latest version of Jython. Before that, I have tried one of the scripting languages that has catch up the wave and has been ported to Java: JRuby. I also tried the scripting language made specially for Java: Groovy.

I began to fall in love working with Jython. You can utilize Java classes. The scripting language is close to the functional language I've been using a lot: Gofer+, a derivation of Haskell. Prof. Wishnu Prasetya taught us Data Structure and Algorithms using that functional language. Prof Mia Indika also taught the functional programming using the Haskell language. Python, er, Jython scripting more or less resemble that of Haskell. Sorry, for most of you who learned functional programming through typing lots of Irritating Parentheses (LISP). Though I also used Scheme when learning functional programming, later I mostly used the Gofer+/Haskell family of language.

Python also supports closure, so there is no point that Ruby is better. It only has Rails that makes it famous. I know when I learn Jython in depth, this is two fold, I could create better WLST scripts for WebLogic automatic deployments and configurations, and also be able to do OOP scripting for fast prototyping. I try to construct a script to test Hibernate DAOs and Managers. I will share some of these scripts when have more time to write it.

Thursday, May 24, 2007

Challenge: How nerd are you?!

Whoa...
I took the survey that was suggested some of the BEA guys.
The survey tells me that I am 99%, a Nerd God!. Could you imagine that?
I am nerdier than 99% of the population.

This must be caused in some part because of the SunOS part :D
How's your score?

I am nerdier than 99% of all people. Are you a nerd? Click here to find out!

Wednesday, May 23, 2007

XServer Configuration in MiNevada Fixed!


Lintang and Adhari from Open Solaris User Group Indonesia (OSUG-ID) has answered my question in the Open Solaris User Group. The answer is referring to previous post sometimes ago by Adhari (thanks to Lintang for the pointer and thanks to Adhari for the resourceful answer). I posted the answer here just in case the Google Groups link is available no more.

Mungkin ada yang mengalami problem yang sama ketika configure Xserver di VMWare. Sedikit berbagi trick ketika configure XServer pakai Xsun provider Solaris 10 di atas VMWare. Beberapa hari coba-coba install Solaris 10 di VMWare, inginnya mau start XServer dengan resolusi 1024x768. Problem muncul, konfigurasi sudah benar pakai 1024x768 tapi output selalu produce resolusi 800x600.
Step konfigurasi:
1. Jalankan kdmconfig di single user mode (init level 1)
2. Pilih Xsun
3. Pilih Change Video Device/Monitor
4. Pilih XF86-VMWARE VMWare Inc vmware0405
5. Pilih MultiFreq 56khz (up to 1280x1024 interlaced)
6. Pilih 17"
7. Pilih 1024x768 - 16M colors
8. Continue dan test
9. Jika tampil dengan benar pilih Yes
10. Kembali ke Init Level 3

No worry if you don't understand Bahasa, I'll translate it for you.
May be there are people who experience the same problem when configuring the Xserver on VMWare. I want to share a little trick to configure the XServer using Sun Solaris 10 Xsun provider on VMWare. After days of trial and errors installing Solaris 10 in VMWare, I just wanted to start XServer using the 1024x768 resolution. The problem occurs, though the configuration is for 1024x768 but the output always produces the 800x600 resolution.
This is my configuration step by step:
1. Run kdmconfig in single user mode (init level 1)
2. Choose Xsun
3. Choose Change Video Device/Monitor
4. Choose XF86-VMWARE VMWare Inc vmware0405
5. Choose MultiFreq 56khz (up to 1280x1024 interlaced)
6. Choose 17"
7. Choose 1024x768 - 16M colors
8. Continue and test
9. If it shows correctly then choose Yes
10. Back to Init Level 3

The article itself does not directly answer my question, because I don't know whether the vmware solution applies to me which uses different vm (that is Microsoft Virtual PC). But I believe this article is a highly resourceful one, because it gives me idea on what to try.

So, this is what I actually did:
Crawling through the broken graphics, try to locate and click the [Command line login].

Change to single user mode:
# init 1

Try to run the kdmconfig
# kdmconfig

Not working, because the term is not recognized. I eventually managed to find a working terminal type (remember those good ol' they when ANSI terminals are luxurious stuffs).

# export TERM=ansi
# kdmconfig

Choose Xsun, continue.
Change Video device/Monitor, continue.
Notebook LCD XGA 48kHz (1024x768 @60Hz), continue.
15-inch, continue.
1024x768 - 256 colors @60 MHz, continue.
No changes needed - Test/Save and Exit, continue.
Test.
If you can see the display, click the [OK] button.
Voila, it works!!!

Back to init level 3.

# init 3

Yipeeee!

Saturday, May 19, 2007

PayPal Account Verification

Some times ago, PayPal doesn't allow any users from Indonesia to register. I hate it each time I bumped into site which requires transactions through PayPal accounts. I don't have the account! I can not register an account as well!
Several months ago I heard somebody told me that now Indonesians may have the PayPal account as well. I tried to check it out through the registration page, to see whether it is confirmed or not. I saw "Indonesia" in the combo box. But at that time I had not had enough time and need to join PayPal. Today I try it again and registered successfully.
Somehow the site now have 2 layer of verification.
First one they screen the valid credit card data. Yet, your send limit is USD 100, unless you have gone through the second screening.
Second screening, they will ask your permission to debit your account for a small amount of money. Because of the bill, there is some (credit card) merchant entry in your billing statement. They smartly put a verification code in your billing item, either you have it electronically or printed on monthly basis. Then you must enter the verification code to the website. The amount will be credit into your account back after the registration has been completed. Wow, this is two-fold, because it also proves that PayPal could send money to us too.
I found this as a nice feature, since you don't have to burn the house (market for tens of millions of Indonesian Internet users) to get rid of mice (Indonesian carders). The mice need to work harder to find their cheese...

Friday, May 18, 2007

Problem with Solaris 11 x86 resolution

After successfully passed through the disk layout problem, last night I managed to try running my Solaris 11/Nevada on Microsoft Virtual PC (it's free to use, really!) again. Here I encountered a problem, that is the OS requires a higher resolution than my notebook can support. Probably because I allowed the virtual machine to be set to any requested resolution. The installer requested the highest resolution.
After the installation finishes the OS demands the-too-high-resolution which doesn't display well on my notebook screen.
I'll try to find out whether those guys in Open Solaris User Group could help me on this thing.

Confident and Secure Clients: Good Communication

There are at least 2 things we need to have when we work as consultant in our IT consulting business.
  • deliver the agreed tasks
  • while the project is still going on we must give the client enough secure feeling that the tasks not yet accomplished will be accomplished
As a technical people, we tend to focus on the first point and forget the second one. The second one suppose to be the job of project managers, business owners, etc. But as you become more of senior members of the consultants, you will eventually be expected to provide the second thing more than the first one. The first one should be done by juniors under your supervision. You are in the project to help the juniors deliver the tasks; hence in some way give the client the feeling of security.

I am in a project where we found that the client's project manager is so worry that we will be dragging the schedule far behind. What I perceive as 'lacking confidence'. Then they will run after the management to give pressure to the project management, which in turn will try to push or motivate the team. Sometimes it just isn't working. Yes, I know that there are some tasks that needs directions, motivations and pressures. But I would also like to assert that 'lacking confidence' should not be the major driving force of doing this.

Some part of the delays are caused by the customers and some by us (vendors). But I know that somehow we also didn't feed them with enough information to give them more secure feeling on the completion of this project. That we have missed within last 2 weeks. We don't update the issue tracker very often. Sometimes they just feel that the response time is very bad. There were so many pending issues, if only that our developers care to take 1 hour a day to update the issues, there wouldn't be so much pending issues during the weekly meeting.

What I wanted to highlight today is :
Good communication is part of our consulting job. We should not neglect providing the client with reasons why they still trust us to accomplish the tasks. Failure in providing this for a long period of time will have greater impact on good will as well as financial matters.
Although we are technical people, we are part of the bigger team which in turn has to deliver and to maintain our customer's trust and secure feeling.

Thursday, May 17, 2007

Nevada and then XmlBeans

This early morning, I managed to boot my MiNevada Solaris. It says something that recommends you to boot using Solaris failsafe, because it seems that it wasn't restarted gracefully.
Actually there's some terms I need to find out, because Solaris has different terms for disk stuffs some of them are cylinder groups/CG and slices.

Currently it is a high time for our (our and our clients') project, because we are somewhere half way to the completion of the SIT (System Integration Test). There are some problems that dragged our schedule, especially the slow and unstable network connection. Some of the SMSC (Short Messaging System Center) was also reported to fail on bindings/connection. The problems seemed to be irreproducible easily, because there were no changes on the binaries we deployed. It has been working before, now it doesn't work.

Last week I offered myself to present this topic: Apache Xmlbeans for the next Java Meeting Up (JaMU) on June 2007. I will not be able to attend this month's JaMU as I will be here in Cyberjaya until beginning of next month. I was lucky to experience it since I was assigned for the Galaxy customer care application until my latest project. Both WebLogic Platforms (8.1 and 9.2) heavily use the Apache Xmlbeans framework. I think the hardest think to learn at first is the XSD file. For me the XSD structure is obscure. I am not getting used to XML parsing other than using the Apache Commons Digester library. That's the way Struts digest the struts-config.xml file, and I think that was more than enough.
But since I am exposed to a project that heavily uses web services, I need a more sophisticated framework to map XML to Bean and vice versa. That was the time when I found this XML Bean mapping framework. The nice thing about it is that it offers the full functionality of XML while it is easily usable using ordinary Java Bean accessor methods.

Friday, May 11, 2007

Mi Nevada Nueva: Solaris 5.11 x86


I have tried to install Solaris x86 on a Microsoft Virtual PC since 2 months ago, but I almost gave up. The main problem is that: the installer just didn't accept its default disk layout.
I tried to some manual layout myself, but it failed as well.

Last night, I gave some more try, and eventually this did I succed!!!

My Configuration is:
RAM 1MB (they said in the milis at least you need 620MB or so).
16 GB disk.

I use this disk layout:
slice (for 16GB virtual disk)

0 / 4855
1 swap 525
2 overlap 16355
3 /var 1027
4 /usr 9922

Yipee!

Wednesday, March 28, 2007

Oracle Acquired Tangosol

Last year it was TimesTen and SleepyCat (BerkeleyDB).
This year it is Tangosol.
Who will be the next?

This database giant acquired Tangosol (vendor of Coherence data cache which has been used in many large financials), adding to its "Extreme Transaction Processing" initiative.

http://go.techtarget.com/r/1194471/5981609
http://www.oracle.com/tangosol/index.html

Installing Solaris 10 on SunFire V210

Because most of my time, I have spent in the development, this event is considered a rare occasion: a hands-on experience on plain Sun SPARC based 64-bit machine. This time I have it all in my power: SunFire V210. A machine which you could install, reinstall, configure, reconfigure the way you want it.
In my opinion, it was much easier to install Solaris 10 on Sun's machine, than it was to install one on a virtual machine, or even on an ordinary PCs. The Auto Layout Disk went smoothly, no failure is necessary.
This is actually a rather old machine, used to test the installation script. The client doesn't want to go to their client and install the application only to find out that there's something missing in the installation script. So we fetch out a machine similar to the production platform: a SunFire V245. It is of a bigger size (2U, I think) compared to V210 (1U).

Powered by ScribeFire.



IEEE ComSoc Indonesia Chapter New Milis

Today I was invited to join the IEEE ComSoc (Communications Society) Indonesia mailing list. Only 10 members in the milis right now. It seems this mailing list is a new one, because everybody seemed to have joined either at March 27 or 28, 2007.
Looking forward for the fast advance in the communication society in Indonesia :D  

Powered by ScribeFire.



Tuesday, March 27, 2007

Ill Behaviored HTTP/1.1 Client

Today I've been message by my campus friend, asking an advice for tuning a SJAS. How many threads should he have for servlets, how many MDBs, and how many database connection in the pool.
He set the number for 1024, 128. Hmm. Very big. I asked him, how much memory and processor resources and app server instances do you have. The answer was shocking:
1 processor, 1 gigabyte, 1 instance  

As far as I can remember, on a WebLogic they recommend to use less than that number of threads for best practices on each instances. Wow, and we were talking about WebLogic 8.1 instance in a UltraSPARC-IIIi Solaris 9 boxes with 8 gigs of memory!

I thought there must be something else happening. For just 1 processor, processing many threads is actually a waste of time in the context switching. I think it should not be like that. There something wrong when the system. It is already out of resource and the queue piles up. It must be some kind of resource starvation. Some resource may not be released during the process. Some resources are held for longer than it should be.

Then I remembered that I have had encountered some problems here.

The HTTP/1.1 Protocol has been there for such a long time. But there are some behavior most programmers still don't know.
The HTTP/1.1 differs from HTTP/1.0 that it implements persistent connection by default. The HTTP/1.1 will not be closing its connection after your client application exits. Your browser or client application by default will maintain HTTP connection until time out period elapsed. Before time out period, the connection is still up, and whenever you need to make more requests your browser or your HTTP client application will reuse the HTTP connection when possible, thus eliminating the overhead needed to setup such connections. The browser application makers have been doing their job very well it is transparent for us to such happenings in the protocol. 

Remember I said 'by default', because you can explicitly asks the server (by adding a header field) to close the connection once the request has been fulfilled.

This is the thing that you need in your HTTP header.

Connection-Close: close

 

My New ScribeFire!

When I tried to download latest version of Thunderbird mail client, I find this cool tools. I can post my blog through this tool in my Firefox browser.

This is the result of it...

Wow, now it is easier to post something in the blog. This tool will do the rest for me.





Powered by ScribeFire.

Wednesday, January 31, 2007

Welcome to the Jungle!

I was assigned to support a jungle type application. We were like a team of elite commando wondering around in the jungle, trying to locate the enemies.

Thursday, January 18, 2007

Motivations for Migrating CVS to Subversion

This post is dedicated to encourage people who wants to move from CVS to Subversion:

  • Simon Tatham, the creator of most infamous SSH client PUTTY.

Tuesday, January 9, 2007

Only in Enterprise application

This is what I have encountered while consulting in enterprise application and in the telco industry:
  • Garbage collector running for more than 1,5 minutes
  • Customer care data of 15 million subscribers
  • Data of more than 30 million cards
  • Oracle 9i running query on HP/UX 11i for more than 36 hours
Only on JEE Application development:
  • 2,500 database tables, 3,600 database views
  • 3,800 Java classes, not including the OR/M models

Monday, January 8, 2007

Solaris 10 Installation

Today I tried to install Solaris 10 for x86. So far the installer has done an excellent job. The installation is more or less like installing an NT 4.0 box. I've got not much problems encountered.

The installer bundles the JDK 1.5.0_06 inside.

Saturday, January 6, 2007

New Year Resolution for Java Developer 2007?

MikeUrban put his new year resolution for Java coders in his page.
I tried to adopt mine here:
  1. I will release my first open source project.
  2. I will speak in JaMU this year for begginers on beginners material.
  3. I will go back and do something interesting with all my failed, half-finished projects.
  4. I will realize that design patterns are a guide, not a religion.
  5. I will bother to research the security issues relevant to my work.
  6. I will spend an hour teaching a child the rudiments of programming, even if it's just "Hello World" in JavaScript.
  7. I will do internationalization and localization intensively in my web applications.
  8. I will learn how to use Unicode.
  9. I will not respond to requests for help by informing the questioner that they are not only asking the wrong question, but should change the language they program in and/or their Linux distribution.
  10. I will create one bona-fide playable game, even if it's Tic-Tac-Toe 2007.
  11. I will recognize that not all programs are self documenting, and that this is why comments were invented.

FTP Server problem and the RFC

Still gruntling with the same FTP response text problem.

Ah, eventually I managed to tune the response message text to meet the client's need. Modification of the C source code and recompilation eventually solves the problem. Thanks to fgrep tool and SRPM distribution...

I tried several FTP server implementation, and, yes, they have different response message text also. I compared results from wuftpd, vsfptd, and FileZilla. They produced the same code '226', but put different message on it.

I trace back to the RFC document for FTP, and that's the culprit. It is not specify something, just giving some example. People implement different versions though related. Great job, IETF... You put me in a month of headache.

Tuesday, January 2, 2007

Happy New Year 2007!

Happy New Year 2007!

The holiday is over, now back to work.

Last year, 2006, for me was an important year for:

I began entering the telecommunication operator industry fully. This is the world where I could seamlessly applies Java EE technology in enterprise class hardware and enterprise class data size and also enterprise class load. Most of deployment in telco is on Solaris boxes, which requires me to rehearse and enhance my BASH scripting skill once again. I get acquainted with some untouchable technologies like Oracle TimesTen and DataGuard, WebLogic Integration, etc.

I switched and becoming permanent employee for the first time in my life, working for an 470-people-IT-company.

I become co-speaker at one of the Bina Nusantara University Java seminar.

I have become one of the speaker for Java Meeting Up (JaMU) 24 -- I received a free IntelliJ IDEA 6.0 personal license from JetBrains for it!

We have deployed 3 applications using WebWork 2.2!

The Internet connection was getting much better today! People begin posting stuffs again at JUG-ID.