|
By Reg Charney
JavaOne has just finished and I attended to see how the other
half live. Historically, JavaOne conferences have been fun and
exciting, more so than most other conferences that I have attended.
This year’s conference was also exciting in some ways.
Unfortunately, it was not because of new products.
As someone else said, “Last year mobile computing solutions
were promised, and this year they were delivered.” Thus, JavaOne
was an event showcasing more mature products.
Many technical sessions and products concentrated on issues of
performance. There were products to optimize code execution, code
size, and throughput. In the C/C++ world, most of these concerns are
mute. That is, there is still concern for efficient execution, but
it is more taken for granted that you can achieve it through better
algorithms, not through tweaking how the code is written for a
particular VM.
Another thing that I noticed was that there is not one VM, but
many, each with its own strengths and weaknesses: speed versus size;
feature set versus modularity. Also, the Embedded Systems conference
was a couple of weeks ago (I did not get a chance to attend). Thus,
I was a bit surprised to see the emphasis at the show on embedded
Java VMs and devices. Phone companies and computer hardware
companies were offering all sorts of developer programs. As I quoted
earlier, and just now mentioned, mobile computing was a central
focus of much of the show.
One of the high points of the show was the special offer to
attendees: they could purchase a Sharp Zaurus™ Developer Model
SL-5000D with a wireless Network Compact Flash card for $300, about
$200 less than you would pay for both on the street. They sold out
all 2200 units in a day and a half. It would have taken less time,
but the rush created a crowd problem. For those of you who don’t
know, or who have been living in the backwoods, the Zaurus is a 64MB
PDA that runs Linux and Java natively. The desktop is Qt™ Palmtop
from Trolltech®. Based on my experience with my Compaq® iPaq™
version of the same software, the handwriting recognition is
terrific—a real pleasure to use. The Zaurus also has a QWERTY
keyboard hidden beneath a sliding cover and both a CF and SD slot.
It has a TFT color screen. With the wireless network card, you can
browse the net, read your email and take handwritten notes while
wondering around. I have tried to reproduce a picture of the unit on
the next page.

Figure #1: Zaurus with Keyboard
exposed showing Qt Palmtop
Statistics
Attendance at JavaOne conferences has been decreasing in recent
years. (see Figure 2).

Figure #2: JavaOne Attendance
While it is too soon to tell, drop-off in attendance seems to be
20% per year.
|
Year
|
#
Attendees |
Chg Since 2000 |
Chg Since Last Yr |
|
2000 |
25,000 |
100% |
100% |
|
2001 |
19,000 |
76% |
76% |
|
2002 |
15,000 |
60% |
79% |
Figure #3: Attendance Changes
The conference had 7 session types. They were:
- Web Services Today and Tomorrow
- Java Technologies for the Desktop
- Emerging Technology
- Wireless and Handheld Devices
- Java Technology, Products & Solution
- Java 2 Platform, Enterprise Edition
- Core Java Technology
It was interesting to analyze the distribution of session types.
There were 304 technical sessions. Using the session type codes,
Figure #4 shows the distribution of the types of sessions.

Figure #4: Type of Services
These sessions tend to show Java’s relative strengths: Web
services, wireless and handheld devices, and the enterprise. In the
Web Services area, XML technologies are a major focal point. In
reviewing the topics for the Java Core sessions, I got the
impression that most core issues have been resolved. However, in
listening to various conversations during the show, I kept hearing
concerns about performance issues.
Based on their Program Guides, Figure #5 shows the number of
technical sessions.

Figure #5: # Sessions by Year
It is heartening to see the rise in sessions after last year’s
bloodbath.

Figure #6: Co-Sponsors by Year
The number of major (Platinum) and media co-sponsors has steadily
increased. Second tier co-sponsors (Gold and Silver) has dropped
off. This usually indicates a consolidation in the marketplace.
Figure #7 shows the number of exhibitors and the effects of
history. Normally, exhibitors need to reserve their booth space 3-6
months in advance. That would place the reservation dates between
September and December 2001. Between the terrorist attack on 9/11
and the recession, not many companies were willing to commit to a
show that costs thousands of dollars

.Figure #7: # Vendors by
Year
For the entrepreneurs in the crowd, the most popular names over
the last four years at the show start with I, S, A and C from most
to least of the top four. The starting letters used least often over
the years were X, Y, U and Q. Only 2 companies over the last four
years had names starting with X. The same is true for the letter Y.
By contrast, 131 companies had names starting with I. A similar
number had names starting with S. Names starting with A or C came in
a distant third and fourth with 122 and 105 respectively. Adding all
the company names over 4 years, we get 1274 names (some repeated
across years). It works out that over 20% of all company names start
with either an I or an S. This speaks to a certain lack of
originality.
Profiles
I spoke with Peter Mehlitz, CTO of Transvirtual. You might
remember them as the folks who produced Pocket Linux a couple of
years back. They no longer sell it and I asked Peter why not. While
I believe the bottom line is that it did not pay for itself, they
had a different take. In fact, one I think that we all can learn
from. Even though Pocket Linux as a whole may not have sold that
well, it was a good basis for a series of products created when its
components were sold separately. One of their primary products is
XGL. It is a tiny, 60KB, graphics library capable of using the CPU
as the graphics engine, independent of graphics cards.
I had a similar experience. We once developed a program generator
that sold only moderately. On investigation, we found that some of
our customers where using the product to pretty-print their source
code. We then split our main product up and sold the pretty printer
as a standalone product. It sold more units than our main product.
I also interviewed Gerardo Dada of Metrowerks. They produce the
excellent CodeWarrior IDE and compiler products. They work with many
embedded manufacturers. Gerardo’s take was that “many
manufacturers are turning to Linux”. I believe it is to control
the costs of software in their devices.
I said at the start last month’s piece that this was intended
to be an introduction to the topic. I don’t claim to have all the
answer, nor indeed the answers for your project. However there are a
few snippets of advice I can offer:
- Ensure you team have a clear idea of what you are doing with
characters
- Work with your language features as much as you can: modern
C++ is good here, but it is not perfect
- Keep you data in a consistent encoding
- Define an API string type which matches the character encoding
your OS wants, then provide functions to convert strings to and
from, in other words: hide the data type behind an abstraction
- Name functions in terms of their result not their internals:
e.g. MakeWide rather than NarrowToWide
- Use overloaded functions to provide a multiplicity of
functions, include redundant features so developers don’t have
to stop and thing about the data type, these can be optimised
later: e.g. MakeWide(const
std::string&), MakeWide
(const char*), MakeWide
(const wchar_t*)
References:
By Reg. Charney
I use my computer to play my CDs while I work. I didn’t know is
very time I play a CD track that, by default, data is sent to the
software vendor.
I discovered this be accident. On my Windows 98 machine, I run a
terrific program called Naviscope™ (www.naviscope.com) to block
ads. It also monitors my Internet traffic.
I just installed RealOne™ Player from RealNetworks™, Inc. on
my Windows 98 machine and was ripping a set of my CDs to hard disk.
I then started playing them from the hard disk and noticed that each
time a track was played, I got Internet activity. As good luck would
have it, Naviscope captured this activity and I was able to surmise
that data was being sent from my machine to Real’s servers without
my knowing it.
Ryc Brownrigg, General Manager for Consumer Products for
RealNetworks said that the program can suppress sending any personal
or CD information out. However, this information is sent by default
because “so many people like the service of looking up information
in the CDDB database”. He did back that up with figures. In the
last 3 months, page views of CD related information had gone from
300K to 1.7MM per day. He told me that no personal information was
sent and minimal logging was done. Only information most people want
on the details of their albums and CD tracks was sent. I happen to
be one of the “few” who value privacy over convenience.
Microsoft’s "click" license for Windows Media Player
7.1 says “You may not disclose the results of any benchmark test
of the .NET Framework component of the OS Components to any third
party without Microsoft’s prior written approval.” Thus, if
using .NET harms you, are you not supposed to warn other potential
victims? Reminds me of how child molesters threaten their victims.
CMMI Distilled by Dennis
M. Ahern, Aaron Clouse, Richard Turner, Addison-Wesley, ISBN
0-201-73500-8
Recommendation: Skip it
If you are having trouble falling asleep, read this book. It will
put you to sleep in minutes. I gave up on this book about half way
through. It is written in a very dry, academic style. It is
extremely difficult reading. Skip the text and go straight to the
Appendices. The Appendices contain summaries of the CMMI models and
are easier to read and understand then the text.
The Capability Maturity Model is a very interesting concept, and
I think every programmer can get something out of CMM even if the
entire model is not adopted. However, this book does not explain the
CMM system in a clear, understandable way. I do not recommend this
book.
— Bob Brander
Five cannibals get appointed as engineers in a defense company.
During the welcoming ceremony the boss says, “You're all part
of our team now. You can earn good money here, and you can go to the
cafeteria for something to eat. So please don't trouble any of the
other employees.”
The cannibals promise to be good.
Four weeks later the boss returns and says, “You're all working
very hard, and I'm very satisfied with all of you. However, one of
our janitors has disappeared. Do any of you know what happened to
him?”
The cannibals all shake their heads no.
After the boss has left, the leader of the cannibals says to the
others, “Which of you idiots ate the janitor?” A hand raises
hesitantly, to which the leader of the cannibals replies, “You
fool! For four weeks we’ve been eating IPT leaders, project
engineers and program managers and no one noticed anything, and you
have to go and eat the janitor!”
By Ali Çehreli
I have been talking about presenting Windows XP data for a number
of months now. We finally have some data that we believe is
untainted. Earlier, we had been mixing Extreme Programming jobs with
Windows XP jobs. The only trusted two data points we have for
Windows XP are 40 jobs in February, and 52 jobs in March. I think
this is very impressive given the prolonged
hopefully-at-the-rock-bottom state of the job market (Figures 1 and
2).


I am glad that the XP data is in this month. Otherwise there
would be almost nothing different to say from last month. The ASIC
technology remains the most trendy but is going slowly out of demand
(Figure 3).

Repeating the phrase “the drop is dropping” to describe the
job market has grown boring. This month, “the drop in drop has
dropped” and I think it means “no change” (Figure 4).

|