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 ]

mothra (1667)

  (email not shown publicly)

Journal of mothra (1667)

Sunday May 05, 2002
04:50 PM

Decisions, decisions...

Well, it's looking like tomorrow is going to be the day my car and I will part ways. :(

The dealer from which I bought her is willing to give me X amount of money, where X is a terribly low price, but not low enough that it would have any effect on my planned date for leaving for Europe.

It's not that I want to, of course, but realistically there can be no other way. I'm five weeks away from the date I've been planning to leave for London (England), and it's time to cut the cord.

Unless you're a car/motorcycle lover, it's hard to understand the Zen of Man and Machine, but selling it's definitely a difficult step to take. But realistically, the car would be too much of a pain in London anyway. Insurance rates are enormously high, as are fuel costs, and the traffic is bloody hell.

And hey, It's Only Money.

11:21 AM

A Real Doozie


Looks like getting the timezone of the machine in Windows (and well, more usefully, the bias for local time translation) isn't as easy as I thought it would be. Sadly, Win32::Clock seems to have disappeared, so I've actually got to code it myself. How disappointing. :P

I've got to use Win32::API, and pack() nested structs for the parameter that GetTimeZoneInformation() takes. Considering I've never used pack() before for anything more than trivial, this should fun. :)

I'll get to that this evening, but for now I'm off to the Sunday Family Luncheon.

Saturday May 04, 2002
12:53 PM

Brainstorm Management and Getting Things Done

Okay, it's about time for Getting Things Done to get easier.

I need a way to keep track of my brainstorms. In particular a method for keeping track of thoughts that offers the following:

  1. World-wide accessibility, because thoughts are being created at every moment, everywhere, so the mechanism for recording them needs to be equally accessible (yes, even in the shower).
  2. Easy-to-use, and efficient (so that the time between the thoughts I have, and the time they're recorded is minimal, and so that there's almost no learning curve in being able to do so).
  3. Searchable and scriptable, so that the system can answer questions/fulfill requests such as the following:
    • What are all the ideas I've had for Perl modules in the last 3 months?
    • How many of the ideas for Perl modules that I've had in the last 3 months did I actually implement?
    • How many of the ideas for Perl modules that I've had in the last three months look like they may have been implemented on CPAN? (Returning in that case, a listing of some sort of everything from CPAN that looks like it might be what you were wanting to do).
    • How many other Perl programmers are thinking what I'm thinking about Foo? (Returning in that case a list of names, email addresses, and a description of what their particular thought was for the context you're interested in).
    • Send me an email that looks like [however you want to format such an email] if person A, B, or C thinks the same thing that I was thinking about such-and-such (or, say, if anyone else happens to think the same way).

    Of course, these are all Perly type questions, but the system's searching and scriptability should be general enough to satisfy the requirements of the idea domain relevant to you.

  4. Collaborative, so that all the ideas of mankind (well, ok, the user's of this app anyway :) would be stored in a central place so that questions like the ones mentioned in the previous point can actually be answered. So a sort of "CPAN for thoughts".
  5. Free (both speech and beer, so that you can think what you want and not pay a dime to do so), because in order for this system to be useful it shouldn't limit what you're allowed to think, nor should it make you pay to contribute your ideas. Though, for example, certain advanced features or business-specific spinoffs of such an idea management system might cost money at some point.
  6. Integrated task management, because the logical next step to coming up with a good idea is setting the course for implementation.

Without trying to sound too off-the-wall, the net result of this killer app truly could increase the intelligence of mankind. Ideas wouldn't get lost in the fray of daily life, and wheel reinvention would be minimized.

From there, the task management component -- categorizing tasks by context, effort required, cost, time needed, etc., ordering tasks, assigning tasks, etc. -- would provide the framework for efficient realization of ideas.

But, enough brainstorming for hot wings are ready. :)

09:32 AM

The Downside of Laziness


The more I learn about Win32::GUI, and now this really cool form designer The GUI Loft, the shorter -- to put it mildly -- my code is getting.

Normally this is A Good Thing, except that I was hoping to send this code bit off with my CV to Kake and Simon, in the hope of showing London that I'm mildly clueful, which isn't easy to show when your paid programming experience doesn't involve Perl, but you know you want a Perl job. Something about chickens and eggs comes to mind right about now...

Imagine...complaining about things being too easy. :)

In other news, the car pictures turned out grrrrreat, which I'm very happy about. I'm going to scan them in (at my dad's) tomorrow, and might chance taking out a $90 big ad in the Auto Trader using one of those pictures, in the hopes that my understanding of human nature ("big ad! nice picture! must be good!") will pay off, in the form of a decent offer.

The negotiating rounds with two car dealers yesterday didn't go quite as I'd hoped (but most certainly went as I expected), so private selling is still looking like my best option.

12:23 AM

The GUI Loft

Laziness got the best of me this evening.

More Win32::GUI hacking (well, beating-head-against-walling, more like) today made me realize that I don't want to be confined to a life of handcoding pixel positions for controls. So off I went, in search of a better tool (particularly, a good form designer for Win32::GUI) to implement my weather program...

Holy moly.

The GUI Loft is a superb (beta, but very very functional) form designer for Win32 native GUI applications. It's based on Win32::GUI, and in my opinion, is exceedingly well-designed.

At first (like, the first 13 seconds) I was a little disappointed at the fact that this tool doesn't generate Perl code, instead using its own engine (aka, Perl modules) to build the windows you design, which are stored in .gld files. However, the author's explanation of why this is so was not only instructive, but gave me even more incentive to play with this.

Friday May 03, 2002
03:01 PM


With six weeks to go before I'm planning to travel/move to Europe, I'm off to (one) car dealer tonight, to see what they'll give me for my car. I told them $21,500-$22,000ish is what I'm expecting, and the salesman said that ballpark sounded reasonable. Of course, they can't give any hard numbers until they see it.

The dealer from which I bought the car is offering me $20,000. Not bloody likely. :)

07:52 AM

Baby Pictures

So I took my car out to the (relatively) nearby national park -- Bird's Hill -- to snap some photos of my car last night.

Wow, did she ever look gooooooooood. :)

Truthfully though, I took them so I'd have a picture to put in the ad I'm posting to sell her (so I can move to Europe, free of the obligation of having to make monthly car payments), and so I'd have a memento when she's gone, as I'd like to do with every nice car I own.

I also spent some more time last night studying the Win32::GUI Howto. Nice work Aldo. Time to finish reading it this morning.

Thursday May 02, 2002
10:42 PM

Climbing the learning curve...

Emacs' cperl-mode seems quite cool, but for the following problems:
  • No immediately obvious (not even after searching google, actually) way to execute the current buffer (without launching the debugger).
  • Ugly syntax highlighting color defaults.
  • Poor defaults with tabbing.
  • Poor defaults with {}'s. I was hoping to see closing of my sub foo {'s automatically, as well as a newline and four-space indent.
  • The fact that I don't know Lisp (yet). :(
  • Amazingly hard-to-find sample .emacs configurations and cperl-mode tutorials out there on the web. Yeah, yeah, I know C-h m...but I said tutorials.

Either way, me and Emacs are really starting to get along.

01:29 PM

In praise of Win32::GUI


Win32::GUI might not be all that easy in the early-going, but at least Aldo's making a sincere attempt to document it. As a user of various open source modules/programs/OS's etc. I can't give enough appreciation to people who document their (or other people's) work.

And hey...since when is using platform native GUI interfaces easy?

09:36 AM

mothra vs. Win32::GUI

I love getting the chance to use for()'s on scalars when they make sense. For example, it was nice to be able to do this:

    for ($wind_dir) {

in my tooltip weather reporting program. Oh, the little things...

Two problems yet remain though:

  1. A non-wheel-reinvention compliant and intelligent way of converting the UTC time of the report to the local time of the weather station whose report is being viewed. By "intelligent" I simply mean I don't want the user to even notice that I magically converted UTC to their local time; it should just Do The Right Thing.
  2. Making a system-tray-icon-only application out of it all, whose tooltip is -- wouldn't you know -- the current weather.

Win32::GUI isn't the easiest thing in the world when you're unfamiliar with it.