Ten Years of MZ Online!

Practical Advice

Extraordinary Ideas

No-Nonsense Solutions

Friday, July 6, 2007

And Now For A Week Off...

Rip Into It!
She was really flailing around in this picture.
Almost like she's trying to fight with it.
Well, not from the blog or real life, but I am officially free from work until July 16 as of 5pm tonight. Woohoo!

It's going to be a busy week; I've got to get my 'to do' list worked up (possibly on Sunday) so that I can get everything done. Amongst other things, I have some electrical work to do, some crawling around in the attic (for an inspection), cleaning, recycling (scrap and metals, for which I get paid), mowing the lawn, and ultimately next weekend to cut a hole in the basement floor (and dig a hole below the concrete floor) and a doorway into the cistern.

There are other things going on as well (I've got various things already scheduled for Monday, Tuesday, and Wednesday), so I need to write all these things down and figure out where to stick them so that they'll get done.

But anyway, it was good to be done with work today, because I managed to finish what I was working on so I don't have any loose ends for that particular project hanging out there when I come back. It meant I had to stay later than I wanted to, but it was either stay until 5 and get it done or leave early (as most in the building did) to come back in a week's time to figure out where I'd left off. I chose the former, because it will ultimately be easier.

On a random side note, I forgot to mention yesterday that Kirstin is officially 24 3/8" long and weighs 12 pounds, 15 ounces. She got measured up yesterday, so she's most definitely growing. It's really been neat to watch her the last week or so, because she's really learning how to do some basic critical things. She was able to basically roll from her back to her tummy today, although it wasn't a complete roll as she hasn't figured out that in order to lay flat on her tummy, she must pull one arm out from underneath her. Regardless, she's finally figured out how to gain that little bit of inertia to get her past that point of no return where she's more on her front than her back or side. So that's cool.

I also got to see her take the pacifier from me (when I held it near her hand), then immediately bring it to her mouth where she started sucking on it and removed her hand (let go) once satisfied it was in place. So that's cool, too, the fact that she's figured out how her hands work (in a basic sense).

Anyway, it's been a busy day today and I'm sure tomorrow will be filled with activity as well, so I'm going to call it an evening and bid thee adieu. Until next time...
"The concept is interesting and well-formed, but in order to earn better than a 'C', the idea must be feasible."
- A Yale University management professor in response to student Fred Smith's paper proposing reliable overnight delivery service (Smith went on to found Federal Express Corp.)


Thursday, July 5, 2007

Back To The Mill

Do I Cross?
I don't know that this question was ever on the
deer's mind, but it was steadily heading for the
road (and nearly on to the road) when I got this
The day after a mid-week holiday is always a bit on the unusual and pathetic order, if you ask me. I actually talked to a client of ours today on the phone for a bit, which was oddly nice because it's been pretty quiet (and he's a good dude). While I didn't necessarily get a load of stuff done today, I did make some significant progress in the quest to refactor a portion of the application. Enough so that I've now developed enough of a pattern to make the remainder of the refactoring go more quickly.

Interestingly enough, I found several little bits of code that I've either removed completely (they were duplications or no longer in use) or significantly improved over the previous look. I've also been standardizing the look of the code for the many similar classes in the portion of the application in which I'm working right now. These were two goals I'd been working toward, and I'm fairly confident that I've accomplished them so far.

I'm still working in the light color (white) on black world right now, and it's growing on me a bit, but I'm still not sure I'll stick with it once the end of my current refactoring bit is complete. It works really quite well for refactoring (because you have to look at code differently (it appears differently) with the different colors), but I can only change the editor window color scheme. The remainder of the IDE (development environment) is still the more standard black on white. So to me it looks a little strange to have a big black window in the midst of several that aren't in the same color scheme. As I noted several times now, we'll see...

One incredibly awesome thing that broke up the run of the mill stuff today was the arrival of the SPAMALOT tickets in the mail. We are officially going now! It's going to rock. So that made my day happy. :)

Moving to a more ironic note, yesterday's post included a bit about CAPTCHAs. Interestingly enough, I had one of the most perverse (in a non-sexual way) form spam messages come through this morning. It would have been three printed pages worth of form spam. Unbelievably horrible.

So, I spent about an hour or so tonight correcting that issue (at least on one site). For this particular project, I was using the Asirra HIP/CAPTCHA from Microsoft in accomplishing this. I'm also looking at another more traditional CAPTCHA from Carnegie Mellon University which uses the traditional image with letters obscured, but chose Asirra because it was fairly straightforward to implement, didn't require I sign up for an API key, and uses pictures of cats and dogs (asking you to identify all of the cats in a particular set) rather than the sometimes hard to read numbers and letters.

So we'll see how that goes.

Anyway, that's all I've really got to write about tonight, so I'm calling it a night and will write more next time...
"Who the hell wants to hear actors talk?"
- H. M. Warner (1881-1958), founder of Warner Brothers, in 1927


Wednesday, July 4, 2007


Such a neat variation in color you see in this
picture. I know Beth doesn't really like these
flowers, but they photograph nicely (and I like
them). :)
Happy Independence Day, everyone! By the time most will read this, it will no longer be July 4, so I hope your holiday went well.

I don't always like leaving the title of the picture as the title of the post, but today I'm making an exception. Not due to subject material (because I'm not talking about flowers), but due to the holiday. I think the plural word 'colors' works well to describe in many different ways what the Independence Day holiday is about. For real. Aside from what it's come to mean to many (fireworks and a day off).

Given the very nature of our country's development and foundation, the vast differences in culture and race, and the flag itself, I think the word 'colors' can easily be tied into the true [real] meaning of Independence Day for pretty much anyone who really thinks about it.

I spent the day working on several different things, but still taking it pretty easy. The late morning brought on a quest to capture some video from VHS. I captured some stuff for Beth and then worked on all of our wedding material on VHS. This will be converted to DVD for better and longer preservation at some time. It was kinda fun (as it always is) to watch that stuff, especially seeing as how it was our fifth anniversary not that long ago. Even though it's only been five years, it's amazing to see how different (and how similar) some of the people in the videos look. Crazy. :)

Once I completed that capturing (in the early afternoon), I went outside and spent some time with the dogs. Seeing as how it was hot and a bit humid, I didn't really do much with them, but I ended up using the undercoat rake to make them a little less scruffy looking (and more comfortable for the summer). It looks like I killed a few chickens in the front yard now, but the dogs (especially Koshka) look much better now.

I came back inside after that and did some research into CAPTCHAs. This is the stuff that you see when you fill out web forms and have the 'please enter the text you see in the image to verify you're a human' stuff. I've been getting a lot of form spam lately (from several sources and different websites I administer), so I'm afraid that it's time to implement some of this stuff to prevent that from taking place in the future.

I'm casually looking at doing an overhaul of the
MZ Online root site and also my personal site to shift away from the TWiki format and back into something more standard (like PHP). The TWiki business will stay for the Python Repository and for One-Act materials (due to various reasons), but it's time to freshen things up in the other departments. Amongst other things (especially since the MZ Online sites don't use PHP form processors, whereas the other sites I maintain do use PHP form processors), it's one of my side projects I'd like to complete sometime before the end of this year. Who knows when or how long it will take...

I enjoyed the last of this year's fresh asparagus picking tonight. What I had left over in the fridge from my last picking now about three weeks ago had reached the end of its shelf life. So what I didn't cook up went into the garbage. So I'm a little sad because of that (I love asparagus), but on the same note the lack of asparagus throughout the remainder of the year makes me look forward to next year. A lot like sweet corn does.

I crossed the 1,700 picture mark tonight (1,712 to be exact) after uploading all the flower and animal pictures I took today (along with the Kirstin pictures). I also did a lot of searching around on Flickr to get ideas of how I can do a few other things (namely with tags) to make organization and searching easier as the collection grows larger. I've fortunately got a pretty good organization scheme already (with the sets), but I should really do some tagging work to round it out for the future. This is the sort of thing that can be done over time, though.

So anyway, with all of that said, I sign off...until next time...
"The difference between fiction and reality? Fiction has to make sense."
- Tom Clancy


Tuesday, July 3, 2007

Happy July 3!

Sticking Out That Tongue
Just a little bit, but enough to get her point
across, I guess.
So tomorrow, Independence Day, is a pretty significant holiday. But I'm not writing about that right now -- I'm writing about July 3. So happy July 3 to you all!

The day was pretty uneventful, really. Work-wise that is. I'm currently working on refactoring some code that, by and large, hasn't been touched short of bugfixes and minor enhancements for about three years now. And I find myself running into an interesting situation related to refactoring.

Before I get too far into this, I should note that my primary goal in refactoring is not to make it to the Nth level of Extreme Programming, but rather to clean up and reuse code bits as much as practical, namely with the intention of cleaning things up and making the maintenance process easier down the road.

My situation is related to the practicality. My XP (Extreme Programming) 'training' of sorts allows me to see all kinds of options for refactoring and in a way 'centralizing' code snippets. My lazy 'training' allows me to look at several of the same bits and determine that less than 25% of those items will actually be refactored.

Why is this, you say? Interesting question. It all boils down to practicality. Since most [event] things in the application are not terribly complex (they're driven by the user's button clicking), there are many, many places where these things can be refactored. An excellent example is the 'New Record' button. Most of these buttons do the same thing. I find myself demanding that I combine these tasks into one main procedure, then call that procedure (in one line of code) with the appropriate arguments for customization. However, my practical/lazy side looks at the code to be replaced and determines that for each New Record button in a particular part of the application, there are only three lines of associated code. That's a net reduction of two lines by putting in the additional effort. Good, eh?

Again, one of my goals is to make future maintenance easier and also remove duplicate bits of code. In this particular case, a character-count comparison of the reduction in code (from three lines to one, considering that I have to now pass arguments to a centralized procedure) is much less impressive. By going that far in the refactoring, we would be looking at a net gain of approximately 10-25 characters. This ultimately cleans things up a little bit, but the net effect on the code itself is pretty much a moot point. We're not going to be reducing the size of the [compiled] binary by much at all, and considering that there are so many customizations that need to be made (which, refactored would be in the form of additional arguments), our net benefit (aside from having one master location where this code can be changed) is nil. At least if you ask me. Especially because we're not doing major calculations or anything fancy. We're putting a recordset into Insert mode, setting the cursor focus, and calling the routine to handle the GUI changes (enabling the save and cancel buttons, for example).

So I came to the conclusion this afternoon that anything less than five lines in nature will likely not be refactored unless it's incredibly duplicated (only requiring an argument or two, not one for each line reduced). It goes against everything XP I have ever learned, but really, we're talking about something similar to exclusively designing a database in fifth normal form when we suffer no problems with using fourth normal form. That's not a terribly good example, but my point comes down to practicality. Sure, a database closely adhering to a high level normal form is fantastic for several reasons (and in our databases, I try damn hard to make sure it's as normalized as can reasonably be), but there are times when those additional steps no longer 'buy' you enough to justify the additional time and/or resources.

Now, that said, I managed to quite nicely refactor several bits of code, and throughout the next week should be able to clean things up pretty well (at least to reasonable satisfaction). So that's a Good Thing.

As a follow-up to a previous post, I switched my development environment's color scheme to be white (or colored) on black. Just for grins. It was the afternoon, after all.

While I'm not convinced quite yet that I like the color scheme I'm working with, the change very quickly allowed me to pick out bits of code that I'd likely have overlooked in the black-on-white environment in which I'd previously been working. That really wasn't all that surprising to me given my previous experience. But it's amazing what a significant difference in color schemes can do to one's perception. So I'm going to keep with this for a while (likely tweaking some of the foreground colors in the process) to determine if I like it or not for the long term.

Anyway, my real topic I intended to write about today was related to Kirstin. She had a doctor trip today...namely because she'd not had what I lovingly refer to as a 'shit event' for nine days. That's right -- baby girl was a little on the constipated order. She really seemed not to be experiencing any adverse affects of this problem (she wasn't acting as though in pain or under any sort of strain), but nine days between movements in a symphonic arrangement is a bit much.

Long story short, a quick exam determined that nothing seemed to be out of order and some general suggestions were made for how to 'speed up the process.' Well, as of 11PM tonight (her appointment was at 1:30PM), we've had three such 'events,' and I believe that we're on our way to 'all systems normal' again. So that's good.

Anyway, it's now nearly midnight, so I'm going to wrap this up for the night and bid thee adieu. Until next time... Oh yeah -- enjoy Independence Day!
"Don't let it end like this. Tell them I said something."
- last words of Pancho Villa (1877-1923)


Monday, July 2, 2007

I'm Baaaack!

Matt, Talking?
I don't have any clue by looking at this picture
what I was rambling about, but it must have
been at least a little interesting to Beth...
So I ended up taking the hiatus I almost anticipated taking from ye olde blog this weekend. For the loyal readers, I'm sorry. Ditto for the Flickrites who probably don't read this but check the pictures every day.

It was a busy weekend, and the picture caption entails a lot about what happened this weekend, but not in this medium.

For starters, there was a big family reunion on Saturday. The sort of event that I wasn't necessarily looking forward to (nor was Beth), but the sort of event that you go to because it's nice to see people you've not seen for some time. The rest of the people are in many cases such distant cousins that nobody knows each other by the time you get down to my generation.

Anyway, it actually went pretty well, and was in general worth going to. Of the many people I talked to, most I'd not seen since our wedding or Grandpa & Grandma's 50th anniversary (five and four years ago, respectively)...so that was nice.

Saturday night was composed of darts and beer (as the picture implies). It was a good time hanging out with a smaller crowd of first cousins. :) And we got to play some darts.

Sunday was a smaller gathering at Grandma's house. It was then I was able to talk to a few I'd not been able to talk with on Saturday (like my third (I believe) cousin Debbie who lives in Hawaii. So that was nice. We also ended up playing a few darts in the afternoon and having another good day overall.

Of course, being away from home for a day or two makes coming home (and the thought of all these pictures) a bit daunting. It's not too bad if you chop away at it a day at a time, which is a trick I learned a while back. So I ended up spending an hour tonight working on that (as anyone who checks out Flickr can see).

So today was back to the mill. It was exceptionally quiet today at work (which was really nice), so I managed to get a few things done. I took off early and came home to catch up on a few things (seeing as how I was gone for the weekend). Even though it was/is incredibly humid outside today/tonight, I weeded the front landscape (around the bushes and the perimeter of the house) after I fed the dogs and watered the plants. It was bothering me something fierce, so I had to take care of it. And I did, for now. In a perfect world, I'll be working on that some this fall and perhaps into next spring. After that was done, I proceeded to the basement where I did some more mopping and cleaning.

Aside from that, it's been a pretty normal Monday. This week is a bit strange (seeing as how there's a holiday on Wednesday), so I'm not sure how productive I'll be at all...but we'll take it a day at a time.

So anyway, I'm baaack...at least until next time...
"He has all the virtues I dislike and none of the vices I admire."
- Sir Winston Churchill (1874-1965)


My Blog Profile

My Photo
Minnesota, United States
View my complete profile

Miscellaneous Bits

  • One Gorgeous Daughter (Kirstin)
  • An Incredible Wife (Beth)
  • Two Cats (George/Felix)
  • Two Dogs (Koshka/Kurva)
  • My birthday is at the 48851th place in Pi
  • Frank Oz and I share birthdays (Go Fozzie Bear)!
  • Mike Myers and I share birthdays (Party On, Wayne)!

MZ Online Blog: The Archive


Save to del.icio.us Save to del.icio.us W3C XHTML Valid W3C CSS Valid W3C Tableless! W3C WAI Double-A WCAG 1.0
Copyright 1997-2008 Matt Zaske. All Rights Reserved. | Privacy Policy | Terms of Use | Search | Site Map