8-O This is just a short note to let you know that after much persuasion from various of her friends, my wife has started her own blog to write about parenting, being a stay-at-home mother of preschoolers, saving money by shopping smarter, and in general … all the many things she does. :D

It’s called Helpful Mom and if you’re a parent of preschoolers, you should check it out!

So, I’ve been called out on this latest meme posting by /\/\o\/\/ and although I usually just ignore these things,

As with any curious developer, I had to trace this thing back to it’s root cause … it turns out this started as a Software Development thing, and it was altered into a sort of SysAdmin thing.

So, since I’m putting up with this in the first place, I think I’ll go back to that original developer-oriented list of questions, if you don’t mind. ;-)

(more…)

Here’s a snippet from the latest update to my resumé ... you’ll notice I struck out the “create” portion of the descriptions — as long as we just talk about maintenance and support tasks, everything you see here is what I did in just the last two weeks since one of my teammates transferred to a different division and our temp/contract was stolen away to a full-time position with a different company.


Software Engineer, Test Tools Development.


Lead developer for in-house software solutions for a 100-strong quality assurance team at a Fortune 500 company … responsible for creating and maintaining all custom software solutions and database systems.

  1. Create and maintain a randomized software test-case generation tool capable of managing hundreds of test projects with dozens of variables and using pseudo-random weighted generation to create thousands of test cases for each of our hardware and software tests.
  2. Maintain a custom HR tracking and reporting tool for billing internal customers based on hourly rates for work done testing hardware and software products for dozens of internal and external customers.
  3. Create and maintain a custom requirement and test-case tracking system for internal tracking of spec-based testing and reporting.
  4. Create and maintain a custom defect tracking system which interfaces with and provides metrics for over half a dozen different defect tracking systems (DDTS, ClearQuest, MS TFS, SourceForge, etc) used by the development teams we support.
  5. Create and maintain internal test-results reporting system capable of capturing test-case pass/fail/waive information and tying it to internal requirements and test case tracking systems as well as external defect and work-request tracking systems.
  6. Create and maintain various reporting systems providing charts and reports of counts and rates to support capacity planning, software quality metrics, test effectiveness and efficiency measures, software quality predictions etc, as well as tracking post-release defect discovery and analysis to improve the effectiveness of pre-release testing.

Work with a multitude of languages and technologies to provide the most effective solutions for each request in a timely manner on multiple platforms … from client apps and scripting solutions to cross-platform web apps.

  • Using Asp.Net with HTML/CSS/Javascript and VB.Net and C#.net to provide “AJAX” web-based applications.
  • Using PHP and Perl to provide web-based defect query and search services.
  • Using C#, Windows Forms and WPF to provide rich-client tools for test planning and test-case generation.
  • Using PowerShell, VBScript, TestBasic, and AutoHotkey to automate testing, as well as maintenance and data-entry tasks.
  • Using and maintaining SQL Server, SQL Reporting Services, and SQL Analysis Services to provide reporting and business intelligence and to support tool development.
  • Tracking work and changes in various source control and defect tracking systems such as VSS, ClearCase, ClearQuest, Bugzilla, SVN and TFS.

[crazy] 10 languages, 5 software platforms, 7 separate applications … and the apps I wrote myself (and am therefore most familiar with) seem to be the only ones that I’m not fielding support calls for multiple times a day. I need a vacation (or rather, a couple new coworkers). [surrender]

Fingers don’t fail me now! [whip]

Of course, in my spare time, I’m working on my capstone project for my Masters degree in Computer Science …

So this goes in the “WORSE THAN FAILURE” bucket …

I got an email from my dad this week wondering if I knew “What in the world is this message that keeps coming up every time we start Mom’s computer? It began appearing right after I inserted the removable hard drive to do the most recent backup.” He attached the following screen shot from Windows XP which pretty much speaks for itself (as much as such a thing can):

Windows - No Disk. Exception Processing Message c0000013 Parameters 75b6bf9c 4 75b6bf9 75b6bf9c

To be honest, I’ve never heard of it. No Disk? Exception Processing Message? What on earth … I did a web search or two and came up with several fairly recent threads on every tech support site out there … none of which had anything resembling an authoritative answer.

My best guess from the DaniWeb and TechGuy threads is that there is some media app running on startup, but I’ve already had them disable everything in their MSConfig startup tab without getting rid of this annoying message which takes multiple clicks to actually go away.

I had them bring up Task Manager and determined that the message window seems to be owned by the csrss.exe process … apparently it’s only started happening recently after a reboot when my dad switched out the removable hard disks they have been using for backups for years … seems like maybe it’s a recent Windows update but at this point I have no idea, so I guess I’ll try poking around when I get over to their house next time. Anyone have any ideas?

Starkly Esses

She sells sea shells by the sea shore.

She sees someone slowly strolling,
simply strolling by the seashore.

She sees someone sighing, slowly strolling.
Sighing sadly, he is strangely silent,
slowly sidling down the sidewalk.
Slowly strolling sadly by the sea shore.

She steps softly somewhat closer,
sees his eyes shift slightly toward her.
In the stiffling summer silence,
she slips a sightly sea shell in his hand.

Silently his eyes say thank you.
Simply, without speaking,
she sees his smile slowly creeping
slipping softly to his lips.
Suddenly she’s slightly breathless,
stunned, so suddenly she knows,
simply: he’s the one.

She sold sea shells by the sea shore
‘till she met her silent seaman
strolling softly by the shore.
Sixteen swiftly passing seasons later,
she pauses as she strolls beside him.
Pauses on the sidewalk,
showing now her sons the spot
whence once she sold those sea shells.
‘till suddenly she met her someone
slowly strolling down the sea shore.

(more…)

I have a funny story about politically correct toys. Well, cautious toys, anyway.

We got this “Word Whammer” from LeapFrog this week. They make these fridge toys that come with a bunch of letter magnets, and three slots that you can put the letters into. When you put a letter in, it reads it and pronounces it phonetically, like: “Eff! Eff says fuh, eff says fuh, every letter makes a sound, eff says fuh!”

Except the Word Whammer is special. It can pronounce whole words! Well, only three letter words, but still. If you put P-I-N in, it says: “Letter Pee, Letter Eye, Letter En. Press the three letters to hear your word” ... and when you do, it says: “Pee, Eye, En; Pin! Pih, iih, nuh; Pin!” and then encourages you to play some more … if you put C-A-T in and press all three letters, it says “Cee, Aeh, Tee; Cat! That’s one of my favorite words! Kuh, Ah, Tuh; Cat!”

What’s amusing is that LeapFrog is so careful not to offend people …

If you put G-O-D in, it doesn’t know the word, so it just says: “Gee, Oh, Dee; Guh, Oh, Duh” and then suggests that you do another word — now to be fair, that’s just the default behavior for words that it doesn’t know, but really, I mean, if you’re teaching it words, why would you leave out god?

It gets funnier ;-) if you put D-I-M in, it will say “Letter Dee, Letter Eye, Letter Em. Press the three letters to hear your word” and then you press them, and it says “Duh, Eye, Em, Dim! Great word, try another one” so you just switch out the I for an A, and it says: “Letter Dee, Letter Aeh, Letter Em; Let’s build a word! Put three new letters into the Word Whammer!” Yep, it won’t even phonetically pronounce it! Nothing you can do will get it to do so … all it will do is repeat the letters and then tell you to start over with three different letters.

[New] CodePlex Project

As I announced recently I have created a Windows Automation PowerShell Snapin project to house this snapin on CodePlex, and added a bunch of features. You should head over there for the download.

Original Post

I’ve been crazy busy the last few weeks, but I’ve been really rather distracted from my main project and it’s past time I got back to it. To really feel like I’ve moved on, I need to write a bunch of articles here and publish a couple of cool apps and some source code so that I can feel like I’ve reached a release point. What I’ve been playing with in all this coding is the new technology that’s been coming out of Microsoft in the last couple months: PowerShell, .NET 3 and WPF, and Windows Vista so you may or may not actually be able to use these apps …

So yeah, anyway … I’ve been playing around with PowerShell cmdlets, and as a shell geek, I couldn’t help wondering why there wasn’t a way to enumerate windows and move them around … so I wrote one. Eventually this will show up in the PowerShell Community Extensions — but I’m posting it here for now because the powershell cmdlet process is pretty interesting.

I started off by writing a wrapper for some of the Win32 APIs, and then a PSSnapIn which provides Get-Window and Remove-Window. When you execute Get-Window, the resulting object is a Win32.Window which has methods for closing, moving, resizing, maximizing and restoring, etc. The Remove-Window cmdlet is just a wrapper to call the Close() method, but it seems to make sense in the PowerShell pipe, since you can pipe the window objects through filters etc.

I still need to finish up the Move-Window cmdlet — it’s an advanced window-organizing feature. Right now it’s only feature is that it can tile windows vertically or horizontally with percentages specified by you. The features there are a little weak, but it’s past time I show you what I mean.

What you would want to do is install the snapin and then try typing these commands one at a time (so you can see the results).


for( $i = 0; $i -lt 3; $i++){notepad}
Get-Window *notepad* > Notepad.txt
notepad Notepad.txt
Get-Window "Untitled - N*" | Move-Window "20%,30%,50%"
ps notepad | Move-Window "20%,30%,20%,30%" 0
(Get-Window *Notepad.txt*).Minimize()
$notes = Get-Window *notepad*
$notes[0].Minimize()
Get-Window | where {$_.ProcessName -eq "notepad" -and -not $_.IsMinimized} | Remove-Window
ps notepad | Remove-Window
 

A little explanation is in order:

  • Obviously the first three lines basically start up a few copies of notepad — three of them empty, one with a text file.
  • The next line shows how Get-Window works with wildcard matching on the window titles … and how Move-Window uses percentage values to organize windows.
  • Then you see that you can pipe the output of Get-Process (aliased as ps) through Move-Window. You can pipe it through Get-Window too, but the important take away here is that Remove-Window and Move-Window can both take processes as input — as long as those processes have actual windows. You’ll also notice that final parameter “0” to cause Move-Window to tile horizontally instead of vertically — “1” is the default.
  • The next three lines are examples of how you can call methods on individual Window objects.
  • And finally, the next-to-last line is just an example of how you can use Where-Object to filter windows, and the last line is just to get rid of the remaining instances of notepad.

You can download Win32.Window for PowerShell (it’s a 7-zip file, you’ll need TugZip or 7-Zip) ... it includes the source (which you can use under any of several open source licenses including Ms-PL, BSD and GPL) and the actual DLL in the bin/Release directory, along with the scripts Install.ps1 and Uninstall.ps1 ;)

Feature requests and code contributions are both welcome!

So, for nearly three years this site has been hosted on a free promotional account from 1&1, but that account expires sometime in October, and I’ve been looking around at the usual places trying to figure out what my best option is. It’s really hard to decide to spend even $7 a month on something that I’ve been getting for free, but the account this is hosted on is really minimal by today’s standards, so some of the extras are catching my interest.

The baseline account that I usually compare to is the $7 hosting from BlueHost which currently offers 30GB of storage and 750GB of bandwidth … but of course, I don’t need a quarter of that (actually, right now I have only 500MB of storage, and I use less than 2GB of transfer on this domain). So I started wondering if there’s anyone cutting them up smaller than that.

(more…)

The duck beak is from DC Ducks, an informative and amusing tour we took in Washington, DC.
Mikayla as a Duck!

Well, I’ve started taking the “MS Thesis and Project Seminar” course at RIT, which is the first step towards registering my Thesis (or project) with the school and finishing off my degree!

I’m currently nursing two main ideas for projects related to Artificial Intelligence, and this past week I met with Jessica Bayliss to discuss the second idea and started work on a independent study focusing on refining this second idea and determining whether it’s Thesis material or not. The majority of what I did this week, and plan to do over the next week is researching the existing research in the area of Self-Organizing Maps and classifiers, including reviewing my previous research to refresh my memory.

I’ve also created draft documentation of both ideas as posts on my blog. I’ve linked to them below, but these posts posts will change a lot over the next couple of months, and are marked “private” and thus not accessible to the general public … sign up on the front page and drop me a line if you’re really interested.

  1. The first is a project idea for a Learning Notification System which would give more control over computer notifications and alerts to the end user. The primary product is a system akin to GROWL for the Mac, but with multiple levels of alerts, and a learning classification algorithm which allows the computer to intelligently avoid interrupting the user.
  2. The second idea is for a full-blown Thesis, which I’m not really sure I want to attempt. However, this idea for an SOM-based classifier could also be done as a project, and in either case would actually be fairly interesting. It revolves around the idea of building a classification system based on SOM algorithms. Currently there’s many parts to this idea, and it’s really possible that this could be fodder for several project-length experiments.