31 October 2004

Serial Comm API Test Completed

Alright! I have now completed my Java Serial Comm API tests on Linux. Here are my initial do's and don'ts:

  • Don't use the RXTX libraries, for some reasons the Sun's version of the Solaris Java Comm API is now "hardwired" for Solaris. So no matter how you tweak your configurations it will still look for Solaris-based native libraries (libSolarisSerialParallel*.so), tough luck.
  • Do use the IBM's Java Communications API for Linux, it is more reliable (hyperlink ommitted to avoid suspicion of bias)...and faster too.
  • I encourage using Doug Lea's Concurrent API if you haven't moved to Java 1.5 yet. Let LinkedQueue handle the modem polling for you.
My next test will involve reading the entire content of a SIM card with one command or something to that effect.

28 October 2004

Another company humbled down by Open Source

When I was still using OmondoUML in Eclipse 2.X, I convinced myself that this will be an indispensable tool for developing Java applications in Eclipse. But when Eclipse 3.0 arrived it all changed, the OmondoUML for Eclipse 3.0 was no longer free. I suspected that this an obvious old-school marketing gimmick of giving away the old ones and start charging for the new ones because they expect of making a killing out of it. But on the contrary, what they got are disenfranchised and disgruntled users who totally abandoned their tool in exchange for non-plugin tools(read: PoseidonUML, Visual ParadignmCE). So now, Omondo, due to insistent public demand or public pressure is giving away OmondoUML for Eclipse 3.0.1 free of charge and no login required! How do you like that?

Hehehehe, this people should learn more on how to do business with Open Source market. This market is more stingy and unforgiving, it challenges and shakes the philosophy of doing business the Microsoft way. With Open source, if you start giving something for free then give it for free all the way don't charge for extra features, it doesn't work that way. If you are going to sell your Open Source apps just say it, you don't need to mince words, your customers are not stupid. Don't try to mix an untested formula of selling something that should be free and licensing it for commercial distribution by the customer. If you're going to sell Open Source products lay down your cards don't keep hidden facts from your customers tell affront the price and the terms of the Open Source license you choosed to employ. Tell if there is limited warranty, specify that you charge separately for training, consulting, support and maintenance. Do not sabotage the apps by putting some of "time-bomb" bugs kept in lousily coded section of a module to force your customer to buy your support and relieve eye-strain for reading that particular part of your code, that's freaking immoral. Open Source means transparency, and the customers deserves to see the light.

Look at some Open Source products that has wrong marketing formula. First is Ximian, Ximian Evolution is a good tool and the closest alternative to MS Outlook. Initially, the wisecracks at Ximian didn't give away their Ximian Connector (Ximian's bridge to MS Exchange) for free and many bought the crappy thing and guessed what, they can't properly support their customers. Their arrogant technical teams just simply redirect those PAYING customers to their mailing lists and forums, so do you want to be treated like that??? In the end the Connector became part of the Ximian Evolution and is now for free, that's one humbled company. Second, the Cloudgarden's Jigloo Project an SWT editing plugin for Eclipse that uses an "honor-system" license which is free for open source development and not-free for commercial development. Now, the problem is how can the lonely project team lead monitors who is doing what? In the end Jigloo is making no money even if it's one of the most downloaded plugins for Eclipse.

Long Weekend!

Feeling proud again, there's no other feeling like this when your Java applications are running like a well-oiled machine. And I am not doing anything, I think I should schedule that long overdue SCJP exam, my voucher will expire in April 2005. I am really batting for that 100% mark.

However, my long weekend hopefully not interrupted by anything will be allocated to finish the GSM-modem-based SMS application via Java Comm API and Concurrent API, the SQL Editor module for PGSuite. I have finished all the classes necessary for parsing, SQL Syntax rules etc. etc. it's now the looks that will do the killing ;). And then proceed to Eclipse' Graphical Editing Framework(GEF) this is the framework that will be used to build graphical database objects and Entity Relationship Diagrams(ERD).

25 October 2004

Postgresql Replication in PGSuite

In order to become a fully respected Enterprise Manager for Postgresql, PGSuite must provide a replication capabilities. Fortunately this can be made possible using Slony, Postgresql's replication engine. Probably the first thing that must be done here is the GUI-fication to make it at par with Oracle and other commercial databases.

Back to RXTX programming

Ok, after doing a stint with Java Communications API for developing Java applications with RS232 serial communications I am back at it again. This time developing a GSM-modem-borne SMS applications. Why not sign-up a shortcode from a telco? First, the application is intended for use with low-to-medium traffic systems which includes private health care, private schools, E-Loading, "AutoLoading" stations(somebody's thumb must take a rest from repetitively texting those E-load or Autload instructions to the SMS gateway) or control a server or PC remotely. Since I am doing this on Linux and not on Windows as what I did previously, I would need the RXTX for that or better yet the IBM Java Communications API for Linux.

Now, I have improved the wrapper class for initializing and opening serial and parallel port regardless of what and where the device is connected, what operating system is being used. Although installation is still OS-dependent, the runtime will be seamless.


22 October 2004

Yipee!! I got 2 1GB mailboxes now

First I got Gmail. Now, my other mailbox that I have been using for 6 years also provided a 1GB email box.

21 October 2004

Happy 1st Anniversary DynamicBeans

I didn't realized that this company has been operating quietly for one year now. Though most of its income generating activities comes from "outsourcing" development work and has slowed down a bit . It is in the process of churning out killer apps, contributing to several open source projects and has no website until now! Gosh! A tech company with no website? Pretty unique isn't it?

Upon PGSuite's initial release, DynamicBeans will be the company that will provide support, training and marketing. Really a great time to kick some ass!

> Linux is not User-Friendly...

It is _user_friendly_, it's not ignorant-friendly and it's not idiot-friendly.

--From Slackware Terminal MOTD

20 October 2004

The Business Value of PGSuite

"Why bother?" as some might ask. Yes, why bother writing another tool for Postgresql database when there's already Quantum, JFaceDBC, pgAdmin and a lot more? A shallow mind couldn't agree more. Here's some reason why we bother. PGSuite will be for Postgresql only just like SQL Enterprise Manager is for SQL Server only and so is the Oracle Client or the Oracle Enterprise Manager and pgAdmin can't be and won't be a good match for these commercial tools. Quantum is a nice plugin, but hey it's just a plugin and so is JFaceDBC that can't query more than a 100o rows of data. These kind of plugins can't deliver on a production level even in development.

PGSuite is intended to be the "Enterprise Manager" for Postgresql-powered database servers. As an open-source "Enterprise Manager", PGSuite matches if not exceeds the capabilities of its commercial counterparts. As a teaser, PGSuite will have an SQL Editor which I am currently working on, a Visual Database Modeler both for design-time and deployed, Resource Manager for monitoring I/O, memory, connections etc., SQL Debugger, DB object navigation and administration, "On-table" editing and so forth.

So again, why bother? At the moment, there are several hundreds or thousands of applications running with Postgresql as a backend database including the one I am working for. Of course, bigger companies does not run applications on Postgresql alone, they have Oracle, SAP, Sybase etc. chugging along with Postgresql. Chances are their DBAs are only skilled in using those commercial ones and as a result software projects running Postgresql tend to support their own database administrative activities instead. These problem has created an opportunity for PGSuite in terms of support and enhances DBA's competency in handling several databases. Postgresql support is virtually an unexplored market. With tools like PGSuite independent vendor support may become a tight competition in the future. In the long run, this is beneficial for the end-user and developer because of wider choices and without vendor lock-in.


Currently, PGSuite is being developed using Eclipse RCP and of course that means using SWT. After all, Postgresql will be our weapon choice against big boys, who knows. :)

The 2004 Mazda3

One weekend, an hour before lunch. Cruising past Northgate Cyberzone(The "Silicon Valley" of the South) in Ayala-Alabang via the Alabang-Zapote Road(Skipping Commerce Ave. then cutting behind Vivere Suites) on our way to SM Southmall to buy some decors for Christmas, while approaching ATC(Alabang Town Center), a venerable-looking icon gradually appeared in the right side of the horizon. The icon is a closed-legged "M" so definitely it's not a fastfood chain. Finally, a few seconds later we found out what's beneath the "M" icon. It's the new Mazda Alabang Showroom. My curiousity got the better of me so I ask my wife if we can stop by and "window shop" a little and she reluctantly agreed. So I negotiated a nice turn towards a nearly-finished parking lot and parked just beside a Tribute. The showroom has only Mazda6, Mazda3 and 2 Tributes displayed. My feet dragged me straight to the Mazda3 and lo and behold it IS immaculate.



Sorry I am not going to talk about the specs, just google it. Going on with the story, a salesman approached me and of course talked me out about the car, the price, the financing terms etc. etc. until he handed me a credit (auto loan) application form which I reluctantly filled up because I know I am going to be rejected and I am just in the showroom to see what's Mazda's arsenal got to show. So there it is, honestly I am impressed with the gate-type shifting a la Benz, the interior got a touch of a European car. What I can only really say is after stepping out of the car and out of the showroom. All cars including what I am driving suddenly became "out-of-time", as if they are all five years behind. The salesman make his final pitch by promising to get my application approved by ANY bank but I just really had a lot of doubt about it. And off to Congo Grill at WestGate we spent our lunch.

And then Monday early morning, my first phone call was that from the salesman and told me a half-good, half-bad news; my application was approved. Geez, I am not ready to break a bottle of champagne. Now, I guess the Java Juice is starting to squirt and PGSuite will going to make our day.

11 October 2004

Counter-spam

Scribbles --

Thanks to Richard Base's blog on the Hugh McLeod's gaping void. Simple idea sparked in my head on the "French apartment code". :))


Imagine asking spammers to key in my email code first so that their crap can get through. That's less secure than public/private key encryption. But what the hell, there's nothing to protect! No data will be stolen, only garbage data to be dumped in!


The solution is doable with the following scenario. Since email message is free.

SPAMMER: Sends mail.
PROSPECT's MAIL SERVER: Recieve's mail and send back a reply to key in a mailbox "doorbell" code.

-If "doorbell code" is correct then the message within the PROSPECT's MAIL SERVER will deliver the message to the recipient. Else let the spammer think about it.

This stuff are all doable using JavaMail API so no big deal really. It's just a matter of implementation.

Now you got one helluva counter spammer. Isn't that cute?

09 October 2004

Test code

Ok, when my old blog servers conk out this will be my tech blog. So I want to this opportunity to test its technical blogging capability.






public class Test {
public static void main(String[] args){
System.out.println("Jared Rocks!");
}
}



08 October 2004

Java Rocks!

Java-related blog