My hobbyist coding updates and releases as the mysterious "Mr. Tines"

Sunday, 22 December 2002

Janus v1.2

Firewall traversal proxy Janus v1.2. The updated (less CPU intensive) class to ferry data back and forth through the application should be of equal use in my SOCKS classes that use some of the same code.

I suppose I really ought to get around to writing a Java SDK 1.4 version using the new I/O classes for even better performance.

Tines' Dice 1.1

v1.1 (supports Fvlminata). From the RPG page.

Friday, 22 November 2002

Blue Planet applet update

More tidying, with bug-fixing the XHTML and the Blue Planet applet (fixing UI problems and allowing for collisions between moons).

From the RPG page.

Saturday, 16 November 2002

Geocities site cleanup

Purged release news and bug reports that have been superceded by later releases of various projects. Also purged other stale (a year or so old) news, and dusted off most of the other pages, deleting ones with well old bug-fix notes and the like.

See the wayback machine for more.

Tines' Dice 1.0

New freeware program, a PalmOS (3.5 or later) die rolling aid using the PLua runtime, details on the RPG page. You can roll pretty much any sort of dice (23d31, anyone?)

CTClib++ port

CTClib - I've decided that I'm not masochist enough to keep this as pure 'C', even though I could. The things you have to do emulate interface polymorphism are cumbersome, and just got in the way, especially when you don't want to have to separate out definition and declaration for a helper class internal to a single file.

The changes are currently limited to all of folders ctckey and ctcpka, plus ctc.c has become a ctc.cpp, and the version is currently pre-3.0 - how much more will change in the slow progress to v3.0 I'm not sure.

The current 'C' based interfaces will stay fixed, so the library will continue to be call-compatible with 2.x releases.

Angerona suspended

Might as well state that I'm as sure as I can be that the Angerona (Java 1.1/Swing port of CTClib) project is dead. If anyone wants to take it on, be my guest.

Sunday, 10 November 2002

CTClib 2.3.1044.27931 interim release

  1. I recently received a GnuPG 1.0.7 message that went into an infinite loop while decompressing. Investigation showed that the problem was incomplete support for the OpenPGP indefinite length packets in the code.
  2. In trying to diagnose this, going to use the "Extract session key" feature in CTCjava to keep from having to enter my passphrase, I find that there is something up in the JNI layer for this which faults, rendering the feature inoperative. JNI is sufficiently brittle that I don't think this will be fixed. I will now declare CTCjava as having had its last full release.

I have made changes that accomodate the former issue, though this is by way of a stop-gap, copying into a separate buffer the multiple sections of a packet that is of that format, rather than the proper fix, which would be to put an extra abstraction layer of packet reading on top of the file being read. I have produced updated source including fixes for the 30-May-01 and 9-Jun-02 issues, and a replacement dll (version 1.2.1044.27931) for Windows users.

The former is a source archive and a signature inside a zip. Unshell, verify, then unpack over the CTClib 2.3 code, and build. It contains VS.NET and C++ Builder projects, and the CTClib 2.3 makefile should also work - though I've not verified this. The latter is the dll (debug build from VC++.NET) and a signature. Save the old dll, verify the signature on the new one, and drop it in place. Keeping the old dll (and swapping by renaming) allows you to revert if you come across new bugs.

In order to fix the packet length bug properly, I really need to start a full refactoring of CTClib, the end result of which would be a CTClib 3.0, with new, but stable interfaces, and a major revision into C++. What is likely to happen is a series of 2.4 releases (but don't hold your breath) which may change some of the interfaces at each step. Meanwhile there may be a number of 2.3-compatibility interim releases (with later CTCjlib 1.2 version dlls) to patch up serious bugs in the core still being accessed by the Java-based GUI.

In the meantime, there is a FOX-1.1.19 compatible start of a GUI in the source drop, which can do the unpicking of session keys, for those who really need that feature - but you have to build it yourself.

Thursday, 22 August 2002

PassiveFTP/Fox 1.1

PassiveFTP client 1.1.960.32720 for Win32 and Linux - Available from the Windows page. This release demonstrates theming of the FOX toolkit v1.1.13 - from FOX 1.1.16, changes to the message mapping class change the details - the change is to the following routine in plaf.hpp (new version shown):-

template<class T, class X> void Skin<T,X>::override(bool set)
  static typename T::FXMapEntry * oldmap = 0;
  static long (T::*oldfn)(FXObject*,FX::FXSelector, void*) = 0;

    oldmap->func = oldfn;
  const FX::FXMetaClass * meta = &T::metaClass;
  typename T::FXMapEntry * f = reinterpret_cast<typename T::FXMapEntry *>

    oldmap = f;
    oldfn = f->func;
    f->func = (long (T::*)(FXObject*,FX::FXSelector, void*))(&Skin<T,X>::skin);

Saturday, 25 May 2002

Icon Transparency

Added support for transparency in icons to class com.ravnaandtines.util.image.IcoImage in my utility library.

Source archive on wayback machine.

Wednesday, 15 May 2002

Bugfix to Ephemeris applet

Bug fix in the Ephemeris applet - different JVMs give different interpretations to the maximum value of the scroll-bar thumb, so on e.g. Netscape 6, you can't advance the year beyond 1494. I wrote a slider gadget and used that instead. Also migrated to Java 1.1 and later event model.

Saturday, 27 April 2002

Geocities site cleanup

Transformed underlying web pages to XHTML 1.0 with CSS for font and colour support using tidy from sourceforge. Back version browsers e.g. Netscape 4.5 will still see the site, just in default colouring. The Yahoo-supplied script addenda do, of course, make the page invalid according to the validator at

Using the wayback machine, see the difference.



Sunday, 21 April 2002

Two Java Utilities

Two new Java utilities (PDA-Briefcase and PassiveFTP) available from the Java page.

Wednesday, 20 February 2002

CTClib 2.3 bug report

One sort-of bug report against CTClib 2.3; if you generate excessively short RSA keys, shorter than the size of the signature packet for self signature, the signature process fails. This is not checked, and so the attempt to verify the signature ends up chasing a nil pointer. As you should not use a keylength below 512 bits, and to be safer, no shorter than 1024 bits, this should not actually be provoked in reasonable use.