MY EXPERIENCE:


CATHARON is a small startup which is developing a language and network environment to allow finer control of what is displayed on the web. Their product, TenCore, is a simple but powerful language which, like Java, is interpreted on the client machine. Together with several patented optimizations for smart downloading, this makes TenCore applications respond faster than similar ones written in Java or Javascript.

In addition, because Catharon's background is educational software, the language is written from the designer's perspective. It presents exactly the same screen image on any of the supported platforms (currently Windows, Linux, BEOS, and Mac).

The language was originally designed more than 10 years ago as an educational language. Catharon obtained rights to it and redesigned it to be a secure, multithreaded, object oriented, networked language.

I was hired on contract in July 1999 to write the Linux drivers, including graphics and file system drivers. TenCore bypasses the local window manager (a requirement to provide identical behavior on all platforms) but provides a window manager object that looks and behaves much like the standard Windows window manager. This means the drivers have to provide all functionality needed for the window manager, including input, display, and coordination with the actual window manager.

The X driver is raw X (does not use a toolkit), and is written to run under Gnome, though any ICCCM compliant window manager should work. Linux also has a VGA driver, which allows full screen windows of any size supported by the hardware driver.

At the completion of the Linux driver contract Catharon gave me a second contract to do kernel work, and at the completion of that made me an offer to come on as a regular employee, doing kernel support work.

Starting in January 2001 I rewrote the language compiler and interpretor. The existing ones, while good enough for prototyping, were slow and difficult to maintain. The new compiler was basically completed by April 2001. Its compile speed was 10 times faster than the old one, the executable was 10% smaller, compiled binaries were 10-50% shorter, execution speed 10-50% faster. The design also made it much easier to profile and optimize, as well as easier to add more optimizations later, so I expect performance to improve even more.

Catharon is located in Albany, New York. As a company they embrace telecommuting as a way to get access to good people from outside the area. Our development team consists of me in China, the project leader in Albany, and at various times people in England, Germany, Canada, and in the US California, Georgia, and New York City. By using easily available technology (CVS, email, news, Lily) we were able to have meetings and discuss design issues as needed. One advantage we found of working this way was it allowed us to keep records of the reasoning behind decisions, rather than just the decisions themselves, as we would have had in face-to-face meetings.

I enjoy working at Catharon a great deal. The people are quite good, the product is useful, and I am in a position where my input on the design has real influence on the direction of the product. Unfortunately, due to the economic slowdown, the company is having financial troubles, so its future is in doubt.
 
 

Back to resume
Go to home page