wirebird's Journal http://use.perl.org/~wirebird/journal/ wirebird'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:36:21+00:00 pudge pudge@perl.org Technology hourly 1 1970-01-01T00:00+00:00 wirebird's Journal http://use.perl.org/images/topics/useperl.gif http://use.perl.org/~wirebird/journal/ Dear stupid, stupid DNS administrators http://use.perl.org/~wirebird/journal/38515?from=rss <p>Do not put non-FQDN entries, or entries valid only on your internal network, in your public NS records. If you can't figure out how to serve differently for internal and external requests, go get a real sysadmin.</p><p>If you insist on bogus entries, at least don't make your SOA record invalid.</p><p>If you do that, at least set your time-to-live to something absurdly short, because as long as BIND9 (at least) caches it, it's going to assume that your start-of-authority is, well, authoritative. Duh.</p><p>If you don't, then when a customer complains that your website is not reliably reachable, do not try to insist that the problem is at their end, and that you teach classes in DNS therefore you know what you're talking about. This makes you one of those "Those who can't do, teach" people.</p><p>Also, "it works fine from here" is not a valid answer when you're inside the network where the web server is.</p> wirebird 2009-02-20T05:02:01+00:00 journal It's all use.perl.org's fault I'm looking for a job. http://use.perl.org/~wirebird/journal/36850?from=rss <p><a href="http://gamehawk.livejournal.com/138948.html">It happened like this.</a></p> wirebird 2008-07-04T04:02:38+00:00 journal Shouting the website back up http://use.perl.org/~wirebird/journal/36689?from=rss <p>http://radar.oreilly.com/archives/2008/06/web-operations-culture-part1.html</p><p>"The CEO cannot shout or fire the website back up. The CFO cannot account, control, or audit the website back up and the Chief Council cannot sue it back to life." (and so on.)</p><p>I dunno if I agree entirely with this. Back when I worked at the airline, we moved our headquarters from out by the airport to downtown - a bit of a nightmare, since airlines have some really esoteric communications setups (Telex and other oddities), which had been in place so long nobody in the airline *or* the local telco had a clue about them.</p><p>And the equipment was so old you couldn't find spares (no, I'm not at all sure what would have happened if something ever failed), so we just had to hope the new lines were connected properly, with no way to test them until the actual move.</p><p>Naturally, most weren't.</p><p>This involved a lot of calling up of the local telco and trying to get them to move in a timely fashion - we needed "repairs" in hours, not days, since we were paying another airline's dispatch department a hefty fee to cover our outage, and the FAA would get testy if it was more than a brief period. One of the most effective methods to escalate our tickets, and one we used sparingly, was to get our owner/CEO on the phone. He was really good at shouting, "We have to get these things connected! WE HAVE PLANES IN THE AIR!" (He opted not to explain the distinction between air traffic control and dispatch.)</p><p>So, y'know: There are times the CEO *can* shout your website back up. Or at least your Telex.</p> wirebird 2008-06-14T23:15:25+00:00 journal Someday I should fix cpan http://use.perl.org/~wirebird/journal/36542?from=rss <p>No, not CPAN, cpan... the shell. And just the installation on my server.</p><p>See, the server runs Debian, so to keep from stepping on package-managed libraries, we have<nobr> <wbr></nobr>/opt/perl/lib as an override.</p><p>However, for some reason, the cpan shell doesn't find<nobr> <wbr></nobr>/opt/perl/lib. That is, it quite cheerfully *puts* stuff there, but it won't *use* stuff from there. So when installing, just as a for-instance, Moose, it pops up and complains that I don't have Test::More. Okay, you can install it, I say, and it does.</p><p>And then it asks again. No, you can't install it, I say. And it does again anyway, probably because it finally notices that my CPAN::MyConfig says to do so without asking. That's an open bug in Module::Install, which I could live with except it proceeds to install Test::More oh, about a dozen times, sometimes asking, sometimes not.</p><p>And then I cuss, because the Moose install itself "fails" for lack of these dependencies, and now I have to do a force install, which is gonna reinstall Test::More and fail to find it ANOTHER dozen times. Yeesh, it's gonna wear a groove in the hard drive there.</p><p>Running it with 'perl -I/opt/perl/lib -MCPA..." doesn't help, which isn't too surprising since it's already in PERL5LIB and isn't picking it up from there.</p><p>I'm thinking the Perl programs probably wouldn't find Moose &amp;c on their own either, but they all have explicit "use lib"s in there because they're run from users who may not have the appropriate environment set up. So it's probably not actually cpan-shell-specific.</p><p>But huh... explicitly editing<nobr> <wbr></nobr>/usr/bin/cpan to put in the same "use lib" doesn't help. What the heck is it using to (fail to) locate those prereq's? Because makepl_arg is good, and mbuildpl_arg is good.</p><p>Is making me crazy.</p><p>[Edit: The solution came up via the comments. Turns out that PERL5LIB wasn't being passed, it only looked like it was. "sudo env PERL5LIB=$PERL5LIB cpan" brings it over. Yay! There are also some good and interesting ideas on administering Perl under Debian in there.]</p> wirebird 2008-05-29T16:13:12+00:00 journal So much for YAPC. http://use.perl.org/~wirebird/journal/36400?from=rss <p>I was waffling, what with the price of gas, and with the husband not going (especially if the husband's employer paid like last year, which makes my total expenses pretty much, um, lemme add it up: the conference registration fee)... and then the TiBook's keyboard decided numbers were unnecessary. (And actually, they almost are. But the symbols above the numbers... I can't get by without those.)</p><p>Add that to its intrasigence when it comes to connecting to networks, and... bah. That was the tipping point.</p><p>Le sigh. I kinda liked the Moose track.</p> wirebird 2008-05-13T03:04:26+00:00 journal Ignernt git http://use.perl.org/~wirebird/journal/36232?from=rss <p>Finally getting the hang of this git commit thing.</p><p>I can't really be sure yet until I check something back out, though.</p><p>(Don't laugh: twenty years in the computer business and I have *never* worked with any kind of version control software. No, not even at the bank.)</p> wirebird 2008-04-23T20:07:34+00:00 journal What's a six-letter word for "maiden name"? http://use.perl.org/~wirebird/journal/35743?from=rss <p>Parental controls on the Wii have a secret question in case you forget the PIN. "What is your mother's maiden name?" is one of them.</p><p>Okay, that's an easy one to remember. Only... both Carl's and my mother's maiden names are five letters, and it insists on a six-letter minimum.</p><p>We could, I suppose, double an "i".</p> wirebird 2008-02-24T18:31:05+00:00 journal Comment spam... wow. http://use.perl.org/~wirebird/journal/35638?from=rss <p>I had a couple of Wirebird posts come through from the web form for approval lacking any body text, so for debugging purposes I had it start dumping all the form variables on POSTs. Alllllll of the POSTs. Before validation (where most fail) or spamfiltering (where the rest fail) or approval (where email spam, but never comment, sometimes makes it). Now, understand that as a mailing-list admin I've seen more email spam than any human ought to, so nothing should surprise me. (Well, except for getting spam that's actually targeted at women. That's still so rare as to surprise me.)</p><p>It's only been logging for an hour or two, but... holy wow. Comment spam has a *much* different skew than email spam.</p><p>All I can say is I had *no* idea there was a market for such amazingly... *specific* types of porn.</p> wirebird 2008-02-12T04:03:14+00:00 journal ifdown -a http://use.perl.org/~wirebird/journal/35628?from=rss <p>I really need to get the laptop set up the rest of the way, since it doesn't have an air modem or anything, and Wichita is not well set up when it comes to wireless (at least in the places I tend to hang out lately: medical waiting rooms, mostly).</p><p>This means learning git (to the dismay of my sysadmin/husband, who prefers... um... two other packages I can't remember, though he admits git is probably better than TWiki, which I've threatened to use), filling in some of my massive blind spots in Unix (to much reduce the dismay of my sysadmin/husband, who is perpetually going "You don't know how to use FOO?" forgetting that my Unix knowledge is sometimes deep but very, very narrow), and updating Postgres, exim, Apache, and Perl and whatever else I happen to think of.</p><p>Then I just need to get a USB-enabled M-type keyboard, and I can use the laptop exclusively....</p> wirebird 2008-02-10T03:25:24+00:00 journal Moosetified http://use.perl.org/~wirebird/journal/35565?from=rss So I'm greatly delaying the next release of Wirebird.Gamehawk by making it all Mooseified. It's great fun, though it seems to be impacting performance. Might just be the configuration of the test database, though, so I'm not sweating it yet.<br> <br> But one thing is puzzling me.<br> <br> <code>package Wirebird::RESTful;<br> use Moose;<br> has 'response' =&gt; {is =&gt; 'rw', isa =&gt; 'HashRef'}; </code> <br> <br> And then:<br> <br> <code>package Wirebird::RESTful::Forum;<br> extends 'Wirebird::RESTful';</code> <br> <br> So far, so good... not much different from the BankAccount balance in the Moose Cookbook, right? Wirebird::RESTful::Forum can play with $self-&gt;response all happy and fine.<br> <br> Except when a sub in the base class, Wirebird::RESTful, tries to mess with $self-&gt;response, I get:<br> <br> <code>Can't locate object method "response" via package "Wirebird::RESTful::Forum". </code> <br> <br> Mysterious. And probably just <a href="http://use.perl.org/~wirebird/journal/34493">another senior moment,</a> but this time I'm not taking any decongestants, so I'll have to find another excuse: my moose is clearly Satan. wirebird 2008-02-03T20:57:02+00:00 journal I use nano. http://use.perl.org/~wirebird/journal/35553?from=rss <a href="http://xkcd.com/378/">http://xkcd.com/378/</a> <br> <br> That is all. wirebird 2008-02-01T14:24:34+00:00 journal MooseX http://use.perl.org/~wirebird/journal/35351?from=rss <p>Been poking around at it, debating about whether it would be useful for Wirebird.</p><p>But I'm not sure I can bring myself to use it, because I keep looking it up on CPAN via the search. And I habitually use all lowercase.</p><p>And my brain just will *not* stop parsing "moosex" wrong.</p> wirebird 2008-01-10T15:29:49+00:00 journal Ajax survey http://use.perl.org/~wirebird/journal/35090?from=rss I put in my two bits for Perl.<br> <br> <a href="http://www.surveymonkey.com/s.aspx?sm=ssnE63XZ8YXk2NJNhJVSXg_3d_3d">http://www.surveymonkey.com/s.aspx?sm=ssnE63XZ8YXk2NJNhJVSXg_3d_3d</a> <br> <br> Kind of an amusing mishmash of frameworks and frameworkish things in there, too. wirebird 2007-12-12T04:01:26+00:00 journal How many phishing victims can NT support by default? http://use.perl.org/~wirebird/journal/34796?from=rss <p>Either the simultaneous-user limit on NT's ftp is pretty low by default, or there are a *lot* of suckers out there.</p><p>Got an eBay phishing spam, and happened to notice that the destination URL was ftp instead of http. Huh. And not just anon ftp, but an ftp url with the NT administrator password in it. Narshty.</p><p>The URL gets a 421 nineteen hits out of twenty, which apparently means it's getting a lot of bites (even if it only allows one connection, how long does it take to serve a little page where all the graphics probably come from eBay? And why doesn't eBay examine referers and track these things down proactively?)</p><p>Wish I knew how to shut down an NT server from the Internet...</p> wirebird 2007-10-31T01:48:50+00:00 journal That girl thing again http://use.perl.org/~wirebird/journal/34689?from=rss But wait, there's more!<ul> <li> <a href="http://www.devchix.com/2007/10/05/girls-dont-exist/">Girls don't exist!</a> </li><li> <a href="http://scienceblogs.com/interactions/2007/10/in_which_much_needed_light_is.php">In which much needed light is shed upon the Vanderbilt Physics department</a> </li></ul><p> It just keeps coming up, and it's kind of freaking me out.<br> Because I just don't see this. Am I blind? Does this only happen to attractive young women? (I was young once, but... well, I was young once.)<br> I mean, I've certainly seen real sexual harrassment, and been the target of it, and been on the winning side in a lawsuit about it, but it never had anything to do with my technical ability. (Indeed, at my very first job I dealt with a middle manager who couldn't keep his hands off me, but at the same time he never had an issue with my technical ability, even though it *was* my first job out of college (and not with a finished degree, either). I was a better programmer than he was, and he was okay with that.)<br> I have never, not ever, run into a "you can't be good at X" or "you shouldn't do X" or stunned silence in a game or any such thing.<br> Maybe because it's because I'm so amazingly awesome that it was pointless to try to deny my awesomeness based merely on my gender, but that seems somehow unlikely. Maybe it's happened to me but I've just been oblivious, but given the egregious examples other people report, that seems unlikely too. Maybe my nerdiness simply transcends gender; that seems most plausible.</p> wirebird 2007-10-16T04:32:13+00:00 journal Not Y/Y Not http://use.perl.org/~wirebird/journal/34605?from=rss Wow.<ul> <li> <a href="http://scienceblogs.com/interactions/2007/09/if_you_thought_physics_was_mis.php">If you thought Physics was misogynistic, try open source software!</a> </li><li> <a href="http://use.perl.org/~scrottie/journal/34499">The Myth of the Easy Answer and Women in IT</a></li></ul><p> And on the flip side: </p><ul> <li> <a href="http://www.telegraph.co.uk/opinion/main.jhtml?xml=/opinion/2007/09/30/do3006.xml"> My recipe for happiness: no quince jelly</a> </li></ul><p> Apparently it's no longer okay for women to enjoy traditionally-feminine things, and certainly not okay to admit that you believe that men are more likely than women to be geeks, even if you otherwise level the playing field, whatever the heck THAT's supposed to mean.<br> <br> Hi. My name's Karen. I'm a woman in IT/open source. And I wouldn't have known that was a problem til everybody told me it was.<br> <br> And OMGWFTBBQ!!1!! I'm also a craftblogger. I SEW TEDDY BEARS! I'm setting back women's lib (is it still called that?) by decades!<br> <br> Yyyyyyeah. Clearly I'm missing the seriousness of the issue(s).</p> wirebird 2007-10-04T01:44:05+00:00 journal Celebrity endorsement http://use.perl.org/~wirebird/journal/34551?from=rss <p>Possibly I should remember to save after I preview. Or possible I'm double-posting.</p><p>In any event, Carl has achieved fame: http://yapc.org/</p><p>Good thing I dragged him along, I guess.</p> wirebird 2007-09-26T17:24:55+00:00 journal Maybe it's because I live in a red state http://use.perl.org/~wirebird/journal/34513?from=rss <p>So yesterday jrockway recommended XML::Liberal as a solution to my corrupted RSS feed problem.</p><p>I initially pooh-pooh'd the idea, because I wanted to use an RSS-specific package out of laziness. Then it occurred to me that maybe I could use XML::Liberal to feed *into* XML::RSS, and in the course of researching it, I discovered XML::RSS::Liberal. And installed it. (Perhaps badly, because my cpan installer just can't cope with using<nobr> <wbr></nobr>/opt/perl/lib, for some reason. That's a whole 'nother entry.)</p><p>Assuming I installed it correctly, though, it's not as liberal as XML::RSS, because now it's choking on feeds that worked before ("a namespace prefix should look like [a-z_][a-z0-9.\-_]*") XML::RSS::LibXML does the same thing. And that's on things that W3C validates as good feeds (del.icio.us tag feeds, for instance), so I'm not at all sure it's installed correctly.</p><p>The original corrupted feed is still choked on, and I'm not sure I'm going to struggle much to get LibXML installed right, because I don't think it'll help. It's just *that bad*... definitely going to take XML::RSS::Liberal::Commie::Pinko to parse something like that.</p> wirebird 2007-09-21T16:31:38+00:00 journal Parsing b0rken RSS http://use.perl.org/~wirebird/journal/34493?from=rss Yeah, yeah, I know... there is no RSS that isn't broken, one way or another, but not everybody has boarded the Atom bus yet.<br> <br> So I'm using XML::RSS to parse a variety of often-broken feeds (Simple Machines Forum, just as a for-instance, appears to encode its entries, *then* truncate them, resulting dangling tags or even in "..." happening right in the middle of multibyte characters, tags, whatever). And it's <i>die</i>ing fairly often.<br> <br> No problem, I'll just wrap it in an eval, and skip that feed until its issues get resolved (usually by the corrupted entry expiring, hopefully before another corrupted one jumps on board).<br> <br> And so I do. And it <i>die</i>s inside the <i>eval</i>. Wait, <b>what</b>?<br> <br> I mean, I do seldom run across modules that are ill-behaved enough to up and <i>die</i> instead of throwing something more catchable. But I thought <i>eval</i> was a magic fix for that.<br> <br> Googling a little, the answer on perlmonks and elsewhere seems to be "Well, of course it should die irrevocably. You shouldn't be using invalid XML anyway." Fine, fine, that's the first thing I'll outlaw when I'm made Empress Of All Intarwebz. In the meantime, back in the real world, I'd *like* to be able to recover and go on to the XMLs that ARE valid (so far as you can say "valid" about RSS), thankyouverymuch.<br> <br> <i>eval</i>'s never failed me before, though. I might actually have to learn how it works so I can figure out what I'm doing wrong.<br> <br> But seriously. How can you screw up <br> <code>eval( $feed-&gt;parse($page));<br> </code> ?<br> <br> Apparently, if you're me, "pretty easily." wirebird 2007-09-20T16:55:05+00:00 journal