<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for doxxx</title>
    <link>http://www.advogato.org/person/doxxx/</link>
    <description>Advogato blog for doxxx</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sat, 6 Sep 2008 01:31:33 GMT</pubDate>
    <item>
      <pubDate>Fri, 30 Mar 2001 19:33:16 GMT</pubDate>
      <title>30 Mar 2001</title>
      <link>http://www.advogato.org/person/doxxx/diary.html?start=14</link>
      <guid>http://www.advogato.org/person/doxxx/diary.html?start=14</guid>
      <description>Well now. How's that for a "long time, no post"? 4 months. 
Yeesh.&lt;p&gt;

&lt;p&gt; I am now ensconced in Hamilton, Ontario, Canada. My 
application for employment authorisation is in the works 
and I have all my appendage crossed in the hope that it 
will be approved. The company is really cool, one of those 
ideal techie companies.&lt;p&gt;

&lt;p&gt; Katy is coming along nicely and I've recently released 
version 0.3 which is a total rewrite for KDE2. Tons of 
things still left to do on it though 8) You are cordially 
invited to &lt;a href="http://katy.sourceforge.net/" &gt;give it a 
whirl&lt;/a&gt;.&lt;p&gt;

&lt;p&gt; I also have been inducted into the glorious bliss of cable 
TV and cable internet access. I'd better watch out or I'm 
going to become one of those addicts!&lt;p&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 18 Dec 2000 09:16:45 GMT</pubDate>
      <title>18 Dec 2000</title>
      <link>http://www.advogato.org/person/doxxx/diary.html?start=13</link>
      <guid>http://www.advogato.org/person/doxxx/diary.html?start=13</guid>
      <description>Well. Today is the big day. Canada, here I come.</description>
    </item>
    <item>
      <pubDate>Wed, 6 Dec 2000 13:45:19 GMT</pubDate>
      <title>6 Dec 2000</title>
      <link>http://www.advogato.org/person/doxxx/diary.html?start=12</link>
      <guid>http://www.advogato.org/person/doxxx/diary.html?start=12</guid>
      <description>Heh. Well. I am now one of the unemployed. Packed up my
things, said goodbye to everybody and walked out on Thursday
afternoon. Bearing in mind that this is only the second job
I've had (and I was fired from the first one by the
samurai-sword-wielding-psycho-boss) , it's a bit weird not
having to go to work every morning. ;)&lt;p&gt;

&lt;p&gt; But of course this doesn't mean I am without permanent free
Internet access. Time to visit my g/f at university! ;)&lt;p&gt;

&lt;p&gt; Katy-wise, I've done some more work over the last week which
has improved the rendering of the text especially when tab
characters are involved (evil things that they are). You can
also move the cursor now ;) You can even select text while
doing so! *the.crowd.goes.wild*&lt;p&gt;

&lt;p&gt; Flippancy aside, next up is mouse support (click to move
cursor, drag to select, etc.) and then add in
CTRL-Left/Right word jumping.  Oh yes, and text
insertion/deletion/etc. ;) Preferences should probably come
next so that the morons.. err.. users can select fonts and
things.&lt;p&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 27 Nov 2000 11:44:51 GMT</pubDate>
      <title>27 Nov 2000</title>
      <link>http://www.advogato.org/person/doxxx/diary.html?start=11</link>
      <guid>http://www.advogato.org/person/doxxx/diary.html?start=11</guid>
      <description>Quiet weekend. Bought &lt;em&gt;humungous&lt;/em&gt; suitcases on 
Saturday afternoon for our trip to Canada. Saw Charlie's 
Angels on Sunday evening. Quite cool in a Matrixy/KungFu 
kinda way 8)&lt;p&gt;

&lt;p&gt; I've put Katy v0.3 into CVS on SourceForge (&lt;a href="http://sourceforge.net/projects/katy/" &gt;project 
page&lt;/a&gt;) and will continue working on getting it up to the 
level of Katy v0.2.3 as soon as possible. My last day of 
work is Thursday, so from then on I should have more time 
to hack on Katy and other goodies that deserve my attention 
8)</description>
    </item>
    <item>
      <pubDate>Wed, 15 Nov 2000 14:57:45 GMT</pubDate>
      <title>15 Nov 2000</title>
      <link>http://www.advogato.org/person/doxxx/diary.html?start=10</link>
      <guid>http://www.advogato.org/person/doxxx/diary.html?start=10</guid>
      <description>&lt;p&gt;&lt;b&gt;Katy&lt;/b&gt;
&lt;p&gt;Katy v0.3 is coming along nicely. I did some more work 
over the last couple of nights and it now has decent 
session management support and is coded as a "unique" 
application -- only one instance will ever run and starting 
a new instance just sends a DCOP message to the existing 
instance. This all works funkily and in combination with 
session management too ;)
&lt;p&gt;We also have a flashing cursor now. But you can't move 
it yet ;) I.e. next todo = keyboard support.
&lt;p&gt;&lt;b&gt;More EJB Unit Tests&lt;/b&gt;
&lt;p&gt;I've had to come up with a method for unit testing our 
product's EJBs and I've settled on &lt;a href="http://www.junit.org/" &gt;JUnit&lt;/a&gt;. It's quite cool. 
For the moment, since we're using Inprise's AppServer for 
our testing, running the unit tests is really simple (the 
vbj command sets up the environment nicely and then starts 
the Java VM with the JUnit test runner class) and I haven't 
had to add anything to the JUnit 
framework for EJB support. But to test this stuff on 
any other EJB server is going to require some sort of 
global setup thingy to be added to the framework which does 
the initialisation necessary for the EJB server in 
question. And &lt;em&gt;that&lt;/em&gt; I haven't figured out quite yet 
because I couldn't get the TestDecorator subclassing to 
work 
which seemed to the Right Way (tm) to do it. "Bother," said 
Pooh.
&lt;p&gt;&lt;b&gt;Stackless Python and Funky-Eye-Candy Games&lt;/b&gt;
&lt;p&gt;&lt;a href="http://www.stackless.com/" &gt;Stackless Python&lt;/a&gt; 
is 
a modification of the standard Python 1.5.2 runtime so that 
it does not use the C stack. This has some quite cool 
benefits and it seems to have convinced a game company to 
write (at least partially) a game using Stackless Python. 
The game in question being &lt;a href="http://www.eve-
online.com/" &gt;EVE-Online&lt;/a&gt;. Can you say &lt;b&gt;EYE CANDY&lt;/b&gt;?
&lt;p&gt;&lt;b&gt;High-speed Internet Access in Canada&lt;/b&gt;
&lt;p&gt;Since I'm going to Canada, I'm curious to know what sort 
of high-speed Internet access options there are? Cable 
modem? ADSL? Something else? Coming from South Africa where 
56K dialup is the most common for home Internet access and 
the only faster option being weird satellite hookups, I 
really am clueless about this sort of thing. Info, anyone?</description>
    </item>
    <item>
      <pubDate>Mon, 6 Nov 2000 10:20:45 GMT</pubDate>
      <title>6 Nov 2000</title>
      <link>http://www.advogato.org/person/doxxx/diary.html?start=9</link>
      <guid>http://www.advogato.org/person/doxxx/diary.html?start=9</guid>
      <description>&lt;p&gt;&lt;b&gt;EJB Unit Tests?&lt;/b&gt;
&lt;p&gt;Seeing &lt;a href="http://www.advogato.org/person/kbob/" &gt;kbob&lt;/a&gt;'s diary entry 1 Oct 2000 on 
unit tests, I'm wondering how one would apply this to EJBs? 


&lt;p&gt; &lt;p&gt;I've read a bit of the extreme programming concept and I 
always thought it was a good idea but it needs the 
participation of the entire team and to start applying it 
to 
an existing project seemed difficult.

&lt;p&gt; &lt;p&gt;But I digress. How to apply this to EJB? Just off the 
top of myhead... Each EJB implementation class has an inner 
class called UnitTest? And then any EJB can be tested by 
creating an instance of that Bean's UnitTest inner class 
and calling it's test method. For example:

&lt;p&gt; &lt;pre&gt;public class FooBarBean implements SessionBean
{
    public static class UnitTest extends AsbtractUnitTest
    {
        public void test()
        {
            ...
        }
    }

&lt;p&gt;     ...
}&lt;/pre&gt;

&lt;p&gt; &lt;p&gt;A few notes:
&lt;ul&gt;
&lt;li&gt;The UnitTest innerclass is static so that you can 
create an instance of the UnitTest without an instance of 
FooBarBean.
&lt;li&gt;The AbstractUnitTest class defines an abstract method 
called test which is overridden in FooBarBean.UnitTest. I'm 
not sure whether it should be an interface or an abstract 
class. I went with abstract class because it provides the 
option of providing helper methods and data in the abstract 
base class (like logging, pretty printing, etc.) that can 
be used by the UnitTest subclasses.
&lt;/ul&gt;

&lt;p&gt; &lt;p&gt;But this construct can be applied to any kind of Java 
class. There are special considerations that need to be 
made for EJBs. EJBs need to run in an EJB container. For 
clients of those EJBs (i.e. the UnitTests) to access them, 
they need to have the 
container-specific classes for accessing that container on 
the classpath, they need to know what class to use as the 
JNDI provider, what JNDI URL to look up objects in, JNDI 
authentication details (if any), etc. Now one could either 
put in infrastructure (possibly in AbstractUnitTest) to 
handle configuring all that when running the unit test or 
one could fake it. By faking it, I mean faking the fact 
that the EJB is running in an EJB container.

&lt;p&gt; &lt;p&gt;An EJB implementation class is a passive thing. It is 
called by the container to perform various operations 
(create, load, store, active, passivate, etc.). Thus, just 
like an EJB container generates implementation classes for 
the Home and Remote interfaces which call upon the EJB's 
implementation class, the unit testing framework could do a 
similar thing. However, this means that extra classes need 
to be generated and compiled just for unit testing which 
may not be desireable. One solution could be to use generic 
implementation classes that use the &lt;a href="http://java.sun.com/j2se/1.3/docs/guide/reflection/pro
 xy.html" &gt;Dynamic Proxy Class&lt;/a&gt; technique available in 
JDK1.3

&lt;p&gt; &lt;p&gt;Yeesh, I yak too much. Basically, I think it would be 
possible to build a generic EJB unit testing framework but 
it's not trivial. ;)</description>
    </item>
    <item>
      <pubDate>Fri, 3 Nov 2000 10:09:08 GMT</pubDate>
      <title>3 Nov 2000</title>
      <link>http://www.advogato.org/person/doxxx/diary.html?start=8</link>
      <guid>http://www.advogato.org/person/doxxx/diary.html?start=8</guid>
      <description>&lt;p&gt;I have dilemma on my hands. My main project &lt;a href="http://www.advogato.org/proj/Katy" &gt;Katy&lt;/a&gt; as it currently exists is a KDE1 
application that is semi-stable, with a few useful 
features. What with the advent of KDE2 and my subsequent 
installation thereof, I have started re-writing Katy for 
KDE2. It's going quite nicely (one always seems to do 
better the 2nd time round) and I'm hoping to have something 
useable with at least some of the features of the old Katy 
in a week or two.

&lt;p&gt; &lt;p&gt;But now what do I do about the KDE1 version? I'm sure 
that there are people who will continue to use KDE1 and 
will want to use Katy (maybe ;) and so I don't want to just 
dump them. But on the other hand, KDE2 is where it's at now 
and I can do so much more cooler things with it than I 
could with KDE1.

&lt;p&gt; &lt;p&gt;Should I try to develop both in a parallel fashion? 
Should I just keep Katy 0.2.3 as the last KDE1 version and 
say KDE2 is required for all future versions?

&lt;p&gt; &lt;p&gt;Hmmm... I must admit that I'm inclined towards that last 
option. It seems like just far too much work to keep two 
parallel versions going.

&lt;p&gt; &lt;p&gt;Besides, Katy needed a rewrite anyways ;)</description>
    </item>
    <item>
      <pubDate>Thu, 2 Nov 2000 00:18:36 GMT</pubDate>
      <title>2 Nov 2000</title>
      <link>http://www.advogato.org/person/doxxx/diary.html?start=7</link>
      <guid>http://www.advogato.org/person/doxxx/diary.html?start=7</guid>
      <description>&lt;p&gt;&lt;b&gt;RMS or ESR?&lt;/b&gt;
&lt;p&gt;This evening (well, really yesterday evening, it being 
1:42am), I was able to attend a talk by Eric Raymond. Eric 
is in Cape Town to present a talk at &lt;a href="http://www.cs.wits.ac.za/~philip/SAICSIT/SAICSIT-
2000/programme/" &gt;SAICSIT-2000&lt;/a&gt; on Thursday morning. Our 
local Linux User Group, &lt;a href="http://www.clug.org.za/" &gt;CLUG&lt;/a&gt;, met him at the 
airport, dragged him around to see Cape Town's sights (that 
was the plan, last I heard) and then brought him to &lt;a href="http://www.uct.ac.za/" &gt;UCT&lt;/a&gt; for the meeting.

&lt;p&gt; &lt;p&gt;I enjoyed it thoroughly! He's a pretty good speaker and 
what he said made a &lt;em&gt;lot&lt;/em&gt; of sense. Not having been 
to a talk by Richard Stallman on Free Software, I can't 
&lt;em&gt;definitively&lt;/em&gt; say whether I am an RMS or ESR 
person. &lt;strong&gt;But!&lt;/strong&gt; My current leaning is very 
much towards ESR. He has a practicality to his viewpoint 
that, quite frankly, RMS lacks. And it appeals to me.</description>
    </item>
    <item>
      <pubDate>Wed, 1 Nov 2000 01:41:17 GMT</pubDate>
      <title>1 Nov 2000</title>
      <link>http://www.advogato.org/person/doxxx/diary.html?start=6</link>
      <guid>http://www.advogato.org/person/doxxx/diary.html?start=6</guid>
      <description>&lt;p&gt;&lt;b&gt;DNS Goodness&lt;/b&gt;
&lt;p&gt;Thanks to the generous donation of DNS hosting services 
by &lt;a href="http://www.advogato.org/person/sh/" &gt;sh&lt;/a&gt;, my homepage may now be viewed at: 
&lt;a href="http://www.doxxx.net/" &gt;http://www.doxxx.net/&lt;/a&gt;. 
You may also mail me at &lt;a href="mailto:gordon@doxxx.net" &gt;gordon@doxxx.net&lt;/a&gt;. Much 
bowing and scraping in gratitude to &lt;a href="http://www.advogato.org/person/sh/" &gt;sh&lt;/a&gt;. 8)

&lt;p&gt;Of course, now I just have to find a decent (and 
preferably free, but who am I kidding) web hosting service 
that doesn't plaster banners all over the place and is 
willing to have a DNS entry pointed at their webserver.
&lt;p&gt;&lt;b&gt;Certification Duty&lt;/b&gt;
&lt;p&gt;Oh my golly gosh. I had a look at the people list. How 
am I ever going to get through that? *faint*</description>
    </item>
    <item>
      <pubDate>Thu, 26 Oct 2000 14:15:12 GMT</pubDate>
      <title>26 Oct 2000</title>
      <link>http://www.advogato.org/person/doxxx/diary.html?start=5</link>
      <guid>http://www.advogato.org/person/doxxx/diary.html?start=5</guid>
      <description>I've just hacked up an HTML version of &lt;a href="http://members.xoom.com/doxxx/resume.html" &gt;my 
resume&lt;/a&gt;.
 Please have a look at it if you're looking for a 
geek/techie/programmer type of person to employ in the 
Hamilton, Ontario area (or within a reasonable commutable 
distance).</description>
    </item>
  </channel>
</rss>
