Home

After Hani Suleiman's recent election to the JCP EC, TSS interviewed Mr. Suleiman to try to clarify how a person who is effectively seen as an agitator in the Java industry perceives his role in the JCP, and in the industry at large.

For those who don't know much about you, who are you? What do you do?

I'm the CTO of Formicary. Formicary has a portal product (http://www.go-epix.net) and provides consulting services for financials. I'm also a member of a number of JSR's, and have recently been elected onto the JCP Executive Committee. I also putter about on a whole bunch of open source projects.

Through your blog, you've become known for blasting various tools and APIs without regard for people's feelings, the tools' popularity, or anything else. What purpose are you trying to serve through this?

Education, entertainment, education, and education. While I've been blamed for what some refer to as the 'new negativity in javaland', I think this is a far healthier ecosystem than the one I felt I lived in before I started the bileblog; that of endless pats on the back for everyone, for everything. The goal is to let Java developers realise that there is no shame in pointing out that the emperor has no clothes. Of course, I'm not saying that everyone should be like this, and I certainly do agree that it's easier to knock down than build up. That doesn't take away anything from the value of knocking down though. In many ways, I feel that I express sentiments that many developers feel, but had trouble articulating (perhaps not the colourful language, but that's just my version of syntactic sugar).

Using clogging (Editor's note: commons-logging) for example just doesn't feel right, and people who have these feelings hopefully now have enough ammo and hard evidence to give more credit to their initial misgivings.

You've been elected to the JCP's EC recently. Why did you run for this? What qualified you for this position?

I ran because anyone can, and I thought it'd be interesting to try to attack some of the problems that I felt plagued the JCP from the inside. I don't think I'm particularly qualified for the job, all I have is a keen love of all things Java, and a willingness to think through the issues. I do like to think though that I bring in a certain 'from the trenches' perspective, which I hope in time with the right nudging will make the JCP more accessible. Of course, the EC is perfectly aware of the transparency issue, and all the members are awfully smart people who understand and realise the importance of more transparency.

You recently blogged about the failings of the Servlet specification's maintenance release. As an EC member, is it a breach of conduct to be public with things like that? Would it be better to keep such opinions private to the JCP and the specification's expert group?

I don't think it's a breach of conduct. It's surprising that Kirk Pepperdine, a TSS editor, would be so ignorant of how the EC actually works, actually, given his recent inappropriate editorializing about my role and position. Equally funny though is how not a single comment in that thread rose to his baiting. I'm not a member of the Servlet Expert Group. My interaction with them is the exact same as any other servlet user's would be. The fact that I'm on the EC is irrelevant, since the EC doesn't debate technical issues. A breach of conduct in this case would have been me going up to the servlet EG and proclaiming, "I am an EC member, your spec sucks and you must make these changes." You won't see me blogging too negatively about Java EE5 for example, or EJB3, since I am a member of both of those expert groups and so I have the power to voice my complaints and suggestions from the inside. Similarly, I'm not going to whine about the EC either. Shocking as this might be, I DO have a code of conduct for the bileblog, and it's always fascinating seeing who 'gets' it and who doesn't.

What does the JCP EC actually do? What's your role in the EC?

The EC is basically the 'P' in JCP. It's all about process, process, process. The EC's role is to make recommendations to Sun on the JCP process itself. What can and can't be a JSR, what's required for a JSR, how intellectual property works within a JSR, and so on. There is no technical work involved, which I think is a surprise to a lot of people, given how often I'm told I should now 'fix JDK7' or 'veto xml language support' or 'create javax.asshat.'

Some say the JCP is too slow at producing specifications to be entirely useful. Is this true, and is there a way to either address the impression or fix the JCP?

I do agree that JSR's do tend to take their sweet time to achieve release status from inception. I think the average time right now is something like 18 months. Is this too slow? As a developer keen on all the coolest toys, definitely. As someone determining strategy and thinking of product longevity and a stable platform to build on, I'd say definitely not. Whether most people see this or not, there's a lot that has to happen for a JSR to reach completion. The problems addressed are never trivial ones. It's naive to think that you can round up a bunch of excited developers and knock up a JSR within four months. The Groovy JSR I think is a wonderful cautionary tale of what happens when you think that.

The problem is that standards are, by definition, astoundingly boring. The kind of developers who participate in online communities and offer up their opinions tend to be of the more cutting edge variety, where they're keen to find the next shiny toy to play with.

This is a good thing, and results in a lot of fast innovation and a very dynamic and vibrant community. Unfortunately for these people, Java is a huge industry. There is no industry in the world that can flit about in this manner and survive. You need process, you need standards, you need specifications. All of which ensure that the exciting fun stuff is put on a table, dissected, distilled, and captured into a document that makes it useful for everyone else.

What's your impression of how J2EE is doing in the field? Is the platform broken?

It's doing awfully well, from where I'm standing. It's hard to find a company using Java that doesn't have an application server or a mashed up J2EE stack (tomcat + spring + random pluggable J2EE bits), or something in between.

I think the 'broken' aspect of J2EE is a case of bad terminology. It's funny that the people who will scream that from the rooftops will in the same breath say you should use Spring. Spring owes its existence to the fact that J2EE exists. It's sort of funny (but also quite sad) seeing Spring users switch from being insightful early adopters with a good firm grasp on J2EE and its pain points, to being ignorant masses who will beat their chests and thump their newfound holy books.

Do you think the new revision will change impressions of Java among the, ah, thought leaders?

Before I answer that, it's important to clarify this concept of 'thought leaders.' Our industry has a lot of smart people in it who occasionally express their opinions and ideas. It has a whole ton more of loudmouths who think that the mere act of expressing an opinion makes it a worthwhile and well considered one. The latter group is a lot louder and more prevalent than the former, and sadly, the pool of 'thought leaders' consists more of that sort of people than the former.

Getting back to the question, I do think that anyone intelligent and open minded will find that Java EE 5 is a huge step forward in terms of usability. It's all the functionality (and more!) with a lot of the tedium removed.

Have you looked at the technologies people say will replace Java, such as Ruby on Rails? What are these technologies' impact on Java?

Not particularly, no. Competition is a healthy thing. The RoR community stands out not for its innovation or intelligence, but for its immaturity. I think a lot of those people are in for a rude awakening once they start being taken seriously by people with money (which might well happen, RoR does solve certain problems very well).

Maybe it's the exuberance of youth, maybe it's the fact that developer type people get off on terseness and things that make them feel clever, as opposed to tools that help them get things done.

If you had a positive suggestion (or suggestions!) for Java coders, what would it or they be?

Be wary! At any given snapshot in time, you will find a whole bunch of people pointing out that technology X is the best thing since the best thing since sliced bread. Our field is not so filled with magic, there aren't really very many huge advances once you step outside of the daily excitement, so always keep things in perspective, and think about all your decisions and choices; how many of them were driven by what you read on TSS/some random blog/a 'thoughtleader' spewing advice, and how many were the result of you investigating and figuring out the right solution after trying a couple of different approaches?

Kudos to the interviewer for asking real questions. This was more interesting, and insightful than almost any other post here in recent memory. I would love to see continued interviews with talking heads where they are put to the task to justify their position/product/architecture.

Even though I'm now doing Rails development full time (and loooving every minute of it) for a living instead of Java development, I still love reading TSS :)Needs more Hani !

This might not be a message for this board, but I just can't get an answer fron any Ruby guys. What is your deployment platform? Most options out there are either no longer supported, not actively developed, or unscalable? If you only had an enterprise application server, or something similar, even mod_ruby (which is no longer active), you'd at least have some chance.

Nothing fancy. Personally, I use Switchtower to deploy to any number of boxes. Those boxes run Lighttpd as a webserver, and use FastCGI. It's the "share nothing" approach, so I just add boxes if I actually needed to. It's rediculously fast, easy to setup, easy to maintain and adapt, and can handle huge loads. It's also fun. Functional and fun is my personal preference at the moment :)

I think that TheServerSide communities are dying? They can do better, can't they?

I agree with this. TTS feels as if it has lost some direction (or maybe passion for reporting the cutting edge of java). It seems almost more like a marketing headlines, product release announcments, and flamebait topics new board.

I think there are plenty of interesting things going on out there I just don't see TTS talking about them.

The hype of java is dying and we're entering a new era of productivity and understanding.

I don't think so. Java is only just taking over as most used language from C++ in a number of areas; productivity-increasing features in Java 1.5 are only just being taken up my a large number of developers. I think Java is still in the growth phase....

The hype of java is dying and we're entering a new era of productivity and understanding.

I don't think so. Java is only just taking over as most used language from C++ in a number of areas; productivity-increasing features in Java 1.5 are only just being taken up my a large number of developers. I think Java is still in the growth phase....

The hype of java is dying and we're entering a new era of productivity and understanding.

I don't think so. Java is only just taking over as most used language from C++ in a number of areas; productivity-increasing features in Java 1.5 are only just being taken up my a large number of developers. I think Java is still in the growth phase....

Haven't you both said the same thing?

No, because I believe that there is still 'hype' and excitement about Java in some areas - I don't think that the 'hype' is dying yet.

Have you looked at the technologies people say will replace Java, such as Ruby on Rails? What are these technologies' impact on Java?

Not particularly, no. Competition is a healthy thing. The RoR community stands out not for its innovation or intelligence, but for its immaturity. I think a lot of those people are in for a rude awakening once they start being taken seriously by people with money (which might well happen, RoR does solve certain problems very well).

C++ always had the client and got kicked out the server space (for the most part). What is *Java going to do when the high-end is not enough and the low-end has chewed *Java to shreds?

Maybe it's the exuberance of youth, maybe it's the fact that developer type people get off on terseness and things that make them feel clever, as opposed to tools that help them get things done.

Maybe it's because many developers are wary of the tools being everything. Hey I love my IDEs (along with a VI plugin if can be found), and tend to laugh at the slashdork kiddies when they think they're hardcore because they don't use an IDE, but I'm wary of tools being everything...at least not the tools we have today.

And what happens when RoR or something else has a nice Smalltalk-like environment to go along with the RAD language?

*Java - as in the language. In my book a high performance JVM and the libs are more important than a mediocre language like Java

C++ always had the client and got kicked out the server space (for the most part). What is *Java going to do when the high-end is not enough and the low-end has chewed *Java to shreds?

My impression is that Java is poised to do rather well at the low end. We have seen the release of a new version NetBeans with a first-rate GUI designer for the growing client-side use of Java, and we have seen the release of a new version of Studio Creator, and libraries of JSF components released to open source, providing very rapid VB-stye development of rich data-linked web GUIs.

Hani is definitely _not_ a nice person, in social terms (even if you find him funny)

I don't like nice people (in social terms). "You take sugar?" - "No, thank you, Turkish. I am sweet enough." Good interview, I agree. Good questions, good answers.

He's not funny either, actually I think he has some psychological issues, seriously. I think he's trying to make up for his shortcomings, but bashing other folks. He doesn't do it with constructive criticism, rather he's sexually perverted jokes (every other sentence), really show lack of knowledge in many areas. I just read the whole front page of the blog, and yet to find something technically feasible. I'm not saying Hani is not intelligent, but he definitely seeks attention and requires therapy. Please Hani, just see a therapist. I know you're in denial of your disorder, but they can really help you.

Hani is definitely _not_ a nice person, in social terms (even if you find him funny)

Have you met him? He's actually a very nice person... in person... On his blog there's a different set of rules, and those of you who are asking why he can't be constructive or positive on his blog obviously haven't grasped them yet. In person it's sometimes hard to associate the foul-mouthed rhetoric with the soft-spoken and courteous person in front of you... at least until you get him somewhere with alcohol ;-)

Hani is definitely _not_ a nice person, in social terms (even if you find him funny)

Have you met him? He's actually a very nice person... in person... On his blog there's a different set of rules, and those of you who are asking why he can't be constructive or positive on his blog obviously haven't grasped them yet. In person it's sometimes hard to associate the foul-mouthed rhetoric with the soft-spoken and courteous person in front of you... at least until you get him somewhere with alcohol ;-)

Jason. No, I have not but I would not mind to :)

He is not nice because he puts no effort to be such(at least not in his public writings). His "foul-mouthed rhetoric" can definitely be very annoying, too. And such behaviour is not, generally, socially acceptable :) But that does not necessarily mean much is, I guess, what you were saying and I could agree to that.

I used to to have the same negative attitude towards Hani, as what Ilya does. But if you filter-out his language, he actually often makes good points. I still do not think he needs to use that dirty language, but, hey - it's his choice.

It is interesting to see what, if any, results will Hani's appointment have on JCP.

I kinda like his blog. Every community should have a bileboy. Wonder if there's a Rails bileboy?

What do you like about it? The completely unhumorous profanities that he uses. I mean it might be funny once, twice, but every post refers to some sexually explicit material, and at that most is the same stuff over and over. I'm seriously thinking he has some sort of a complex and needs to get evaluated. Maybe the lack of what he's discussing in he's life, is making him constantly refer to it.

I mean, he might have good points, but I was faced with trying to decipher them, through his unhumorous explicit content.

Think about it. A couple years from now, when you're in your late 20s and firmly entrenched into your COBOL-like(Java) legacy status, you'll be fondly reminiscing with the other geezers such classics as "Bill Burke's breast milk".

Hani is pretty funny.Think about it. A couple years from now, when you're in your late 20s and firmly entrenched into your COBOL-like(Java) legacy status, you'll be fondly reminiscing with the other geezers such classics as "Bill Burke's breast milk".

Since this is a Hani thread, I'll try to summon his spirit...

Don't you have some unusable web 2.0 wankoff mashup to build for your short attention span class? Some of us have to get back to work building the stuff that keeps your dad employed so he can buy you a car when you graduate from Wankstain U.

Don't you have some unusable web 2.0 wankoff mashup to build for your short attention span class? Some of us have to get back to work building the stuff that keeps your dad employed so he can buy you a car when you graduate from Wankstain U.

Summoning.....

Does the VB turned Java developer do anything except click-n-drool over his latest IDE feature and wank over the latest crap spooged out by Sun?

Don't you have some unusable web 2.0 wankoff mashup to build for your short attention span class? Some of us have to get back to work building the stuff that keeps your dad employed so he can buy you a car when you graduate from Wankstain U.

Summoning.....Does the VB turned Java developer do anything except click-n-drool over his latest IDE feature and wank over the latest crap spooged out by Sun?

Hahaha... Funny you should mention IDE's and big comanies supporting the technology... How're those coming for Ruby?

No, Ruby wouldn't be for you. There's some IDEs out there, but you actually have to program in Ruby still. I'm sure you're happy programming IDEA - note, not "in" IDEA.

But gotta love how RoR can get you VB turned Java wankers twisting in your panties. Don't worry, the COBOL programmers can confirm that the pay is great. And in a few years the IDEs will be as smart as you.

TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations technology projects - with its network of technology-specific websites, events and online magazines.