Timbo's Journal http://use.perl.org/~Timbo/journal/ Timbo's use Perl Journal en-us use Perl; is Copyright 1998-2006, Chris Nandor. Stories, comments, journals, and other submissions posted on use Perl; are Copyright their respective owners. 2012-01-25T02:30:02+00:00 pudge pudge@perl.org Technology hourly 1 1970-01-01T00:00+00:00 Timbo's Journal http://use.perl.org/images/topics/useperl.gif http://use.perl.org/~Timbo/journal/ Vacation highlights http://use.perl.org/~Timbo/journal/18876?from=rss Warning: no perl-related content. <p> I just returned from a cruise in the Caribbean, tanned (well, burned, really) and rested. Thought I'd give my impression of the trip. </p><p> We cruised on <a href="http://www.royalcaribbean.com/home.do">Royal Caribbean's</a> Explorer of the Seas, a beautiful ship designed to bring in a younger demographic than RC's typical Ben-Gay crowd. It had things like a climbing wall, waterslide, ice rink, and mini-golf course on board. My four-year-old son really enjoyed the kid's play room and well-equipped arcade; my two-year-old daughter loved the waterslide, and all the attention from old people. </p><p> We cruised out of Miami to <a href="http://belize.com/">Belize</a> (a newer tourist destination for eco-tourists), <a href="http://www.puertocostamaya.com/eng/">Costa Maya</a> (a new dock in the middle of nowhere on the Yucatan... pretty nice), <a href="http://www.islacozumel.com.mx/">Cozumel</a> (my personal favorite place in the Caribbean) and <a href="http://www.caymanislands.ky/">Grand Cayman</a> (quite possibly the most expensive location on the planet). </p><p> Read further for deatils of each. </p><p> In Belize, I had wanted to go <a href="http://www.actionbelize.com/cruise_cave_tubing.htm">Cave Tubing</a>, but since kids couldn't come we hailed a cab and asked the driver to take us to a nice local beach. He drove us (in his 1990 Toyota Corolla) about fifteen miles to a spot where a local entrepreneur had decided to hack some trees down, truck in sand, and start a bar. The very friendly (and hungry looking) dogs were my daughters favorite--unfortunate, as they had fleas. My son enjoyed looking at the unhappy Boa Constrictors that the owner kept in a 2' by 4' plastic bin, and playing a Belizean version of horseshoes. After watching the owner's demo of cocunut husking, and contributing a small amount of money to the bar for numerous drinks, we headed off to a restaurant (I don't remember the name) near the cruise ship dock. We had an excellent meal in the quiet open-air restaurant, shaded by large Ficus trees. Total spent in Belize: ~ $200. </p><p> On to Costa Maya, where we took an early hour-long bus ride to the Chaccoben Mayan ruin. This was a Royal-Caribbean guided trip, so cost $62 each. My daughter got quite sunburned even though we carefully covered her in sunscreen; that's what happens when you bring an Alaskan to someplace where the sun actually shines. Anyway, the ruin was fun to look around, but the tour guide was too talkative--we ended up only having about ten minutes at the end to walk around and take the ruin in. After the long bus ride back to the dock, we took a taxi to a small fishing village called Mahahual about ten minutes away. We relaxed on the beach and enjoyed our time there a great deal. Total spent in Costa Maya: ~$400. </p><p> The next morning we arrived in Cozumel, where we took a taxi south about 14 km to Paradise Beach. It's a beautiful beach, with free entry, that provides chairs, umbrellas, snorkel gear, floating chairs, and all kinds of other fun stuff. We only paid for drinks and food, which came to about $45 for the time we were there. After about three hours, we took a taxi back to the port, where we bought a huge amount and variety of local vanilla (if you're in Mexico and looking for Vanilla, get Azteca... it's the best we've found) and a local liquor called Xtabentum. Xtabentum is a mixture of local flowers, anise and honey, distilled into a potent potable. You should try it if you ever get there. Total spent in Cozumel: ~$250. </p><p> Our last stop on the cruise was Grand Cayman. Grand Cayman is famous for Stingray City, a sandbar several miles from shore that you can stand on and feed stingrays. As my wife and I had done it before, and as our kids are too small, we skipped that adventure (which I highly recommend) and just walked around town instead. It was a very relaxing day; we ate at a grocery store buffet (which seemed like ghastly food after the incredible dinners on the cruise), shopped, and generally puttered around. It was my wife's favorite day on the cruise. Total spent in Grand Cayman: ~ $60. </p><p> Finally, back to Miami, where we stayed an extra night. By this time, I think everyone was ready to get home, but we weren't really prepared for the 12 hour flight(s) back. We need a vacation to recover from our vacation. </p><p> Overall, it was fun. Next time, I might just fly to Cozumel and hang out there.</p> Timbo 2004-05-21T21:06:59+00:00 journal Do I have ADD? http://use.perl.org/~Timbo/journal/18502?from=rss Well, obviously my commitment to blogging waned significantly. Maybe I'll be able to muster some more energy now that the Long Dark of winter has passed. <br> <br> Sometimes I wonder if I have ADD or if I am just easily bored... I can concentrate my full attention on a subject that interests me for roughly two months, after which the rest of the entropy in my life overwhelms the object of my obsession. Knowing this about myself, I should probably break each of my major life goals into two-month chunks, in hopes of actually finishing something before I have rigor mortis. <br> <br> I just had an incredibly frustrating conversation (can you call it that when you aren't allowed to finish a single sentence?) with a Microsoft Professional Services zombie. The gist of his position was that Open Source is destroying the national economy; interestingly, despite his claim of impending doom, he is confident Microsoft is not losing market share. Oh, and he thinks Madonna is still a virgin that is saving herself for him. <br> <br> He made the following claims: <p>Munich is still using Microsoft tools almost exclusively</p><p>Nearly all viruses targeting Microsoft systems are written by Open Source proponents with an agenda</p><p>Indian coders aren't capable of putting together a high quality product</p><p>Redhat's corporate earnings are attributable only to investment income (Anyone?)</p><p>Netcraft is biased, and most of the sites it reports as running Apache are unmaintained</p><p>Windows has a much better security track record than Linux</p><p>Germany, France, and Finland are subsidizing Open Source to hurt the US</p><p>Lots more that I couldn't hear because of my loud internal laughter</p><p> I just pray that I sounded like the calm and reasonable one in that conversation; it was at the client site, and we were surrounded by management offices on nearly all sides. Hopefully some of the more intelligent managers thought he protested too much.</p> Timbo 2004-04-27T01:57:27+00:00 journal A dearth of ennui http://use.perl.org/~Timbo/journal/15298?from=rss Does anyone else long for time to read a non-technical book? Sleep late? Sit down and eat? My life has become almost nonsensically busy, and I'm beginning to wonder if my heart will explode when I'm 33. <p> To illustrate: Saturday. I woke up at 4:00 am to my pager going off. I solved the problem, but my one year old daughter woke up, so I had to try to get her back to sleep. As I was putting her to bed at 6:15, my three year old son started crying because he was having a bad dream. At 8:00 am, my wife went to the gym; I sat the kids in front of the TV so I could grab a quick shower, got them breakfast, and dressed them for our busy day. </p><p> I cleaned out the gutters on the house and answered another page by 11:00, at which time we put the kids down for an early nap. We cleaned house and I took the van in to get the winter tires put on while the kids slept. Beginning at 2:00 pm, we went to a succession of three children's birthday parties, finally finishing at 9:30 pm. We got home at 10:00, bathed the kids and got them to sleep by 11:00, then collapsed. </p><p> It wouldn't bother me, but this is nearly every day. I kind of miss cigarettes... then, at least I had an excuse to give myself a break once in a while.</p> Timbo 2003-10-20T23:13:50+00:00 journal Fall is here in Alaska http://use.perl.org/~Timbo/journal/14662?from=rss I felt that familiar chill this morning--both a physical and mental shudder--that comes with the realization that winter will be here soon. Leaves are changing, geese are flying in V's, and most of my garden is dead. I love Alaska, but the winters have begun to wear on me. I'd guess it's probably related more to the dark than the cold... at our worst, we get about five hours of daylight, and I'm not looking forward to the long dark this year. <p> I wouldn't consider leaving Alaska permanently, but Autumn is making me consider an itinerant lifestyle. I'm sure among my readers (heh! I have some gall, making that plural!) that there is someone that moves from season to season... do you like doing so? What unexpected challenges are there? Do you have a family? Do you just work one job and telecommute, or multiple jobs? </p><p> I am just thinking out loud... no solid plans yet. But, like Dan Quayle, I am a victim of my last conversation... if you argue strongly enough, you'll probably convince me.</p> Timbo 2003-09-11T23:26:52+00:00 journal Sacrificing my soul for some sleep http://use.perl.org/~Timbo/journal/14374?from=rss I have often been annoyed by <a href="http://use.perl.org/~Timbo/journal/14125">this</a> application; if you note the times of my journal entries, they are often late in the evening on Saturdays, because I have been awakened by a user support call. I have nearly decided to completely rewrite the reporting functionality of the app (the most brittle portion) in hopes of getting some sleep. <p> The current architecture is a scheduler that periodically opens Microsoft Access; Access has an "Autoexec" macro that runs reports against the Oracle database using ODBC, emails the results to certain users, and prints the results on other user's printers. Basically, I'll rewrite the scheduler and the Access portion as a perl service using Win32::Daemon. </p><p> I'm confident I'll be able to duplicate the Oracle connectivity and the scheduling, but I am a little unsure of how to make the reports look good (and consistent). I guess I could use HTML and tables, but sending that to a printer would print it as html text (it wouldn't be formatted, and tags would be visible.) If I do both in PostScript, they won't be readable by an email client. </p><p> &lt;kidding&gt;Maybe I'll do them in POD, use POD2Latex and dvi2ps for the printing side, and POD2HTML to email it.&lt;/kidding&gt; </p><p> I think the real solution is to use (ack) OLE and HTML; email will work fine, and I'll just use OLE to open IE(eeee) and print. </p><p> Maybe getting no sleep isn't as bad as all that...</p> Timbo 2003-08-28T20:56:15+00:00 journal Ode to a Keyboard http://use.perl.org/~Timbo/journal/14285?from=rss One of my most prized possessions is an old IBM PS/2 style keyboard. I know, they're a dime a dozen, and frankly if this <i>particular</i> keyboard was unavailable, I would move on quite nicely to another one. If I had to do without <i>any</i> IBM keyboard, though, there would be a significant hole in my life. <p> First, there's the fact that all of the keycaps are moved around to the DVORAK scheme; not because I type in DVORAK, but because I once wanted to. I type well enough that I never have to look at my keyboard anyway, so it doesn't bother me at all. It keeps casual "can I borrow your workstation for a minute" trespassers away, though. Sort of a keyboard encryption scheme. </p><p> Secondly, it is built to withstand nuclear war. My gift for hyperbole notwithstanding, this keyboard is indestructible. I have poured large cups of coffee on it, and done significantly more damage to myself than the keyboard. On one occasion, a maintenance man used it to stand on in order to change out flourescent lights. From it's general appearance, it was used during the Battle of the Bulge to help give armored vehicles additional traction. </p><p> It may not be translucent, or have the latest web keys, but at least it doesn't have a windows key. </p><p> Finally, it weighs a metric ton. I can place it firmly on my lap (with only two assistants spotting me) and it won't move for the rest of the day. Yes, my legs are numb within an hour, but I can type in that most comfortable of positions... reclined. </p><p> What's your favorite keyboard, and why?</p> Timbo 2003-08-24T09:57:42+00:00 journal Sneaking up on a solution http://use.perl.org/~Timbo/journal/14273?from=rss Remember <a href="http://use.perl.org/~Timbo/journal/14226">this</a>? Probably not, as I wasn't exactly overwhelmed with responses. Anyway, turns out you can create a perl (or anything else, for that matter) script to just loop infinitely and respawn <code>lpd -P printer &lt; fifo</code>. It blocks while waiting for input on the pipe, so no processor utilization or resources are used. At least that works under Linux... I still haven't gotten printing to a pipe from a Windows Parasite(TM) to work. I think now it's related to Windows vs. Linux EOF character semantics. <p> I love difficult problems, but wish I had more time to devote to this one.</p> Timbo 2003-08-22T23:26:27+00:00 journal Sleep deprivation http://use.perl.org/~Timbo/journal/14270?from=rss Generally, I need about seven hours of sleep to be a fully functioning human. Over the last week, I've probably gotten an average of four, as my one year old daughter has somehow gotten her sleep schedule reversed. <p> Yesterday, I chaperoned a field trip to a "You Pick It" farm for my three year old's daycare. My fatigue made it somewhat difficult to be patient and kind on a school bus full of screaming toddlers. I did quite well, but it was a bit of a struggle. Anyway, we rode on a bus for an hour and a half, walked all over fields picking odd vegetables (Diakon? Kohlrabi? Who thinks up these names?), had a large lunch, and piled back on to the (now quite toasty) schoolbus. </p><p> Suffice it to say that I'm glad that schoolbuses have plastic seats; otherwise my drool might have stained.</p> Timbo 2003-08-22T15:31:54+00:00 journal Tough Linux question http://use.perl.org/~Timbo/journal/14226?from=rss I am running two Win2K VMWare virtual machines under Linux. When I VPN into my corporate or client network with the virtual machines, I am unable to print to network printers, because the VPN client stops all network traffic except that through the tunnel. <p> VMWare allows you to redirect the virtual machine's LPT port output to a file on the host (Linux) machine. If the lpt redirect file is a fifo, and I run <code>lpr -P queue &lt; fifo</code>, I can successfully send one job from the Windows machine whether it's VPN'd in or not. It looks to me like lpr stops reading from the pipe when it gets an EOF. </p><p> Since this is the smartest group of people I know (flattery never hurts, eh?), does anyone have any ideas on how to make this persistent? I suck at Unix IPC.</p> Timbo 2003-08-20T16:08:09+00:00 journal Saving a buck at all costs http://use.perl.org/~Timbo/journal/14196?from=rss Or, the unfolding story of my limitless cheapness. <p> I am without that part of my brain that tells me I am not capable of doing something. For the most part, it serves me in good stead; rather than, say, paying someone to change my oil or fix my computer, I have traditionally just tackled it myself. Today, I might just have learned that some things are better left to professionals. </p><p> In my journal, I have mentioned on more than one occasion that I'm building the MOAD (Mother of All Decks). I have installed the MOAHT (Mother of All Hot Tubs) in a prime location in that deck. Having had an anuerism shortly after birth, I thought I should be able to wire in the 50 amp, 240 volt branch circuit rather than shelling out the $250 for an electrician to do it properly. This would have been the largest mistake in the history of the universe if <a href="http://www.nbc17.com/news/2412225/detail.html">this guy</a> not taken that dubious award earlier this week. </p><p> Anyway, everything was going well with the spa for about a day; tonight, I came home to find "dcp" flashing on the display, and no heat in the spa. It seems that I hadn't properly covered a second 120V feeder circuit (for deck lights, etc.), and for some reason known only to the Gods of entropy, had flipped on the breaker. With the significant amount of rain we've had lately, it eventually tripped the switch and highly annoyed the spa. It doesn't seem to have let the smoke out, and once everything was reset it seems to be working properly, but I'm now pretty sure it would be a good idea for someone who knows what the hell they are doing to check it out. After all, my kids are going to be climbing into 400 gallons of water near that 50 Amps... I really don't want them to be filaments that light up the neighborhood for a few seconds. </p><p> Either that, or I could just take a look at it myself...</p> Timbo 2003-08-19T06:51:02+00:00 journal Reflections on creativity in the physical realm http://use.perl.org/~Timbo/journal/14163?from=rss There is beauty in working with your hands; you achieve a different sort of satisfaction when your creations are solid rather than conceptual. I have had that driven home today, in two completely different ways; I finally finished a concrete countertop I'm installing on my bar, and started laying decking on my bomb shelter/deck. <p> Concrete seems like an odd choice for a countertop, if your only experience with it is sidewalks and buildings. That grey, rough, forbidding surface would not add much to any kitchen or bathroom. But if you <a href="http://www.buddyrhodes.com/template.asp?include=Portfolio&amp;product=counter">spruce it up</a> with a little dye, polish, and patience, it becomes a thing of beauty--actually more touchable than corian, warmer than granite. I am amazed that I was able to make something so beautiful and permanent. </p><p> I was not awed by the beauty of my deck; I was awed by it's scale and magnitude. Building something small and detailed lets you glance temporarily at perfection; building something massive and imposing makes you feel like a man. I am proud that my brother-in-law, who weighs at least 250 lbs., can jump on my deck without feeling any flex. I'm not too worried that on one of the planks, my drill slipped off a screw and left a small mark. It's lost in the scale of something so massive. </p><p> Today makes me wonder... is what Microsoft is building so large that their smaller problems (at least in their eyes) get lost in the scale? In the open source world, everyone builds a comparitively small part of the puzzle, so each craftsman can take individual pride in their contribution toward perfection. Maybe Microsoft has just moved too far away from artisanship. Programming is a creative endeavor, no matter how much the Capability Maturity Model tries to wean it out of us. </p><p> Let us be craftsmen.</p> Timbo 2003-08-17T09:05:45+00:00 journal Better Carpentry through Perl http://use.perl.org/~Timbo/journal/14154?from=rss I am building a deck that, should global warming completely cover Anchorage with water, will serve as the first wooden aircraft carrier. <p> Anyway, I had an interesting (and uncommon, at least for programmers) problem -- I needed a way to determine if a support beam was perfectly square to my house. Sure, I could use the old 3-4-5 rule (Pythagorean theorem; triangle with one leg 3, other 4, and hypotenuse 5 is a right triangle)(as if I had to explain that in <b>this</b> forum), but I wanted to use the full length of the beam for the shortest leg to minimize the margin for error. </p><p> So, I whipped up a perl script. Maybe I was just looking for an excuse. I used Number::Fraction to accept a rational number, and the script would output the length of the longer leg and hypotenuse, in rational number accuracy up to 128ths. All I had to do was mark the proper distance from where the beam met the house, and move the end of the beam around until the hypotenuse length was right. </p><p> When your favorite tool is a perl script...</p> Timbo 2003-08-16T07:23:00+00:00 journal Win32::ProcFarm is like a tiger.... http://use.perl.org/~Timbo/journal/14142?from=rss ... beautiful, but dangerous. I recently used <a href="http://search.cpan.org/author/TEVERETT/Win32-ProcFarm-2.13/">it</a> to change the local administrator password on every NT &amp; 2K machine in our domain (2000+) in two minutes. <p> Makes you wonder how quickly someone with an axe to grind could cause major damage.</p> Timbo 2003-08-15T18:39:53+00:00 journal Chocolate for the Economically Advantaged http://use.perl.org/~Timbo/journal/14141?from=rss NPR had a <a href="http://www.npr.org/programs/morning/features/2002/june/chocolate/index.html">segment</a> last year about how various commercial enterprises are trying to make Chocolate the next coffee or wine--a high-end delicacy with a connoisseur on every corner. I have thought about it long and hard (I'm a little obsessive-compulsive, in case you haven't guessed), and I don't like it one bit. <p> I must preface this rant with the disclaimer that I am slightly biased against chocolate because I really don't like the stuff. But really, that doesn't bother me as much as the fact that entrepreneurs are trying to "brand" fine chocolate as an item with cachet. I am tired of the constant "gotta know all about it to be hip"-ness that is generation X. </p><p> First, to my memory, it was coffee... "A latte machine in every house and a Starbucks on every corner"; talk of Arabica beans, fruity flavors and bitter finishes. Coffee, in my opinion, is black, thick stuff that you chug very hot next to a campfire while it rains. While smoking a Camel straight. It is not foamy. It does not have a cinnamon sprinkle on top. And for God's sake, it does not get served by some girl with lip piercings, tattoos, and shorter hair than Ollie North. </p><p> Next was Beer. Manly, sudsy beer that came in aluminum cans for $3 a six pack is now "hip" and sold in designer bottles for $8 apiece. There's a brewpub on every corner where the hip gather to drink the latest doppelbock and discuss the year's crop of fuggle hops. Sounds like a conversation out of Harry Potter. </p><p> Then, they hijacked Tequila. Few things are more manly or less prone to "hipness" than Tequila. But they did it. How many of our Grandfathers knew what blue agave was? Tequila is supposed to be about college parties, in which newly-freed college girls drop their inhibitions on the floor with their bras, and the taste and smell of your puke the next morning. It is not congac. It is not "fruity". </p><p> Now, Chocolate is on it's way to hipness. At least chocolate was never manly... when was the last time you saw Indiana Jones bite a big chunk of a Hershey bar? Chocolate is for women. And that's fine... but Dove chocolate is no longer going to be good enough to say <a href="http://www.petticoated.com/saffy18.htm">"Sorry I drank too much and peed in the fireplace at our engagement party"</a>. Soon, you're going to have to order a box of chocolate off the internet, FedEx'd so that it doesn't go bad in shipping. You'll have to pay $74 a pound for something that should cost 75 cents at the local grocery store. </p><p> You'll have to surrender to hipness now... because now it's to please your wife. </p><p> I hope mine never reads this.</p> Timbo 2003-08-15T17:02:30+00:00 journal Web application monitoring http://use.perl.org/~Timbo/journal/14129?from=rss Does anyone know of a perl (or other, failing that) program to monitor an url, watch for certain text (like "ASP 0115", hypothetically), and perform some action? I could write the program myself, but would prefer to be lazy and impatient. <p> I support tens of web applications running on IIS and Apache. The main page of each one can return either valid data or invalid data. The ideal script would be able to </p><p>retrieve the return value of urls defined in a config file on a schedule </p><p>run regexes against the returned text, looking for either success or failure identifiers defined in a configuration file </p><p>if a failure test returns true, perform some action as defined specifically for that failure identifier </p><p>keep track of successive failures </p><p>email an account if the automatic resolution fails </p><p>log all results and actions </p><p> Free would be a very nice price (and a very nice right), but my company might be willing to purchase COTS rather than pay for my time to develop it. I've looked at BigBrother and Microsoft Application Center, but BigBrother can't look inside pages (from my reading of the docs) and Application Center is too IIS specific. Any ideas?</p> Timbo 2003-08-14T22:31:19+00:00 journal Brittle COTS Applications http://use.perl.org/~Timbo/journal/14125?from=rss I do application support for a living... one step above helpdesk, but at least the hours suck. Anyway, an application I support (which, incidentally, is considered mission critical by the company I work for) is dependent on: <p> A consumer grade workstation without a UPS </p><p> Exchange </p><p> Multiple NT 4.0 shares </p><p> Oracle running on AIX </p><p> Microsoft !@#^ing Access 97 </p><p> A service running on a Windows NT 4.0 server </p><p> Citrix running on yet another server </p><p> Two separate Network Appliance servers </p><p> Various network infrastructure, including two WAN links </p><p> Needless to say, my sleep patterns have been less than regular in the six weeks I have had to support this beast. On the third day of support, I submitted a stability plan but was told there wasn't enough money to fix it. </p><p> Just call me Sisyphus.</p> Timbo 2003-08-14T20:06:10+00:00 journal Limited Time Introductory Offer... http://use.perl.org/~Timbo/journal/14113?from=rss I've been lurking too long. I've decided to participate in that most narcissistic of endeavors, the blog. <p> I'm a mediocre perl programmer and general jack-of-all-computing trades; I have been a DBA, Unix Sysadmin, NT/2K Sysadmin, and programmer, basically in that order. I often feel supremely average in my computer knowledge and intelligence, which probably means that I am the Omega geek in this group. I enjoy reading gnat and pudge's journals, and had the good fortune to attend the O'Reilly University of Perl in '00 in Seattle, but that's the extent of my perl training. Someday I'll get off my butt and go to YAPC... </p><p> I have been a consistent fanboy of gnat, Damian, and MJD (although MJD strikes me as a little odd... generally in a good way, but he's a little too cerebral for me to idolize). I work with some incredibly smart people, who generally tolerate my mediocrity quite well... if nothing else, I amuse them when I show off my latest, enhanced bubble sort algorithms. </p><p> This introduction is getting long and tedious, as evidenced by the continuing thread of self-doubt running through it. To continue along that vein, as if anyone has time to get this far, I live in Alaska. I have a wife and two kids (BTW, for those of you identifying with my self-deprecating style, there's nothing like the adoration of progeny to boost your self confidence. You should have read me before). I do an incredible amount of home maintenance, mostly due to buying our house in a big hurry without properly inspecting it--to illustrate, we call it the POD, for "Pit of Despair". My current endeavor is to complete a 1200 sq ft. deck, supremely overengineered so as to cost more than the national debt of Paraguay. </p><p> Anyway, it was time to wrap this up about five paragraphs ago. Next time, I'll try not to seem so self-important.</p> Timbo 2003-08-14T07:53:22+00:00 journal