Projects, projects, projects
|
Patents and Inventions |
Software Projects |
Writing Projects
Freelance Articles Miscellaneous: Perl Commandline Primer, Kernel Glossary, Linux 2.0.34 scheduler, Ackerman |
Real-time Ad Hoc Traffic Alert Distribution
Some sort of record: http://support.lcg.org/Whoswho/view_record.php3?UID=404
United States patent number 6,708,107. It describes a way to make cars on the road be able to communicate among themselves using wireless communication in such a way that they can automatically detect the existence and location of a traffic jam, in hopes that at least some of them can find an alternate route around the jam.
Software Projects
I'm not really supporting any of this software any more. Email me if you'd like to take over anything.
Public information is available at
http://www.bmts-actii.lmowego.com. In
a nutshell, my team developed an architecture and prototype of a nomadic, mobile network of
handheld and mobile computers (including things like PalmPilots) for use by the Military
Chaplains of the U.S. Army on the battlefield for the recording of emergency pastoral care ministrations. We published a paper. See the web site for more info (and here for pictures of the final demonstration we did for them).
urlmon
It has a readme file. Read it.
urlmon has a web site with the source and other stuff
timewarp
timewarp allows you to
continue using software binaries that have 'expired', that is, no longer
function due to a logical 'time bomb' implanted in it that makes it stop
working after a certain date. (This is done by some companies to force
you to periodically upgrade or have to buy the full product. It convinces
user-specified applications that the current time is actually earlier than
it really is, so the applications think that the expiration date hasn't
past. But you don't need to turn back the system clock, which would
affect all programs. It works on Linux (kernel 2.0.33 and better). Here is its announcement, and here is the source code. Oh yeah, here is the LSM file. (
Here is Grayson-timewarp. It _might_ work for 2.1 kernels, but I have not
tested it and cannot speak for it (nor support it, for the time being).)
paudio (or /proc/audio)
This is a loadable kernel modules and kernel
patch that allows you to read and save a copy of the data currently being
played by the soundcard. This allows you to save any data being played,
regardless of what software is used to play it, or what format the data
regardless of what software is used to play it, or what format the data
is in.
Some audio streaming software doesn't allow audio data to be saved to disk, and some use formats whose specifications are not publically available. This is a way around these problems. Check out the announcement and LSM entry.
This is useful also for anyone interested in how the /proc filesystem works, how some of the soundcard works, or how loadable modules work.
fibonacci
This is a loadable Linux kernel module that
creates a file called /proc/fib, to which one writes a numeric value and
then reads the fibonacci number for that value. It is my first attempt at
kernel hacking, and is intended to serve no useful function (in fact, it
can be evil--see the readme for more
information) but to allow me to learn how /proc and to some degree the VFS
of Linux work, and as a reference for anyone else who wants to know these
things. Humberto R. Baptista
has ported fib to the 2.2 kernel series. A
patch file and the updated source are here.
Slow Rain
My modification to the classic rain
program from the BSD-games collection, modified to take an integer between 1
and 9 (inclusive), to be used as a scaling factor to modify how rapidly the
raindrops strike your monitor.
Principals and Practice of Modern Information Security
With Nader Mehravari and Scott Rush at Lockheed Martin Systems Integration, I co-authored and co-presented Principals and Practice of Modern Information Security, which was presented in 8 parts internally to Lockheed and presented as a day-long tutorial at the ACM SIGSOFT 8th International Symposium on the Foundations of Software Engineering, November 6, 2000.
We recently re-presented this tutorial at Military Communications Symposium 2001 (MILCOMM) in Tyson's Corner, VA on October 31, 2001. http://www.milcom.org/2001/tutorials.htm#T-5
Lockheed Martin Advanced Technologies
Network Data Routing in Dynamic Environments of Potentially Mobile Nodes, published in the proceedings of SPIE AeroSense 2002.
Proof-of-concept Prototype of a Portable Wireless Battlefield Ministration Tracking System, presented at presented at Military Communications International Symposium MILCOM 2002. (Tyson's Corner, VA, October 31, 2001)
A State-of-the-Art Environment for Research, Design, Evaluation, Prototyping, and Integration of Dual-Use Advanced Networking and Network-Centric Information Technologies, presented at Military Communications International Symposium MILCOM 1999 (Atlantic City, NJ, November 3, 1999). (This is about some work we do in our labs.) (original MSWord97 file.)
Portable Wireless Battlefield Ministrations Tracking and Information System presented at Military Communications International Symposium MILCOM 1999 (Atlantic City, NJ, November 3, 1999) (This talks about the BMTS work we did.) (original MSWord97 file.)
(See some pictures from the MILCOM 1999 conference floor.)
Setting up a Universal File Server -- For a class that my friend Mike Eschenbrenner taught for Syracuse University's IST 555 (Spring 200) course, I wrote a lab on setting up a Linux machine to serve the same set content via HTTP, SMB, NFS, and FTP. April 2001 (The original Star Office-formatted file is here, MS Office format here.)
Securing a Universal File Server -- The sequel to Setting up a Universal File Server, this lab shows how to improve access control to a Universal File Server, serving via HTTP, SMB, NFS, and FTP. April 2001 (The original Star Office-formatted file is here, MS Office format here.)
I am available to do freelance technical writing on many subjects, including articles on Perl programming, network protocols (including protocol analyzers), information security (PKI, certificates, firewalls, ipchains, iptables, SSH, etc). I specialize in Open Source software and Network protocol tutorials. I no longer write compartive product reviews, and try to stay clear of product reviews in general, due to the possiblility that my conclusions may be construed as the opinion of my employer.
Nose Around with Snort -- A Deployment Guide about how to use a free Intrusion Detection tool called Snort to monitor policy compliance on your IP network. My working title was "Snort Like a Pig". ("Pig" as in "Police". Geddit?) . September 01, 2005 (http://www.secureenterprisemag.com/showArticle.jhtml?articleID=169400384) PDF.
Prescient PDA Protection -- A review of basic security policies and products as applied to PDAs and cell phones. March 07, 2005 (http://nwc.secureenterprisemag.com/showArticle.jhtml?articleID=60401068) .
Deployment Guide: Secure Shell -- A step by step guide for SSH-based TCP tunneling of POP3 and SMTP traffic. July 21, 2004 (http://www.securitypipeline.com/howto/22103854) PDF.
Make It & Break It: Data Scrubbing: Keeping Your Data Squeaky Clean -- A HOWTO for writing web applications that scrubs incoming data in order to prevent bad guys from using your applications to break in to your computers, with examples in Perl and PHP. February 18, 2004 (http://www.nwc.securitypipeline.com/howto/17602434) PDF.
chroot() Deployment Guide: Jail Time -- A step by step guide for putting the vsftpd FTP daemon in a chroot configuration on Red Hat Linux 9. October 21, 2003 (http://www.nwc.securitypipeline.com/howto/showArticle.jhtml?articleId=15306130) PDF.
Modular Linux Authentication -- A Workshop on using Pluggable Authenticaion Modules with Linux, especially for integrating into Windows-based authentication mechanisms. March 4, 2002 (http://www.networkcomputing.com/1305/1305ws1.html) PDF.
Linux Power Tuning -- A Workshop on performance tuning a Linux-based server. November 13, 2000
(http://www.networkcomputing.com/1122/1122ws2.html)
AC200 -- Sneak Preview of yet another traffic shaper, but this does load balancing too! June 1, 1998 (http://www.networkcomputing.com/912/912sp3.html)
Xedia Access Point 10 -- Review of the AP10, a traffic shaper (or network bandwidth manager). Pretty neat box. May 1, 1998 (http://www.networkcomputing.com/908/908sp4.html)
HP AdvanceStack 800T -- This was a plain old ethernet 10Mbps switch, but it has a cool web-based management agent. Excellent product! (Unique at the time.) March 15, 1998 (http://www.networkcomputing.com/905/905sp2.html)
Writing Projects
Academic Journals, Papers, and Presentations
Academic Classes
Secure Enterprise Magazine
Network Computing Magazine
Proprietary Infrastructure Management Review -- Another NWC article where I help Bruce Boardman with a review. Again, he did most of the work (and got all the credit, but don't worry, I got paid all the same :). May 15, 1997 (http://www.networkcomputing.com/809/809r1.html)
NNTP News Server Evaluations -- Assisted my friend Dan Backman (who did most the work) in writing a news servers critique. I wrote some perl scripts to create load and measure latency on the servers. February 15, 1997 (http://www.networkcomputing.com/803/803r2.html)
Linux JournalAstara Security Linux V4 -- I review a nifty all-in-one Linux-based firewall/proxy/relay. Linux Journal #111, July 2003 (Available online only with subscription to Linux Journal at http://interactive.linuxjournal.com/Magazines/LJ111/6716.html, local copy here)
Build a Virtual CD-ROM Jukebox -- Use a low-cost, scalable Linux server to share CD-ROM image files to Windows clients. Linux Journal #96, April 2002 (Available online only with subscription to Linux Journal at http://interactive.linuxjournal.com/Magazines/LJ96/5639.html, local copy here)
VNC, Transparently -- Secure, Transparent, and Ubiquitous Desktops with VNC and OpenSSH, Part 1 of 2. January 2002 (http://www.linuxjournal.com/article.php?sid=5499, local copy here)
VNC, Securely -- Secure, Transparent, and Ubiquitous Desktops with VNC and OpenSSH, Part 2 of 2. online only, January 2002 (http://www.linuxjournal.com/article.php?sid=5560 , local copy here)
The Perl Debugger -- An article I wrote for issue 49 of the The Linux Journal. I really enjoy writing tutorials, much more than product reviews. May 1998 (http://www.linuxjournal.com/article.php?sid=2484, local copy here)
Miscellaneous
Perl Commandline Primer -- An introduction to using the commandline features of perl.
The Linux 2.0.30 scheduler -- An early version of a study of the Linux scheduler I did this summer. I hope to get it included in the Kernel Hacker's Guide someday. (Here is an email message I sent to someone, with some explanations of things that have to do with the scheduler, i.e. how much time a process executes before being rescheduled, and how one might implement a different scheduling decision algorithm.)
Ackermans' Function -- A question on a homework from my Analysis of Algorithms class wanted the answer to Ackerman 4,4. Well Ackerman is an algorithm that grows at an incredible rate. Check out my solution. (I've been told this isn't the "classic" Ackerman function. Oh well.)