Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Tools ignored (or misused)

by Rhys (Pilgrim)
on Sep 04, 2004 at 17:24 UTC ( #388519=note: print w/replies, xml ) Need Help??

in reply to Re: That screwdriver looks like a hammer...
in thread That screwdriver looks like a hammer...

I wrote - way back - a quick and dirty little program to find people who had attached their own hubs/switches to the network. I have just started dabbling in Perl and SNMP, so the first few scripts were quite horrible, inefficient, and (worst) similar to each other.

Several years later, the tool is still in use, but has a built-in Web interface (that needs to be re-written to use CGI;, now that I know how), many different kinds of reports, much better SNMP handling, and a built-in arbitrary MIB query tool for the desparate debugger (usually me).

Naturally, only one of these functions is actually used by any number of people, despite the fact that I hear them whine every day about not having this piece of info or how the ports are set on xx device. "~ has done that for years," I say. Blank stare. Sigh.

At least there are two guys who use some of the more interesting features on a regular basis. These two understand 'intelligent laziness'. Sure, you *could* do it manually, but what's the point, especially when you need to do it accurately, and you need to do it 30 times?

Ironically, the best thing to come out of the whole project - aside from my drastic knowledge gain in Perl, SNMP, and several other related topics - is that a lot of the app is written as modules. Originally, this was just to speed the thing up, since modules (and SelfLoader) were a great way to only load and interpret the code for the report I wanted. But later, I realized that several of the modules became what modules are meant for: I'd built a fairly functional API!

Since then, I've used those modules (and CGI, and...) to create several other Web apps (and cron jobs), and those for some reason are much more appreciated. Go figure.

The whole thing is due for another rewrite. I still do a lot of things manually that Net::IP, Net::IPv4, CGI, several other modules do better and faster. But it was certainly fun!

If anybody wants to play with the app, it's called 'JScan' (named after me, originally, since at first I didn't anticipate that others would use it), and is at JScan.

Replies are listed 'Best First'.
Re: Tools ignored (or misused)
by graff (Chancellor) on Sep 05, 2004 at 02:11 UTC
    I think it would be worthwhile to change the name (before it spreads too far) -- for most people with anything close to a current understanding of software, an initial "J" in an app name tends to imply "written in java" (which, for me at least, would tend to steer me away from looking any closer at the app, unless I really had to).

    If I had seen the name first, then learned that it was written in Perl, I think I'd be disoriented for a little while...

      The original was written just before the Java craze really took hold, or I might have named it differently. Maybe not, since I'm still named 'Justin', and everyone here knows exactly what the 'J' means. :-)

      But when I post descriptions/requirements, I do make sure to mention Perl and certain required modules (esp. Net-SNMP's Perl module - easily confused with Net::SNMP, which is different!).

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://388519]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (6)
As of 2020-11-24 18:03 GMT
Find Nodes?
    Voting Booth?

    No recent polls found