<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>Alan WIlliamson&apos;s Blog</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/alanwilliamson/" />
<modified>2008-01-02T17:42:16Z</modified>
<tagline></tagline>
<id>tag:weblogs.java.net,2008:/blog/alanwilliamson/56</id>
<generator url="http://www.movabletype.org/" version="3.01D">Movable Type</generator>
<copyright>Copyright (c) 2003, alanwilliamson</copyright>
<entry>
<title>Tripped up by Apache XML-RPC not encoding the string type</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/alanwilliamson/archive/2003/12/tripped_up_by_a.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2003-12-04T11:12:28Z</issued>
<id>tag:weblogs.java.net,2003:/blog/alanwilliamson/56.1340</id>
<created>2003-12-04T11:12:28Z</created>
<summary type="text/plain">Caught out by an innocent  looking xml tag!</summary>
<author>
<name>alanwilliamson</name>

<email>alan@sys-con.com</email>
</author>
<dc:subject>Web Services and XML</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/alanwilliamson/">
<![CDATA[<p>Last night I was plumbing in access to an <a href="http://www.xmlrpc.com/" title="XML-RPC" target="_blank">XML-RPC</a> server from a Java application.  I was using the excellent <a href="http://ws.apache.org/xmlrpc/" title="Apache XML-RPC" target="_blank">XML-RPC package</a> from Apache for the client.  It is a beautifully crafted piece of software, just for the sheer ease of use alone.
</p><p>
However, I came a little unstuck when hitting one particular server.  I know the default value for XML-RPC is to assume the &lt;string&gt; type, but this server was looking for it and kept throwing invalid RPC request.  This is an example of the output that was passed out to the server:
</p>
<pre>
&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;methodCall&gt;
  &lt;methodName&gt;blogger.getUsersBlogs&lt;/methodName&gt;
  &lt;params&gt;
    &lt;param&gt;&lt;value&gt;1070485999648&lt;/value&gt;&lt;/param&gt;
    &lt;param&gt;&lt;value&gt;xxxx@xxxx.com&lt;/value&gt;&lt;/param&gt;
    &lt;param&gt;&lt;value&gt;xxxx&lt;/value&gt;&lt;/param&gt;
  &lt;/params&gt;
&lt;/methodCall&gt;
</pre>

<p> 
Which is <a href="http://www.xmlrpc.com/spec" target="_blank">perfectly legal</a>, even though it doesn't explicitly type the value of the params.  Trawling through Google, I noticed this tripping a few others as well.  Usually Apache are quite anal about following standards, so it was a bit of a surprise to see this one slipping through the net.
</p><p>
So if you are doing any XML-RPC stuff, watch out for this one, just incase your server's implementation isn't too flexible.</p>]]>

</content>
</entry>
<entry>
<title>Just had the pleasure of interviewing Richard Monson-Haefel</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/alanwilliamson/archive/2003/12/just_had_the_pl.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2003-12-02T13:44:10Z</issued>
<id>tag:weblogs.java.net,2003:/blog/alanwilliamson/56.614</id>
<created>2003-12-02T13:44:10Z</created>
<summary type="text/plain">Interviewed Richard Monson-Haefel for an upcoming issue of Java Developer&apos;s Journal.</summary>
<author>
<name>alanwilliamson</name>

<email>alan@sys-con.com</email>
</author>
<dc:subject>Community</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/alanwilliamson/">
<![CDATA[<p><img align="left" border="0" src="http://www.oreillynet.com/images/people/richard_monson.jpg">I have just  finished writing up my interview with the well known Java celebrity Richard Monson-Haefel.  It was a fun piece to do and I asked him many Java questions including his recent appointment to the JCP Executive Commitee. 
</p>
<p>
One of the refreshing things I discovered was that Richard wasn't scared to point out Java's weak areas and wasn't one of the gung-ho bridgade that thought everything with a Java stamp on it was great.   For that alone, I am very comfortable having a man with this attitude at the head JCP table.  Java is in good hands.
</p>
<p>
The interview will be published next month in Java Developer's Journal.
</p>]]>

</content>
</entry>
<entry>
<title>We have Applets, Servlets and MIDlets, we now need CARlets</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/alanwilliamson/archive/2003/12/we_have_applets.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2003-12-01T10:18:56Z</issued>
<id>tag:weblogs.java.net,2003:/blog/alanwilliamson/56.385</id>
<created>2003-12-01T10:18:56Z</created>
<summary type="text/plain">Isn&apos;t it about time we got Java into our cars?  Microsoft are leading the charge and it would be cool to be able to get into my Java car as oppose to my .net car.</summary>
<author>
<name>alanwilliamson</name>

<email>alan@sys-con.com</email>
</author>
<dc:subject>Business</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/alanwilliamson/">
<![CDATA[


<p><img style="WIDTH: 200px; HEIGHT: 150px" alt="" hspace=5 src="http://files.conceptcarz.com/img/chrysler/thumbnail_img_0_java9.jpg" align=right vspace=5 border=1>The mornings trawl through my news items I discover this little gem from <a href="http://www.wired.com/news/autotech/0,2554,61412,00.html?tw=rss.TOP">WIRED</a>, regarding a quote from Dick Brass, VP of the&nbsp;<a href="http://www.microsoft.com/automotive/">automotive business unit</a>&nbsp;at Microsoft.&nbsp; They want&nbsp;a Microsoft OS in every car on Earth!&nbsp; WOW, now that sort of ambition even outstrips the number of desktop PCs.&nbsp; Looking at Microsofts site we can see they are talking up the use of .net technology within the automobile market.&nbsp; This is all very interesting and scary at the same time.&nbsp; </p>

<p>Having my car 'net' aware could be very handy, especially for sync'ing up MP3's and various other wee goodies while on the move.&nbsp; Although, this technology is aimed more at the health of the car with respect to oil changes and general servicing.&nbsp;&nbsp;For Microsoft to dominating this area as well scares me somewhat.&nbsp; Already I read that BMW, Toyota, Volvo, Fiat and even my beloved Subaru has Microsoft software running inside.</p>
<p>But I do remember Java having a play in this arena a long time ago.&nbsp; Didn't&nbsp;I see a <a href="http://www.wired.com/news/technology/0,1282,36873,00.html">'Java enabled'</a> car at a JavaOne?&nbsp; I think I did.&nbsp; I did a quick Google on this, and found this <a href="http://www.computeruser.com/newstoday/00/03/13/news10.html">press clipping</a>, regarding a Belgium company that had launched Java software.&nbsp; Their domain sadly goes no where, so lets hope they were bought up as oppose to going out of business.&nbsp; I wonder how far down the road Sun has taken Java.</p>

<p>It would be kinda of cool to have a Java enabled car.&nbsp; We'd need a whole new API and no doubt a JSR to head this up.&nbsp; Maybe we can call it the CARlet.&nbsp; We can load up our small network aware CARlets that can talk with other car users while we pass them.&nbsp; Would make sitting in traffic so much more bearable.</p>
<p>We may be losing the automobile market, but we've at least got a car name with Java in it!&nbsp; <a href="http://www.conceptcarz.com/folder/vehicle.asp?car_id=265">Chrysler Java</a></p>]]>

</content>
</entry>
<entry>
<title>a well rounded package in Juliet</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/alanwilliamson/archive/2003/07/a_well_rounded.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2003-07-30T14:13:08Z</issued>
<id>tag:weblogs.java.net,2003:/blog/alanwilliamson/56.641</id>
<created>2003-07-30T14:13:08Z</created>
<summary type="text/plain">Innovation comes in many shapes and sizes, check out a beautiful Java client tool I recently discovered that gives you a new spin on your code base</summary>
<author>
<name>alanwilliamson</name>

<email>alan@sys-con.com</email>
</author>
<dc:subject>Tools</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/alanwilliamson/">
<![CDATA[<p>
It was at the end of day#3 at JavaOne and I was tired.  I was tired of product pitches, tired of talking, and tired of listening to all the hype.  I was collapsed in a chair looking forward to heading over to the JBoss Matrix showing so I could sit in a dark room and not have to speak to anyone without feeling guilty.   So it probably wasn't the best time to be coming up to me and trying to pitch me an idea!   But someone did!  Carlo Walentiny of <a href="http://infotectonica.com/" target="_blank">Infotectonica</a> stepped forward and in a quiet voice give me his standard elevator pitch.  I still wasn't impressed or even paying attention I think, but he pushed forward and opened up his laptop to show me a demo of something he called Juliet.
<p>
When he opened it up, I woke up out of my trance.  I was instantly impressed.  I had no idea what the hell it did at that moment because I wasn't really listening before.  The GUI wasn't Swing, and it wasn't SWT, it was his own!  And man did it look stunning.  It was doing some sort of analysis of java code files, which was taken some time.  But the way he fed back this wait to the user was not only innovative but useful.  It was at this point I was hooked.  Anyone that could put as much care to detail as that, deserved my full attention.

<img src="http://infotectonica.com/juliet/tour/dragoverawtevent.gif" alt="Juliet in action" border="0">

Juliet is a Java client tool that is used to analyze and navigate through source code and tell you things you never knew!  It excels on large code bases and when I tried it on the full source code tree for our <a href="http://www.newatlanta.com/bluedragon/" target="_blank">BlueDragon</a> I was even more impressed!  It gave me back a whole load of useful information such as the number of times a particular method was used, where it was referenced and by whom.  I could easily drill down into this information and at each level I was presented with more stats.   One of the useful features, was the ability to spot unused methods and constructors.  Although some of this information is available through various plugins with many of the IDEs, I found the fact Juliet was standalone a refreshing way to look at my code.  I could get myself into the mindset that I was Q&A'ing code and resist the urge to fix small code problems along the way.
<p>
One of the really nice things with Juliet is the interface.  A lot of thought has gone into this and it is this that won me over to begin with.  The way you organize queries and group results together is very slick and its not long before you are presented with a Venn diagram window to ask you how you wish your results to be merged.  Very nice touch.
<p>
So who or what is Juliet aimed at?   It is an ideal tool for anyone that has to review code changes before they are committed to a CVS branch for example.   Also very useful for open-source projects where you want to get a feel for the whole source branch as a whole without necessarily loading into an IDE. 
<p>
If you need to get up to speed quickly on a sizeable chunk of code, then Juliet is the tool for you.]]>

</content>
</entry>
<entry>
<title>BEA beats IBM in SPECjAppServer2002</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/alanwilliamson/archive/2003/07/bea_beats_ibm_i.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2003-07-29T13:50:27Z</issued>
<id>tag:weblogs.java.net,2003:/blog/alanwilliamson/56.572</id>
<created>2003-07-29T13:50:27Z</created>
<summary type="text/plain">Another round of benchmarks for the Application server world!</summary>
<author>
<name>alanwilliamson</name>

<email>alan@sys-con.com</email>
</author>
<dc:subject>Business</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/alanwilliamson/">
<![CDATA[<p>After the debacle around the infamous ServerSide report, you could be forgiven for treating all benchmarks and performance comparisons with a pinch of a salt.  All the vendors cited in that exercise were very quick to distant themselves from the whole escapade and tout they would only be interested in official benchmarks.
<p>
One such body that does attempt to define a standard is the <b>Standard Performance Evaluation Corporation</b>, that lives at <a href="http://www.spec.org/" target="_blank">http://www.spec.org/</a>.   They have a body of tests specifically targeted at <a href="http://www.spec.org/jAppServer2002/" target="_blank">Java App Servers</a>, where I believe the tests themselves are all agreed by the major vendors as a true benchmark for testing.
<p>
One of the redeeming facets of the setup here, is that each vendor is invited to tune their own systems, so we the reader, can have faith that the best possible optimization/configuration is in place.
<p>
A <a href="http://www.spec.org/jAppServer2002/results/res2003q2/" target="_blank">recent set of tests</a> submitted by HP prove interesting reading.  This is for BEA WebLogic running with JRocket, on Redhat with Oracle as the database.  The hardware, naturally is HP with a dual CPU Intel configuration. With this configuration they are pushing <a href="http://www.spec.org/jAppServer2002/results/res2003q3/jAppServer2002-20030708-00012.html" target="_blank">694.88 total operations per second</a> (TOPS).  Okay, a fairly meaningless figure in its own right until you compare it to some other results.   IBM, for example, could only manage <a href="http://www.spec.org/jAppServer2002/results/res2003q2/jAppServer2002-20030610-00010.html" target="_blank">448.12 TOPS</a>.
<p>
IBM is using WebSphere ontop of their own JVM running on Windows2000, with DB2 as their database.   What is interesting to note is that IBM choses to conduct these tests on Windows.  You would have thought (especially with their marketing push) that Linux would have been a contender, or even their own AIX OS.  One wonders what they know that we don't!  When you look at the total cost for each system, the configuration used by HP comes in at $182K where as the IBM setup is $290K!   Not only is IBM slower in this instance, but also more expensive.
<p>
But before you get too excited, it is worth noting that to date, the only app servers to be submitted for public scrutiny is BEA and IBM.  So where are all the other J2EE licensees?]]>

</content>
</entry>
<entry>
<title>who pays for open-source?</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/alanwilliamson/archive/2003/07/who_pays_for_op.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2003-07-28T15:19:57Z</issued>
<id>tag:weblogs.java.net,2003:/blog/alanwilliamson/56.1018</id>
<created>2003-07-28T15:19:57Z</created>
<summary type="text/plain">The one thing that I have been trying to resolve is the whole notion of food-on-the-table, and who actually puts it there.  We all have to eat and if we give away all our hard earned work, then what are we to charge for? </summary>
<author>
<name>alanwilliamson</name>

<email>alan@sys-con.com</email>
</author>
<dc:subject>Business</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/alanwilliamson/">
<![CDATA[Open-Source is something that is never far from the headlines.  It is something that I have been giving a lot of thought to as of late.  I haven't resolved my views on the whole movement yet and at the moment, I am purely in a data-collection phase.
<p>
The one thing that I have been trying to resolve is the whole notion of food-on-the-table, and who actually puts it there.  We all have to eat and if we give away all our hard earned work, then what are we to charge for?  This is when the story really gets interesting.
<p>
The great belief, as sung by pretty much all companies involved in open-source, is "<i>we charge for support</i>".  Okay I can see how that might work, but I am unconvinced.  I tried resolving this by looking at examples in other industries of this and I can't find one that sits as well.
<p>
We have the mobile operators heavily subsidizing their handsets, practically giving away the lesser models, with the hope that we'll use them more and they'll recoup their money that way.  Whether this is working or not is yet to be seen, since a lot of the operators are crippled with the large 3G licenses they had to pay for.
<p>
But is there is an open-source model in other industries?  What if an airline operated an <i>open-source</i> policy?  Flying would be free, first-come-first-served, but the inflight meal (aka the service) would cost $400!   Would such a policy work for the airline industry?
<p>
What about the automobile industry?  Ford would give us all cars for free, but the servicing would be more frequent and be x100 what the typical service is now.
<p>
Seems a little farfetched doesn't it?  But the thing is, looking at the ticket prices for many of the app-servers, it far outweighs the price of a plane seat.
<p>
On one hand, we have the barrier of entry completely removed at zero cost.  If we want support and help, then its available to us at a premium.  Not everyone will need support mind you, so we have a small minority that will purchase the necessary services.  This money will be filtered back down to the company (or developers) that created the software in the first place, so they may put food on their table and continue to develop another day.
<p>
But the money they are paying will greatly inflated to compensate for the lack of revenue in the first place.   So instead of everyone paying a little, we have a few paying a lot!
<p>
Doesn't seem quite right to me.]]>

</content>
</entry>
<entry>
<title>Don&apos;t panic ... you don&apos;t need to know everything</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/alanwilliamson/archive/2003/07/dont_panic_you.html" />
<modified>2008-01-02T17:42:16Z</modified>
<issued>2003-07-15T10:46:49Z</issued>
<id>tag:weblogs.java.net,2003:/blog/alanwilliamson/56.1589</id>
<created>2003-07-15T10:46:49Z</created>
<summary type="text/plain">If you are new to Java then you can be forgiven for trying to know everything there is.  My advice, don&apos;t.  let it come naturally.  Rome wasn&apos;t built in a day!</summary>
<author>
<name>alanwilliamson</name>

<email>alan@sys-con.com</email>
</author>
<dc:subject>Community</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/alanwilliamson/">
<![CDATA[<P>
I get a lot of private email from readers regarding various aspects of the Java spectrum (and discounting the surge of email from students at the end of the term, looking for someone to complete their final coursework for them) expressing a concern at being left behind.
<P>
They are concerned that they aren't keeping up with all the latest developments and find it, at times, overwhelming.  Which is a fair comment, looking at the rate we are releasing new revisions, you could be forgiven for panicking.
<P>
But the message is, don't.  Let things take their natural course and just be aware of current trends.  For example, JDK1.5 is about to be thrust into the world, and you'll soon be discovering a whole host of new goodies coming with that.  But as a Java developer, don't panic that you don't know every single detail.  You are not any less of a Java developer because you don't know the precise in's and out's of say generics.
<P>
A long time ago, when Java was still small enough you could keep up-to-date with all the API's realistically, I trotted off to JavaOne.  At the time, I wasn't the big-cheese at JDJ but felt that I still had a duty-of-care to know all the latest trends in Java, incase I was asked about something.
<P>
I soon discovered that it was becoming impossible to keep abreast of all the developments.  I started to panic.  But then something happened to me that put the whole thing into perspective and made me sleep soundly at nights again.
<P>
I met with James Davidson and walked the show floor together.  James at the time, was working deep within Sun (only a few doors down from Mr.Java himself) and was the time the first revisions of the Servlet API was being knocked out.  Of all people, I told myself, James will know everything there is about Java; hell he's in the very building its all done.  But walking around the show floor, it soon became apparent that he didn't know everything there was about Java.  He was like a child in a toy store on Christmas eve, as he discovered new things that Java was being used for.  The moment of realization for me was when we clocked the JavaTV API.  That was when my (java) life changed.
<P>
It was ok to not to know everything and more importantly it was ok to admit to not knowing everything.
<P>
My advice to those new in coming to Java, don't try and digest everything.  You don't have enough time to do it, and contrary to popular belief, there is more to life than Java.  Know what you are suppose to know and know it well.]]>

</content>
</entry>

</feed>