I coordinate a number of Open Source projects, Blog occasionally and link to some old interests and side-project from the past on this site.
I do not post on my wordpress blog very regularly as I only try add stuff that took me a while to figure out and is worth writing about.
When I do I use the free Open Live Writer, a open source fork of the Microsoft Live Writer.
Visit wvdvegt.wordpress.com for a full overview.
I am the coordinator of a number of C# based open source projects on Bitbucket (as a replacement for CodePlex).
GhostBuster
A quite popular tool to remove ghosted devices from the Windows Device Manager with a single click.
Picasa Downloader
Like ghostbuster a quite popular tool to download whole (public) albums from Google Picasa without depending on a Picasa installations. Basically all you need to know is the picasa username.
SharpForth
A Forth Interpreter written in 100% C# (it's almost ANSI X3.215-1994 / ISO compliant). Due to the use of C# a small number of low level features cannot be implemented (as it does not use the usual flat memory approach where forth can modify it does not implement features that modify programs and stacks in memory).
ILMergeGui
A tool to merge assemblies together or into an executable. I do not coordinate this project but maintain it (after a total rewrite of the existing basic code into C#).
The following C# projects are not publically available yet or anymore:
Latent Semantic Analysis
A port of my php_lsa php plugin project written Borland Delphi. The purpose of the library is to do LSA analysis on documents. It needs sparse matrix classes from Swiss Tools. Note: although running there are still some minor discrepancies between the Delphi and the C# version.
Wix Builder
A library that enables a programmer to quickly generate a Wix Installer by running an application. Wix Builder can scan the target project for files (so can add new files automatically).
Swiss Tools
A collection of components I used in the other projects.
Electronic Workbook Editor
An editor to quickly generate course frameworks for both Blackboard and Moodle 1.9.x.
I've created a few scuba diving related calculators for educational purposes (so please (double) check any outcomes as mistakes are easily made):
DGD (Dworkin's Game Driver) is a Modern Mud Server for which I wrote a couple of extensions. They are outdated a bit but given time and the availability of a fully patched release of DGD I will update them again:
Once I programmed a lot in Asymetrix's Toolbook and created some nice libraries like OpenSock, a native wrapper for Winsock that allows Toolbook to emulate Winsock clients but also servers.
Because of the power of Toolbook it's also easy to create applications like web servers serving dynamically created WebPages or VRML models. See the following links:
OpenSock for Toolbook is a openscript that lets Toolbook function as a server (http, (t)ftp qotd ect) while interacting with the content of the ToolBook application.
It has a separate page with the changelog.
Furthermore I played a lot on Kobra-mud. This mud is based on Star Wars and is, due to it's size, attention for detail, humor and other players, great fun to play.
I've also collected some useful Zmud triggers for Kobra mud. See the following links:
Version 1.2c is available, although i still have to finish the documentation and rework the demos.
I've also provided a mtb40 version of the widget book. I'll be working on an integration of the widget property editor and the online help for that version. I had to leave out the rasdial widget because it's a 32 bits dll i used. I'll look into the 16 bits version when i have some time and find a suitable sample in c or delphi to determine the value some hard to get constants.
I've left out the samples this time because i have to redo them with new scripts (and yes, i know that my spare time is limited too).
Last thing i want to work on is the udg mode winsock applications can use to setup connections. I plan to implement the TFPT protocol (which is a very lightweigth file transfer protocol that looks a bit like good old xmodem).
Good suggestions, discard the idea that content should be on disk or existing at all.With toolbook you got the full programming power of Toolbook to generate whatever contents a client application need to be fooled into thinking what you think it needs to see. Furthermore OpenSock lets you use the internet to your advantage from within toolbook. With Opensock you can e-mail without depending on a particulair brand of web browser being installed, all well contained from within your application.
If you got any questions or good ideas about opensock, feel free to e-mail me.
version 1.2c (tb-ii/5) or version 1.2c (mtb40)
CPU | Internal memory | Local browsers | Remote browsers | Request size | Speed | Throughput |
DX2-66 | 20 Mb | 1 x IE4 | 20kb | 0.4 req/s | 8kb/s | |
P133 | 80 Mb | up to 3 x IE4 | up to 3x IE4 | 20kb | 4-5 req/s | 80-100kb/s |
P200pro | 64 Mb | todo | todo | 20kb | ? | ? |
Added first version of start server handlers, simplifying starting servers by hiding more details. Never released.
Initial release to ftp.asymetrix.com and the TB II developers corner news at www.asymetrix.com.
This book shows how to use the LZexpand API to decompress files. LZexpand decompresses files (on file by file basis, so not archives like zip files) compressed with compress.exe. Compress is a microsoft utility, part of the NT resourcekit. I don't know if it's available for free somewhere.
The demo needs a book called test.tbk compress to test.tb_. This can be done with COMPRESS -r test.tbk or COMPRESS test.tbk test.tb_. The NT version seems to work fine under windows 95 too.
A wrapper to show live video from a windows imaging device under windows 95. It wraps around the video for windows capture Api. It's only tested under windows 95 and is extremely sensitive to toolbook dialogs popping up over the video capture window (if the video stop, windows will most likely reboot without any warning, delay or question (= a crash).
Besides showing video on top of a stageobject that function as a placeholder this demo also contains code to grab video images and paste them back into toolbook as either a image or in a richtext field.
Equips toolbook with a console window. It runs under both windows 95 and windows NT 4.0. A console window looks like a dosbox, but one that can be written and read from by toolbook. So toolbook can emulate for instance a legacy application including key and mouse handling.
It runs fine under windows 95 unless you press either CTRL-C or CTRL-BREAK in which case toolbook will crash (although the API says it shouldn't). Windows NT 4.0 preforms much better and lets toolbook handle the CTRL-C and quits (very fast, but clean) if CTRL-BREAK is pressed.
DAO is short for Database Access Object and is a microsoft product that comes with a lot of new Microsoft products like msoffice 97. It simplifies database access and gives access to the msaccess jet engine and has a backdoor to ODBC databases too. The DAO engine itself is a OLE32 control that is access by TBdao through an 32 bits mfc 4.2 dll written in Microsoft Visual C++ 5.0 (SP3).
The Toolbook-II demo that can be downloaded is a fully functional dll that can retrieve info from an access database demo called advworks.mdb. All files should be copied into one directory. The TBdao demo only supports reading the database and retrieving infromation about the database like fieldsizes, names and types. Modifying the database is what I'm curently working on.The TBdao dll is a debug build and doesn't contain a lot of checks yet (like if the database really exists), so may crash in which case win95 has to be rebooted.
DAO works by defining a workspace that can contain a number of databases (for example mdb files). Each database in it's turn can contain a number of recordsets (SQL queries) that can be read.
Through attached tables or external datasources dao should be able to read dbase files, excel spreadsheets and paradox tables too. It also provides a backdoor to ODBC called ODBCdirect so there is a possibility that you can access SQL server and Oracle too.
Under windows NT 4 the dll has more features like being able to update and add records to a database. This due to the fact that 16 bits apps are not allowed to start multiple threads in 32 bits dll's under win95 (seems to be a feature of win95 by design and not a asymetrix thingy). Dao is a multithreaded ocx control, altough it only seems to use additional threads when updating and adding record.
Lastest developments:
This sample shows how to obtain information from the APM system (Advanced Power Management). It can retrieve info like is this computer hooked into the AC line or is it battery powered and if so, how long do the batteries last.
The program also contains a sample of how to interact with suspend notifications (although i must confess canceling a users choice didn't work well).
Equips toolbook with an icon in the systray area on the taskbar. The icon is controlled using OpenScript. It features a sample of how to change the tip (pop-up text) and how to translate it;'s window messages so you can have contextmenus on the trayicon. The result of the menus (which are stored as resource inside toolbook) is handled by toolbook messages, just like normal menus. To remove the main icon from the taskbar it's neccesary to hide the mainwindow instead of minimizing it (otherwise it will still have a large icon). A sample of that is also in the TrayBook.
TrayBook hasn' t been tested yet under windows NT 4, but runs fine under windows 95 osr2 with IE4.01 with shell extension.