Web Tools
I write and maintain a few small tools to help administer this site and others. There are more elegant, more useful, and certainly better written tools out there but these are the ones I use.
- Replace. This Python script performs a global search and replace on a specified file or files and supports regular expressions. Very handy to update links in a whole batch of PHP/HTML files all in one go. Also has a "pretend" function to let you see what it would do before actually doing it.
- Sitemap. I wrote this Python script to help me generate a site map for a website: you provide login info, the FTP site, a list of folders to troll and a filename pattern to look for, and it returns a list of all the sites it finds matching the pattern. You can run this one every once in a while from your desktop to keep an updated sitemap without wasting bandwidth with a dynamic generation.
SkinDepth
SkinDepth is a simple Java application that calculates the "skin depth" of an electromagnetic wave in a conductive medium. You can use it as a calculator for eddy current inspections (both conventional and remote field), evaluate the effectiveness of EMI/RFI shielding, and similar applications. As a Java application it should run on any machine with a suitable JVM; you can download the application and a "starter pack" of materials here.
medfilter
medfilter is a simple C++ program that reads an ASCII-delimited data file of arbitrary size and performs a median filtration on the data. Median filtration is a popular tool to eliminate excessive background fields in magnetic flux leakage (MFL) data analysis. The source code is cross-platform and works great in both Windows and Linux. Download the source code here; for Windows users without a suitable compiler an executable version is also included, as is a sample data file to test its operation.
For the adventurous, medfilter2 is now available. It doesn't offer any new functionality on the command line; however as a template-based program it will now handle more than simple double data and might be of interest to the C++ users out there. Full source for Visual C++ and GCC is included; as with the original medfilter the ZIP also comes with a sample data file and an executable for Windows users without a compiler.
Coughlinux
Coughlinux is my immodestly-named embedded Linux how-to. Most of it is a do-it-yourself system, but as I develop new software for it I'll post it here.
Finding Coughlinux On The Network
If you just want a quick and dirty network scanner, try this Java app. It pings all the possible addresses in your network and reports on the ones found to be "live."
If you want something a little more elegant, I've written a console and GUI pair for both Linux and Windows and any combination thereof that will automatically find any and all Coughlinux devices on the network. Read about what they do, then download the betas here.
- Windows GUI. Should work for Windows 98, NT (4.0 or higher), ME, 2000, 2003 Server, XP.
- Windows Console. As above.
- Linux GUI. Requires GTK+ 2.0 (or higher), glibc-2.3 (or higher), and libstdc++.so.5. Confirmed to work under OpenSuSE 10.
- Linux Console. Requires glibc-2.3 (or higher), and libstdc++.so.5. Confirmed to work with base Coughlinux distro (with C++ support installed).
Finally, if you prefer to get your hands on source code, this simple C code should do the trick. Run as a client, it reports its IP; run as a server, it reports the clients that phone home. Since the code is based in part on code and concepts in Wikipedia's UDP entry, let's go ahead and say it's licensed under Wikipedia's GFDL.