September 2009 Project Updates

I know I haven’t been posting a lot, but here’s an update on some of my projects:

  • PHP EMS Tools – I’ve done quite a bit of work for the ambulance corps, and intend on rolling this into the main distribution. I’ve also added an Asterisk/AGI module to handle crew call-ins. It’s going to be a long road, as I have to manually diff the ambulance corps version to the trunk version and merge the changes (leaving out anything specific to our organization), but I plan on doing it. The next version will also include historical tracking of roster information (member information, status, positions, committees, etc.) and LDAP integration for authentication.
  • PHPsa – My new project, tentatively called PHPsa, is an integrated dashboard for sysadmins. The idea is to develop a plugin-based portal for SA tools. Currently, I will be including some of my own projects – MultiBindAdmin (a tool to administer BIND and DHCPd, specifically geared towards split-view DNS with the inside behind NAT) and RackMan (a tool to track and visualize the location of devices within racks, including ability to temporarily move devices around) – as well as my updates to Nathan Hubbard’s MachDB.

I’ve also done quite a bit of customization of the current version of Nathan Hubbard’s MachDB. My local version is in subversion. It adds detailed network interface information, information on expansion slots, and some extra details for the system and storage. I plan on developing a patch and contacting Nathan once I get a chance. It also includes a Python collector script that I developed.

Update

I’ve been incredibly busy lately. But I have 2 quick updates-

1) tuxOstat, my thermostat project, isn’t totally finished, but is up and running. There’s still some work to do, but the code is largely complete, and in CVS. There’s also a web interface with temperature graphs, system status, and a (horrible) webcam view of the LCD control panel. I’ll probably be finishing up a first version this week, finishing the documentation next week, and releasing what I have soon.

I got an e-mail today about one of my older projects, PHP EMS Tools, a PHP/MySQL based application for fire/EMS agencies to handle scheduling, membership rosters, equipment checks, etc. The potential user was asking about running the software on Windows – which, of course, I have no experience with. I’m pretty sure there aren’t many, if any, Unix-specific calls hidden in the code, and advised him to try XAMPP (Apache/MySQL on Windows). But I did take a moment to comment on why I chose Linux. My pilot installation of PHP EMS Tools, at the Midland Park Volunteer Ambulance Corps, where I’ve been a member since 2005, has been handling our scheduling, roster, and equipment checks since June 2006. It’s running on a generation 1 Compaq Proliant DL380, running dual Pentium III 733MHz processors and 1GB memory – and even with a number of other programs on it, including ieilogd which is reading from the serial port 24×7 – the load average has never passed 1.2 and the memory usage is well under 50%. More importantly, the system has been up for 442 days without a hiccup!

Blacklists, Network Performance, New Project, XKCD

Part 2 of today’s thoughts…

Blacklists, Blocking, Reverse-Validation – Yes, they have some uses. I use Daemon Synchronization in DenyHosts and plug-ins like Pyzor in SpamAssassin. However, I’ve also been the victim of blacklists, and the new Internet order, many times. There’s a conspiracy between ISPs – simply put, big ISPs want everyone else to use big ISPs. I understand the logic behind reverse-validation. However, I have a residential internet connection. I also run Linux. When I got Verizon, I configured Postfix to deliver mail directly. Big mistake. Most big email providers (AOL, MSN, probably Gmail too) will bounce back e-mail that comes from a domain that doesn’t reverse-validate. And since Verizon owns my IP, despite the substantial sums of money they’ve been getting from me, my IP doesn’t reverse-validate to my domain name. To top it off, Verizon blocks the usual SMTP ports on residential connections, so I can’t have people send me e-mail either. Everything needs to be relayed through Verizon. To add to the frustration, Verizon blocks port 80 on my connection, so I’m forced to serve my whole site on an unused (and un-blocked) high-numbered port. And use DynDNS.org to redirect to my dynamic IP. This wouldn’t be so much of an issue if I didn’t know that some large companies have firewalls configured to block HTTP requests *OUT* to any non-default port. As a result, my own father can’t view my web site or blog from work. What ever happened to the little guy?

Network Performance – I know I have old computers and an old switch. But there’s something wrong when network file transfers crawl by at ~3 Mbps. I setup nttcp on two of my machines to measure throughput, and was greeted with numbers in the realm of 93-96 Mbps – what I’d expect on a 100 Mpbs network. However, a file transfer between these two machines barely scratched 8 Mpbs. Maybe GigE is the answer, but I’ll be looking into the theory behind this in the next few days – admittedly, I don’t know much about network performance, but I’m willing to learn…

New Project – I’ve started planning on a new project, openEPCR. My PHP EMS Tools package for EMS and fire agencies seems to be generating a lot of downloads (yet little community interest), and I’m now seriously thinking about the lack of a free, open-source Electronic Patient Care Report package for the pre-hospital care industry. A lot of these organizations are volunteer and operating on limited budgets. Stay tuned… all I’ll say is that what I’ve planned is something that you’d expect from me – open-source, platform-independent, and geared towards limited hardware resources. I’ll probably be looking towards Java as a development platform, though the interest generated in Google Gears may also pay off. Of course, there’s no way I can do such an ambitious project myself, so I’m looking for developers to help out.

Comic – pretty much the only non-serious content in my Google Reader account is XKCD.com. It’s a great comic with wonderful technical and geek humor. Today’s comic was so good that I just had to include it…

Update

I haven’t been too active on here lately, mainly due to spending my summer as a paid transport EMT, working 50 hours a week or so, and still trying to keep up on “life”.

I have a few things planned for the next month or so of summer, so stay tuned. Some of them include:

  • Redesign of my site including lots of information that’s been stored away in text files, and a new wiki for technical information.
  • Some embedded development work, and notes on that.
  • Converting some sort of low-cost handheld computer, tablet, or eBook reader for use as a Linux-based RSS reader (updated over LAN nightly and cached locally), hopefully including an image of my software as well as some conduit to an RSS reader program, and ability to email a list of “flagged” articles on sync (RSS update over network).
  • A vast update of my Code Repo with most of my home-grown F/OSS programs, including my (very basic) web-based budget/finance program.
  • An update to PHP EMS Tools
  • Notes on my experience with MythTV, an integrating it with IR controls, Cablevision SA set-top box, and ultimately a “smart room”.
  • My never-ending quest to find a way to interface a CDMA handset to a computer for purposes of sending SMS from the command line (Nagios out-of-band alerts on a budget).
  • A trial run of Asterisk and VoIP from the house to the dorm.
  • Some more projects including:
    • Finding and implementing a hardware/software trouble- and change-tracking system, which will also integrate with my Wiki.
    • Choosing bug tracking software for my internal projects.
    • Choosing and implementing a network-wide backup system to handle *nix, Windows, and my remote *nix machines.
    • OpenSolaris.
    • Figuring out a system to handle automated nightly/weekly tasks on my diverse machines including log analysis, backups, software updates, and the usual stuff (SpamAssassin updates and training and other routine tasks).
    • A status tracker/to-do list of my numerous projects.
    • Releasing most of my web-based kludges under GPL for anyone who may be interested.