Stories
Slash Boxes
Comments
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 ]

WebDragon (1204)

WebDragon
  (email not shown publicly)
http://www.webdragon.net/

Macintosh owner/user since 1987
Perl hacker since 2000
Linux (Redhat/Fedora) user since 2001

Journal of WebDragon (1204)

Friday September 22, 2006
04:41 PM

RIP Rob (lilo) Levin

All political BS aside (which I avoid like the plague on a GOOD day, anyway) Rob, you will be missed by this user at least.

I didn't get the chance to talk with you very often, but at least you always had the courtesy to follow up even if it was hours later, or a note left in the MemoServ. Rare indeed is the irc operator who does so.

Thank you for your efforts in building the openprojects.net => freenode networks into what it is today. There's no way I would have learned as much as I did as fast as I have without this forum having been shaped as it was. It felt like more of a $HOME to me than any other place I've found on the 'Net in quite some time. Still does.

I hope that won't change now that you're gone.

You will be missed bud, my hat's off to yer, and here's a merry toast to see you off.

Your work here, while never done :-), was done well.

Cheers.

Monday November 14, 2005
03:53 PM

it's been a while...

been a while since I posted anything, mostly because I've actually been busy (yay).

Picked up a regular gig this spring working for a local web/print designer, took advantage of the early spring weather and this great summer we had to bike to and from his place daily, did some work-from-home stuff, and am still working there now. It' snot (yet) paying as much as I would like it to, but it's getting the bills paid which is the important thing right now. Plus all the experience.

Getting to stretch my perl muscles a bit, as well as getting in a little deeper with javascript, php, and HTML4.01/CSS2.1 on a regular basis.

I still get bit on the ass regularly by MSIE's lack of standards support but there's enough work-arounds now that it's reasonably bearable.

Now if I could only get around to figuring out how to make my own website redesign work the way I want it to, in what little spare time I have...

*sigh* oh well.

Wednesday February 16, 2005
09:27 PM

compartmental development

Recently I picked up some part-time work two-three days a week, assisting in making teacup-saucer sized ravioli with exotic ingredients (salmon, portabella, arugula, sweet-potato) to keep food on the table and some bills paid while I work on developing a subscription package for a client.

This led to the part-time job's Boss discovering that I knew a little about computers, and I was subsequently conscripted into additionally helping (on the side of the other work) in fixing his LAN (which someone else had been working on for about four weeks of similar 2-3days/week, with little success).

This involved me taking one look at his network map, immediately grabbing a pen and reconfiguring the design to include a linux firewall to sit in front of the Windows 2000/NT boxes, with option of a future DMZ for Webserving, and farming DHCP to the LAN.

Over the course of the next day or two, he bought a new used system, installed his Win32 package on it, and gave me an older one to use for the firewall. Burned a copy of FC3 to CD, went thru the usual rigamarole getting the hardware to behave, and got a minimal install going, rpm package updates installed, and bare-bones firewall/dhcp up.

THEN he springs on me that he wanted the Linksys WRT45G hooked up (which I had not been aware that he had, and which could have easily serviced all of the above, although somewhat more basically), to allow the two upstairs computers to have access to the network in the basement. I banged my head on that for the few hours I had, took home the CD with the PDF manual, failed to find what I needed, and came in today to squeeze in what I could in between the ravioli-making.

However I was met with the directive that "this has gone on long enough" (even though I wasn't involved in the early stages of any of this) and if I can't get the wireless working by the end of the day, the whole thing gets scrapped and he's gonna put it back the way it was before the whole thing started.

Banged my head against the quirky WRT45G built-in configurator for several hours, finally wound up calling tech support only to get cut off at the very end by a failing cellphone battery, however with what I'd learned by then, I made the final lucky discovery that by plugging the cable into one of the built-in four ports rather than the WAN port, it all 'just worked' as a wireless access-point doing routing but passing the DHCP up to the linux box, and I set up the 128-bit encryption and everything's contained.

WHEW!

THEN last minute, his D: drive disappears while he's trying to install a DVD drive on another system of his, which has crucial data he needs for a meeting in the morning. No Norton Utils, just bare-bones Win2K utils. Sees the drive, won't mount it. Windows pretends it doesn't exist. I yank the DVD drive, check the SCSI ID settings, re-set them so it's not ID 0, plug the drive back in, and BOOM, there's his D drive.. only now, the DVD drive doesn't show up. However, that's a thing for another day, since he can get the files he needs, and it's time to go home anyway.

Oy what a day. My friend had to make all the raviolis because I *had* to make sure to solve the computer problem before the day was out. (hell, my reputation, such as it is, was at stake... or at least my attempts to build one with him. *chuckle* :)

Postlude: Even as I'm typing this, he's called to get my e-mail address so he can send me some more work. Busy, somewhat frantic, but if the trend for success continues, this should definitely turn out better than I'd hoped. Now all I need to is to stress how much I normally make for this kind of work. Nothing worse than being taken advantage of because you're broke, but still hard to look a gift horse in the mouth either considering I only had the one other long-term project before this.

The difficult part will be keeping my mind-set in line to make sure to complete the OTHER project ALREADY on my plate, which is quite a bit more complex and actually involves Perl programming, as well as learning how to (securely) do things I'd never done before.

Maybe I'll be able to catch up and pay off my roommates what I owe them before they have me drawn and quartered.

Wednesday January 19, 2005
05:51 PM

OOPerl does my head in

I'm working on a project for a client right now (yay! paying work!) that involves a subscriber interface, regular mailings (both e-mail and snailmail), database access (with additional conversion to .csv), use of templates for the mailings, and a few other interesting things.

I thought about doing this in an object oriented manner due mostly to what I perceived to be the major benefit of it: abstraction. I could write object methods that would do Thing A, while providing a consistent programming interface on the front end wherein I could change what the back end does without affecting the code that uses it overmuch, while additionally making the 'front end' code a bit simpler.

I posted to a list or two in order to garner some feedback from the more experienced people and proceeded to crack open the lovely OOPerl by D. Conway, and hacked together a working prototype of the initial data-access model to hold the subscriber data and allow me to access it in different ways. That now works fine. The trouble is what do I do next?

I mean, it's (relatively) easy enough to sort of do this in a linear fashion with functions as one would normally do. The problem comes from my lack of knowledge about how various OO systems work, whether or not I want to subclass other modules or merely use them in mine (IS-a vs HAS-a), and the lukewarm responses I've gotten to my queries in the posts I've made.

Now some people have indeed offered some constructive suggestions that really got me thinking about this but hoo-ee I may have bitten off more than I can chew trying to do this OO ..

Additionally I'm really having a problem generating a *complete vision* of how the thing should work, and I think this is severely hampering my ability to continue.

Do all midlevel perl gurus go thru this stage?

Tuesday December 07, 2004
04:49 PM

vim-fu revisited

Got some fire under me recently with the assistance of the kind folks in the #vim channel on irc.freenode.net, and came up with a few interesting usefuls for my ~/.vimrc ...

" Automatically source in my blank html file template locally.
:autocmd BufNewFile  *.htm     0r ~/.vim/blank.htm
:autocmd BufNewFile  *.html    0r ~/.vim/blank.htm
" same for Perl, except position the cursor at the bottom ready to start typing.
:autocmd BufNewFile *.pl 0r ~/.vim/skeleton.pl|normal G

Created a 'blank' html file with all the usual things I'm normally forced to go fetch from other finished files so I don't forget the correct formatting. Now, when I create a new *.htm(l) file, it's automatically filled in with all the basics I'd be starting with. Same goes for Perl, with the shebang line, and warnings/strict, except we move the cursor to the bottom and get ready to start typing. :-)

Also, if we worked out a way for me to keep my html template on my website, and source it in remotely thanks to vim's 'netrw' script (which is built-in to current releases of vim)

" Automatically source in my blank html file template remotely.
:autocmd BufNewFile  *.htm     nested :0r http://www.webdragon.net/miscel/blank.htm|normal zR
:autocmd BufNewFile  *.html    nested :0r http://www.webdragon.net/miscel/blank.htm|normal zR

This version also automatically opens all the nested folds for me, as well.

Another useful, this one is self explanatory thanks to the comment

" map F12 to change the pwd of vim to the cwd of the current file
:noremap <F12> :cd <C-R>=expand("%:p:h")<CR><CR>

Anyone else out there have a useful trick or two they'd care to share?

Friday August 27, 2004
11:21 AM

further progress on Fedora bug with Test::Harness

Someone *finally* followed up to my bug report that I filed against Fedora Core 1 regarding Test::Harness being part of the released distro but in actuality it fails the build tests, and should NOT have been released. I don't know how this gets past the rpm's rebuild unless it's NOT doing a make test, but anyway....

Someone at long last responded to the bug report. Bugzilla id 118221

However I don't know anything about the Perl header internals. I've advised Andy Lester of the small amount of progress with the report, however if there's anyone out there more familiar with the Perl header internals than I who would care to look at the follow up to the report and perhaps advise them whether this suggestion (comment #2) is safe to do, and perhaps help the Fedora Core people determine what's causing the problem to begin with, it would be much appreciated.

their comment:

The problem seems to arise from the perl header
/usr/lib/perl5/5.8.3/i386-linux-thread-multi/bits/typesizes.ph --
the definition of __FSID_TYPE translates badly into perl:

    \'struct struct\' { \'int\'  $__val[2]; }

This is not a valid perl expression. It's trying to duplicate
Fedora's definition of the type, struct { int __val[2]; }. I
commented out the offending line, and Test::Harness builds without
warning. I don't know if there's any harm in removing the
definition, nor do I know what it should look like.

Sunday June 13, 2004
03:48 PM

road to recovery

finally shaking off the last vestiges of the cold, although the cough still lingers a little, annoyingly. Thank goodness for Ricola.

Spent some of the time trying to reclaim an old amd box for re-use, to bring to the client's site and leave there, to better facilitate my finishing the work on the website.. This way I can get questions answered much more readily, and address problems while there.

Unfortunately, the drive isn't cooperating, and may have to be replaced. On top of that I'm getting Read errors from the internal CD-ROM and had to switch to booting from the CD-RW instead.

fun, fun, fun. Where's my damn sunshine?

Monday June 07, 2004
11:51 AM

bleagch!

Ugh. Sick all weekend. Still recovering. No thanks to one of my roomies who was sick for days before actually telling anyone. Grrrrrrr.

At least the weather is improving.

Wrote several report scripts for the website client I'm working with, so that he could see which products were currently represented in the database, so he could better cross-reference what still needs to be added. (Notwithstanding I'd gift-wrapped a spreadsheet template they could all fill out, and wrote a batch-import script to suck that spreadsheet into the DB, two months ago... did _everything_ get into the spreadsheet? no? why not? aarrgghhh.)

So I dealt with the endless questions of "why is this not on the site? why is _this_ not on the site?" ad infinitum, by repeatedly pointing out the presense of the spreadsheet two months ago that had every opportunity to be examined and added to, then. Eventually we got past that and are agreed upon doing a new spreadsheet for the remaining products, and have also agreed that none more will be added until everyone is certain that this new sheet is 100% complete, AND pictures for each product exist.

At any rate it looks as though the tech market in Delaware is starting to pick up again, lucky for me, since I really need some full-time work.

Thursday April 08, 2004
03:41 AM

At long last, the death of the 'expensive' myth

While flipping thru the reader comments on osnews.com I came across this little gem that pretty much exemplified what I and not enough others already know.

Macs are no more expensive than comparable PCs

The only real difference is that many manufacturers of "ibm-compatibles" allow you to strip more of the baseline components in order to further reduce the price, whereas Apple's computers simply come with more to begin with. All computers are expensive.

Also another article related to market-share vs installed-base really puts the screws to the whole 'market share' issue. I, thanks to this readers' succinct explanation, will no longer put any faith behind a simple 'market share' explanation that does not also include installed-base figures. It's really this simple.

My PowerMac 7600/132 that I bought new, over 8 years ago, is still fulfilling most of my needs. Although I do want to upgrade, simple economics (i.e. my lack of a steady enough paycheck) prevent me from even opting for anything else. Thus, I am content to wait until my financial situation improves. However, I am now brought to awareness by this users argument that while Windows afficionados may have purchased two or more computers during this period to replace aging systems, neither of our 'installed bases' have changed they still have their one PC, I still have my one Mac.

'Market share' is meaningless. Period.

I can't even begin to tell you how tired I am of hearing these shallow arguments repeated over and over again against Apple and the Mac, (as if merely repeating them would make them true), but I am reminded of Terry Goodkind's book from the Sword of Truth series, Wizard's First Rule.

Basically, Wizard's First Rule, is this:

People will believe anything; either because they want it to be true, or because they are afraid it might be true.

His latest book in the series, Naked Empire, has both given me cause to grin in Apple's direction, as well as offering a cautionary admonisment for Mr. Jobs, et.al.

Wizard's Eighth Rule:

Deserve Victory.

Wednesday March 24, 2004
12:51 PM

Sub::Uplevel

Michael Schwern, you have made my morning.

Updated WWW:Mechanize this AM and decided to install some of the other modules it mentions during the testing phase but doesn't outright require.

Having seen Tcl's uplevel() in the past, I was curious, so I went to perldoc Sub::Uplevel, and was greeted by some rather humorous content, like:

If this code frightens you you should not use this module.

and:

HISTORY
Those who do not learn from HISTORY are doomed to repeat it.
The lesson here is simple: Don't sit next to a Tcl programmer at the dinner table.

In a word: "heh" :D