Saturday, July 30, 2005

What is Unix?

From the site Live Free or Die, it specifies what is Unix, what is the history behind it and what are the true unices these days. Linux is not Unix. BSD, for the same reason as Linux's is also not Unix. Solaris is Unix. Now, I am wondering where OpenSolaris stands. Does it side with its ancestor, and hence, be Unix or is it categorized along with its open source brethren, and hence, not Unix.

But do you know that with Microsoft's Unix Services for Windows, an NT or Windows Server can, in theory be certified as Unix? Only if MS will pay for the cert.


Coming from a Oracle-centric software company, I have long been exposed not just to Java but to proprietary Oracle technologies such as Forms, PL/SQL, etc. Also, my life has been so marred by heavy usage of SQL. Leaning towards the Java world, I can say that Java+SQL combination makes sense. Most of the operations that everybody will do are DML statements. To better execute DMLs, we can choose between JDBC's Statement and PreparedStatement. However, I would recommend the latter. This is because the latter is more efficient. The advantage will be more obvious to SQL statements that are executed repeatedly. In advanced, RDBMSes, the PreparedStatement causes the SQL statement to be precompiled. Hence, when the pstmt is executed at a later point, the RDBMS does not have to parse and compile the SQL statement, it proceeds immediately in executing it. Normally, prepared statements are used in conjunction with SQL statements that expects variable input and/or output, bind variables to be exact. However, pstmts can also be used with repeatedly executed SQL statements that do not accept parameters. Statements, however, does not mean that they are not pre-compiled. If you repeatedly call a Statement with the same SQL statement, the RDBMS will be smart enough that this has been executed before. We'll at least for Oracle DB. If you work on any Java+SQL environments ensure that both your Java code as well as your calls to the database or properly designed.

Doomsday Scenario

Now hear this! Now hear this!

This article is a good one. It talks about a lurid plan my Microsoft to dominate both the open and closed source worlds. This is one urban legend / day dream that I'll speculate for a long time to come.

Microsoft goes open source!

Thursday, July 28, 2005

Choose your weapons!

Every developer has his own specialization. Every developer is proficient in one or more programming/scripting languages that he either chooses or was imposed upon by the company he works for. For me, here's my weapons. Go ahead chief. Arrest me for possesion of these weapons.

  • Java - to program anything I want

  • C - to program anything Java can't

  • SQL - to access RDBMSes

  • XML - for multi-purpose portable data or content

What?!? No HTML? No JavaScript? Nah, I am, and always been. a command-line, server-centric guy. I don't like GUIs. I don't like rich/thin clients. I don't like KDE (no flames, peace!). And of course, no Visual-* or *.Net, you know why...

JavaSpaces and Java EE

I am new to the tuple spaces and I find it quite interesting. The implementation of spaces in the Java world is JavaSpaces. As mentioned in JavaSpaces' (and Jini) goals, it really deviates one's idioms on classic distributed system models. In my part of the world, commonly and pervasively used is RMI over JRMP or IIOP.

JavaSpaces technology aims to build distributed applications and can be used as a coordination tool. Unlike RMI, the JavaSpaces model views a distributed application as a collection of processes that cooperate through the flow of objects in and out of one or more (tuple) spaces. Processes or groups of processes can be producers or consumers or both.

JavaSpaces can provide quality and performing applications. I believe that depending on the nature of the domain problem, either Java EE or JavaSpaces or both can satisfy a client's requirement.

Why I support Harmony

Apache Software Foundation's Project Harmony should succeed and be given the support it needs. But why do we need Harmony when the source of Sun's implementation of the Java SE is already at hand? Why do want Harmony when GNU's Classpath is already in full swing?

It all boils down to this: developers want Java to be free. Free in the sense that they can look at the source code, they can modify the source code, they can distribute modified versions. OK, back to the questions. Use Sun's Java SE implementation and you're tied with Sun's restrictive license. Use GNU Classpath and you're tied to the GPL. The logical way out for both commercial enterprises and developers alike is a BSD-like license, the Apache license.

Hence, as coffee-blooded Java developers that we are, support Project Harmony.

Friday, July 22, 2005

Overkill of StringBuffer

I have seen so many codes that abuses the StringBuffer. Yes, the StringBuffer was created for String manipulation since String manipulation is a bit of heavy and String is immutable. StringBuffer is synchronized. So please, use this with discretion. If you don't use true-blue String manipulation, do not use (aka abuse) StringBuffer.

In JDK 5.0, there is a new class called StringBuilder. What's the difference between a StringBuffer and a StringBuilder?

I'll answer it in one shot:

StringBuffer is to Vector while StringBuilder is to ArrayList.

Got it?

Inversion of Control Starter

For those who want to start with Inversion of Control, just like me in my pet project, books can help you. But if you're looking for a resource in the net, here are some that I can recommend:

Thursday, July 21, 2005

J2?E is now Java ?E

Info taken from a news/blog site somewhere.

There were recent changes made by Sun on the brand name Java. The hand of a commercial maneuverings is at hand. I am having mixed feelings about this. My reaction to this is just neutral.


The "2" is definitely looking like it is out of place. The "2" was introduced years back, and it seemed increasingly ridiculous to have that "2" embedded in the platform name while also having a version number like "5.0" at the end of the name.

The "2" from the full edition names. They are now:
Java Platform, Standard Edition
Java Platform, Enterprise Edition
Java Platform, Micro Edition

Sun also want to have a unity of the three editions. All of these based on "Java" and it seemed worth making that "Java" more visible in the shorthand names.

The emphasis on "Java" in the short-hand names:
J2SE is now Java SE
J2EE is now Java EE
J2ME is now Java ME

Usage of single digit version numbers where possible. So instead of "5.0" it'll just be "5". Feedback from the java community both inside and outside Sun circle that versions like "5" is better than "5.0". Or is it?

These names will be applied to new releases. The names or numbers of existing releases won't be changed. So Tiger will still be "J2SE 5.0" but Mustang will be "Java SE 6".

Personally, I still prefer to call J2SE or J2EE. This name is already a household name.

Well, it really doesn't matter what name Sun has to come up. All these are just marketing stuff. Even if they called java or cafe, it really doesn't matter. I'd still continue to use the platform and be loyal to it.

Monday, July 18, 2005

The Reality of an IT Job

Just like carreers in the health-care, military and customer service industries, all IT jobs has its perks as well as its downside.

I have accepted the fact that, probably, all hard-core IT jobs are just like mine. I know, all serious IT work environments are the same. At least in an Asian perspective, all state-of-the-art IT jobs are inherently hectic. If your's is not, then your job is probably as good as doing a project in the University or as good as being a personal secretary.

I'll blog about the perils of an IT job later. One thing for sure, if you are in IT environment and you don't love your work, you will have your energy and spirit sapped in no time. When I say loving your work, I mean you were born with an analytic mind and an eternal thirst for improvement.

Why do I keep on mentioning probably? Because, I do not really know, experience-wise, whether this really do happen in other organizations, moreso, in an American or European working environments. It will take me some more time (again, probably, years) for me to know whether this trend really exist.

Eclipse and CVS

Is it me or is it something else? I recently filed for a CVS cleanup of my project at sourceforge. I had to clean the CVS up because it contained a lot of nasty entries in it. The culprit: Eclipse IDE. I have been using Eclipse for a long time now but it is my first time to use the CVS (team) integration. Setting up is just fine. But the behavior isn't. It is really a complicated and screwed manner how Eclipse synchronized with the CVS repo. I ended up mis-commiting files, auto-created unwanted and temporary directories and for every re-start or refresh of the my workspace, the CVS directories gets added to the repository too, as a normal development directory. And it becomes a bloody headache and viscious cycle. I have asked sourceforce to delete the whole repository and for me to start fresh. Though I love Eclipse so much, it is still lacking or faulty at somethings. For me, I am back to old-school usage of either a CVS GUI or the the CLI CVS client itself (through SSH).

So for those who are committers to a live CVS repository, check twice in using Eclipse IDE.

Just a simple experience and lessons from Luke.

J2EE is Clinically Dead

I have been in this field since the early days of Java and I have witness the birth and decline of the J2EE paradigm. The Java mantra's Write Once Run Anywhere has been effectively re-termed in J2EE as Write Once, Modify A Bit, Run Anywhere. What is the cause if this bloody mess? In a consulting company, contrasted to in-house non-consulting development teams, people are forced to tests the compatibility between J2EE containers and their effect to the biz codes. It has been a pain to develop your code in one AppServer only to find out that some things will have to be rewritten, reconfigured or remodelled because the other AppServer behaves differently. Again, back to the question, what is the cause of this bloody mess? The answer: PROPRIETARY code. Every commercial J2EE providers aims to outgun the other. In here, I am talking about the to Web* app servers: BEA's WebLogic and IBM's WebSphere. It is just a bloody mess. Whether you conform to standards, conventions and to the specifications; one way or another, you are going to tweak something. WebLogic and WebSphere contains all sorts of proprietary extensions and "alternatives". Why the heck these guys care to deviate with the specifications? Are they scheming to convert all people to use their proprietary stuff then later on dictate their own specifications, contrary to the noble cause of J2EE. If these commercial butheads wants an extension or deviation to the standard, can't they just release is as a patch? As a plugin? Don't these people know anything about how things should work according to the specifications and how things should deviate. Here's my suggestion, use the decorator and or factory design pattern or use something else. Just don't screw people's time by wantonly allowing these to happen.

BEA and IBM really screwed up J2EE. If you really want to stick to J2EE, use open source. You have GlassFish, you have Geronimo, you have Jonas, you have (arrgghhh!) JBoss. Beware of JBoss, it might treading to the dark side like IBM and BEA did. The moral of the story is PATIENCE. If your organization decided to use either of the proprietary AppServers and decide to move later, be prepared to open multiple can of worms.

Just a viewpoint from Luke.

Friday, July 15, 2005

OS/2 Bids Goodbye

Another OS has been rendered casualty of the endless evolution and counter-evolution of OSes. This time, it is OS/2 Warp. IBM has officially killed the product. Well, it is about time. Technically, it has been long killed by Microsoft's Windows NT. IBM has now to contend itself with a two-pronged approach to the x86 market. Linux (it vehemently supports Red Hat) and Windows (yes, from the backstabber of IBM, Microsoft). IBM is now posting migration paths from OS/2 to Linux. I had a short experience with OS/2 Warp, but that experience got cut short by, ehem, Windows... From Windows for Workgroups to Windows 95 to Windows 2000 to Windows XP. I am so unlucky to be a late bloomer in the Linux world.

I am an open source fan but I know Longhorn, despite the bashing it receives from Media and the OSS community, will be a killer app. Something worth the wait... OK, time to bid goodbye. So long OS/2... See you at the history books.

Thursday, July 14, 2005

PLM is Back Online!

PLM is in cyberspace again.

It has been quite a while (years, I guess) since I last saw the amateurish PLM web site. You might me asking what PLM is. Well, PLM stands for Pamantasan ng Lungsod ng Maynila (or, as I usually write it in any application form outside the Philippines, The University of the City of Manila). This is were I graduated. This is were I obtained by Bachelors Degree (Bachelor of Science in Computer Science). PLM is one of the State Universities. But even if this institution is a state U, it is wholly funded by the City of Manila, alone. I am not sure of the current quality of education in PLM. I am wondering only for Computer Science. Back in the pre-internet days, even if technology in PLM was not that high, I knew comsci students were at least intellectually at par (or better) with contemporaries from other universities. I can be very proud not of myself, but of my school. In a resource and fund-challenged university, it is a feat to produce quality graduates. What PLM lack in facilities, it compensates with its culture of excellence. Truly, a class on its own. With the myriad of technologies that abound the industry nowadays, I just hope that the students still get quality education and/or at-par recognition when they eventually graduate.

As for my student years, I belonged to the College of Engineering and Technology. CET rocks!

PLM's website is at

Let's Get Groovy

Python and Java lovers rejoice! JSR 241 is coming!

JSR 241 is all about Groovy. Groovy is an object-oriented, agile programming language designed for the Java platform as an alternative and comlementary language to Java with features from Python, Perl, Ruby and Smalltalk. Groovy, like the venerable Java, will run on top of the Java Platform (Java Runtime Engine)

Groovy uses a Java-like syntax which is compiled to Java bytecodes and that works seamlessly with normal Java binaries and Java libraries including J2SE 5. On the the reverse path, bytecode compiled out of Groovy can be accessed inside Java programs as though they were really created from Java programs. Groovy will be both a compiled language as well as interpreted. The compiler provides a javac-like bytecode output while the interpreter can run the Groovy program dynamically as a scripting language.

Groovy is currently undergoing standardization through the Java Community Process.

Groovy is designed to help things get done on the Java platform in a quick and concise. Groovy brings the power of a scripting language directly into the Java platform. For example:
  • Shell scripting using Groovy allows the full power of the Java Platform to be brought to bear to the task at hand.

  • Groovy can be used (and indeed is already being used) as a replacement for Java for small and medium sized applications to execute on the Java 2 Platform.

  • Groovy can be used as an embedded language for dynamic business rules or extension points utilizing the agility of Groovy and saving the cost of redeploying applications for each change of rule (especially when the rules are stored in a database).

  • Groovy makes writing test cases for unit tests very easy.

Bulk of the programming language that is used in the open source arena is either C or an agile language (Perl, Ruby, Python, PHP?). Lesser known in Linux world is Java. Groovy aims to reverse this. Imagine living in an open-source unipolar world dominated by the Java Platform, with your languages Java and Groovy, groovy baby! And of course, C will not pushed away. C is here to stay, along with Assembler.

Support JSR 241

Tuesday, July 12, 2005

Free and Open Source Java

I agree with RMS on his stand on Java (Free But Shackled - The Java Trap). Java is free alright but the libraries that come with the J2SE aren't. The license being enforced by Sun does not qualify J2SE as Free and Open Source Software.

Apache Harmony is a proposed free implementation of the Java programming language, starting with J2SE 5.0. It will be licensed under the Apache License, Version 2. Since its announcement in early May 2005, it has caused controversy amongst the Java community. There were mixed reactions from Java as well as open source communities. Some are ecstatic and optimistic. Some were outright pessimistic. But the beauty of this is that Sun, though not releasing its J2SE source base, is helping Apache Software Foundation through other means. It even involves necessary access to TCK (Technology Compatibility Kit) which a similar open source project (GNU Classpath) is not getting.

I know this will be long way to go (if not impossible). But the wait is worth it, I guess. By the time Harmony is finished with its binaries (compatible with JDK5 aka J2SE 1.5/5, aka Tiger), Sun Microsystems would have released a new J2SE spec.

But what if, we fork Java altogether? Nope, this is a far possibility. Remember Microsoft getting sued by Sun? Sun has really a firm hold on Java language as well as the Java platform. Without Java, Sun will burst like its 90's dot-com peers. For now, I'll have to contend myself with whatever FSF has to provide, that is, GCJ and Classpath and Sun's own in my workplace =)

Monday, July 11, 2005

Back to Roots

It has been years since I last worked with C. Back in college days, C replaced assembly as my most-loved, most desired language. It is really impractical to do all your programming in assembly if your application resides in the userland. When I was just starting my career, I also worked in C. This time, no more hanky-panky stuff. This time it is live data we're talking of. What I did less-than-a-decade back were communication and resource management programs. It was quite a feat, especially being sent to a foreign country where it is I alone can save or ruin the day's work.

I talked to a colleague this morning and discussed some integration issues with a client. C programs will be used for this. Though, personally, I will not do the work, it sparked some old fire, that is, the C hacker in me. I have experienced C in Win16, Win32, DOS, and in Unix environments. I'd like to augment my expert (ehem, hehehe) Java skills with a renewed vigor in C. Hope I find time in studying C.

The C programming language is a standardized programming language developed in the early 1970s for use on the Unix OS. It has since spread to many other platforms, and is one of the most widely used programming languages. C is famous for its efficiency, and is the most popular programming language for writing system software, though it is also used for writing applications. It is also commonly used in computer science education, despite not being designed for novices.

How about C++? Forget it, I already have Java...

Saturday, July 09, 2005

You Evil Little D.!

It is a must to keep your code clean. It is just as important as getting it to properly work.

Clean code will allow you to maintain your components whereas dirty code f??ks you up. I think I have described it point blank. If you are good and professional enough, please don't leave your code in a filthy state. My humble appeal, take pride and excert enough effort to not only getting your code to work, but also in keeping it simple, small, easy to read and in fairly documented manner. I bet you haven't tested it too?

It is just that filthy code done by sloppy developer annoys another developer. Simple isn't it. So do the right thing.

Are you guilty?

Get a grip. Here's where you can start.

Pax Europa

The European parliament must be congratulated for not following the US software patent model. Just to reiterate the evils of software patents, here are some points why it is so.

- Software is already protected by copyright, patents are not needed
- Software patents cause a high burden on the economy especially to small organizations which forms the majority of the IT industry
- Software patents are anti-competitive which results in less choice and higher prices to customers
- Software patents are impediments to the natural evolution and improvement of indigeniously created software
- Software and the process of development and innovation in the software industry is very different from that of the other industries.

One small step for Europe, one giant leap for the IT industry especially for the FSF and OSI.

Friday, July 08, 2005

BSD License vs GNU GPL

The classic battle rages on. If you are an enterprise, you are probably better protected by the GPL. If you are an enterprising individual who loves to code just for the sake of coding, BSD is for you.

In the real commercial world, it happens differently:

In the GPL customers will not face licensing lock-in. In BSD, there is a threat of having a licensing lock-in.

If Organization X needs to share closed-source, internally developed software with a partner, Org X can choose to (1) proprietary lock-in license to partner, or (2) open source license to partner.

To distribute through option (1), BSD license can be used, but GPL inputs can never be used because of the Copyleft.
To distribute through option (2), either BSD or GPL can be used.

Both licenses enables open source development and is endorsed by the OSI. Then why use two different licenses if the ultimate goal is to distribute free and open source software? Often, the agenda for using the BSD license is to create a potential license-lock in since this license can be more readily converted to a lock-in license.

Makes sense? GPL = true FOSS. BSD = FOSS->commercial.

As for the ToyBox, I chose a BSD-variant which is the Common Public License for this particular reason, hehehe.

Wednesday, July 06, 2005

Project ToyBox First Steps

Just submitted the Project ToyBox specifications for approval by

1. Submitter: richardqr

2. Project UNIX Name: rtoybox

3. Project Descriptive Name: Project ToyBox

4. License: IBM Public License

5. Project Description: An all-purpose client and server-side Inversion of Control container for Java. This project aims to abstract different existing open-source projects into a simpler notation. It can be used both in a J2SE application as well as a core business framework for J2EE-based applications.

6. Registration Description: This project aims to simplify business service request and consumption through an easy to use Inversion of Control container, similar to the types of SpringFramework or some other J2EE-based frameworks. Everything will be Java-based.

The problem mainly with existing frameworks is the difficulty of using them, especially for newbies. The target audience of the proposed project will be small-scale academic or personal projects. If fortunate enough, the project could evolve into a full-blown industry-scale framework like Spring.

Hope this goes through. Its a make-or-break step. If broken, then will find some other way again to define the project better. If OKd, the only other aspect is time and resource. Wish me luck...

The project's blog is at

Office Stress II

I had to go home today to preempt any of the about-to-explode sickness that I have. I consulted a doctor for fever and achy body. Though I take a suite of vitamins everyday (Centrum, Vitamin C and Calcium), I can always be defenseless to the onslaught of stress. Stress is like HIV. It will definitely put your defense against pathogens to almost nil. The first order of the battle after arriving home is to check my office inbox for anything that I can do via remote control. Seems ok though. All issues addressed, all team members happily working on autonomous basis. Though I really cherish spending a little bit more time at home and with Sam, I definitely want the microbe out of my body even it means going back to office, which I should, anyway.

Tomorrow I will be back with vengeance.

Monday, July 04, 2005

CV How To

I have been in the I.T. industry for a long time now. 8 years. 2 years more and I am certified out-of-youth. Now that my priorities in life is shifting, I am again on the drawing boards to draft my CV/Resume after a long long time. To my recollection, here is my history:

College time, I already created my first CV to apply for on-the-job training jobs on some companies. First, I worked at Magent. It is management company that globally sees into GMA7 and all its sister companies. My tasks were not satisfying (ie not intelectually yummy), so I resigned. And besides, we are forced to join a prayer meeting on friday afternoons. I am a Roman Catholic and I resent being forced into someone else's faith.

Then I went into this, now defunct, company called InfoLand International. It was owned by my cousin. I went there and do whatever I wanted. Thinker with hardware, use some of their software and did an advanced self-study on future subjects in College. Still I got bored. But since, it is my cousin's company, we doctored my timesheet and was scot-free in no time. I just spent the rest of the summer wandering everywhere, visiting BBSes and sleeping at home.

Before graduating, I already got a job. This time, at Compass Internet. I was an account executive there. This is a position for sales ala technical support. Again, I didn't submit a resume. I walked in, talked to the manager. Talked about my school. Talked about my championship in a national Assembly Language competition, talked about my credentials in school and that was it. I technically had my last summer only for a day. I graduated April 30, I reported to work on May 2. Why didn't come to work at May 1? Because it is labor day.

After one and half months of wrangling to customers and prospects, I applied for a job in System Access Philippines. This time, I think (as I can recall) I didn't pass any CV either. I just filled in some form, did an exam on a thursday. I went back on a friday afternoon for interview on short notice. People got impressed and behold, I was destined to join the company on the coming monday. So, saturday was my de-facto last day with Compass. Come monday, I went AWOL.

Then I got sent to System Access Singapore (early part of the year 2000). While I was here, I was furiously head-hunted by a US company. I even had an interview with one of their top guy. Forgot the name but their base is in Boston, MA. This time, I sent my CV. I went for an online Java exam with a prometric center that they chose. Guess what, I was informed that I broke their highest score record. To make the story short, I declined. I thought I was too young to head to the US.

I got absorbed by the Singapore Office. And here I am now, typing this blog.

The bottomline is that I got a very few occasions wherein I needed to create or update my Resume. Now, I am at lost on how to create a killer-CV, the one that will put a companies jaw to touch the ground. Well, how do I really create one?

Hypocrisy of the FOSS

Why is Microsoft being perpetually hated and bashed by the open source community? Why is Bill Gates being hated like the plague by the open source community? I am an open source fan, I believe in their cause. But I really believe that the goal sometimes is being diverted from providing free (as in freedom) and open source software to Microsoft bashing. MS reached its behemoth size because it is good. Being good doesn't mean superior product (e.g. Windows XP vs OS X). They are good because nobody else is. IBM? They got screwed remember. Apple, the same. How about Open Source? They aren't. Don't know why these zealots are so mad at an institution that they can never abolish. To tell you frankly, the GPL's way is nothing short of being a communist/socialist versus MS and Apple's capitalism.

A chunk of Bill's money goes to charity. Can the open source community top that? Can they fund thousands for their healthcare and education? Can they alleviate poverty? Open source's goals is very noble indeed but the way the zealots degenerate to pointing their energies at bashing MS is indeed counter productive.

The Bill & Melinda Gates Foundation, like its mega corporation source, is the world's largest charitable foundation. The foundation has an endowment of approximately US$28.8 billion. To maintain its status as a charitable foundation, it must donate at least 5 percent of its assets each year. This amounts to over $1 billion.

So bash all you want. Sue all you want but I think MS is here to stay. The future lies in either OS X or a POSIXed Windows.... I guess.

Linux on an NT Kernel

If the GNU lies in the userland and the Linux kernel in kernel space, and linux and GNU works in x86, why not GNU work on an NT kernel? When I say GNU, it means the GNU operating system minus the Hurd kernel. When I say GNU, I would mean all free and open source applications that runs on Linux (and perhaps BSD).

This is a good idea isn't it? Well, our problem lies now on how to run the GNU toolset on an NT kernel when it was built to call POSIX-compliant kernel library calls. The answer is to build an intermediate "mid-kernel" on top of NT kernel. This mid-kernel will translate microsoft-specific calls to POSIX standard, and hence, GNU tools can work on NT kernel.

Imagine your standard Windows XP (or Longhorn in future) installation can run both Linux applications and Windows applications on the same kernel. Probably, during bootloading, it will ask you on what OS to start, and both of the specific OS runs on the same kernel. But this time, the Linux OS will run on a mid-kernel. The mid-kernel itself will will be in userland.

Is this VMWare kind of stuff? Nah! This is not simulation and device sharing, this is the actual runtime. Only one OS runs at one time. How I wish somebody (at least as far as I know) will create the Linux to NT port.

Cygwin is a userland layer that can run some Linux applications with recompilation. Why does it need to recompile? Because the system calls behind Cygwin is just of Windows'. Cygwin consists of a library that implements the POSIX system call API in terms of Win32 system calls, a GNU development toolchain (such as GCC and GDB) to allow basic software development tasks, and some application programs equivalent to common programs on the Linux system. The commonality between Cygwin and perhaps Linux, and Unix, and Windows is COFF. The Common Object File Format (COFF) is an object file format that was introduced in Unix System V Release 3, and was later adopted by Microsoft for Windows NT. It was superseded by the more powerful ELF in System V Release 4, but as of 2005 COFF is still used in Windows as Portable Executable.

If someone will just "promote" Cygwin to be like this, then I think this will be the ultimate Linux kernel and VMWare killer. Just wait till the GNU Hurd kernel comes along...

Saturday, July 02, 2005


I had a sudden urge to blog about my workplace. This is the place where I get happy. This is the place where I get mad. This is the place where I get frustrated. This is the place where I also get hope.

I brought spidey with me (my IBM X23 laptop) today. With spidey, I can do everything I want anywhere I am. In my workplace, I work on two desktop machines (oh, so that explains the two keyboards and two mice). One is windows machine on a P4 whitebox. The other is my favorite, my linux machine on a Sun box (AMD64). Originally, it came with Solaris 10 but I had to undo the settings and install my own Fedora, oh yes, the much famous Fedora Core 3. Not on the picture is an HP-UX-based blade server that my team manages.

Also in my workplace, you can find my ultra mini fan. This little giant keeps me cool (literally and figuratively). Also, I have my switchbox. I definitely go through a lot of mis-types and mis-commands on the wrong machine without my switchbox. Normally, I would just operate my Windoze machine through VNC. Clever huh!

In my workplace, I have my old-school calendar. I don't really rely on electronic ones.

In my workplace, I am one who tags his own chair. I tagged my chair with a neon-yellow plastic string of some sort. I really don't know what it is called. This is the stuff that when you "tie" it, it can never be untied. I've seen these being used as "handcuffs" to war-on-terrorism detainees. Why do I tag my chair? Because this is the only chair that fits perfectly to my back.

Not in the picture is the gamut of books that I use in my carreer. Not in the picture is, of course, me. I'm the one who took the shot.

And as always, I don't go to my workplace without my magic parker pen and my magic spectacles. Without these, I'll surely ruin my day one way or another.

Here's my workplace:

I Have A New Toy

I just installed Eclipse 3.1. What a breeze. The time it took me to install was 10 times faster that the time it took me to download.

I am really excited in trying out the new features in this IDE. So much for the NetBeans 4.1 crap. Now let me see... I have JDK 5, I have Eclipse 3.1. I have a java source to work with. What else... ahh! I am still using FC3. Anyways, this post is not about Fedora.

The cool stuff about Eclipse 3.1 is speed. All about speed. Since I mix up between CLI activity and GUI IDE activity, my old Eclipse 3 was just as handy. But with hundreds of codes that I work with, auto-compilation grinds to a standstill when I refresh or even introduce a new java source.

Let me see later whether VE (visual editor) is already up to the task. I dropped using this in favor of NetBeans because VE is a crap. *sigh* If only I could extract the GUI builder part of NetBeans and make it as a stand-alone kick-start utility, then I would the best utilities a java developer can ask for.

My new toy:

Friday, July 01, 2005

Ahh! Exactly What My Rumblings Are!

Excerpt of a letter published by Philippine Star publications.

Just a nice piece that I can't help but mirror the post in this site.

All rights are reserved by

God Bless the Filipino Nation!


What truth?
The Freeman 07/01/2005

Here we go again. The dumb politicians are once more holding the whole nation hostage. In the past several days, the likes of Sen. Nene Pimentel, Congressmen Francis Escudero and Jacinto Paras, whose ability to speak his mind in fluent English is, by the way, no better than a grade school student, are again posturing at the expense of the Filipino people. This time their alibi is the truth.

Exactly what truth are you trying to find out, sir? Eh, umamin na nga ang Presidente! Ano pa ba ang gusto nyo? If you think the President has committed a crime or an impeachable offense, then please file the appropriate actions and shut up! Stop holding press conferences or appearing on television to air your grievances because the media is not the proper forum for it. Being members of the law-making body, you're supposed to know that. You're supposed to use the legal framework that Congress itself has created. You should be the first to follow the law.

The trouble with these politicians and those calling for a leadership change is that they don't know their action is bleeding the country dry. Mga bobo kasi. They're not only insensitive, they are ignorant of the sufferings of ordinary men like me.

I bet my last pair of socks that you, Congressman Escudero, don't even know the simplest needs of the common tao. Or that you and your fellow useless politicians are so stupid to know that your calls for GMA's resignation is, in fact, the reason why the stock market is down and the exchange rate up. Heck, I seriously doubt you can stipulate the effects of a fluctuating peso, let alone know what a Moody's "downgrade" is. Mga bobo kasi.

I challenge you Congressman Escudero to take a one-year leave of absence from Congress to take a job in the private sector and live off the salary of a daily-wage earner. Isama mo pa si Susan Roces at saka si Bro. Eddie Villanueva. I can guarantee all of you: You will not last 30 days before calling it quits!

Now, if you're not willing to come out of your comfort zone, then I challenge you to a debate - to prove to our countrymen that you're all stupid. Don't be intimidated: I am just an ordinary workingman and not connected to any group that can tutor me about policy issues.

It's so easy for you to hostage the economy because you know your Congressman's salary is assured for the next three years. I challenge you to stop living off the taxes of the Filipino people or the tithes and offerings of your members!

The other night Susan Roces' apo declared to the media that what her lola is doing will benefit the Filipino people. Are you nuts? What do you know about our plight here in the Philippines? What do you know about the effects your lola's speech will have on the economy? You're living in the US for Pete's sake! Before you open your mouth, try living here first and enroll at a public school with insufficient number of books!

It's so unfair that a few dumb politicians and reckless individuals have the power to bring down the whole country. Doubly unfair that Cebuanos like me suffer for the stupid decisions made by the horde of uneducated people in Manila.

I studied hard - heck, even worked to pay for my last year - in college to be where I am now. I pity the employees of foreign-owned companies like me, who are now in danger of losing their jobs because of the uncertainty now besetting the nation.

The Filipino people deserve better. Kung hindi pa nyo nalalaman, tapos na po ang election. It's time to move on. Congress has better things to do than to meddle in governance. Congress and the Arroyo administration must work together to cut the deficit now, keep the exchange rate stable and the inflation rate in check.

Simple lang ang kailangan ng bawat Pilipino -- ang mabuhay ng maayos. I do not aspire to run for Congress or lead a congregation and live off the tithes and offerings of my flock. I just want to live a comfortable, if not decent, life.

Truth has no profound meaning to me if I lose my job and sleep with an empty stomach.
Larri-Nil G. Veloso G/F Pelaez Bldg. A.S. Fortuna St. Brgy. Bakilid Mandaue City 6014