Software

Note: totally outdated :-)

Today, I mostly write either shell script in bash, some stuff in python (mostly for work), and a combination of javascript/html.
I also wrote a tutorial for gemini CGI writing.

As you may have guessed from the links section, I like programming. I have written countless utilities (approximate list below), most of them for small jobs, typically in batch files. Most are completely useless today, but were usefull back then like li, a utility that would give the total space used by a directory under DOS.

I program(med) in various languages for various platforms:
  • DOS assembly, Xbase, Pascal, C, Batch
  • OS/2: Rexx, Pascal, C, Perl, Java
  • Unix: Shell scripts, C, Perl, Java
  • EPOC16: OPL
  • Web: html, Xml, XSLT, PHP, JavaScript
Unix is a classic System Vr4, Sun Solaris (various releases) and Linux anything from 1.2.8 to 3.1.xx
EPOC16 is a Psion 3c.
I have also given lots of programming courses at the club:
  1. Pascal
  2. Java
  3. C
  4. scripting (bash)
  5. html
and I have a Rexx tutorial out on the web, approved by Mike Colishaw himself :-).

I started using computers a long time ago, when there were no programs easily available, or if there were they were way to expensive for me. Another problem was also that the kind of programs I wanted were not common anyway (this is still the case today). Most of the time when I write something it is because I haven't found anything that does what I want. I began programming with no formal education in programming, but for a course in logo (an Artificial-Intelligence programming language derived from LISP most known for the completely unrepresentative "turtle" subset) a long-long time ago... I first tried programming in Basic on the Apple II, then UCSD pascal (Apple and HP mainframe). Then on the first PC using the ms dialect of basic.

The revelation came (as for many) with Turbo Pascal from Borland which was my only language for a long time. I also started learning assembly in order to understand better the machine. I wrote lots of stuff in dBase in those days as well.

When I left Dos for OS/2 I switched to C due to the lack of proper Pascal tools (some very good have popped up since). Rexx was the logical continuation of batch, and so are shell scripts. I tried Java when it came out and I like it a lot. It shares a lot with Pascal and C, so the basics are not too difficult to learn. So far when I wanted a portable application I had to write it in C, now I have an alternative. At the end of 1999 I went back to university and eventually got a BSc in computer science. I worked as a programmer at Systran, where I mostly used C, shell scripts, and Perl scripts.
As far as web things are concerned, I've done several websites, including but not limited to this one (mix HTML/CSS), the one for my Karate club, and more challenging, the Club de TeleMatique (loads of PHP, including self registration forms, password protected zone for the members, etc.

Here is a totally useless and incomplete list of the stuff I wrote. Most are not available directly online, because they're either out of date, or not deemed interesting enough. Lots of them are utilities for 2 BBSes: SuperBBS (SBBS) which is no longer supported by its author, and Proboard (ditto). The BRS pascal game, very losely inspired by an Amiga stock market simulation was itself resurrected in Javascript! :-)
If anything seems interesting to you, just get in touch. However, some are so old I don't even have the source code anymore, which means that they will be provided "as is". I have stopped all development so far due to lack of time, except a small handful of products.
Programs

(This is an internal use list)

V 990701
Other software produced by Thunus F. and available on request
on CTServe (2:270/25@FidoNet)

Telecom/sysop:

ADDCD     V 0.40 Proboard utility to add cd-roms to file areas
AMNOT     V 0.71 Fido Answering machine
ARCHIE    V 0.29 File locating server (fidonet)
BBSLST    V 0.50 Create a BBS list from fidonet nodelist
CLOKWISE  V 0.10 Fidonet Alarm clock
GRAFFITI  V 0.70 Graffiti Door (uses dorinfo1.def)
DBUSER    V 0.70 SysOp utility : transform USERS.BBS in USERS.DBF
DERCALL   V 2.10 last calls from FD I or O, x last, to file, etc..
DOBATCH   V 0.17 netmail batch processor
FRIC      V 0.40 FrontDoor cost calculator
FDFOLDER  V 0.22 Areas.bbs => Folder.fd convertor
FDSTQ V 0.54 FrontDoor 2.25+ STQ viewer/packer
GATE      V 0.15 netmail gating soft for several network. Easy.
INTERFIX  V 0.30 extends areafix to use with internet newsrc.
LASBBS    V 1.10 SBBS log analyzer.
LAPB      V 1.00 ProBoard log analyzer.
LOGAN     V 1.32 Mailer log analyzer.
MANGEURDHOMME V 0.40 FTN majordomo
MAXRA     V 0.35 Convert Opus user file to RA 1.11
NYT!      V 1.10 Sysop utility to produce new file list (PCBOARD)
PCKFILE   V 0.20 pack proboard file area
POSTIT!   V 0.12 Post to conference you don't subscribe to (Fido)
QWK       V 4.00 Offline QWK reader tiny fast and easy
READMSG   V 0.20 read FidoNet type .msg (superseded (by far) by AmNot)
SCALL     V 2.10 SysOp utility: produces asc/ans file with last caller
SFIND     V 2.75 Sysop utility ----- No longer available
STATCOST  V 0.51 Cost sharing utility - works with FD/db/binkley
TAGL V 1.0 Add taglines to FM/2
TARGETV 0.60 External FileRequest processor for FrontDoor
TELLME    V 0.31 file arrival notification utility
TESTHACK  V 0.81 Sysop utility: is this file a hoax/trojan/fake ?
UPMGR     V 0.33 Upload manager for fido msg & files.bbs
WARNINT   V 0.40 internet log analyze & warning (os/2)
ZYXPATCH  V 2.00 Patch for ATZ/AT&W Zyxel Rom problem

SoundBlaster:

CMFFT     V 0.20 CMF background player
SBVOC     V 0.20 VOC player
SBTALK    V 0.10 make you pc talk using SOUNDBLASTER

General utilities:

ARCLAB    V 1.96 fast easy archive conversion utility
BATPROG   V 1.10 Batch progression display (not tsr)
CO        V 1.18 the copy command Dos should have
COMPT     V 1.01 Count number of lines in an Ascii text and number of pages
CONVTXT   V 1.00 upper/lower case conversion of a text
DBF       V 1.00 DBF reader/editor
DBTXT     V 1.10 Transform an ascii file in .dbf
FIDOSOUP V 0.51 [180k]SOUP/UUCP<>PKT convertor
FIDOSOUP V 0.52 [202k]SOUP/UUCP<>PKT convertor Beta version - time bombed

FTLIST    V 1.00 SOUP utility to make massive sending
FTUUCP    V 1.00 UUCP utility to make massive sending
GO        V 1.07 go directly to a directory
KAT       V 1.00 Kind of Automatic Translation
KLINEX    V 1.94 utility to clean Celex output (for European Court)
PPDA      V 0.40 Planning Personnel des Affectations (for European Court)
PATCHTXT  V 1.30 Text Patcher
RANDOMIT  V 0.10 Set a RANDOM environment variable with a random number
SDIR      V 1.00 Super directory utility
SOG       V 0.41 Sort Of Grep :-) dual dos/os2 with EMX runtime.
STATS     V 1.20 Include it in your batch to keep stats on what's going on
TRADUC    V 1.10 some sort of automatic translation
VIEWARJ   V 1.00 See what's inside an arj without ARJ
WEBLOG    V 0.10 create a report for a http 5.0 website log
WRPCFG02  V 0.20 Warp Config sort os/2 config sys for faster load
YARNINST  V 1.00 Installation kit for yarn

Games:

BRS       V 0.984 Stockmarket simulation game
EDITPOP2  V 1.00  Edit your prince of persia saved games

Psion-related:

[Note: All psion programs are Siena and WorkAbout - ready/friendly]
[      All psion programs work in _any_ language.]
BioRythm V 1.22 [ 8k] Simple BioRythm program
Psidb V 0.10B6[20k] Psion dbf reader for Dos
PsiUUCP V 0.63 [14k] Uucp mail/news reader/editor.
Needs a sendmail/uucp system for sending.
DateCalc V 0.15 [ 4k] Date interval computation program
BPA2Txt V 1.0 [17k] Transfer Bankplus' BPA archive to comma delimited
Guide V 0.22 [33k] Reader for the Galactic Guide project data files.

Linux :

NetUpGr Easy upgrade of NFS network
RPMSlack find out what's installed on slackware

Note: for software numbering, I use the following scheme:
  • units are major changes
  • tenth are small improvements
  • hundredth are bug fixes

I will give a 1.0 rating whenever the goals _I_ had when I started the program are met. That explains why many of the programs don't even get that kind of rating. Many times I halt the development before reaching the goal I had fixed myself, for several reasons, but usually for two:

  • the program already does most of the job and
  • I don't have time to develop it further.
FidoSoup is the typical example. Last revision is 0.52betaH, but it has been running for more than 3 years (and rev 0.16) at the club with no problems.
Usually I give a 0.10 rating to the first working/workable version.
The difference I make between Freeware and Shareware is equally simple:
all my programs are released as freeware, because I write them for my own use, or for my pleasure. If I begin to receive mail about it with people asking features, and I actually sit down and implement it (unless it is something _i_ think is usefull/interesting) it becomes "work" as opposed to "hobby" and it's released as shareware, usually for a nominal fee.

Hardware

Note: this is totally obsolete, see below

Building a Linux machine for small children:Origin

I had heard about James Vahn building a machine for kids on the basis of a debian. I had just read in Linux Journal Marcel Gagné's article about building a Linux box for kids. This finally got me started. Of course, I did it my way :-)

Hardware

I was given a 386 with a 170 megas HD and 4 megs ram, no screen. I added 4 megs RAM which happened to be around, and salvaged a screen from an old 286 (another gift. For some reason people keep on giving me their old hardware). I partitionned the HD in a 150 megs linux partition with a 20 megas swap. I added an old 2 speed mitsumi CDrom for easier file transfer, and a vintage SoundBlaster 1.0. I figured they could break that without hurting my wallet too much :-)

Software

Base

I installed on it the ZipSlack distribution, available from Slackware, and added a basic X configuration (from the x1 directory). Apart from Debian, I don't think anything else will install on that machine. I erased about everything I could think of that wouldn't be necessary. I had other machines to compile on, anyway. I created 3 accounts: one for the parents, and one for each of the kids.

Specific setup

James tipped me the graphical logon he used, wdm. It took me a while, but I finally located the beast in the utility directory of the WindowMaker Site. Considering that my son couldn't read yet, the machine had to be as graphical as possible, which is in itself quite an experience for me as well, since I never use graphics.

Then I needed a window manager that would be both easy to configure with icons on the desktop (menu navigation isn't easy for kids, and presuppose a minimum of reading), and not too heavy on ressources. James used Blackbox, but the memory requirement seemed too heavy for me. AmiWin is a perfect candidate for this. With a 350k footprint in memory, that's by far the less ressource-demanding of all the windows manager I know of, while giving a great look and plenty of functionalities.

Applications / Games

This is where problems start. Unfortunately, there isn't much in the way of educationnal software for small children. In fact, there aren't many educationnal software at all. When I see what is available under windows, I understand why many parents otherwise convinced of the superiority of Linux still keep a window box around. So far I found Linux for Kids.
I have personnaly installed Linux math and Linux letters.

And now, what else ?


Well, not much, unfortunately. If I move to config to a more powerfull machine, I can add WINE support and tap into the windows pool.


[Note: 2 years later: I have made a new computer using a 586/120 with 48 megs RAM and a 1 gig HD. I used Mandrake 8.0, took out everything I could to make it snappier, and added the abovementionned games, plus others. As long as you don't use Nautilus as interface to gnome and take out as much as possible, this is probably the fastest way to have a kid station up and running in no time.]
[Note: in 2003 I built yet another machine for the kids. This time I just used a stock Debian Woody and included all the games in the debian junior section. It does not need anything else :-). What a way Linux has come! ]
[Note: in 2009 I tried a Debian derivative called Ubuntu. the game offer is even easier to find and install than on Debian :-)]