Diary of a Network Geek

The trials and tribulations of a Certified Novell Engineer who's been stranded in Houston, Texas.


I am still not just a geek…

Filed under: Fun,Fun Work,Geek Work,PERL,Personal,Red Herrings — Posted by the Network Geek during the Hour of the Tiger which is terribly early in the morning or 5:32 am for you boring, normal people.
The moon is a Third Quarter Moon

I am, however, a Level 5 Perl Monk.

Monday, I was informed that I had gained enough experience to be granted the status of Beadle, or Level 5, on PerlMonks.org as of Monday morning. Now, this may not mean much to you non-geeks, but for Perl geeks this is really something. Granted, it’s not as impressive as getting that rank in a week or getting all the way up to Level 13, which gets you listed on the “Saints in Our Book” node, but it does represent a certain achievement in my book.

And, yes, I will still be working toward higher levels. ‘Cause that’s just the kind of geek I am.


What Next?

Filed under: Advice from your Uncle Jim,Bavarian Death Cake of Love,Criticism, Marginalia, and Notes,Deep Thoughts,Life, the Universe, and Everything,Linux,PERL,Personal,Red Herrings — Posted by the Network Geek during the Hour of the Tiger which is terribly early in the morning or 5:34 am for you boring, normal people.
The moon is Waning Gibbous

Life is about passion.

Tomorrow, there will be a post that links to an article about meeting someone in a coffee shop. No, I haven’t met someone! Rather, it’s an article about how to meet someone. I tend to associate that sort of thing with passion. The passion of need, of possession. Of two becoming one. But, I have to be honest, my idea of passion has always included more than that.

Okay, sure, you’re thinking “Hey, a divorced, middle-aged, white guy who makes a living by being geekier than the average geek survives cancer and thinks he’s suddenly qualified to ramble on about passion”, right? Well, it’s not that. I’ve been hurting for something to be passionate about since the sixth grade. Oh, I get obsessed with things, sure. Some small, obscure subject will fascinate me for a few weeks or months and I’ll go through a cycle of knowing as much as I can about whatever it is before it bores me and it becomes something that gathers metaphorical dust in the attic of my mind, if I’m lucky. If I’m not lucky, it gathers actual dust on my coffee table. This is how I account for my owning both the complete, original John Byrne run of Alpha Flight, the collected Prisoner, the Dune Encyclopedia and Space: Above and Beyond. It’s also how I learned Perl and Linux and wrote plugins for WordPress. That same cycle is how I learned about survival, security, self-defense, koi, philosophy, and just about anything else interesting that I know. But, none of it really lasts. It’s just a flash of white-hot passion, then it’s gone.

What I long for, what I’ve always longed for, is something that makes me feel passionate forever. And, yes, I thought I had that when I was married, but, well, it turned out that passion was misplaced. So, now I wonder if all of it was misplaced. If it was all a useless, empty quest to find passion that is impossible to grasp. Before I met my ex-wife, I felt that passion about my work, but, after losing a job that was my life, I discovered work was just a job. So, now, I’m left searching, seeking, hunting that elusive passion which seems so slippery.

So, in spite of what you’ll read in this space tomorrow, I don’t ever want to sink all that passion into a person, of either sex, again.  And, any thing or activity that I allow myself to be passionate about again will have to be something that can’t be taken away from me.  Work comes and goes.
But writing…  Well, if I were to lose this blog, this laptop that I’m writing from, I could still write.  A cheap notebook and stub of a pencil stolen from Ikea is enough.  The words, the hammering out of the words, sentences, paragraphs, that takes no special tools, only, well, the passion.  So, too, God.  Even fewer tools to seek God.  I can find His presence anywhere, anytime.  Again, what matters is the passion for the spiritual connection, the seeking God’s presence.  But, how?  What to write?  How to find God?  What step to take next?

Who knows?  I suppose I’ll find out if I keep after it, that search for passion.  So, dear readers, what makes you light up with that passion for living?  What gets you out of bed in the morning?

Advice from your Uncle Jim:
"Never tell your girlfriend that her diet's not working."


New Perl Scripts

Filed under: Deep Thoughts,Fun Work,Geek Work,PERL — Posted by the Network Geek during the Hour of the Monkey which is in the late afternoon or 5:59 pm for you boring, normal people.
The moon is a Third Quarter Moon

So, I’ve been writing a bit of Perl again…

It’s kind of a long story that’s really rather boring, I think, but we’re changing e-mail providers at work again. They’ve got a new system to try and reduce spam that involves a challenge-response system and a whitelist.
For those not familiar, it works like this: The first time you send an e-mail to their servers, the anti-spam system fires back a verification e-mail to you. That e-mail verifies that you’re a human and not a spambot by asking you to click on a link. When you click the link, it adds you to the system’s whitelist and lets your e-mail through from then on. Pretty good system, actually. And, about the only way to assure virtually no spam gets through.

Well, to minimize hassle to our customers, we decided to pregenerate a whitelist of known, good e-mails. Naturally, that task fell to yours truly.
So, I turned to my old pal Perl. The mail is mostly stored in a UNIX mail format called “mbox”, which, luckily for me, is basically a flat file. It’s like a giant text file that has a lot of extra junk in it that no one but mail programs care about. So, the first thing I did was dig up code, and modifiy it, to pull all the e-mail addresses out of those mbox files. I called it “emailpull.pl“. That managed to pull all kinds of addresses. In fact, after I culled out the obviously bad address and eliminated the duplicates, I had a little over 4000 addresses.
Well, that was just a little too many for me to just dump into a whitelist without some kind of extra verification. So, I hunted around and found a handy CPAN module called “Mail::CheckUser” which is meant, you guessed it, to help check e-mail users. A little finagling with the code and I put together “emailverify.pl“. That little badboy takes a list of e-mail address, in text file form, and verifies them with the alleged e-mail host. Works like a charm!

Oh, and if you’re a Perl fan/addict/whatever, check the links to the code. They take you to a place called PerlMonks.org. They used to be the place to get code and help and, well, everything Perl related. But, you know, lately? Not so much. When I was there putting these two snippets of code up, there was a whole big bruhaha going on about membership to some internal, super-secret cabal group. And, there’s a lot of focus on getting levels and all sorts of junk like that. Which is ironic, to me, considering that Larry Wall, the guy who wrote Perl, did so in the hopes it would draw people together in harmony and spirit of helpfulness.
Ah, well, at least I got my task accomplished. Well, at least it will be by morning. That second script was still running when I left the office.

Update: That second script, when it was done running, reduced 4060 e-mail addresses down to 3255 validated e-mail addresses. Hopefully, it culled all the potential spam originators!


A New Low

Filed under: Criticism, Marginalia, and Notes,Fun Work,Geek Work,Life, the Universe, and Everything,PERL,Personal,The Network Geek at Home — Posted by the Network Geek during the Hour of the Horse which is around lunchtime or 12:26 pm for you boring, normal people.
The moon is Waxing Crescent

Oh, God, this is a new low.
So, the other day, I’m joking with a friend about obsessively checking my webstats for certain pieces of information. He sort of laughs at me in e-mail and questions why I haven’t done a PERL script to automate it. And, I did actually think about it. The problem would be, as I explained to him, that I’d have to run the PERL script as a daemon, or process. Or, as a CRON job that repeated every fifteen minutes or so. Otherwise, I wouldn’t get the kind of notification that would make writing a script worthwhile. The only problem is, even my super relaxed webhost, Amzia.net, would eventually have issues with that kind of utilization.
In any case, I scouted around for some PERL code anyway, even though I’d probably never be able to actually use them. Then, one morning this past week, it occurred to me that I had PHP code that I could modify to produce the same results. So, I copied my chunk of code, tested it and put it out there, live. Worked like a charm. I got live results and e-mailed them to my friend and we had a good laugh that I’d gone and written code, that worked quite well, for a very personal, inside joke, that no one but he and I would see, or get. But, no, that’s not the new low.
Later, on the same day I made it live, I was sitting outside enjoying one of my last remaining clove cigarettes and caught myself refining the code in my head. Yep, I’m sitting there, petting the dog, smoking and tightening code in my head. I even started to add functionality as I crunched the code, too!

Oh, God, I am such a geek. I don’t even think another tattoo would help at this point. Oh, well, at least it pays the bills.


I Resolve…

Filed under: Criticism, Marginalia, and Notes,Fun,PERL,Personal — Posted by the Network Geek during the Hour of the Tiger which is terribly early in the morning or 5:08 am for you boring, normal people.
The moon is a New Moon

It’s almost New Year’s Eve, so I thought a link to a New Year’s Resolution Generator would be appropriate.
Originally, I did it to try and cheer up two special ladies who were having a rough holiday season. Honestly, I don’t know that it helped, but at least it kept my PERL CGI skills sharp and, I think, it’s a little bit of fun. And, yeah, the probabilities are weighted toward tequila drinking and kissing strangers. Hey, I’m single, it’s almost New Year’s Eve and if I can’t slant things in my favor, what’s the point of knowing a programming language at all?
Anyway, don’t take it too seriously and have a happy and safe New Year’s celebration!


Holiday Blues

Filed under: Deep Thoughts,Fun,Life, the Universe, and Everything,PERL,Personal,The Network Geek at Home — Posted by the Network Geek during the Hour of the Dragon which is in the early morning or 9:58 am for you boring, normal people.
The moon is Waxing Gibbous

I’m actually not so blue.
The other day when I was at my head-shrink, he asked how things were going and how I felt. I told him that I felt better than I have in a long time, which is very true. He was a little dissapointed because he’s doing something on TV about holiday depression and, well, I just wasn’t going to be giving him any material to work with this year. Actually, we had a laugh about that.
Oh, sure, at times I get a little down because it would be nice to have someone “special” during the holidays, but, mainly, I feel pretty good being single. As I told him, at least I’m not married to someone who consistantly makes my life miserable at the holidays anymore! Though, I have to admit, in the past, before I suffered through that, I always hoped to have someone with whom to share my joy of this season. Girls get to say things like “Always a bridesmaid and never a bride” and give a sad, little laugh, but men don’t have any cute quips to toss out about that. When we’re single, though all our friends seem to be in relationships, we’re just, well, single.
In any case, even though I won’t be decorating this year at all, the holidays just aren’t depressing to me. I think everyone around me expects me to be all doom and gloom, because of how my ex-wife left me last year about this time. Actually, she took the only working car, grabbed her daughter and ran while I was in the shower. No note, no phone message, no nothing. Just cut and ran. That was a little hard to deal with, last year. And, yes, last year was terrible for me. I contemplated suicide more than one, but, in the end, I didn’t “play solitare with a pearl-handled deck”, as Mr. Zevon would say, because that would have meant she won. I couldn’t have that, now could I? And, maybe that’s why this year seems so effortless in comparison. What could be worse than that? Losing all my hopes and dreams in one afternoon, right before two family oriented events. Everything is up from there.
And, to me, that’s what this season is all about. Change. Rebirth. All Fall the days have been getting shorter, the nights and darkness lasting longer, and it is this season, at the Winter Solstice, that the hours of light start to overtake the hours of darkness again. Literally a rebirth of light in the world. (This year, the solstice falls on December 21, by the way.) In fact, it’s no accident that the early Christians chose that time of year to celebrate the birth of Christ. After all, the pagans they were trying to convert were already celebrating the rebirth of light, so, why not capitalize on that? Regardless of why or how it happened that way, this season has been about rebirth and renewal for me more than any other.
Every year, I get a new chance. A fresh start. Every year, I get a little hope that things can change. That I can change for the better.

I know this year has been tough on some of my readers. There’s been loss and heart-ache and pain of all flavors. That can happen at any time of year, of course, but it seems to sting worse during this season, for whatever reason. With that, and two very special readers in mind, I whipped together a fun, little PERL-based web-app that I’d like to share with you all. It’s the New Year’s Resolution Generator. And, if mention of tequila and kissing strangers comes up more frequently that you might expect, all I can say is, I’m single and an eternal optimist!


Making PDFs with PERL

Filed under: Career Archive,Fun Work,Geek Work,PERL — Posted by the Network Geek during the Hour of the Monkey which is in the late afternoon or 5:59 pm for you boring, normal people.
The moon is Waning Gibbous

This is cooler than it sounds.
No, really. Please, let it be cooler than it sounds so I feel better about the way I spent my day. Please?
Honest, using the PDF::API2 CPAN module is much more challenging than it sounds. I spent most of the afternoon trying to figure out how to force a second page into my PERL-generated PDF. Why? Because, I want a nice title page for my documentation. Also, I see applications for this frightening technology beyond the scope of my project. See, one of the things we do is prepare, and sell, documentation for our great, big, huge, expensive cranes. That documentation is in, you guessed it, PDF format. A fair portion of this documentation is based on AutoCAD drawings that have been convertd to PDF. So, now, all I have to do it automate most, if not all, of that process and I’ll save a ton of time, which, according to the “time=money” formula will “impact the bottom line”, as they say in boardrooms. Cool. In other words, I found a way to justify my personal project (the server inventory script) by applying the things I’m “testing” there toward the automation of a dirty, low-end, repetetive task that no one likes doing (compiling the documentation PDF). Very cool. And, thanks to all this work on PERL this week, I’ve added a new category: PERL.
Oh, yeah, here is the PERL PDF Example code. Enjoy!


PERL OS Detection

Filed under: Apple,Fun Work,Geek Work,Linux,MicroSoft,Novell,PERL — Posted by the Network Geek during the Hour of the Tiger which is terribly early in the morning or 5:10 am for you boring, normal people.
The moon is Waning Gibbous

This is sort of the long way around, but…
Well, I have a dream. I dream of a single, giant PERL script that does a complete server inventory, no matter what version of operating system it’s running. Why? Look at my resume. Notice how many times I’ve changed jobs? Every time I hit a new gig, I look at their server documentation, if they have any, and ask how old it is. 80% of the time, no one knows how old it is. The rest of the time, it’s so old and out of date as to be totally irrelevant. Of course, no matter the state of their documentation, it always falls to me to create it or update it. Hence my quest for a single, glorious PERL script that checks everything that matters on an individual server and drops it into a report, or at least a text file that I can make into a report.
The biggest stumbling block to my vision of this splendiferous chunk of code has almost always been the first one: figuring out which operating system the target is running. Well, not any more. No, my faithful readers, including my ex-wife and her new meal-ticket, now I give you Step One in Uncle Jim’s Master Plan for Network Domination.
PERL OS Version checker

Well, at least yesterday wasn’t a total waste.


PERL Scripts for Windows

Filed under: Fun Work,Geek Work,MicroSoft,PERL — Posted by the Network Geek during the Hour of the Tiger which is terribly early in the morning or 5:11 am for you boring, normal people.
The moon is Waning Crescent

Oh, how sweet is this!?
So, I was looking around the other day for a PERL script that would send me an SMTP mail notification from a Windows 2000 server at a remote location, so that I’d know what their IP address had been changed to after a reboot. (It’s a long story, but it involves a VNC server, a cable-router, and a bad power grid.) And, whenever I search for this kind of thing, I go to my backup/long-term memory archive, Google, and do a search. Guess what I found? A whole set of web pages at Microsoft dedicated to Windows-centric system admin and monitoring PERL scripts. Oh, I think I’m in heaven!
I’ve been looking for this kind of thing for ages and ages. I have no idea why I never found it until now, but, well, here it is! Now, I can develop that massive, PERL-based auditing system that I’ve always dreamed of having! YEA!


How Would You Do It?

Filed under: Advice from your Uncle Jim,Deep Thoughts,Fun,Fun Work,Geek Work,Life, the Universe, and Everything,Linux,PERL,Personal,The Network Geek at Home — Posted by the Network Geek during the Hour of the Hare which is in the early morning or 7:05 am for you boring, normal people.
The moon is Waxing Crescent

Attack someone’s network or website, that is.
Okay, this has been on my mind lately, not because I’ve done any actual hacking recently, since: a) that would be illegal and b) I haven’t done that sort of thing in, well, years. No, I’ve been thinking about it because, according to a friend of mine, at least one fan (short for “fanatic”) seems to think that I am not only capable of doing such things, but that I, in fact, have. And recently, too! As the French say, “It is to laugh…” So, as a thought experiment (that’s a mental exercise for you vocabulary impaired), here’s how I’d go about doing this, if I were, in fact, to do “ownz” someone’s “box”.
First off, I wouldn’t use a computer that I own, that can be traced to my ownership, or that uses an IP address that has ever been associated with my name. There are several ways around this, of course, including IP spoofing, anonymous remailers and other redirectors, and a compromised, third-party’s machine. That last one is the best, and, ironically, the easiest method. Surprised? You shouldn’t be. Compromised Windoze machines are a dime a dozen. There are hordes of script kiddies out there just hammering away at every weak Windoze machine they can ping. Also, there are more and more insecure Linux machines floating around out there, too. (Have you applied all the latest patches to your penguin box?) Or, if you know of any systems that you left behind at an unhappy employment situation, that are still vulnerable, you can use them. Usually, a corporation will have a nice, fat data pipe which makes your “job” faster and easier. Of course, if they have half a brain, after you leave, they’ll change all the passwords, but sometimes someone slips. (The last place I knew of like that from my own past finally, after three years, changed the passwords as part of an upgrade.) Or, you could simply go to a coffee house that offers free Internet access via a wireless network. Every time you change coffee houses, you change IPs. And, while I normally am just fine with industrial-strength institutional coffee, a nice cafe au lait from Cresent City is always nice. Or, according to this article on Slashdot, Panera Bread Company is a good place to find a free wifi link.
So, now you have one or more launching platforms from which to case your mark. (That there’s criminal slang that means “look at your ultimate hacking goal”.) What do you use to look for a way in? Well, there’s three that I’d recommend, based on reviews; Snacktime, Nessus and NMAP. Of the three, NMAP is, arguably, the more robust and well known. In fact, NMAP was used in The Matrix movies. Now, that, my faithful readers, is “geek cred”! Though Snacktime is interesting to me because it’s PERL-based. Now, if you’re not familiar with these three tools, just stop reading and go play with your IIS 6.0 webserver. We’re about to talk “big boy” stuff here and you just won’t be up to it. So, if you’re still man enough to be following this, you’d load up your lookeeloo tool of choice on your remote launch platform at this point and get a fingerprint of your target system’s OS.
Now, we get to the meat of this little mental exercise… Okay, you’ve got your “open door”, or “doors”, as it were, into your target system. At this point it’s a matter of taking the information from the nice, clean results that NMAP, or whatever, gives you and applying your exploit. What and how you do that really depends on what you’re attacking, but it’s pretty much a paint-by-numbers affair now, thanks to the legions of script kiddies that keep us up to date. Right, root access (or Administrator, if your target is foolish enough to run Windoze). Now what? Well, that sort of depends, doesn’t it? Do you want data? Start a background transfer to a third party that you can collect later. (Use ftp, tftp, or, for loads of sneaky fun, telnet, to transfer your data. Many admins disable logs on these protocols because they don’t think they’re running. Double check.) Want to install something? Go for it! (Try a keylogger. Now you’ll get loads of target passwords to compromise other machines for further adventures!) Just want to crash the system? You should have skipped all this hassle and just hit your target with a DDoS attack from your many compromised machines, stupid. (Incidentally, for you Windoze admins out there, the entire Code Red scare you sloppy bastards caused was all about a Distributed Denial of Service “issue”. )

Of course, this is all very illegal and somewhat morally questionable as well, so I would NOT do it. What’s more, I would not recommend that anyone else attack, hack, assault, fold, spindle or mutilate any system other than your own. In short, the Network Geek, RyuMaou.com and Jim Hoffman (yes, we’re all the same entity) does not in any way endorse any of the above listed activities, except the cafe au lait from Cresent City. In fact, I suggest that you do NOT do anything that I’ve written about in this entry, including flinging wild accusations that cannot be proven. That’s called “libel”, or, if you say it instead of write it “slander”. That’s against the law, too, the last time I checked.

Advice from your Uncle Jim:
"Some people are always grumbling because roses have thorns; I am thankful that thorns have roses."
   --Alphonse Karr

« Previous PageNext Page »

Powered by WordPress
Any links to sites selling any reviewed item, including but not limited to Amazon, may be affiliate links which will pay me some tiny bit of money if used to purchase the item, but this site does no paid reviews and all opinions are my own.