Advogato blog for doxxxhttp://www.advogato.org/person/doxxx/
Advogato blog for doxxxen-usmod_virguleTue, 31 Mar 2015 20:51:25 GMTMon, 23 Nov 2009 15:42:42 GMT23 Nov 2009http://www.advogato.org/person/doxxx/diary.html?start=15
http://www.advogato.org/person/doxxx/diary.html?start=15Wow, my account still exists. And I remembered my password. :)
<p> I've started contributing towards the <a href="http://bazaar-
vcs.org/" >Bazaar</a> project. A lot has changed since the days
of JPythonJB and Python 1.5...
Fri, 30 Mar 2001 19:33:16 GMT30 Mar 2001http://www.advogato.org/person/doxxx/diary.html?start=14
http://www.advogato.org/person/doxxx/diary.html?start=14Well now. How's that for a "long time, no post"? 4 months.
Yeesh.<p>
<p> 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.<p>
<p> 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 <a href="http://katy.sourceforge.net/" >give it a
whirl</a>.<p>
<p> 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!<p>Mon, 18 Dec 2000 09:16:45 GMT18 Dec 2000http://www.advogato.org/person/doxxx/diary.html?start=13
http://www.advogato.org/person/doxxx/diary.html?start=13Well. Today is the big day. Canada, here I come.Wed, 6 Dec 2000 13:45:19 GMT6 Dec 2000http://www.advogato.org/person/doxxx/diary.html?start=12
http://www.advogato.org/person/doxxx/diary.html?start=12Heh. 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. ;)<p>
<p> But of course this doesn't mean I am without permanent free
Internet access. Time to visit my g/f at university! ;)<p>
<p> 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*<p>
<p> 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.<p>Mon, 27 Nov 2000 11:44:51 GMT27 Nov 2000http://www.advogato.org/person/doxxx/diary.html?start=11
http://www.advogato.org/person/doxxx/diary.html?start=11Quiet weekend. Bought <em>humungous</em> 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)<p>
<p> I've put Katy v0.3 into CVS on SourceForge (<a href="http://sourceforge.net/projects/katy/" >project
page</a>) 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)Wed, 15 Nov 2000 14:57:45 GMT15 Nov 2000http://www.advogato.org/person/doxxx/diary.html?start=10
http://www.advogato.org/person/doxxx/diary.html?start=10<p><b>Katy</b>
<p>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 ;)
<p>We also have a flashing cursor now. But you can't move
it yet ;) I.e. next todo = keyboard support.
<p><b>More EJB Unit Tests</b>
<p>I've had to come up with a method for unit testing our
product's EJBs and I've settled on <a href="http://www.junit.org/" >JUnit</a>. 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 <em>that</em> 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.
<p><b>Stackless Python and Funky-Eye-Candy Games</b>
<p><a href="http://www.stackless.com/" >Stackless Python</a>
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 <a href="http://www.eve-
online.com/" >EVE-Online</a>. Can you say <b>EYE CANDY</b>?
<p><b>High-speed Internet Access in Canada</b>
<p>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?Mon, 6 Nov 2000 10:20:45 GMT6 Nov 2000http://www.advogato.org/person/doxxx/diary.html?start=9
http://www.advogato.org/person/doxxx/diary.html?start=9<p><b>EJB Unit Tests?</b>
<p>Seeing <a href="http://www.advogato.org/person/kbob/" >kbob</a>'s diary entry 1 Oct 2000 on
unit tests, I'm wondering how one would apply this to EJBs?
<p> <p>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.
<p> <p>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:
<p> <pre>public class FooBarBean implements SessionBean
{
public static class UnitTest extends AsbtractUnitTest
{
public void test()
{
...
}
}
<p> ...
}</pre>
<p> <p>A few notes:
<ul>
<li>The UnitTest innerclass is static so that you can
create an instance of the UnitTest without an instance of
FooBarBean.
<li>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.
</ul>
<p> <p>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.
<p> <p>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 <a href="http://java.sun.com/j2se/1.3/docs/guide/reflection/pro
xy.html" >Dynamic Proxy Class</a> technique available in
JDK1.3
<p> <p>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. ;)Fri, 3 Nov 2000 10:09:08 GMT3 Nov 2000http://www.advogato.org/person/doxxx/diary.html?start=8
http://www.advogato.org/person/doxxx/diary.html?start=8<p>I have dilemma on my hands. My main project <a href="http://www.advogato.org/proj/Katy" >Katy</a> 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.
<p> <p>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.
<p> <p>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?
<p> <p>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.
<p> <p>Besides, Katy needed a rewrite anyways ;)Thu, 2 Nov 2000 00:18:36 GMT2 Nov 2000http://www.advogato.org/person/doxxx/diary.html?start=7
http://www.advogato.org/person/doxxx/diary.html?start=7<p><b>RMS or ESR?</b>
<p>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 <a href="http://www.cs.wits.ac.za/~philip/SAICSIT/SAICSIT-
2000/programme/" >SAICSIT-2000</a> on Thursday morning. Our
local Linux User Group, <a href="http://www.clug.org.za/" >CLUG</a>, 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 <a href="http://www.uct.ac.za/" >UCT</a> for the meeting.
<p> <p>I enjoyed it thoroughly! He's a pretty good speaker and
what he said made a <em>lot</em> of sense. Not having been
to a talk by Richard Stallman on Free Software, I can't
<em>definitively</em> say whether I am an RMS or ESR
person. <strong>But!</strong> 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.Wed, 1 Nov 2000 01:41:17 GMT1 Nov 2000http://www.advogato.org/person/doxxx/diary.html?start=6
http://www.advogato.org/person/doxxx/diary.html?start=6<p><b>DNS Goodness</b>
<p>Thanks to the generous donation of DNS hosting services
by <a href="http://www.advogato.org/person/sh/" >sh</a>, my homepage may now be viewed at:
<a href="http://www.doxxx.net/" >http://www.doxxx.net/</a>.
You may also mail me at <a href="mailto:gordon@doxxx.net" >gordon@doxxx.net</a>. Much
bowing and scraping in gratitude to <a href="http://www.advogato.org/person/sh/" >sh</a>. 8)
<p>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.
<p><b>Certification Duty</b>
<p>Oh my golly gosh. I had a look at the people list. How
am I ever going to get through that? *faint*