![]() |
Computers | |
| Home « Computers | ||
Overview
This section of the web site used to be under the Hobbies section, but in March 2006 I decided that the subject of computers and software is so important to me that it was promoted from being a hobby to a top-level subject of the site.
A bit of history: I caught the computer bug at high school in 1974 writing simple FORTRAN programs on punch cards. In 1977, after doing two and a half first years at different universities, I found a job as a computer operator at Computer Technology (later Mayne Nickless). From 1980-1983 I wrote COBOL and S/360 assembler on Fujitsu mainframes. From 1983-1989 I was a systems programmer and assembler specialist on Fujitsu mainframes. From 1989-1993 I was contract systems programmer on Fujitsu and IBM mainframes. From 1993 to the present I had been writing software for Windows, Unix and OS/2 using COBOL, REXX, C, C++, Visual Basic and C#. I now specialise in .NET development.
That history should hint why computers and software are both my profession and hobby and why I created this major section of the web site. The computers section contains complete descriptions and working versions of many of my hobby projects, most with full source code. I hope these projects and my blog will be of use to other developers and contain useful advanced techniques that will help newcomers to .NET development.
A serious discussion of my professional background and skills can be found at http://www.orthogonal.net.au. The page titled History contains some classic pictures of books and computer centres from the 1970s and 1980s. The Gallery section of this site contains many photos of the Computer Room and Screen Images spanning 15 years.
Development
Development Blog
| My Development Blog page used to contain a list of "Stuff-Ups and Disasters" at Nancy Street, but I've converted it into a contents list with sub-pages related to general networking and development topics. There are some very technical discussions of deep matters which might be of interest to other software developers and systems administrators. |
Windows Applications & Libraries
| NTag | The NTag library is a replacement for the old tagnetlib library. NTag uses a plug-in architecture to support arbitrary tag file formats. The only working plug-in at the moment is one for ID3 tagged mp3 files which implements a significant subset of the ID3 V1, V2.2, V2.3 and V2.4 specification (more than tagnetlib ever did). A plug-in reader of wma files is provided, but it doesn't update wma files yet. | |
| Onyx | A Windows .NET Forms application which allows efficient viewing and bulk editing of the TAG information inside audio files. Version 5 is now available for beta testing. | |
| Win32FileFinder | A utility class that finds files using the FindFirstFile and related Win32 API calls. The class hides the complexity of the underlying API calls, handles and return codes. Callers simply listen to the FileFound event which returns managed FileInfo and DirectoryInfo objects. Callers can incrementally consume the find results and cancel the search. | |
| ResourceLib | An open source C# library that uses Interop to read and parse the resources in a Win32 PE image. A Forms application is included that uses the library to create a resource browser and a bulk Icon extractor utility. | |
| csutylib | An open source C# library of miscellaneous utility methods, classes and Forms custom controls. There are ideas and techniques used in this library that I hope will useful for developers of all levels of expertise. | |
| optlib | Deprecated - See the notes on the page. | |
| snklib | Deprecated - See the notes on the page. | |
| FolderExplorer | A Forms Custom Control that efficiently simulates the appearance and behaviour of the Windows Explorer folder view. A driver Forms application shows how to use the control. | |
| randplot | A Forms application that plots random numbers generated by a variety of standard and famous algorithms. You can plug-in your own random generator variables to see how they perform. See also: Hobbies - Random Numbers. | |
| stringhash | A playaround Forms application that compares the distribution and behaviour of string hashing algorithms. See also: Hobbies - Random Numbers. | |
| duplib | An open source C# library and driver Forms application that scans the file system for duplicate files. Not fully completed, but working. | |
| Screen Saver | A Win32 C++ application screen saver that creates geometric and mathematical patterns using random numbers. |
Command Line Utilities
| ngrep | A .NET command line utility that searches text files for strings using regular expressions. Many optional switches can control behaviour. Microsoft provide the findstr utility, but this simple home-grown command still seems to be more powerful. | |
| grepf | A .NET command line utility that searches text files for strings using regular expressions and then copies or moves the files containing matches. | |
| nvarcmd | A .NET command line utility that issues commands with variables substituted at runtime. Very useful in batch files. | |
| nrename | A .NET command line utility for bulk file renaming. Very powerful and very dangerous in untrained hands. The command requires an understanding of regular expressions. | |
| resxtract | A .NET Command line utility to extract binary resources from xml resource (resx) files and write them out to separate files. This facility is somewhat redundant now that Visual Studio 2005 can can use links to binary files rather than embedding them inside XML. |
Web Applications
These web applications not be of interest to the general public, but they are presented here just in case they're needed for demonstrations.
| Photo Database | A simple web interface to the Nancy Street photo library database. You can find photos by category, subject and other search criteria. | |
| Music Search | This single web page "quick search" facility was created in November 2003 so visitors could quickly search the Nancy Street music database for artists, titles or keywords that interest them. | |
| Monitor | A replacement web monitor has arrived. The old one one used a web service and was quite outdated. The new application is a single-page ASP.NET 2.0 application, but it uses a background thread to resolve the IP addresses of visitors and present them as pop-up links. | |
| Mica | Mica is only a stub page at the moment, but it is planned to become a sophisticated web app for searching and navigating arou the Nancy Street Opus music database. Mica replaces the old Muse application. |
Java Applets
These Java Applets popup in secondary browser windows. Although I've been writing Java since 1996 and spent 2 years writing enterprise Java integration systems, these very old and tiny applets are the only remaining evidence of my Java skills. I think the Random Fun and Polynomials applets still look quite attractive many years after their creation.
| Random Fun | The first Java applet I wrote back in 1996, and it's still working all these years later. The Random Numbers hobby page explains the origins of this applet that plays with random numbers. The applet was eventually converted into a Windows Screen Saver. Source code: randfun.java, randcnvs.java. | |
| Polynomials | See the Polynomials hobby page for an explanation of the origins of this applet. You can plot polynomials up to degree five (quintic) by adjusting the coefficients of the terms. A contour plot can be generated of the abs value of the polynomial in the complex plane. Source code: poly.java. | |
| Alien Shootup | A crude but completely working "shoot the evil alien monster with a mouse click" game. See the Shootup page for more details. The flashing images of evil aliens are quite nice (can you recognise where they are from?). Don't shoot the good guys! |
Due to bookshelf congestion following the Nancy Street Rennovations in late 2004, thousands of magazines and books were sitting in boxes in the carport for almsot 3 years and it was decided to have a huge purge of all worthless paper. Over a period of several months, the paper is gradually disposed of via the regular Friday morning council garbage collection system. In the purge went stacks of magazines like National Geographic, Time, and Astronomy, as well as many PC magazines and duplicate Scientific American issues. I had lived with some of the Fujitsu (Facom) computer manuals for so long that I took photos of the covers for sentimental reasons. Click the thumbnails below to popup 800x533 enlargements of the covers of the manuals taken on the days they were dumped.