Picture of me

Björn's Page

Things I currently tinker with

Old things

Really old things

Björns Bostadsbytare
A system for swapping apartments in Stockholm. Designed with automation in mind, rather than having everybody search the ads manually. Finds "circle swaps" with up to six apartments. This page is all in swedish, due to the highly local nature of it.
Generation 2 of "SMS Server". A complete rewrite with better client/server protocol, better operator handling (using plugins), better portability and better code. Under development.
A collection of convenience tools for manipulating id3 tags and mp3 files. Uses the CPAN MP3 perl module.
A teeny deny-all "http server" used for ad blocking. Set all ad servers to 127.0.01 in your /etc/hosts and then start this to avoid Mozilla complaining. For those of us too lazy to run junkbuster. :-)
Frexx Dbase
The Frexx Database. A simple, no-nonsense database intended for web applications but surely useful for other things too. Not intended to replace multi-megabyte Oracle databases but very neat for those small apps. Does not need a daemon to run, making it ideal for use on web hotels.

Ancient history

SMS Server
Replaced by Smash (see above). A complete SMS solution for the unix network. Contains a server and client (in one) for reliable multiuser non-stop SMS delivery. Supports swedish characters on all swedish GSM operators. It includes a number of text parsing options, but you'll want to use Daniel's superior mail2sms filter instead. Runs on SunOS only, due to hardcoded termio oddities.
checktables.pl (as a textfile)
Ever done a table intensive HTML page, leaving out the /tr's and /td's (since the spec says you can), only to find out Netscape barfs completely on nested un-ended tables? Well I have. And I can tell you it's a pain finding where all those end marks should be. Painful enough to make a perl prog to find that out. So that's what this one does. It checks your tables for start/end tag discrepancy and then gives you a nice hint about where the problem is. A bit like weblint, but more precise about the location of your error.
Frexx shell is a non-interactive shell designed to allow writing of advanced interpreting scripts without having to learn a whole new language in the process. Fresh is based on the FPL interpreter, which means you write in C with very few restrictions. It's not a "better" language than perl, nor is it trying to. The whole purpose of Fresh and FPL is that you don't have to learn a new language. Everyone knows C already, so with Fresh you can just go ahead and write those advanced scripts you've been thinking about.
FrexxLink, a BBS system for OS/2 I made in the early 90's. Based on FPL, it sports flexibility other BBS software could only dream of. I give no guarantees about the compileability of this software, since I haven't run an OS/2 compiler in many years... :-)
DMS was a compression system used on the Amiga to compress a whole disk, "raw", into a file. Many games and demos used their own "track loader" code instead of a normal file system, so this was necessary. TestDMS is a tool I wrote in '93 or sometime around there, to test the integrity of a DMS file. I used it on my BBS "The Holy Grail" to verify that uploaded files were ok. I'm proud to say this old code compiles and runs unmodified even today, on completely different operating systems and hardware than on which it was written. The power of 'C'! :-)

Page was last modified "May 17 2013" Björn Stenberg