Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Mr. Muskrat (4572)

Mr. Muskrat
  reversethis-{moc ... ta} {tarksum.rm}

I'm married with 2 girls. I work as a full time Perl programmer for a Land Mobile Radio company in the Dallas/Fort Worth area.

I am enrolled at the Art Institute of Pittsburgh - Online working towards a Bachelor of Science in photography.

My other blog []

Journal of Mr. Muskrat (4572)

Tuesday April 29, 2008
04:20 PM

This is (mostly) my Perl Blog

I have a tendency to write about stuff I'm working on whether it's directly Perl related or not. We use a bunch of stuff that all connects in some really interesting ways. This means that I'll post about Perl, Oracle, HTML, CSS, JavaScript, Flash, Red Hat Enterprise Linux (and sometimes even Outlook since we run Windows on our laptops).

I'll occasionally post about something going on at home since I haven't started a non-Perl blog yet.

Monday April 21, 2008
11:52 AM

Patrick Michaud Presenting "Rakudo Perl"

The Dallas/Ft. Worth Perl Mongers are pleased to announce that we will be holding a technical meeting at 7pm on April 29th at NerdBooks in Richardson. Patrick Michaud will be presenting Rakudo Perl.

“Rakudo Perl” is the new name for the Perl 6 compiler targeting the Parrot virtual machine. Building Rakudo has required development of a number of tools and methodologies (as well as revisions to the Perl 6 language specification itself), and things are progressing nicely.

This talk will report on the overall status and implementation of the Rakudo Perl compiler, outline what is working (and what is not working) in Rakudo, and demonstrate how to get started writing Perl 6 programs. The talk will also cover the design of the compiler itself, focusing on the overall architecture, the structure of the Perl 6 test suite, and provide specific details that will enable others to become involved and to directly contribute to the remaining work of building Rakudo. The talk will end with a “road map” to completion of a production Perl 6 compiler on Parrot.

Friday April 18, 2008
10:13 AM

Flash Socket Policy Changes - Solution!

Yesterday I posted how I was fighting with the Flash socket policy changes. Today I found a solution. At some point I had reverted back to using Adobe's example xinetd socket server written in Perl. The problem was that the example wrote log information to STDERR and xinetd redirects STDOUT and STDERR to the socket. I was sending logging info mixed in with the policy file so of course it was invalid!
Thursday April 17, 2008
06:41 PM

Flash Socket Policy Changes

At work we have this web based app that uses Flash to open a socket and pass along any data it receives to the JavaScript. Everything was working well until Flash rolled out 9,0,124,0. Now our app cannot make the socket connection (to the same domain that hosts the SWF) because we don't have a policy file. So I read all the articles they provided and followed their directions to get one set up (with a process set up on port 843 to hand out the policy file).

So I try out our web based app only to see this show up:

Web Based App::securityErrorHandler: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048: Security sandbox violation: http://someserver/flash.swf cannot load data from someserver:12345."]

So I installed the debug version of Flash Player and configured my mm.cfg with 'PolicyFileLog=1' so that Flash will create a log with the profile information in it (profilelog.txt ). What do I see in profilelog.txt?

OK: Root-level SWF loaded: http://someserver/flash.swf
OK: Searching for <allow-access-from> in policy files to authorize data loading from resource at xmlsocket://someserver:12345 by requestor from http://someserver/flash.swf
Warning: [strict] Ignoring policy file at xmlsocket://someserver:843 due to incorrect syntax.  See to fix this problem.

I reread all of the articles and go through the steps of creating the policy file only this time I use their example file:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">

<!-- Policy file for xmlsocket:// -->

   <!-- This is a master socket policy file -->
   <!-- No other socket policies on the host will be permitted -->
   <site-control permitted-cross-domain-policies="master-only"/>

   <!-- Instead of setting to-ports="*", administrator's can use ranges and commas -->
   <!-- This will allow access to ports 123, 456, 457 and 458 -->
   <allow-access-from domain="" to-ports="123,456-458" />


I hit the web app again. I was expecting it to be accepted but still throw the securityErrorHandler. Instead I received the same exact error! Their example policy file is invalid! I then tried to remove the comments and blank lines but that was still invalid.

Next I tried using one that I found on the net:

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy xmlns:xsi="" xsi:noNamespaceSchemaLocation="">
        <allow-access-from domain="someserver" to-ports="12345"/>
        <site-control permitted-cross-domain-policies="master-only"/>

Of course it too was invalid.

I tried every possible combination that I can think of and nothing worked. So I made a call to Adobe tech support. Once I had the guy understanding what was happening he had me pull up the app and look at the profilelog.txt. The only thing is that it worked this time. Yeah, that's right folks, apparently calling tech support will fix it automatically. (Even if that were true, it would be totally impractical.)

After I hung up, I SCPed the file to another server and tried to get it working there. No luck. I received the invalid syntax error every time in profilelog.txt. I've tried everything but simply couldn't get it working on the second server.

So my boss tells me that we'll just make sure that we ship a version of the Flash Player that does work. Great! I'll just back out all of my changes, uninstall Flash 9,0,124,0 and install the old Flash Player. Except that I can't get any old version of the Flash Player to install in IE. It'll only install 9,0,124,0!

Finally I decided that I had better reinstate the files to the development server since it looks like we do have to get this thing working. Guess what? I can't get it to work on the original server again.


Friday April 04, 2008
06:31 PM

Red Hat Certifications

I have spent all week at the Red Hat office in Dallas taking RH131 Red Hat Linux System Administration.

Today I took the exam and it felt easy. It felt so easy that I really thought that I had aced the exam. Unfortunately, I didn't. I passed with an 87 though so now I'm a Red Hat Certified Technician (RHCT). It's a pity that they don't tell you which parts you messed up on.

My next step will be to take RH253 Red Hat Linux Networking and Security Administration and the Red Hat Certified Engineer (RHCE) exam. My goal is to be a Red Hat Certified Security Specialist (RHCSS) (although if work will continue to foot the bill after that then I'll complete all of the classes and exams to be a Red Hat Certified Architect (RHCA)).

Thursday March 20, 2008
10:03 AM

Outlook Needs Better Rules

At $work we use Outlook with an Exchange server for our email. Recently I've taken on system administration tasks for my group. Any email sent to root on our servers goes to me.

One of the servers is running OpenNMS (apparently it's not configured correctly). OpenNMS keeps sending email to me with subjects like 'Notice #XXXX: node some.node.domain.local down' and 'RESOLVED: Notice #XXXX: node some.node.domain.local down'. Some days I get 15 or 20 notices (plus the corresponding resolved notices). Other days I get 50 - 75 notices (plus the resolved). (More often than not, the downtime is super short and I get two notices and two resolves for the same system in one minute).

Until I can finish configuring OpenNMS (so that it's not so darn sensitive) I'd like to set up Outlook to automatically mark the notice and corresponding resolve as read. Outlook's rules don't allow for wildcards or capturing or anything that resembles a 21st century feature. I've done some Excel macros in the past but I've never needed to muck with VBA in Outlook so I really don't know where to start (other than what I've found doing a Google for it). I also downloaded a few sample scripts for doing Outlook inbox/message manipulation in Perl.

Are there any Outlook gurus reading this? Do you have any suggestions?

Tuesday December 18, 2007
06:34 PM

Ubuntu, Automation and Strawberry Perl

Two or three weeks back I made a big leap. I switched from Windows XP Pro to Ubuntu as my primary desktop OS. World of Warcraft and the Cosmos addon updater were my big hold ups but since I managed to get both of them running under Wine I just couldn't resist.

Shortly after making the switch I decided to get a script written that would automatically check my Gmail account for CPAN Uploads and write them to disk as scripts (a batch file for Windows and a bash script for linux) that could be executed at a later time. I used an IMAP module that eludes me at the moment and the whole thing took ten minutes (including a few test runs). Previously I had one that ran on Windows but the Gmail module I was using fails ever since Gmail started rolling out the 2.0 changes so my CPAN Uploads folder had a few hundred uploads in it. I ran the script and it completed in a flash.

I dropped the Windows batch file in a Samba share and went to the bedroom to run the script on my laptop that's running Windows Vista. Everything was going smoothly so I left. A few hours later I go back to check on the progress and I find that the module installations had started failing at some point. I scrolled back and found the culprit. When I wrote the IMAP script I forgot to skip the Perl-Dist uploads and it dutifully tried to install Perl-Dist-VanillaPerl which hosed my configurations. D'oh!

Since it's Windows Vista system I don't want to go to the hassle of installing Strawberry Perl 5.8.8 since there is so much manual stuff to do to fix MinGW after the fact. So I can't wait for the next release of Strawberry Perl which I hope will fix the MinGW issues with Vista.

Thursday November 01, 2007
08:16 PM

Hebrew Spam?

I have a message in my inbox from someone named "Hellie" (from a .il address). The subject and all content is in Hebrew. Since I can't read it I don't know for sure that it is spam.
Thursday October 25, 2007
12:34 PM

Massive Upgrades in Progress

At work I've been moving forward with upgrading various things that we rely upon: OS, DB, etc.

I created a custom distro of Red Hat Enterprise Linux 5 64-bit to replace the previous custom distro of Red Hat Enterprise Linux 4 Update 3 32-bit. (Custom meaning set of custom kickstart scripts and some extra packages slipstreamed in with the default ones.)

I've been working with one of our contractors to move from Oracle 32-bit to Oracle 64-bit (and only install the bits and pieces we are actually using).

This week I installed my custom RHEL5 into a VM, updated our installation scripts to use the new version of Oracle, installed Oracle in the VM, installed all of the Perl modules that we use from CPAN and installed our product over top of it all.

I tried to start Apache and it failed. It turns out that I had to tweak the httpd.conf that we ship since we previously used Apache 2.0.52 and RHEL5 ships with Apache 2.2.3. Once I got past that I found that I had permission issues with $ENV{ORACLE_HOME}/lib. I fixed that only to find that I still have problems to overcome.

ERROR OCIEnvNlsCreate. Check ORACLE_HOME env var, NLS settings, permissions, etc.

It's not $ENV{ORACLE_HOME}, $ENV{ORACLE_SID} or the NLS stuff. It's definitely file and/or directory permissions but the problem is that I don't know which files and/or directories... yet.

How do I know it's permissions? I cheated. I did a 'chmod -R a+rx /u01 /u02' and all of a sudden I could use our app just fine.

I'm doing a new install from scratch so that I can play around as a normal user and see what strace tells me when I run various scripts.

Tuesday September 04, 2007
12:33 PM


I recently bought a Wii. The kids have been begging for one since they came out. I've wanted one since they came too. My wife sort of wanted one but not as much as me and the kids.

We picked up Wii Play (it's only $10 more than a remote and comes with one), Super Paper Mario and Metroid Prime 3: Corruption as well as an extra nunchuk.

Wii Sports is fun for the entire family. It looks like Bowling is the #1 pick though (and the kids can beat me at it).

Wii Play is a mixed bag. There are games that some of us like that the others don't. I'm not sure why but I really like Cow Racing.

Super Paper Mario is another one that the entire family enjoys. The controls are mostly the same as previous Mario games (if you swap 1 for A and 2 for B). I really like the mix of 2D and 3D environments. I never played Paper Mario but the downside of SPM for me is the amount of talking that goes on in the game. (It's reminiscent of the FF or Zelda games.)