A Django site.
May 9, 2008
» Cacheonix at JavaOne Day 1: My cache is bigger than yours


The floor
I should say that Sun did a great job organizing the floor. Or, may be it was just the strategic location we picked up. At any rate we liked the format.

Traffic
For us the booth traffic literally took off. There were times when I was talking to four people simultaneously.



On goodies
We brought cool electronic clocks (challenging to set up, though :) After trying to just lay the goodies out we quickly found out that ~50 of those were going in about four minutes. So, it's a great way to fill Java crowd's swag bags, but it is totally useless from the company's point of view. Don't do it. After seeing this not work we were distributing the clocks mostly to the guys and gals we talked to. It seemed to work better.

Running to Caltrain
The Pavilion was open until 8:00PM. After having a few drinks we ended up running to the SF Caltrain station to catch the 8:33 train. It's a 10 minutes trail with a few traffic lights. A good exercise it was, it didn't feel that good given the wine. I should resume going to the gym, clearly.

May 8, 2008
» Cacheonix at JavaOne Day 0: The fastest booth set up ever



I guess it's been my fastest booth set up ever. Setting up the booth for Cacheonix took about 15 minutes from entering the Pavilion to saying goodbye to the security at the entrance and driving back home.

We decided to take simplicity to the extreme and go only with a table, a projector and a screen:



This turned out to be a great choice. We set up a roller in PowerPoint to show eight variants of the display panel in a 10 min cycle. A quick run demonstrated that two images were totally off in the actual lighting environment of the floor. The rest of images were perfect. The set up gave us a crisp, bright and effective display. Bye-bye expensive roll-ups. See how our both stands out compared to the rest:



One thing I would do differently. The environment definitely allowed for a better resolution image. Instead of buying a $499 800x600 Dell 1201MP projector I would get a bit more expensive $599 1024x768 Dell 1409X.

May 2, 2008
» Coloring Local Java Variables in IntelliJ

By default local variables in IntelliJ are not colored in any way. As a result, the local variables are blended with the rest of the code and you have to make a little but present mental effort to identify them when reading the code.

The good news is that IntelliJ allows setting the color of local variables. Here is the snipped of the configuration screen:



The challenge is to come up with the coloring that would look natural and go with the rest of the coloring scheme. After trying to come up with a color that would fit into the already busy scheme, I have finalized on the "black bold" for local variables. It is not very intrusive and you still can spot the local variables easily:



February 26, 2008
» Fixing the dreaded "libXp.so.6: cannot open shared object file: No such file or directory"


If you, like us, deal with the older versions of JDK on the newer versions of Linux from time to time, you may get this message when running JDK:



"libXp.so.6: cannot open shared object file: No such file or directory"



The way to fix it is to run two following commands:


sudo yum install libXp

sudo yum install xorg-x11-deprecated-libs



Hope this helps.



Regards,



Slava Imeshev

November 14, 2007
» On Red Hat and Sun Collaborating On Open Source Java

According to the press release, Red Hat announced today that it is joining the OpenJDK community.

This is an interesting topic, though, the background, as I see it, may be marketing rather than technological.

Nowadays press releases are a purely marketing engine. Sun is a big shop, RedHat is not an exactly small one too, at least in terms of mind share. This means that the release has gone through a thorough polishing and whatever the message is, it is sent to analysts and [possibly] shareholders.

This is a total speculation, but what about RedHat trying to ride the wave of disappointment caused by lack of Java 6 on Mac OS X? Is it possible that RedHat is displaying full collaboration with Sun, as compared to "non-collaborative" Apple which may be seen by RedHat as a rival on non-Windows OS market?

For Sun it would be just "good publicity never hurts".

I am thinking about these options on because, let us be serious, there haven't been any real problems running Java on RedHat or any other Linux distributions for years. It takes me 2 minutes or less to have a Java app running on RedHat, even while comparing to "native" Perl, Ruby or PHP apps requiring downloading hundreds of megabytes dependencies.

Regards,

Slava Imeshev

December 6, 2005
»
Continuous Integration For .NET and NAnt In 15 Minutes



We have been discussing an idea of a demonstration that would show how easy it is to set up a continuous integration build for a .NET project that uses NAnt as a build tool and Parabuild as a build management server. The only problem was selecting the project itself - it should be NAnt-based and the version control should be available to everyone with an Internet connection. With a variety of such projects available, it was hard to give a preference to one. The solution was right under our noses - the NAnt project itself! Why don't we set up a continuous integration for NAnt using NAnt? The rest was easy - it did take about 15 minutes.

If you are interested in boring step-by-step instructions - check them here.

Otherwise just jump to the real-time Flash movie (make sure you have filtering Flash images disabled). It is real-time - you do have to watch Parabuild download progress dialog for a minute or so. After that the things pick up speed.

» Continuous Integration For .NET and NAnt In 15 Minutes



We have been discussing an idea of a demonstration that would show how easy it is to set up a continuous integration build for a .NET project that uses NAnt as a build tool and Parabuild as a build management server. The only problem was selecting the project itself - it should be NAnt-based and the version control should be available to everyone with an Internet connection. With a variety of such projects available, it was hard to give a preference to one. The solution was right under our noses - the NAnt project itself! Why don't we set up a continuous integration for NAnt using NAnt? The rest was easy - it did take about 15 minutes.

If you are interested in boring step-by-step instructions - check them here.

Otherwise just jump to the real-time Flash movie (make sure you have filtering Flash images disabled). It is real-time - you do have to watch Parabuild download progress dialog for a minute or so. After that the things pick up speed.

March 31, 2005
» Writing Good Java Doc Comments

Ever wondered how to write good java docs? Check the source: http://java.sun.com/j2se/javadoc/writingdoccomments/.

March 29, 2005
» Java profiling trivia quiz

Profiling trivia quiz: "You have delivered 5 times increase of performance of a piece of code that contributes 5% to the overal execution time. What is total performance gain?"

October 1, 2004
» Java 5 Rollout Party

All,

On September 30th Sun is rolling out long awaited Java 5 a.k.a Tiger and invites members of Silicon Valley Java User Group to the party!


See you there!

Regards,

Slava Imeshev

10/01/2004

Followup: The party was good, though I excepted more people to show up. I shook hands with James Gosling and talk to Sun's guys behind the release. They are all cool. Let's thank them for the great job!

August 21, 2004
» Why Xalan Sucks

It sucks because as a result of limited competition there are no competitors and there is no reason to improve it. Has anyone ever looked at the Xalan code and its stupid StringBufferPool? If not, it is a good time to get a thread dump and find where precious WebLogic's execute threads spend time for an application that uses XSL and Xalan. It spends it in the StringBufferPool. That should be a big surprise for original Xalan developers, but the StringBuffer is not pool-able. For instance, as soon as a string is obtained, the SB memory is referred by a String and the first mutating operation on this SB deassociates this memory from the SB and binds it to a string firmly. What Xalan's StringBufferPool does is serializes access to String memory, which is really bad for it does not scale in J2EE environment at all. And this is the most popular product on the market. It's free and it sucks

February 20, 2004
» Let's just say "Thank you" to Sun

Rick in his No Sun Is An Island asks Sun to consider giving up a share of Java brand.

1. The main problem here is not the Sun's ownership of Java brand but the fact that Sun didn't think of a revienew model when introducing Java. Even more, Sun doesn't have it today. As a result, Sun, yet a commercial entity, has been doing Java for free while others where caching on it. I think it should be clearly understood that it's been very heroic of Sun to promote and to develop Java.

2. I don't see much value in promoting Java to a "consumer". First, most of end-users don't care about what is under the hood. Second, Java has already gotten a firm place in technology.

Conclusion: Let's leave Sun at least a name of their baby. It would be unfair to ask Sun to give up even this. And, let's say "Thank you" to Sun.

February 11, 2004
» Java 1.5 Documentation

Java 1.5 Documentation portal is available at Sun. I like the pace. Looks like Sun is really going to make it this summer.

February 10, 2004
» Content management system II

I have conducted a two-hours research on CMS using Google, and the results have not been very encouraging. It looks like Google is not a helper here at all. The main reason for this is that, unfortunately, virtually every project that allows to edit text, supposedly html, through some kind of Web UI calls itself a CMS. I have found tens of different implementations of Wiki in all imaginable languages ranging from bash to Python. Add virtually uncountable number of blogging projects. For unknown reason they all call themselves CMS. The most advanced add "personal" in front of CMS acronym.

As for now only Opencms looks somewhat close to be a CMS as I understand it. Saying CMS I mean a tool that allows delivery of content and presentation in a collaborative manner. Blogging stuff doesn't fit because it concentrates on personal content delivery and lacks collaborative piece where web designer[s] provide common presentation and workflow.

February 4, 2004
» 200 EJB Design Advice

Here is a post I've spotted in weblogic.developer.interest.ejb. Names are removed to protect guilty:

> Hi everyone,
> 
> I have to design around 200 EJb's for a prokect. Now i want to know how to
> distribute EJBs into projects - eg - all ejbs in one project or several
> projects?
> 
> similarly i ve 5 web applications, which io want to club into one since
> they're using many common libraries, which have to be replicated for each
> war...
> 
> I just wanna know which is the best practice regarding  above - to make one
> war file or to make several.
> 
> Looking forward to some expert advice...

The best advice here would be this: grab some good books on J2EE and read them through. Personally I recommment Ed Roman's "Mastering EJB". As for partitioning deployments - I recomment to compose a single EAR with EJB-jar and a single web app. Later, when development moves forward, review the deployment architecture in necessary.

Slava

P.S. We are doomed...

P.P.S. On a bright side, it's not me who has outsourced 200 EJBs that are questioned above. competitors = competitors -1;