Introduction
Welcome to my tiny corner of the Web. This site contains all the Freeware software I have developed over the past 30 or so years. Most of the apps are for 32-bit Windows and would probably only be of interest to Windows developers, however there are also a few apps for more general consumption.

Some of the stuff here, such as that for 16-bit Windows and DOS, is ancient and probably of no interest to anyone, but you never know what people find useful, hence the reason why I have included some trivial DOS programs and even my unfinished projects. It is my attempt to give something back to the development community, even if that "something" is how not to do it nowadays.
Latest Releases
23/11/2023 DDE Network Bridge v2.5 [Win32] Release Notes
12/11/2023 FarmMonitor v0.9 [Win32] Release Notes
26/11/2022 DDE COM Client v1.1.2 [Win32] Release Notes
19/10/2018 Ansible Vault Command v1.0 [.Net] Release Notes
09/10/2018 SerialPort v1.0 [Win32] Release Notes
Work In Progress
Windows Compatibility
Most of the 32-bit applications were developed and tested under Windows 9x, 2000 and XP and the underlying framework started out on Windows 3.x. My aim has always been to try and keep as much compatibility with the various 32-bit OS's as possible. (I've had questions about using my DDE tools on Windows 95 as recently as 2017!)

The applications tend to use the older technique of storing their settings and data in the application's folder, a model which has not worked well since Windows XP, although Vista introduced a virtualization based workaround. Consequently if you are not running as an Administrator (and you should really try not to), you will need to install it to a folder other than Program Files. I will be updating the applications when I can to use the %APPDATA% folder instead for data, and allow the choice of Registry or .ini files for program settings.
Binaries
Binaries are available for virtually everything with the more recent releases packaged as an MSI installer. I'm also returning to providing a classic .zip file once again for those who prefer manual installations. Prior to the use of MSIs you will just find the binaries packaged in a .zip file sometimes with my own simple, custom installer.

The native applications are all linked statically and use my own framework so there are no additional dependencies like the VB, MFC or .NET runtimes. The only dependency is on the common controls DLL (COMCTL32.DLL) of which you need at least v4.71 which shipped with IE 4 :o).

All the Win32 applications are available as both a Release build and a Debug build. You should always follow the Download (or ZIP) link and install the Release build; the Debug build is only of use if you experience a problem and you'd like to help me try and fix it.

The Java applets are all JDK 1.1 based and should run on any JVM.
Source Code
The source code is available for everything I've written, so if you want to tinker or fix a bug then you can. Alternatively, if you want to use some of this code in your own then feel free to do so, but you should be aware that I do not consider this "production grade" code.

The C++ framework is my own creation and has a long heritage which pre-dates templates (as far as Visual C++ support goes). Hence you will find non-STL style containers in the older code and other reinventions of the wheel rather than use of, say, the Boost libraries. This is because of a number of reasons - compiler support, licensing issues, paradigm shifts and the simple fact that a good way to learn is to do-it-yourself. That said, I intend to refactor as much as possible with STL equivalents as and when I can.

To build binaries usable on Windows 95+ effectively means using Visual C++ 7.1 -- aka VS2003 -- which in turn means sticking to C++ 98.

Project/Solution Format

From January 2016 all C++ source archives come as Visual C++ 9.0 (VS2008) projects and solutions with Unicode set as the default build type. The code should however still build as ANSI and is also regularly built against the latest version of Visual C++ too. (My Scripts repo contains a script called DowngradeTo71 which makes VC++ 9.0 project and solution files compatible with VC++ 7.1.)

The non-COM libraries and some non-COM applications are also built as ANSI with GCC (via the Code::Blocks IDE). You will find a Code::Blocks .workspace file and various .cbp files alongside the Visual C++ .sln and .vcproj equivalents. The Code::Blocks files are not always perfectly in sync though.

Prior to January 2016 you will find Visual C++ 7.1 solutions back to about August 2004 and before that the Win32 solutions are Visual C++ 6.0 based. The Java solutions come with a Visual J++ workspace, the Win16 code comes with a Visual C++ 1.52c solution and the DOS tools come with an NMAKE makefile.

Latest Code vs. Stable Snapshot

The latest version of the source code for any projects I actively maintain can be found on GitHub here: https://github.com/chrisoldwood. Most projects contain a file in the root called DevNotes.txt that provides details on the source folder structure, dependent git library repos to clone, build scripts, testing notes, release checklist, etc.

If you're looking for the last stable source code for any application you will find a snapshot of everything you need (app + libs + tests + scripts) in the application's "Source" .zip file on this web site. Whilst there are tags in the GitHub application repos, there is no equivalent tag in the dependent library repos and so you'd have to find the nearest relevant commit by date to find the matching library code.
License
While I'd like to think that Wheaton's Law should be enough of a "legal framework" under which users of my code should abide I realise that it's just not formal enough for everyone to be confident about where they stand. Consequently if you're looking for something more formal then you should consider everything I publish as being covered by the more common MIT License. (All repos should have a LICENSE.txt by now.)

Of course if you do find something of interest, either by using one of the apps or some of the source code in your own projects I would be grateful if you could drop me a line. It's always nice to hear that I've done something of use to others, no matter how small. Also, if you upload a binary or code to another site please let me know as I can then notify you and them of new releases.
Warranty
I hope you're not looking for one of these either, because it also doesn't exist. All the code on this site is supplied without any guarantees whatsoever. If I've done a decent job you shouldn't experience any problems, but I have to cover my back and warn you that only get what you pay for...
Credits
Some of this software could not have been written without the time and resources of others, and so here is a big thank you to the various people who have contributed to my efforts over the years.
Blog
I have a blog which provides some more background information on the applications and source code on this website and for other general ramblings. It can be found at http://chrisoldwood.blogspot.com.
Feedback
I am happy to receive any feedback you have, whether it be bug reports, bug fixes, or suggestions for new features. You can contact me on email via gort@cix.co.uk, Twitter via @chrisoldwood, and Mastodon via @chrisoldwood@mastodon.social.

Chris Oldwood