Tornado home page

by . Last updated . This page has been accessed 15,797 times since the 7th August 1998.

You are connecting to the IPv4 version of this website from the IP address You can try the IPv6-only version if you want.



A brief personal history ...

Well, I've been meaning to do this for a while. I put up a set of webpages about a project I was working on called Tornado. This was a rather substantial reworking of how current operating systems are structured, taking it from the current Unix style method of a kernel + programs running on it to a completely integrated level where the programs are the operating system and the operating system the programs.

Now all this originally happened way back in 1994, back when I first joined the net and indeed fidonet as well. After a number of conversations on fidonet about it all, it was recognised pretty much universally as being something really innovative. At the time, Acorn RISC-OS, previously a trend-setting OS, was aging quickly and Win95 beta was showing things were quickly going down the tubes. People were worried, and they especially latched onto Tornado as a way of getting out of the problem and getting Acorn's back to the league they once were in.

Unfortunately, my programming skills were not up to the task. Or maybe, better put, I was going through a right pile of shite at the time and was unable to concentrate properly and never got much done. The idea was fine, the implementation was not.

Hence, and especially after I moved over to NT, I have not been a popular man in some segments of the Acorn community (what little it is now). I suppose they felt cheated. I really do feel sorry I never kept all the promises I made, as I would be a very rich man now if I had, but I really did try and I'm afraid I just wasn't capable. So to anyone reading, I apologise for shattering your hopes.

Anyway, to those that don't know, tornado was published about twice in Acorn User and many Acorn sites still link to the old address at armature which has been down now for quite some time. It caused quite a stir at the time, but since I disappeared two years ago (when I left home) I have been pretty much not involved in the Acorn community. That will change when Basic2C comes out, but until then I am still very much outside it all.

So, given all of this, and a few other things, I have published the original tornado site in its entirity here. It's unmodified and is simply a dump from my old Trinity College Dublin website. Now, this raises a number of points which I will skirmish over here, but essentially TCD was not kind to me, and during it I had a number of difficulties with a number of people there. Much to their chagrin, I published some of my email exchanges on the internet to try and show that I wasn't the only one who was being unreasonable (the commonly held gossip at the time). You can find these email exchanges here. Please read subjectively!

People often misinterpret me and take a very strong dislike of me - for example, some acquaintences speak poorly of me behind my back, mainly resulting out of their misinterpretation of comments I have made. I often say that all people are pretty much alike, and that in addition much of the university population are examples of the carbon-copies typical in third level institutions in this country (yeah I know, who wouldn't take badly to that ;) ). They also feel I am arrogant, opinionated and full of shite. That's fine by me, but they are doing me a disservice as in reality I say things they don't like hearing and they react by reacting against me. The truth is that the above statement is true (to an extent), and you can't argue against it. Classic socialology also proves what I say (depending on how you read it ;) ).

Anyway, I digress. The point is that I thought long and hard before publishing the full site as I was worried about stirring up old nests and also, getting this block on my back about the fact that the current situation has happened to me before and thus it's my fault. However, I believe that the best way of combating such ignorance is information. It's how I finally tackled the endemic bullying going on in Trinity after a number of suicides and while I never persuaded anyone to treat me anyway nicely, I did at least (I hope) manage to get them to think about a few of their actions and their consequences. So, I publish this site, unmodified, and I'll pray it won't come back and hit me.

Right, the links:

As for the future, tornado is actually still alive (maybe not kicking). I have been slowly working on a C++ based implementation of tornado ideas, and given this, I felt a new section of the website would be in order. Hence this. I'll get around to writing some new stuff on tornado (such as its implementation within Win32) when I do, and when I do I'll post it here!

And to the current day ...

16th October 1999: Whoah, a bit of a while since the last update. Well, unfortunately I ran out of time to develop Tornado, and given I'm now working on my final year project it doesn't look like there'll be much time spare for the next year or so. Sorry everyone, maybe I'll get back to it someday!

Anyway, I've removed the mailing list as it's no longer being used.

17th December 1998: Well, we're now at v2.04 which is identical to v2.03 except that it has a completely new installer which tweaks the registry etc. to automatically kick in the bootstrapping program when you run a tornado executable. Also, you can now uninstall tornado!

Other things include tidying up of error handling code - now untrapped exceptions in threads are handled correctly and inform the master thread to terminate and die (as you'd want). Also, the new bitmap code is now in there, but isn't finished as Christmas break is in two days time and I doubt if I can finish it by then. This is the reason why DirectX 3 is now needed, and it's also why the 'N' in the window's vanished - it's now being plotted into a bitmap which is supposed to be plotted in the window, but isn't yet as I haven't written the code.

Now we have a proper installer, I've hatched out the SDK and subsystem into seperate archives, so from now you'll need both. Also, this will be the last update until mid-January, sorry about that, but I won't have my PC for that time. But expect an update soon next year!

Meanwhile, have a happy Christmas and New Year!

3rd December 1998: Ooo dear, it seems we've reached v2.03 which has a number of substantial changes. Here's a new and very big screenshot (knock your resolution up to 16bpp or 24bpp to see this properly):

thumb.jpg (24673 bytes)

As you can see, we now have menus with text in and a task bar too. And yes, that is Cindy Crawford on the backdrop - she adorns my desktop when I'm using NT and Patricia Ford adorns it when I'm using 95. Makes it easier to know what's what.

Other less obvious changes include the introduction of multithreading support within the Tornado II subsystem. This has also been integrated into the data streaming subsystem, so now you'll notice in NT's task manager that hellow.exe uses five threads. See below for more information. The only other thing you may (hopefully) notice is how the window now redraws quicker - this is because me testing it on a friend's 95 machine showed how incredibly slowly it runs on a non-accelerated video card, so I went through and optimised the redraw code to use the hardware blitter more (still obviously doesn't help non-accelerated card owners, but TBH I really don't care).

Do you think it looks similar to the old screenshot of tornado on RISC-OS? Yeah, it does doesn't it! And to tell the truth, it's frightening sometimes - when I'm playing with these natty tornado windows, I sometimes get this terrible deja vue running through me which usually makes me shiver - it's like using RISC-OS except it's on windows!

A number of points ... if you get out a magnifier program, you'll notice that everything's textured, everything from the title bar to the menu background. A natty palette conversion routine scews the conversion of bitmaps so as a result you can lighten the work area bitmap eg; as the menu does. Same goes for the window furniture - the normal grey bitmap is tinted yellow when the input focus is on the window.

Also, the "N" in the window is being plotted by the test program which sends the necessary GDI calls down a data stream linking the window's work area GDI object with the test program's window redraw object. Data streams are the fundamental part of tornado which will make it revolutionary - see the old tornado site for more information on data streams. Data streams are now multithreaded objects, so effectively data stream transactions will now occur in parallel on suitable hardware. Thus you can have multiple parts of a window being redrawn simultaneously - or indeed anything which uses data streams.

As tornado is so inherently multithreading, it scales excellently on multiprocessor machines. However, it does cause a lot of extra expense on single processor machines - but I feel the extra expense is worth it. Besides, having a few hundred threads in a process does not have to be so much of an overhead - especially when at any given time only a few may be actually processing.

Update 22nd November 1998: I'm doing a lot of work on the multithreading side of things as everything will become so dependent in the future on them, so that's why it's taking so long until the next update. Hopefully also, given I notice I now have some competition (PhoenixOS), it won't be long until we see the return of our loyal and trusted task bar (which won't be anything like the RO one, but never mind).

The other problem has been people subscribing to the list who really aren't interested. That'll be fixed from now on!


Mailing list

You can join the tornado II mailing list if you wish. This is a low volume list which posts you the newest edition of Tornado II every time it comes out.

[form removed as mailing list is now closed]

You can email me if you prefer now that the mailing list is closed.

blog comments powered by Disqus

Contact the webmaster: Niall Douglas @ webmaster2<at symbol> (Last updated: 08 July 2012 20:15:52 +0100)