Wednesday, October 20, 2004

Please be advised that Netscape and/or Mozilla will be removed from your PC

My jaw dropped on receiving this email. I mean literally, dropped. It's almost as if the government were to call me and tell me I had to use an asbestos filled mattress for my baby's crib.

My current employer has decreed that IE6 is the only supported browser in the organization and that they will be removing any Netscape/Mozilla installations.

I'm not going to say much for fear of backlash from my employer should they read this but in all honesty, this a step backwards.

Oh how I would have loved to be a fly on the wall in the meetings wherein this was decided. Just to hear the rational.

Thursday, October 07, 2004

Spring presentation at Toronto Java Users Group

I really wanted to attend this presentation by Colin Sampaleanu but couldn't attend because of family obligations.

Does anyone have any links to a roundup of the presentation. I'd really appreciate it if you could leave a link in my comments so I can catch what I missed.

Toronto JUG Spring presentation

Thursday, September 30, 2004

Looking for Swing developers in Toronto

Are there any Senior Swing developers looking for work in Toronto? The position is at a large financial institution. Canadian Securities Course and Fixed Income knowledge a definite asset but probably not essential if you're very good.

Send me an email at "" with contact info and resume.

Who cares if Java 5 is out

I sure as hell don't.

It amazes me the number of people who make a big stink of this. I really envy those people as they must get to work on projects with the latest versions of all the coolest tools. Must be sweet to change midstride and upgrade to the latest greatest JDK available or simply download the latest jakarta libraries and install the newest version of XYZ appserver.

I recall being stuck on JDK 1.2.2 for years as the rest of you priviledged folks were using 1.4. Tis the burden of working in an environment handcuffed by the appserver vendor's choice of jdk (Websphere back then). At this present job, we *just* migrated from 1.3.1 to 1.4.2.

I need to get a job like the rest of you where you get to constantly revamp your development environment with the latest bleeding edge tools.

Seriously, I'm so jealous. I bet your petstore's run so much quicker.

Wednesday, September 29, 2004

Forums or lists for JMX support?

I've been subscribed to the JMX-FORUM@JAVA.SUN.COM mailing list for 6 weeks now and it's simply not active enough. In 6 weeks there have been a measly 59 postings. We're talking about JMX here...hell even a niche technology like Jini has more activity on it's mailing list.

Anyways, I'm having problems and looking for help. Can anyone suggest a better forum or list for support?


Tuesday, September 28, 2004

Someone convince me about Spring

I've read the hype, read the user docs and I've even purchased Rod Johnson's latest book. I've even spent an evening or two trying it out myself. While I can't (or haven't yet) convince myself that the Spring Framework is the second coming of Java development, I can't help wonder if I'm missing the point entirely and can't see what the masses are raving about.

The most common argument goes like this, "it's amazing, I can develop with MySQL on my workstation and then with the flip of a switch my application deploys to Oracle|DB/2|[insert industrial strength db here]".

In a corporate environment where choices are sometimes not plenty, is this pluggable feature (ie. Hibernate, iBatis, JDBC, etc) really really that beneficial?

I work mostly with large corporations with large databases and we integrate many legacy applications with newer modern systems (ie. typical J2EE layer above the aging but still necessary mainframe legacy application). I have rarely had the luxury of simply creating/installing a database on my workstation to develop against and simply deploy against the official one. The problem usually stems from lack of data (or abundance of it depending on which side you wish to view it from). I'm not developing petstore applications or shopping cart systems for ecommerce sites. We're dealing with massive amounts of data, the data that is the backbone of your business logic/applications. Without the data model from that legacy database, you don't have much of an application. We're not talking about a toy USER table with the corresponding ADDRESS table and whatever dinky little model you can imagine and populate with a few rows of test data. Sure you can harp on how it's useful for a new application, etc. but IMO this is a rarity in large corporate system development. At best, you might have new tables that are linked with pre-existing data but it's unlikley you get to create that application scratch from the ground up.

Here's something I've noticed in most places I've worked, Companies don't change database servers very often. Ok, I shouldn't make such a generalization because I know there are all those little shops out there who started with MySQL, outgrew it and upgraded to postgresql or hell even spent a few bucks and bought one of the commercial databases (you get my point). This just strengthens my point though, those are probably small companies evolving their infrastructure as needs grow. Large companies rarely switch database vendors. I'm not going to go into specifics as to why but to be brief just consider the amount of work to do data conversion, upgrading all applications that use the data and what do you do about all those archived tapes?

In my experiences, the argument that I quoted above doesn't hold much value in large organizations. Yet, I can't be the only one who thinks this...the entire blog nation can't be wrong.

What I do see is a lightweight container with an assemblage of useful frameworks from the Java OSS community, sort of a revolutionary, underground J2EE movement fighting against the evil doctrine evangelized by Sun, aka "Java Enterprise BluePrints".

Someone enlighten me.

Before you start flaming, let me add a disclaimer that I actually think Spring is cool. I'm just struggling to understand it's purpose. I'm actually working on an EJB application at the moment and I've thought of using Spring's BeanFactory but I ran into problems when trying to create the BeanFactory in my ejbCreate() (others have reported similar problems in the forums), so I've put that little project aside while I work on real stuff.

Friday, September 10, 2004

Hey George W...we got some G.M.D

Yes, that's Genocide of Mass Destruction happening in Darfur.

It is sickening to read about the happenings over there. Especially in light of the fact that the most powerful nation on this planet isn't doing anything about it because they are busy filling their pockets with black gold over in Iraq.

Here's a quote from the Globe and Mail newspaper, "The United States has proposed a draft UN resolution threatening oil sanctions against Sudan as a way to stop ethnic violence in Darfur.". Oh come on, TENS of thousands of lives have been exterminated and all you can do is threaten to stop selling them oil? Why does it always revolve around the oil?

Ok, I really don't mean to be distasteful here but what puzzles me is that if the Arabic militias have such an anti-black sentiment, why would they rape the women? Really now, if you hated a race so much that you didn't think hey deserved to co-exist with you on this world...why would you want to stick your d*ck in there?

Yes people still pay for software

Here are my comments in regard to Bob Smith's blog today at:

Bob claims that if you are an open source fanatic like Richard Stallman then you might as well switch careers because writing all that free software gets you nothing in return.

Bob, take a look at the landscape of open source projects and you should notice that they mostly framework, library type projects. It's very rare to see a complete custom solution to an actual business need. The reason for this is the inherent complexity of writing some generic enough that can satisfy most organization's needs. So what you get instead is people writing class library type stuff or frameworks. Remember back in the 90's when you had software vendors like Rogue Wave who became successful writing libraries such as Math++, etc? Open source has killed that whole cottage industry because the requirements are easy to gather and it's generic enough that it will have broad use.

So take comfort in the fact that Open Source isn't going to force you to into a career change midway through your professional career.

It's the offshore labour that is going to put you out of a job. So yes, people still pay for software....they just pay alot less than before.

Monday, June 28, 2004

Perils of contracting

I've been working as a freelance contractor doing J2EE work for the past 5 years. I'm not going to get into the whole discussion about pros and cons of contracting versus fulltime employment as that's been done and I probably have nothing to add.

The start of the Java One conference does make me reminisce of the good ole times of working fulltime. My last fulltime engagement was at a large company that treated us very good. We were given the luxury of attending a conference each year as well as freedom to research new technologies in order to keep abreast of interesting developments within our field.

Taking a week off to attend a conference is a hard argument to win when you're a contractor. It's not just the cost that you have to stomach yourself. It's a double edged sword as you need to account for the lost income for that week. Provided you can convince yourself that the conference is worthwhile financially, we contractors are usually working towards unreasonable schedules which make taking a week off a hard thing to do. If it's a longer term contract, vacation is typically available but then do you really want to take your week of vacation to spend at a conference?

Anyways, it is something that I miss.

Contracts. Ahh yes, contracts. My contract for the job I'm at currently is about to expire this week. The "friend of a friend" who got me this job has been nice enough to be charging me a commission on my rate for the past year. Well now he's offered to even more friendly by allowing me the option to buy out of our arrangement by paying him a lump sum of our current commission for the next 5 mths. By doing so, whatever contract I can negotiate this week will be directly with the employer and I will not be paying any 'fee' to our friend anymore.

Sounds enticing somewhat. If I remain employed here for a long time it can be very beneficial for me. However the amount of the lump sum, means I won't see any benefit until next year. What if I'm laid off this year? What if the project finishes and I'm not assigned to a new one? What if I can't stand it anymore and decide to leave? My greedy conscience tells me to buy out and hope for a raise which will shorten the time it takes to see financial gain. My common sense tells me that if this offer were that good, I wouldn't have so many doubts. *sigh* I need to make up my mind after lunch.

Wednesday, June 09, 2004

System design and planning for the future

How many of you have designed systems and explicitly made decisions based on predicted future needs?

Here's a good example. How many projects have you worked on where a Java Application Server was deemed necessary because "we might need to scale up and cluster for performance and robustness"? How many of those projects took on EJB's for the same reasons?

Ok. Now how many of you have actually seen those systems grow to actually utilize those type of decisions?

My point is, I've seen countless projects where expensive appservers (adds up quickly when you get one for dev, uat, prod..and possibly per seat licence for developers...and then there's support) are mandated as necessary for applications that don't really need more than a servlet engine and a database. Or how about in the early days of EJB's, using all those remote references when the application was always hosted on the same machine.

To be honest, the motives for these decisions (and planning) are honourable but in practice...the situations they were made to accomodate for, rarely materialize. I my experience most systems have a lifespan of 5yrs whereafter they are rewritten. Why not accept the fact that the system is most likely to be shelved after 5yrs and there isn't such a great urgency to plan/design the thing as if it were going to run for a lifetime? I can see the counter-argument where people will claim that with greater usage and higher traffic, the system must be able to grow to meet those needs. Well, with the abundance of testing tools and load testers, we should be able to ascertain whether the system we put into production today will handle that heavy load. If we have that knowledge today, why pay up front in design simplicity and server costs to plan for something that is unlikely to occur?

The Java blogsphere is endeared with these lightweight IoC containers such as Spring and Pico. From what I've seen in my brief experimentation, this paradigm of lightweight servers with pluggable services is the future. The large commercial appserver vendors better have something up their sleeve or open their eyes before they get decimated like dinosaurs during the ice age.

Speaking of pluggable, anyone aware of how to plug in a JMS provider to Spring?

Update on the business venture

Well, I visited Toronto Website to read up on the smoking bylaws and to my dismay it seems that my master plan to permit smoking in my establishment may have it's problems.

Apparently one of the stipulations of being a "private club" is that you have to be a non-profit org. Well, I'm stumped as to how we can make the bar a non-profit organization.

Still awaiting a response from lawyers but things are looking bleak on that front.

Also still looking for a location.

Wednesday, May 26, 2004

New business venture

A very good friend of mine has propositioned me to go into a business venture with him. We're contemplating opening a bar/lounge targeting the upscale clientele and featuring a distinctive wine list.

The more thought I give it, the more issues I come up with. One for example is the issue of smoking. As most of you know, smoking is commonplace at bars and clubs. So with impending (June 1, 2004) legislation banning smoking at all bars and restaurants, you can imagine how much it will affect business.

I quit smoking last fall. Occasionally, I will social smoke as the temptation is still too hard to cope with in a bar environment (which I don't frequent as much as I used to). So I see the arguments for both smokers and non-smokers. But putting aside the health and moral issues of smoking. I need to look at this topic in a different light now, how it will affect my business. Simply speaking, I'm of the opinion that banning smoking in bars will decrease business. Sure there will be the non-smoking patrons that will be attracted because of the cleaner environment, etc. But my feeling is the smokers outnumber the non-smokers. So, my partner and I are throwing around the idea of making our lounge a private establishment for smokers. We're confident that making the business a private club with membership required will give us the loophole required to allow smoking within the lounge. Being private also enforces the 'upscale' image we're aiming for.

Right now the biggest hurdle is finding a location. Our initial searches haven't been too promising as alot of stores are zoned as "retail" and not "bar/restaurant" which we require for obvious reasons.

Thursday, May 13, 2004

Shelf life of a developer

I work as an independent consultant in the I.T industry. I specialize in Java Enterprise development and have been working in this industry for a decade now. I am compensated very well for doing what I do. I earn more than most of my friends and peers, I can afford most luxuries (within reason of Carrera GT for me) in life. So why am I so despondent about my career?

Simply because I honestly have no faith that I can stay employed in this field and make a decent wage, til the age of retirement. It's not that I have no faith in my skills, my skills are totally irrelevant in this regards. What we produce is quickly becoming a commodity. In less than two decades, we've seen our trade go from a highly specialized one to a profession that has practically no barriers of entry.

A large part of this can be attributed to the ease of information exchange across the Internet. Without the ability to download entire development kits, without free technical support found in forums, witout mailing lists and newsgroups to find answers to our problems, we'd still be where we were a decade ago when vendors charged exorbitant amounts of money just to buy the tools to develop with and you had to PAY for help. I argue that this "free" phenomenom has tainted our workforce with less than competent people. Yes, there are many smart people who got their start by way of this free information but you'd be hardpressed to prove that those outnumber the number of incompetent programmers who rode in on the dot com wave. Programming isn't simply an exercise of using an API to write a program. There is the whole aspect of analytical skills and the discipline of problem solving that you don't obtain from the Internet. These skills are what separates the good programmers from the bad ones. Without a governing body to uphold standards, our workforce is watered down with people who lack these disciplines.

Ok so if I have these problem solving skills, etc. Why should I be afraid? Profit and greed that's why. Nowadays, companies are so enamoured with profits and short term stock prices that this addiction to short term wealth breeds a corporate culture that disregards long term planning for the well being of the company. Good products and building for the future is not the norm anymore. Cheap costs, high margins and speed to market are almighty. Ok ok ok, but why are you so paranoid about your job as a developer?!? Because greed means companies would rather hire a lower skilled, lower paid programmer to do the same job. Because lower pay means they can still screw up 3 times before getting it right and still save money in the end. Because I can't compete with the hordes of graduates coming out of school or offshore.

To exacerbate the problem, everyone one of us 30 something year olds thinks we should be the Architect or Technical Team Lead in our company. Well hate to inform you but, there aren't enough of those positions to go around.

So how much longer can we survive in a market with so many dynamics working against us? I'd like to switch vocations but I've already been spoiled and it'd be difficult to find a new career that rewards me so generously (even more difficult to realize that it might not happen and I would have to downgrade my lifestyle).

My daily dose of bliss

My wife, Daphne, and I had a first child recently. A baby boy, Ethan, born on Jan 28, 2004.

Every morning, I get up for work. My son gets up about the same time and I've noticed that he is most cheerful at this time of day. Watching him for those few minutes before I leave for he playfully looks back at me with those deep eyes and starts smiling, is such a delight that I really can't describe the feelings. The tranquility of the morning, the sunshine illuminating the bedroom, and my son smiling at my wife and I.

Those 5 minutes every morning impact me so much throughout the rest of the day, I pray that everyone is as lucky as I am to have such a loving family.

Whatever it is that you love, take the time to cherish it and allow yourself the opportunity to reflect on what is truly important in life.