WelcomeThere used to be a lot of info here about some of my projects, like TriangleOS, a hobby 32-bit x86 Operating System. What you see here is only a summary, but someday I'll give all the old original pages some new place.
Nowadays I'm working on Stunf, a startup I co-founded. We make user friendly web applications for small businesses: Thymer, a project management & task planning application, and Papyrs, a drag & drop intranet to organize your business.
TriangleOS was purely a hobby project, which I haven't touched for many years now. So people waiting for a new version: I don't see that happening in the near future, sorry :).
As part of my master thesis, I did however continue some OS research, by adding support for resource reservations and FPDS to the uC/OS-II real-time kernel.
Here you can find a summary of the TriangleOS Project.
Virtual File & Database SystemThe Virtual File & Database System (or VFDBS) was the name of the new storage layer in TriangleOS, that was still under development. The idea was to merge file systems with databases, at the virtual file system level. This would bring all kinds of features to the underlying file systems, even if the original FS didn't support it (such as journaling for FAT). I wrote quite some pages about it, which you can find here if you're interested: Virtual File & Database System [PDF]
Screenshots & User InterfaceNext to the VFDBS, I put most of my time in designing User Interfaces. My first ever GUI VESA project was from 1997 (8-bits!). It showed the user an image of the computer with the hardware it detected. This meant the user could just click on the image to access different parts of the computer. If you'd unplug the printer, or opened the CD drive, it would reflect in the User Interface.
1997, first UI
DownloadThe latest and greatest (that would be 0.0.3, from the beginning of 2003!) binary you can download here.
Please read the README.TXT first. This file contains information about installation, known problems, etc. The .ZIP file contains a .img file. This is a disk image, which has to be written to a 1.44MB floppy. This can be done by using utilities like dd or rawrite. If you are using dd: dd if=image.img of=/dev/fd0. If you use rawrite for DOS, type rawrite image.img. With rawrite for Windows, you can just select the image file and the destination drive (A:). Or, in the modern age, just use a VM to try it out.
|0.0.3||30 Apr 2003||TriangleOS 0.0.3 - Release.zip||337 KiB|
|0.0.3||30 Apr 2003||README.TXT||14 KiB|
|0.0.3||30 Apr 2003||changelog||5 KiB|
The old versions didn't make it to this summary page.
The latest development version, 0.0.5 was never released. Although it did support many more filesystems (CDFS, vFAT16/32), and even had a port of the GNU C Compiler, I never got around to finish it. -
GoalsIn 2000 (at 15), out of a hobby to experiment a bit with OS design, and try out some new ideas and implementations, I started writing TriangleOS. That's perfectly normal, right?
The "goals" of the project were to create an OS, with the following features:
User-Friendly - A new interface should allow the user to perform all tasks very easily, including more ‘complex’ or ‘advanced’tasks such as adjusting system settings or managing the enormous amount of data on our computers. This UI should be pretty much consistent through different devices as well (e.g.the interfaces of a PC, TV, Mobile Phone, etc. should be pretty much the same).
Small - The TriangleOS-Kernel+GUI with default applications (like a Webserver, etc.) fits on a single floppy (a what?). This way TriangleOS can be used on a lot of devices, also with lower storage capacities. Why throw your old 486 away when you can still use it as a server with a GUI!
Secure - The Application Security Layer should prevent things like internet worms and viruses, by limiting applications’s rights and privileges. OS files are always protected. System events are saved in a Security Log.
Server- and Desktop - The OS should be suitable for both Server and Desktop tasks (with the same ease of use). Writing a letter should be as easy as publishing information on a webserver.
Let the computer do the work - A lot of tasks can automatically be performed by the computer. The user should be able to easily instruct the computer with new automated tasks, such as nightly backups, giving warnings on security issues, etc.
Quickly access information - Centralise all data. Whether the data concers persons, appointments, events, e-mails,programs, pictures, etc., the user should be able to quickly find anduse the data. The user has to be to ’search’ for information, ratherthan having to remember where information is stored. Consider thingslike:
- show me the weather forecast
- backup all my e-mails I sent to Peter yesterday
- delete all files older than two months
- i want to type a letter; show me the application i need!
Mobility - This is connected with the previous pointof being able to quickly access information. Information can befiltered and copied to mobile devices. Synching should also be done by the system itself. Instead of an online “E-Mail”service, some kind of online “Data” service should be provided.
(Hardware issues- Another aspect of using the computer that should really be changed is the ’startup’ or ‘booting’. Like a TV, pressing the power button shouldsimply turn the computer on and off. Having a power button on the PC that you can’t really use is quite weird. This isn’t all software’s fault; the hardware should also change. Luckily a lot of the boot process is already hidden to the user, but the BIOS really needs improvements.)