Perl hacks
My stuff: |
|
.wgz.org: |
|
.wgz.com: |
|
Other stuff: |
|
Publications: |
|
Try this at home...
I like writing Perl programs. To me, the language is
beautiful, and code just seems to flow artistically. I also like
solving problems (especially weird problems I make up). I end up
writing a lot of Perl programs in my spare time to do weird
things. Here are some samples. Maybe they'll be useful to
somebody else.
Perl Modules
My modules on
CPAN
GTFS data programs
These programs do various things with
Google Transit Feed Specification data.
- parseData.pl:
Given a directory containing GTFS files (*.txt containing valid
CSV), this attempts to create an SQLite database and import the
data in the files, thus providing a database representation of
the transit data.
- mkpoi.pl: Given the
database in the previous step, this creates Garmin POI-Loader
compatible CSV files listing each transit stop with some data.
Right now, this program is TriMet-specific.
Programs for D-Link DI-614+
These small programs interact with a D-Link
DI-614+ access point/NAT mangler to retrieve various
information through its built-in mini-webserver. They use
Net::Netrc (~/.netrc) to retrieve login information, and display
localized dates, assuming your 614+ is set to GMT (maybe I could
make them verify that fact). I've abandoned trying to get
daylight savings time set correctly on what is pretty much just a
network infrastructure device anyway.
I've hardcoded my 614's hostname as a default in most of these
because I'm lazy. You might want to modify it unless you're more
lazy now than when you run it.
- get_log.pl:
Retrieves the most recent log entries.
- get_log_full.pl: Like the
previous entry, but instead of just parsing the log page (which
contains around 10 entries, and not necessarily the most
recent), actually retrieves and parses the complete
logfile.
- get_clients.pl:
Retrieves the list of connected clients.
- get_mac_filters.pl:
Retrieves the current list of MAC addresses that are
filtered.
- add_mac_filters.pl: Adds
the list of MAC addresses (: or - delimited) to the MAC filters
list. Hostname is the required first parameter.
vCalendar/iCalendar utils
Here are some quick utils to work with vcalendar and icalendar
data.
- fb2ical.pl: Converts
FreeBusy input to iCalendar output -- very rough and quick,
does no input validation, and doesn't use
Net::ICal. It works great for putting Free/Busy info from
Outlook into iCal.app and korganizer.
© 2012 Brett T. Warden