"Pushing crap
On the stack.
Pop it back
Into registers, memory.
Hey-- I'm ready to code."
Been in my head for years, never committed it to bits 'til now.
Needlessly abject
I am not a teenager. I play one on the Internet.
categories
non-blog
20071230
"Pushing crap
On the stack.
Pop it back
Into registers, memory.
Hey-- I'm ready to code."
Been in my head for years, never committed it to bits 'til now.
20071229
I think I'm safe to go ahead and write this one, what w/ only one "working day" left in 2007. We'll see...
So, a user (we'll call her "Shelly") calls me indicating that her vertical-market time and billing accounting application is not spell checking data she enters. Further, Shelly states, she spent over an hour on the phone with the application manufacturer's technical support, and they've decided that the registry on her Windows XP Professional-based PC is "corrupt". Other users in the office don't seem to have any problem, but she can enter violently misspelled words and see no squiggly red lines warning her of misspellings.
I choked back my initial urge to comment on the use of the word "corrupt" ("What, has it been taking bribes or something?!?"), since I firmly believe that the words "corrupt" and "registry" coming out of a technical support representative's mouth together are really code for "I don't know what's wrong but I don't want this to be my problem anymore." I also choked back my urge to comment on the obscene yearly "maintenance" fee required by the software manufacturer that, apparently, entitles their Customers to receive slipshod, finger-pointing "support".
I agreed that I'd fire up a VPN connection, hop onto her PC with a remote desktop control application, and "ride along" to see what was happening.
I got connected to Shelly's PC and she demonstrated, in her characteristic ALL CAPS TYPING STYLE, the lack of spell checking. I've always cringed at the ALL CAPS-ness of her typing, but I know that her ways cannot be changed. She's been doing this since her office got time and billing accounting software back in the late 1980s.
"Did tech support have you logon to another PC where the spell checker works fine to see if the problem 'follows' your user settings," I asked. I was betting the spell-check component has both machine and user registry settings, and given that Shelly's office uses roaming profiles, a mal-adjusted user setting should 'follow' her, whereas a machine setting should stay in place.
"Uhh, no", she said. That's a strike against software manufacturer technical support, to me. I suppose they couldn't know that we were or weren't using roaming profiles, but even w/o roaming user profiles, different users on a Windows NT-derived operating system have different user registries.
I think it's reasonable to see if you can isolate an issue to being a "per-machine" or "per-user" issue at level 1. Of course, since they wrote the software to begin with, you'd think they'd already know where their settings were stored. To be honest, though, I'd guess that even their development staff don't have any idea where these supposedly "corrupt" settings are stored. My bet would be that they don't even have a way to talk to the people who wrote the spell checker, seeing as how it's a licensed third-party library.
I convinced Shelly that we should make sure the problem wasn't with her user settings. "But they said my registry is corrupt! My registry! Corrupt!" Oh, the horror. Luckily I've got a pretty good track record of solving problems for Shelly, and she let me proceed as I wanted.
I logged-on with my test user account and we attempted to reproduce the issue. My account received proper spell checking, unlike Shelly's. At least I knew that the underlying code was working fine, and likely this was a user registry issue.
I decided to head into the menus and have a look at the spell check options. Ultimately, I wanted to see where the settings are being saved in the registry. I figured I'd do my usual trick of taking a snapshot of the registry, changing a setting and closing the app, then taking a snapshot again and comparing the snapshots. (Sure, sure-- I could just run RegMon while I use the app, but I can do this faster and w/o downloading software.)
I never even made it to taking my "before" snapshot, though. When I looked at the options dialog, one (unchecked for my account) item jumped right out at me: "Ignore words in ALL CAPS".
"Umm, Shelly-- let's logon as you again and check one setting."
Sure enough, the setting "Ignore words in ALL CAPS" was checked in her settings. I read the setting's name out loud, and she replied: "Well, I set that because I type everything in all capital letters and I wanted it to..." She trailed off, then paused. "Oh," she said, "I understand. Sorry to have bothered you."
"No problem," I said, and disconnected from her PC. Nothing more could be said.
I suppose the only thing that could've made this better would've been if the spell checker had a setting to "Ignore misspelled words" and she'd enabled that.
20071228
I did a job for some friends this evening at a small dental practice replacing a server computer. I removed the "old server" and its "UPS" and had a big laugh. The alleged UPS, one of those APC "power strip with a battery" models (a Back-UPS ES 650), was providing standby power for the old server computer, or rather, was supposed to be.
When I pulled the UPS out from under the desk, I found the factory-applied bright yellow sticker advising the user to connect the battery still intact and firmly covering all the battery-backed outlets. The server computer had been plugged into the outlets labeled "Surge Protection Only" for the 5+ years that it was in production use.
20071219
I've just written a Group Policy Administrative Template for the "fix" outlined in Microsoft KB article 946627. If you're experiencing the crashes described in that KB article or the Microsoft Security Response Center blog entry, you may want to consider deploying this registry change. With this ADM, you can centrally apply this change using Group Policy.
Grab the file here: http://peeved.org/misc/946627.adm
Beware that this is not a true "policy" and that (a) you'll need to turn off "View / Filtering / Only show policy setting sthat can be fully managed", and (b) it will "tattoo" the registries of machines such that if you ever need to disable the setting you will need to create an evil "anti-policy" to disable it. Neither thing concerns me, but I thought I'd be up-front about it.
Good luck.
20071207
My business partners and I are deploying Office 2007 at a few Customer sites now, and we've quickly learned that Outlook 2007 is greatly "enhanced" with the addition of Windows Desktop Search (WDS). Without WDS, the "Find" functionality in Outlook is diminished.
With this in mind, I embarked on installing WDS as part of an Office 2007 deployment. This particular Customer was of the mind that client computers should not be indexing resources on server computers, being that they have an enterprise search product already implemented to do that. I started looking for a way to administer WDS via Group Policy and, specifically, how to disable indexing of resources via UNC or "mapped" "drive".
In version of WDS prior to 3, from what I could tell, there was a registry
setting to disable indexing of any resources accessible via UNC. Further,
from what I can tell by examining the EXEs and DLLs that come with WDS 3.01,
the name of the registry value that controls this behavior,
PreventIndexingNetworkShares, is no longer a string that occurs
in the SearchIndexer.EXE executable. (As an aside, I did find
the string in another file, Deskbar.DLL, but I don't expect
that it would control indexing behavior.)
The Windows Desktop Search Administration Guide
details extracting a group policy template,
DesktopSearch30.ADM, out of the installation package for WDS,
and I saw no specific setting to prevent indexing of all UNC resources. The
next best setting, appeared to be PreventIndexingCertainPaths,
known by the en-us localized string "Prevent Indexing Certain Paths". The
syntax to specify UNC paths is odd to me, being of the form
otfs://{*}/server/share/path. I wondered if I could exclude all
UNC paths by specifying otfs://{*}/*/*, so I tried.
After specifying this setting in a GPO and rebooting my deployment test
machine, I found that I was waiting approximately two (2) minutes at
"Applying settings..." before the boot would proceed. A little searching
turned up a conversation on the MSDN forums
that described the issue I was having. It seemed that the Windows
Search service (SearchIndexer.EXE, running as the
WSearch service) was hanging up the boot process until the
service control manager got tired of waiting on it. Helpfully, an Ari
Polsky from Microsoft indicated that it was a "known issue", and
offered two (2) mutually unacceptable "fixes": (1) To make the
WSearch service dependent on the NLA service
which several users indicated did not help, and (2) mark the
WSearch service for manual startup, which sorta works.
I decided to go the route of the manual service start, and modified my GPO
containing my WDS management policy to include a setting to make the
WSearch service start manually. The next boot went very
quickly, but I discovered upon logon that the service didn't start "as
advertised" by Mr. Polsky's message, and that attempting to start the
service gave me a "The service terminated with service-specific error
2147500053". This, too, was reported in the MSDN forum thread, and several
readers figured out that marking the WSearch service for manual
startup by altering only the Start parameter in the registry,
rather than using the a service policy in a GPO, seemed to alleviate the
service-specific error.
I knew that service policies in GPOs also alter the security descriptor
assigned to the service, so using the sc sdshow command, I
found that the security descriptor for a stock WSearch service
was:
D:(A;;CCLCSWRPWPDTLOCRRC;;;SY) (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA) (A;;CCLCSWLOCRRC;;;AU) (A;;CCLCSWRPWPDTLOCRRC;;;PU)
After modifying the service to start manually, using group policy, but not modifying the security settings, the security descriptor becomes:
D:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA) (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY) (A;;CCLCSWLOCRRC;;;IU).
These descriptors are expressed in the Security Descriptor Definition Language, or SDDL. It's painfully difficult to read, but, fortunately, some people at the University of Washington assembled a SDDL syntax guide that can help you decode these nasty strings. One thing that their guide doesn't contain, though, is a description of how the types of "rights" granted by the descriptor, which are phrased in their documentation in the manner of filesystem permissions such as "Create All Child Objects" or "List Contents", are applied to services.
Microsoft wrote a knowledge-base article, KB 914392, which describes the Best practices and guidance for writers of service discretionary access control lists. This article is dense and, unfortunately, uses abbreviations that are somewhat ambiguous to describe the meaning of the "rights" granted. Alun Jones, a Microsoft "Most Valued Professional" for security, wrote a nice article describing how SDDL rights relate to services that is understandable and clear.
So, armed with these articles, I performed an exercise to figure out what
security descriptor was required in order for the WSearch
service to start and run properly. Fortunately, I hit it right off the bat.
The "stock" descriptor names "Built-in Administrators", "SYSTEM",
"Authenticated Users", and "Power Users". The descriptor that is applied by
group policy, by default, names "Built-in Administrators", "SYSTEM", and
"INTERACTIVE". Just for kicks, I added "Authenticated Users" to my service
policy GPO, and granted them "Read" and "Start, stop and pause" permission.
This gave me a resulting security descriptor of:
D:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA) (A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY) (A;;CCLCSWRPWPDTLOCRRC;;;AU).
That last bit-- the part that ends in ;;AU) now matches the
"stock" descriptor for "Power Users" (the one ending in ;;;PU)
in the first example).
One reboot later (which proceeded at normal speed), and I found that the
WSearch service had started itself after the user logged-on (as
indicated by time-stamps in the System event log), and did not
terminate with any errors. Success! I'm not really concerned that plain ol'
users can stop and start the WSearch service, because it seems
to want to start itself (by way of the WDS user-land UI).
After doing all of this, I finally got a change to see if the
otfs://{*}/*/* setting for the "Prevent Indexing Certain Paths"
policy worked, and I'm happy to report that it does. The users will not be
indexing the server computers via "mapped" "drive" or UNC.
In summary, if you're having trouble with long startup / bootup times on computers running Windows Desktop Search 3.01 with settings being applied via Group Policy, I'd recommend creating a service policy to set the Windows Search service to manual startup, and modifying the security settings in the policy to include "Authenticated Users" with "Read" and "Start, stop and pause" rights.
As an aside to this whole thing, it appears that Microsoft has implemented a
Group Policy Client Extension (GUID {7933F41E-56F8-41d6-A31C-4148A711EE93})
in srchadmin.dll for WDS to process Administrative Template
settings from. Searching Goooogle for keywords like CLASS
MACHINE and CLIENTEXT, I'm not coming up with a lot of
Administrative Template files, other than this one for WDS, that make use of
the client extension capability. I've thought about doing it for some work
that we've done, and after seeing how easy it is to integrate it into an
Administrative Template, perhaps I should think more strongly about it.
20071204
I just saw a post on MAKE magazine's Hackszine blog about ShiftSpace. My initial reaction was "Oh, it's a new Third Voice..." followed quickly by the musing, "I wonder when they'll be hounded into nonexistence."
I'm still pissed about how Third Voice was received. In today's even more volatile copyright climate, I can't imagine that ShiftSpace will fare any better.
20071202
I'm getting at least tens of hits per day coming from searches for keywords like error, 0x80070052, and memory card. It turns out that after writing my snarky little post relating to Mark Russinovich's blog post about problems copying files to USB flash drives, I posted with the words "memory card" in the body of the post, and now I'm a keyword magnet. Some people might be game to spin up a Google AdSense subscription, but I'll just say:
If you're getting an "Error 0x80070052" copying files to a memory card / flash drive, it's because you're putting too many files (possibly with very long names) in the root directory of the memory card. Make a folder on the memory card / flash drive and copy the files into the folder. They'll copy fine.
20071127
Another in the series of "hope some other poor sod else finds this helpful" posts:
I was putting together Adobe Reader 8.1.1 for installation via Active Directory Group Policy Software Installation, and ran into a minor fun issue. After a diagnosis and resolution, I thought it'd be helpful to document it here.
I'd already obtained the full Adobe Reader 8.1 download from Adobe's site some time ago. Rather than download a full version of 8.1.1 (heck-- I don't even know if there is a full version of 8.1.1), I downloaded the 8.1.1 patch. I'd already created a transform with the Adobe Customization Wizard for Adobe Reader 8.1, and I was going to gamble that this transform would still work with 8.1.1.
I extracted the MSI and CAB from the Adobe Reader 8.1 setup program, and
from there, performed an administrative install of the MSI using
MSIEXEC /a AcroRead.msi. I stuck the administrative install point
onto a server computer and used MSIEXEC /p ReaderUpd811_all_incr.msp /a
\\path\to\MSI\AcroRead.msi /qb SHORTFILENAMES=TRUE to apply
the patch to the administrative install point.
I setup an installation in an existing GPO to target the upgrade to my test deployment machine only and fired up the test machine. To my displeasure, however, a quick inspection of the event log after logon on the test machine showed the following:
- Event Log: Application
- Source: MsiInstaller
- Type: Error
- Event Id: 1139
- Description:Product: Adobe Reader 8.1.1 -- Error 1309.Error reading from file: \\path\to\install\point\program files\Adobe\Reader 8.0\Update\Patchw32.dll. System error 3. Verify that the file exists and that you can access it.
An examination of the program files\Adobe\Reader 8.0 directory
confirmed that there was no Update subdirectory. An examination of
the program Files\Adobe directory, however, revealed a
READER~1 directory. Ah ha!
I moved my faulty administrative install point aside, re-extracted an
administrative install point from AcroRead.MSI, and re-applied the
patch without using the SHORTFILENAMES=TRUE argument to
MSIEXEC. I bounced my test machine and watched it properly
install Adobe Reader 8.1.1 over Adobe Reader 8.0. Success!
My "conventional wisdom" in applying patches has been to blindly provide the
SHORTFILENAMES=1 argument to patch installations. Obviously, this
isn't always the correct thing to do.
20071120
Jeff and I were working tonight on some code that needed to search an Active Directory domain at its root, using the python-ldap library. We had a problem wherein our search would work successfully if performed at a base DN below the root of the domain, but not at the top of the domain. The error returned in the python-ldap exception was: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece
Normally, this error indicates that you're attempting to bind anonymously, which Active Directory (sensibly) doesn't allow by default. We were supplying credentials to bind, though, and changing the base DN on the search to a sub-OU was all that was necessary to get the search to work. It turns out that python-ldap was binding anonymously, so the error was only sort of a red herring.
Using a sniffer, we determined that the python-ldap library was chasing referrals being returned by Active Directory to our Configuration, ForestDNSZones, and DomainDNSZones NCs. I think that setting a LDAP_SERVER_DOMAIN_SCOPE_OID server control would have probably stopped Active Directory from returning the referrals in the first place, but it appears that python-ldap doesn't support server controls "yet". As such, we opted for adding the following to our code (right after importing 'ldap') to stop python-ldap from chasing the referrals:
ldap.set_option(ldap.OPT_REFERRALS, 0)
We still get the referrals in our results, but we can wade thru those ourselves.
Thanks to Derek Anderson for a quasi-related posting that finally got us in gear...
20071023
I kept saying "You will make and glue tiles!" to Steph during our walking yesterday. This morning, I found a referer in my web server log to this message board posting that sheds light on the nature of the Toynbee Tile that we saw on Sunday.
I suppose I knew it had to be a "copycat" tile, if only because that area of Geary was resurfaced, as best as I can tell, in 2004. The "original" tiles from the 80's have to be scarce, if any even exist anymore. I'm vaguely disappointed, in a way, but also vaguely pleased and happy. I feel like I should learn how to make and glue tiles... *smile*
We found a camera case and a 512MB SD memory card near the Golden Gate Bridge. We went thru the photos on the card last night, and I think there's enough information in one of the pictures that we should be able to contact the original owners and get the pictures back to them. I like doing nice things-- I hope it works out.
20071022
We saw what appeared to be a Toynbee Tile today. We were walking west across Geary from Union Square (looking for something to eat and to catch the MUNI 38 line to pick up the 28 north of Golden Gate Park) when we saw this. I can't remember where we saw it, and, stupidly, I didn't shoot a picture of the street sign or anything. I know that I was crossing from the north side of Geary to the south side when I saw this (meaning that it's oriented in the street with "up" being to the south) and that we were on the eastern side of the intersection when we crossed. It's in the first 7 blocks of Geary west of Union Square, because it's in my photo stream prior to photos outside of Mel's Drive-in at the corner of Geary and Van Ness.
Here's what we saw:
None of the Toynbee Tile lists that I looked at reference any San Francisco tiles. I'm too tired tonight to bother emailing anybody about this. For now, I'll just let the lazyweb mull over this one. Perhaps tomorrow I'll walk down Geary and see where it is (or, at the very least, look "drive" down Geary with Gooooogle Street View and see if I can see it).
20071018
We made it to SF on Wednesday (20071017) in one piece. Flying Skybus was nothing if not interesting. The flight attendants remind me more of servers at popular mall outlot restaurants than flight attendants. The first-come first-served seating arrangement is a little strange, too, but Stephanie and I did get to sit together.
I was introduced to Todd Lappin of Telstar Logistics by way of his article in MAKE Magazine on urban camouflage, and I've been watching his Flickr stream and reading his blog ever since. Occasionally I've spoken to Stephanie about things I've seen in the photos or on the blog, and forwarded some links from time-to-time, so the name Telstar Logistics is familiar to her.
This morning, we were sitting in Eppler's Bakery on Mission Street, splitting a massive cinnamon roll and drinking coffee when Steph says "Hey, that stroller that just went by has a Telstar Logistics sticker on it." I nearly choked on my coffee, and after the initial shock wore off, I sat in awed silence for a moment.
Mr. Lappin, your branding efforts rock. It took less than the first 24 hours of this trip to SF for your logo to been seen and identified. That, sir, rocks.
We had a great day, and walked about 12 miles. I took some nice pictures with the new camera that Steph generously bought me (it's so nice to be shooting with an SLR again after all these years on point-and-shoots), and we got to start using our 7-day MUNI 'Passports'. We're gonna use the hell out of 'em tomorrow.
Steph is snoring, so it's off to bed for me, too. Can you guys in the Bush St. and Grant Ave. area keep it down a bit? We're trying to sleep here...
20071016
I'm flying out of CMH on 20071017, and I'm flying Skybus Airlines for the first time. My air travel expectations, pre- and post-20010911 have always been something like: I'll be lucky if I actually get to fly and luckier still if my checked bags show up. I've always assumed that I'm going to get bumped from my flight, somehow. My bags will be lost (while containing, no doubt, irreplaceable items of great sentimental value), and I'll be stuck sleeping in some stupid airport.
Arriving late at ATL inbound from ORL (where the flight was delayed for no particular reason that was explained to us lowly passengers-- erm-- paying Customers) and missing my connection to DAY did nothing to improve my opinion of air travel. Having my 11 y/o sister in tow made it even less fun. Finding out at 1 o'clock in the morning, after waiting in 2 long lines for over 3 hours, that we weren't going to get to fly until 6 o'clock was even less fun. Having to be back from our "discounted" hotel room by 4 o'clock to clear security in time to catch the next available flight back to DAY was just icing on the cake.
If I'd been alone, I'd have probably slept in the terminal, but that wasn't an option with my kid sister there. That wouldn't have made it any better-- just cheaper. As it stands, I put the airline industry, in terms of the corporate adherence to the ethic of 'shit on your Customer' just above, say, wireless telephone network operators.
To my mind, if I want to be sure that I'm somewhere at a specific point in time, I'd drive, and leave plenty of time for traffic. Air travel, I assume, is unreliable and likely to leave me stranded somewhere. With the crazy security theatre antics that abound today, I'm even more jumpy than usual. Added to the very real and significant fear that I have of being mistreated by my airline itself is the possibility that I could get arrested, fined, cavity-searched, shipped to an off-shore prison, or made into an un-person by the TSA. Great fun.
So, with all that in mind, I'm reading the Skybus Help Center page for baggage, and I come across this tiny gem of humor.
The following items may not be carried in any baggage, checked or unchecked:
Paints, Christmas crackers, items with internal combustion engines such as chainsaws, model aircraft, lawnmowers, motorized garden gnomes, etc.
Ain't that a kick in the pants? I wonder if anybody else has ever noticed this. Using our friend Gooooogle, I can find no other pages containing the phrase motorized garden gnomes.
I'm really not sure what to make of "Christmas crackers", either.
Skybus seems to have a certain air of smartassedness about them. We'll see how they actually do in getting me to where I need to go.
20071002
Mark quotes from a January 2001 thread on the ntfsd mailing list regarding the cause of the problem:
[the error code] ...indicates that you tried to make a file in the root directory of a FAT12/16 disk, and there were not enough available directory entries. FAT12/16 roots are fixed size, usually formatted to 512 entries (32 bytes per), and files with non-8.3 names take up at least two.
It's been years since I've seen a problem with not having enough root directory entries available. I'll admit, I didn't guess the nature of the problem before Mark explained it, but I feel fairly confident that I'd have diagnosed it properly in the field.
I used to see this fairly frequently when Iomega ZIP drives first became popular, because people were treating them like floppy diskettes, and because the new VFAT extensions in Windows 95 contributed to the use of root directory entries.
Exhausting all of the root directory entries on a 3 1/2" floppy diskette (112-- see http://www.pcguide.com/ref/hdd/file/fatRoot-c.html) wasn't easy with MS-DOS. You'd need an average file size of about 12.71KB to do that, and although I'm sure a significant number of users saw root directory entry exhaustion on floppy diskettes, I'd imagine most floppies had full data areas before they had full root directories.
With the advent of VFAT, and the larger storage capacity of ZIP disks, the conditions for root directory exhaustion became much more favorable. Users weren't familiar with making subdirectories on floppies, and they'd store tons of files in the root directory of their ZIP media. On a 100MB ZIP disk, piling on files of 200KB or less would exhaust the 512 available root directory entries. If you used long filenames, additional root directory entries would be populated with long filename data.
MS-DOS and Windows 9X return a 'Disk Full' error when you run out of root directory entries on a FAT volume. I saw multiple cases where users had purchased additional ZIP media because they erroneously thought their other medias were "full", when in reality they just exhausted all the root directory entries. *smile*
Further down in the ntfsd posting, the author says:
Prior to Whistler, FAT returned STATUS_DISK_FULL but the Win32 ERROR_CANNOT_MAKE had existed since Win9x, and was used there exactly for this case. The new status code was created so we could start using it.
(The 'Whistler' software the poster refers to is none other than Windows XP.)
I find it quite humorous that Windows Vista, the present-day flagship version of the Windows operating system, returns a more arcane and less helpful message to an error condition than more than decade-old Microsoft operating systems. The posting from ntfsd shows that the file-system people were plumbing their side of the house to allow for a descriptive error message, but the UI team dropped the ball!
20070915
I meet young adults in my work with the American Legion Ohio Buckeye Boys State program, and some of them, by virtue of their proximity to my home, stay in touch with me.
One such young gentleman works at the coffee shop / restaurant that Stephanie and I frequent most Saturday nights. He stops by our table and talks to me about his college CS exploits. Tonight, he mentioned that he was taking a class in Java programming. Being 19 years old, he started programming with languages like C# and VB.net. I asked him what he thought of Java, and how he'd contrast that to languages and API environments he was already familiar with. To slightly paraphrase what he said:
"Programming in Java after using C# is like having a hot chick break up with you, and, in desperation, deciding to date her retarded twin sister."
Not very sensitive or politically correct, but funny as hell.
20070908
A friend of mine sent me a link to Ken Rockwell's site a few months ago when I was beginning to shop around for digital SLR camera. In the last couple days, I finally got around to taking a look at Ken's site.
Ken is clearly very experienced, talented, and opinionated. He's great at what he does, from everything I've looked at. For that, he's entitled to be opinionated, to me. Do good work and your opinions about that work become important.
Having said that, I found this bit on Ken's Why Your Camera Does Not Matter page that was rather irksome. Quoth Ken:
*sigh*
If you're not copying Ansel or Jack's photos, you're not infringing on their copyright. It may be repugnant, from a 'common decency' perspective, for someone to make photos that are inspired by, or even emulating, the style of another photographer, but it's not copyright infringement unless the original work is copied. The copyrighted work isn't the scene being depicted-- it's the photographic image.
Ken's opinion confuses me. He seems to exude a very "go out there and take some pictures" attitude throughout most of his site, but then he goes off and says things like the above. All art is derivative, and all artists get their inspiration from somewhere. It may be amateurish, even gauche, to draw so directly from the body of work of another photographer, but it's hardly copyright infringement.
20070831
Xeni Jardin of BoingBoing reported a strange "freeze tag" event that she participated in when arriving back at LAX yesterday. Quoth Xeni:
Scary shit. We Americans are so fucked. This post sums up my feelings pretty effectively.
I'm dreading flying in October. Absolutely dreading it.
20070825
This post is another in my ongoing series of postings about things that might help other "IT people".
I just built a "BartPE" bootable Windows CD to recover a Microsoft BKF-format backup image for a PC with a failed hard disk drive. I was surprised to get NTBACKUP running under the "BartPE" environment fairly easily.
My CD was built using the Windows XPE 1.0.7 plugin on top of a Windows Server 2003 SP1 slipstreamed CD. I copied NTBACKUP.EXE and NTMSAPI.DLL from a Windows XP SP2 machine into my "custom" folder and burned that onto the CD.
NTBACKUP comes up with an error writing its log file, and complains about the Removable Storage Service being inaccessible, but other than that it works fine. I'm quite pleased.
Off to restore a failed PC now...
20070709
Remember the Fulmer and Hocks sign changeup picture?
A letter of apology from the sign installer, KAP Signs, confirms that it really did happen! I'll excerpt the letter, posted on the City of Vandalia, Ohio web site, here:
I love living in a world where everyone with a cell phone has a decent digial camera on their person most of the time. I also love having such a local connection to a Megaflicks-like happening.
20070618
Per an AP story I saw on Yahoo, the State of Ohio has hired Matthew Curtin of Interhack to assess the likelihood of a third-party accessing the data that was stolen.
I don't know Matt personally, but I've heard him speak a couple of times, and it gives me comfort to know that he's working on this. Matt clearly knows what he's doing, and I have the highest respect for him. I'm waiting anxiously to hear what comes of this...
20070617
A friend of mine who worked for the State of Ohio, in information technology at the Department of Administrative Services, says that something is fishy with this recent data theft. He describes elaborate physical security, and management policies that would have made this kind of breach unlikely. He talked about the Ohio State Highway Patrol being used to ferry backup cartridges between facilities, and felt that it was highly unlikely that a policy that sent this data home with an intern (or any other employee) could exist.
My friend's supposition is that some is being "set up" for this. It seems sort of conspiracy-minded, but, then I suppose politics are a bit cut-throat. On the other side of the coin, though, I know how easy it is for large organizations to make really mind-numbingly stupid blunders like this. My friend's words are cause for some additional consideration, so I'm going to keep an eye on this thing. It'll be interesting to learn what the "device" was that was actually stolen (It was valued at $15.00, per the police report).
20070616
I've totally lost track of this thing, being so tied-up with Boys State. Here's what the schedule looks like now, for my sleeping and waking:
| Wake Time | Sleep Time (or EOD) | Daily Waking (mins) | Cumulative | % Wakefulness | |
|---|---|---|---|---|---|
| Waking (mins) | Elapsed (mins) | ||||
| 06/06/07 05:00 | 06/06/07 23:35 | 395 | 395 | 395 | 100.00% |
| 06/07/07 06:45 | 06/08/07 00:00 | 1035 | 1430 | 1860 | 76.88% |
| 06/08/07 00:00 | 06/08/07 02:44 | 164 | 1594 | 2024 | 78.75% |
| 06/08/07 06:45 | 06/09/07 00:00 | 1035 | 2629 | 3300 | 79.67% |
| 06/09/07 00:00 | 06/09/07 03:00 | 180 | 2809 | 3480 | 80.72% |
| 06/09/07 06:40 | 06/10/07 00:00 | 1040 | 3849 | 4740 | 81.20% |
| 06/10/07 00:00 | 06/10/07 02:50 | 170 | 4019 | 4910 | 81.85% |
| 06/10/07 06:40 | 06/11/07 00:00 | 1040 | 5059 | 6180 | 81.86% |
| 06/11/07 00:00 | 06/11/07 03:17 | 197 | 5256 | 6377 | 82.42% |
| 06/11/07 06:50 | 06/12/07 00:00 | 1030 | 6286 | 7620 | 82.49% |
| 06/12/07 00:00 | 06/12/07 03:50 | 230 | 6516 | 7850 | 83.01% |
| 06/12/07 06:40 | 06/12/07 08:00 | 80 | 6596 | 8100 | 81.43% |
| 06/12/07 11:46 | 06/13/07 00:00 | 734 | 7330 | 9060 | 80.91% |
| 06/13/07 00:00 | 06/13/07 10:20 | 620 | 7950 | 9680 | 82.13% |
| 06/13/07 10:55 | 06/14/07 00:00 | 785 | 8735 | 10500 | 83.19% |
| 06/14/07 00:00 | 06/15/07 02:20 | 1580 | 10315 | 12080 | 85.39% |
| 06/15/07 11:15 | 06/16/07 00:00 | 765 | 11080 | 13380 | 82.81% |
I lost a little bit when I slept so much on 6/15. Oh, well. That's 184 hours, 40 minutes awake in 223 hours elapsed. Zow!
Feeling: Going to take a nap later this morning...
20070611
I got a 21.65 mile bike ride in this morning, and really felt great all day. My fear of oversleeping was unfounded, though tonight, I think, it may not be.
Here's what the waking / sleeping summary looks like now:
Feeling: Acceptable, but very fearful of oversleeping!
20070610
I missed yesterday's entry, being so caught up in the work here. The BBS blog is consuming a lot of my time, as is our Flickr account.
So, here's the summary as it stands now:
Feeling: Adequate but fearful of oversleeping!
20070608
I'm rolling out JET SP8 onto PCs via a startup script, and I wanted to force Sandbox Mode via Group Policy. Searching Gooogle for sandboxmode end.policy to see what somebody else might've already written, I came up with only one (1) result, from the MSAPPS-L@LIST.EMWAC.CZ mailing list.
I slashed up the template that Miroslav Pragl posted, and came up with Access-SandBox_SystemDB.adm. Hopefully this will be helpful for somebody-- it's doing that I need. Be sure to uncheck the "Only show policy settings that can be fully managed" checkbox when using this administrative template, since it's not a "fully managed" setting.
I'm not moving all of the fun over to the on-site BBS blog. I'm keeping the sleeping / waking file up here, since it's probably not very appropriate for the "official" BBS blog.
I got up at 6:45AM. We went to breakfast, etc, and I was at work by, say, 8:45AM. I'm finshing this post and heading to bed, at 2:35AM on Friday.
Feeling: Still goin' strong!
I've moved the Boys State-related blogging over to the on-site server (eventually to be linked on www.OhioBuckeyeBoysState.com, and will continue blogging on there. I signed us up for a Flickr account (www.flickr.com/photos/buckeyeboysstate) and removed all the old on-site photo management / gallery routines. I'm using Blosxom for the BBS blog, just like I am for this one.
20070606
It figures that I don't have the pictures available now to put up, but I wanted to at least post the facts: The Hocks Pharmacy pictures appear to be legit. The store in question now bears a red and white "HOCK'S" logo, as depicted in the photograph.
Today was on-site day 1 for me at the 2007 American Legion Buckeye Boys State program. Every year for the last ten (10) years, I've volunteered some amount of time to assist the program with their IT needs. This marks the fifth year that I'm living on-site before and during the program. I'm living in the Darrow Hall wing of the Kreischer building at Bowling Green State University in Bowling Green, Ohio (KD143, to be exact).
I could certainly go on and on about the program and why I'm so into it, but I'll save that for later postings (or not at all, depending on my level of exhaustion as the program progresses). Hopefully I can throw some links into the live on-site web server once we spin it up. We're just getting started, though. For now, I'll just account some of the day's activities, and start keeping the "official" sleeping / waking hour log...
Today included such festivities as: (1) Driving and driving and driving to get here hours late, (2) replacing a failed hard disk drive in our main file/database server computer, (3) starting to fight with University-owned Windows XP-based PCs that are not properly executing Startup Scripts being assigned by Group Policy in our Active Directory domain.
So, I'm off to bed at 11:35PM local time, after getting a "start" today at, say, 5:00PM. I'm going to try and get up by 5:30AM to get an hour bike ride in before breakfast. We'll see how that goes.
20070526
Zow... My Aunt has a blog. I knew that she was a writer, and it simply never occurred to me to see if she was on "the 'net".
20070513
I make one-off email addresses for nearly every online vendor I deal with. Usually, the addresses are in the form of domainname@peeved.org, as is a common practice with people who own domains.
My one-off address for tickets.com started receiving spam on 5/11, from the Unitarian Universalist Society of Cleveland by way of a spamming service at Constant Contact.
Sure, sure, I could "unsubscribe". Since I'm not going to do any more business with Tickets.com, I'm just going to blackhole the email address anyway, but it does make me wonder how these Constant Contact or UUSC people got the address to start with.
Here are the two messages I received: Message 1 and Message 2.
20070512
The story is that the old Fulmer supermarket in Vandalia, Ohio has become a Hocks Pharmacy location. Assuming this is true, the sign on the store would have to be changed. A Customer passed me this yesterday:
We're going to drive down to that location and see what's really up. The red-on-white letters don't match the Hocks website, and the possessive "Hock's" is incorrect, as well. Perhaps it's just branding inconsistency between the brick-and-mortar and online stores. We'll post a picture when we know more.
20070428
I visited my eye-care professional a few weeks ago, and learned, thankfully, that my eyes haven't changed much in the last two years. I notice a lot more when I have a "bad eye day" with my right eye, but my left eye is still working, sharp as ever.
I'm interested in corneal collagen crosslinking with riboflavin (C3-R), but I haven't taken the time to research where I can get involved in a trial. I need to get more active with pursuing C3-R treatment, though it's still unclear what the long-term consequences might me. I think I'd like to have my right eye treated, since it's nearly useless for reading and working. If the treatment ends up causing damage to the eye, in the long term, I don't think I'd be as bad-off, since I've already written the eye off to begin with.
20070224
Microsoft's top talent has been distracted since prior to the passage of Energy Act of 2005. They've had several major product releases (Windows Vista, Office 2007, and Exchange 2007) to contend with, and no one would argue that, in their business, pushing new products out the door drives revenue.
Microsoft management has to be sure that their people are working toward the interests of increasing shareholder value. Writing manicured patching tools, doing QA on those tools, and developing best-practices documentation on using the tools isn't going to drive revenue. Taking top-flight technical talent off of a new product launch to work on a patch also doesn't drive revenue. Further, one can rationalize, DST changes don't take effect until March, 2007, so the response can wait a bit... (Relative to Outlook and Exchange, my work would have been a lot easier if the underlying Windows patches had come out in, say, mid-2006. I'm guessing that others would agree with me. If nothing else, my users would have had more time to double-check their bookings. I think there would have been far fewer items scheduled in the new DST interval to have to contend with "re-basing" if Windows had been patched for the new DST back in mid-2006. I supposed I should've dug out TZedit.exe back then and just done it... *sigh*)
I've no doubt, based on the hurried, last-minute, and frequently revised response to the DST changes, that working on these patches has been some of the most un-sexy and undesirable work that Microsoft developers have had to do, and I can imagine that it's been put off again and again since the Act was passed.
Customers are going to have to live w/ the quality of the tools they get. Sure-- there's the remote likelihood that some Customers might be so upset at the quality of Microsoft's response as to look toward migrating to other software, but nobody can call the "other Microsoft" and get patches for Windows, Exchange, etc. Microsoft's position in the market is pretty secure, and mediocre response to the changes in DST isn't going to hurt them. Keeping the Customers happy enough to stay around (or, some would say, at a manageable level of dissatisfaction) by making a token effort to release mediocre patches is all Microsoft needs to do. It's cheap, too, since less technical talent has to be engaged in unprofitable patch development work.
The tools we're seeing for Exchange (with the numerous revisions, mistakes, retractions, and conflicting comments) remind me of the quality of Microsoft's "unsupported" Resource Kit tools. These Exchange DST tools have the feel of being raw, unfiltered output from developers, without the benefit of much QA. That's also a great indication that management hasn't engaged teams in a formal process of developing a response to the change in DST.
The character of the repeated revision to the KBase articles and tools related to the DST change have the feel of an in-house development team firing off emails to the IT department: "Hey, guys-- that last tool we sent you has a problem. Don't install it into a directory w/ spaces in the name... sorry!" That's all well and good, except that most Microsoft Customers aren't as skilled as the in-house IT department at Microsoft. When I looked at ther v1 Exchange "re-basing" tool, I commented to my business partner that it was highly unlikely most people were going to know how to get the "legacyExchangeDN" name of their server(s) (let alone the fact that the tool doesn't even call it a "legacyExchangeDN", but rather calls it the "Server Domain Name"). Somebody closer to the code for the tool would know what it was looking for. The tool should have just searched the Active Directory, pulled the necessary values out, and presented them in a friendly menu. The intended audience for the Exchange Calendar Update Tool was a technically proficient administrator-- not somebody with passing familiarity with the product. (Yes, yes-- I know that version 2 of the Exchange Calendar Update Tool is friendlier and better... and, apparently, can now handle spaces in the name of the installation directory...)
Microsoft thumbed their nose at all of us in the IT industry when they elected not to release a patch for Windows 2000 for DST. Their response, relative to Windows 2000, was as much a "marketing" effort to further the cause of forced "upgrades". (I know that Windows 2000 is in the "Extended Support" phase of its "lifecycle"...) Having written a bit of code to patch the Windows 2000 time zone entries in the registry, it's apparent that it would have taken almost no additional work, on top of the QA work already done for the Windows 2003 / Windows XP patches, to put a patch for Windows 2000 out the door. This is another indication, to me, that the mishandling of this situation was purposeful, on the part of management.
<soapbox>This is what happens when an enterprise uses closed-source software. If an enterprise really cares about being able to get "support" for a software application, it makes the most sense, to me, to use software that (a) has source code availability, and (b) is licensed such anyone qualified can be hired to work on that source code.
People seem to forget, when they commit to using closed source platforms to support their business, that Microsoft, and other closed-source software development firms, get to dictate monopoly pricing on "support" for their products. Customers are at the mercy of the software manufacturer's decisions about the quality and timeliness of the response to issues and incidents. I'd much rather be able to send out an RFP for changes, and choose the best bidder, than be stuck with a single choice to fulfill my needs.
There are almost no "consumer rights" in the world of software. Realistically, commercial, closed-source software should be approached with the attitude of "no warranty, as-is, if it breaks you get to keep the pieces", unless you've got a contract with the manufacturer that says otherwise.
</soapbox>Keeping track of time is hard to get right, especially when time zones and daylight saving time come into play. People have difficulty understanding the difference between items that are scheduled relatively or absolutely, with respect to a standard time. Perhaps it's not fair of me to pick on Microsoft, since as everyone has to deal with these changes, and other software manufacturers haven't gotten it right very quickly, either.
Microsoft bears the brunt of my ire for not making proper engineering decisions during the design of their products (Windows, Exchange, Outlook) to make these kinds of changes easier. It's not as though changes to daylight saving time haven't occurred before, and it's not as if they're a fringe element in the personal computer operating system market. (Perhaps a web browser is an integral operating system feature, whereas keeping track of daylight saving time should be left up to the ISVs...)
Many of my Customers have committed (by way of giving over lots of money) to using Microsoft products to form the basis for their IT infrastructures. It would have been nice if Microsoft had recognized that commitment (and the lots and lots of money), and developed quality patches and documentation much earlier in the game, instead of forcing us all to play "catch up". (I'm also glad to see that I'm not the only one who is complaining about this.)
20070214
Gooooooogle's title image today seems a little "off". I read it as "Googe". I've always subscribed to the graphic design philosophy that something which looks accidental, even if it's not, will be seen as accidental.

"Googe" makes me feel vaguely offended and dirty. The bits of "chocolate" on the second "o" don't help that feeling. "Aww, man-- your dog just googed all over the futon!"
20070209
I've griped before about how frustrated I am about the "state of the art" in software issue resolution in the IT industry. This typically involves unskilled "technicians" grubbing around in software "manufacturer" "knowledge bases", blogs, and message boards, reading wild speculation written by people who may not actually understand how the subject software works, and who certainly don't have access to the source code (and probably couldn't interpret it if they did). I'm not proud to work in an industry of cargo cultists, alchemists, and idiots.
Eric Fitzgerald has a posting that really raises my ire. I've spent some time writing software to aggregate and generate real time notifications from Windows event logs, as of late. I've been frustrated at the lack of comprehensive documentation for the different events that can be generated by Windows, and astounded that Microsoft can't put together documentation on all the events that Windows itself can generate. I mean, it's not like they don't have the source code.So, with that in mind, Eric says:
You might want to know where I go to get my information on audit events and so forth. Mostly I go to the source code or one of our developers... We have some old specs and some new specs but sometimes the code doesn't function quite like the spec says it should so I usually go to the code instead of the spec.
This just makes my blood boil. I'm sure that Joe Anybody inside Microsoft can't just go hop into the source code to Windows / Office / etc anytime they want to. I'm also sure, however, that the ability of a Microsoft employee to actually talk to a developer with source access (and, possibly even a developer working on the part of the product they're interest in) is a lot greater than my ability to do the same.
Accurate, thoughtful, and well written documentation about the behaviour of a software product is the best Customer service tool that I know of, next to access to the source code itself. My supposition has always been that Microsoft employees don't understand what it's like to work in a world where source code access isn't available for key infrastructure components, like TCP/IP stacks, filesystems, and hardware drivers. They live in an insular world where they have quick access to these things, and where knowledgeable personnel are an email away. Eric's posting serves to confirm this supposition nicely.
Because Microsoft employees work in this environment, they appear blinded to what it's like to work out here, in the real world, where we have little or no visibility into the inner workings of closed-source software, and no ability to affect change when that software doesn't do what it was promised to do. Microsoft may eat its own dog food, but its employees certanly don't have to clean up the dog's mess.
When I run into one of these areas where "the spec" and "the code" don't agree, I get to play "knowledge base roulette" (or, at the best, "debugger and symbol file roulette"), while a Microsoft employee can actually do some meaningful research. Because Microsoft corporate culture doesn't value writing detailed, thoughtful, and comprehensive documentation (and because they produce closed-source software), I get to look like an idiot in front of my Customer as I bungle around searching for answers, instead of just getting out the docs (or the source code) and solving the problem.
Sure, I could pay Microsoft to provide "support" for software that I already paid them for to begin with. For some reason, though, I feel pretty strongly that I should be able to pull out the docs and figure out what's going on. (It makes me thankful I didn't give Microsoft any more money to upgrade my MCSE certification to Windows 2003. You don't ever look much dumber than when a Customer says "But you said you were a Microsoft Engineer something-or-other. Why can't you make it work right?")
And why should Microsoft bother to write better documentation, anyway? As long as Customers are willing to accept that they won't ever receive quality documentation, and are willing to pay for support incidents associated with bugs and deviations from written specs, the vacuum created by this lack of good documentation actually creates revenue for Microsoft! It's a win/win situation for... well... erm. It's a win situation for Microsoft shareholders!
While I'm on the subject, why would "the spec" and "the code" not agree? Seems like bush-league software engineering to me. Maybe I'm just out of touch, because the only software projects that I've worked on have been for medical devices. When requirements changed, we updated our specs before we went off hacking on code. Our specs were vastly more important than our code. I can't imagine writing software (other than one-off scripts) any other way. (I am regularly amazed at the amateurish mistakes that an organization as big as Microsoft makes...)
The answer to all this, I think, is for Customers of Microsoft, and all the other software companies who have similar culture, to stand up and let the companies know how they feel about this. Using open-source software that directly competes with closed-source alternatives is one great way to do this. Complaining vociferously in public forums, blog postings, and articles is also great. As I see it, those of us who work as consultants, especially, need to let our Customers know that they don't have to accept things as being "just the way they are". If a couple of my Customers spent 25% of their annual anti-spam licensing fees, for example, on paying a portion of a developer's salary to hack on open-source anti-spam software, they'd see improved support response (Gee-- it took Symantec over a month to resolve a critical buffer overflow issue in an "Enterprise" product...) and more customized functionality. It'd be wild to see some Fortune 500 companies siphoning a small percentage of their yearly Microsoft Office licensing budget into OpenOffice.
For my part, I'll keep being angry, and I'll keep telling everybody I can, anytime I can, about why I'm angry and why they should be angry, too. I'll keep using open-source software everywhere that I can, and I'll try and spread the word about these alternatives to closed-source software companies with flawed cultures of Customer service.
20070201
I read Bunnie Huang's blog because I long to be a hardware geek, but never actually do anything about it. Having said that, I couldn't help but comment about his Name that Ware posting for January, 2007, if only because he seems to feel much the same way I do about the recent trend of idiotic mass hysteria by the American public.
I believe that fundamentally, the most effective way to deal with terror is to not be afraid of it. I say take it with a stiff upper lip, ignore it, and live life like you used to, as a free society with great liberties and tolerance for all walks of life. Travel. Express. Build. Innovate. Research. Be an Individual. Be smart about who you trust, but still be willing to trust.
I agree with everything Bunnie says here, but I think that it's unlikely to happen, because living in fear is seductive, and because it drives a feedback loop that only amplifies itself. Don't misunderstand-- I'm not a conspiracy theorist who believes that this whole "War on Terror" is a big plot. I believe that what we're seeing is the manifest result of a confluence of the "best" interests of different social groups being advanced.
Terrorists want to inflict terror. That's what terrorists do. It's in the best interests of terrorists to have the American citizenry in mortal fear. The more terrified that the citizenry is, the easier it is for terrorists to inflict more terror. At this point, terrorists can inflict mass panic by doing nothing, while marketing companies put out lighted signs. This is, no doubt, cause for much celebration in terrorist circles, if only for the cost savings in materials and labor.
Most Americans (citizens and politicians) have lost touch with the fact that the government is sanctioned "by the people, for the people", and look at "The Government" as being a featureless black-box over which they can exert no influence. The American political machine has discovered how to exploit the two party system to create elections that pit candidates with no major differences against each other, and to spin everything such that the candidates have a superficial appearance of difference. The American political institution, as it exists now, wants only to perpetuate itself. Constituents are only too happy to oblige, so long as their districts continue to receive the gravy-train of tax dollars. The "War on Terror" has been a wonderful gravy train for pork barrel spending. To this end, the best interests of the political establishment lie in pumping as many tax dollars through the government as possible to keep average citizens happy, and to reinforce the public perception that the operation of government isn't something citizens have any material control over. The "War on Terror" is a great tool for politicians.
The average American citizen has little in the way of motivation or long term goals. I get the feeling that most of my fellow citizens are working hard and striving to make it to the next evening "reality" television show broadcast, the next major sporting event, or the next weekend. (Perhaps a few have a longer-term goal to buy another new SUV, obtain another home equity loan and sink deeper into debt, or get locked into another multi-year wireless telephone contract w/ a shiny new phone and some nice MP3 ring tones.)
We are an aimless, sedentary society. Human nature is to be lazy, fat, and "happy"-- to expend the least possible energy for the greatest reward. Life, in general, works this way-- sinking into a local minimum in a vast fitness landscape. It's also human nature to want some else to take care of life's details for you. I do think that people can rise above human nature, but they have to have their attention drawn to their human failings. Living in mortal fear, and asking "The Government" to take care of you is great, because it makes a convenient excuse for such a slovenly, fiscally irresponsible lifestyle. For those who profit from this mortal fear, pointing out the awful humanity of fat slob Americans is the last thing they'd want to do.
As far as I can see, it's a win / win scenario for all the parties involved! The terrorists get to inflict terror, the political machine gets to perpetuate itself and remain in power, and the average American citizen gets to fulfill their basic human desires to be complacent and "taken care of"-- sinking deeper and deeper into a warm, soft cocoon of materialism and debt while trying to seek comfort from the mortal fear they live in. Is it sustainable over the long term? Does it really matter?
I'm not scared of the terrorists, I'd like my freedom of speech and assembly back, and I'm damned tired of playing "security theatre". Being a late 20's / early 30's self-employed, unmarried, childless, fiscally conservative citizen who pays for his own health insurance, doesn't drive an SUV, owns a house, and doesn't have any credit card debt makes me feel like a hugely underrepresented demographic, both in government, and in American society in general. Worse, I know that I'll be paying for fellow citizens' lifestyle choices in the next few years-- right before China comes in and buys this whole thing out from under us.
Hopefully somebody comes out of this whole thing ahead. I don't know how to fix it, and I don't even think I care anymore. For my part, I feel fairly certain that the reward for my labor won't be what I'd like (an independent lifestyle, free from the interference of others, to live and work as I see fit), but rather will be a life of working to subsidize everyone else when we eventually have to "pull together" and try to bail the country out.
20070117
I'm late to the party with this one, but I feel strangely compelled to post. (If nothing else, it may be because Erin McKean is cute... *smile*)
So, I was watching the video of Erin McKean speaking at Gooooogle, and at one point in her talk, she used the phrase "copyright trap". This intrigued me, so I went searching.
Now, I'm not new to the idea of fictitious entries in reference materials, but the thought of such a thing in a dictionary had never crossed my mind. I'd always thought of these in the context of maps, because slipping in a fake geographic feature always seemed plausible. Slipping a word into the dictionary, though? Hmm...
A quick run over to Goooooogle for the search terms erin.mckean copyright.trap turned up several great hits, including a post from languagehat.com that explained, in detail, what this was all about. Essentially, esquivalience is a made-up word that the editorial staff of the The New Oxford American Dictionary put in the first edition of the book, ostensibly to protect copyright.
This is all great fun to me, and I'm going to try to work the word esquivalience into my normal vocabulary. It's a great word, and I think it would be even more amusing if the word actually became a "real" word!
20070113
Of course, the software in the Action Pack is updated and revised by Microsoft, and the contents change as new products are introduced. The Action Pack no longer comes with Windows XP Professional upgrade licenses, but instead comes with Windows Vista upgrade licenses. As such, the question was brought up on the Small Business Community blog as to whether or not subscribers have "downgrade rights" (rights to use a prior version of a product) when their Action Pack renews. Quoth the Small Business Community blog, who was, in turn, quoting the "Action Pack Team":
The complaints in the comments of this posting are so amusing to me. Have a look at a couple of them.
Welcome to subscription-based software licensing! If you thought of "purchasing" an Action Pack as anything other than "paying the yearly software bill", then you thought about it incorrectly. (Giggles abound...)I worked for a small firm, years ago, that was a Microsoft Certified Partner, and the owner refused to accept that the entitlement licenses were time-limited to the subscription term. He just decided that they were perpetual grants of license, and that they were "additive" from year-to-year ("Now we've got twenty (20) seats of Windows 2000 Professional!"). I always secretly hoped that Microsoft would come audit him and set him straight...
It strikes me as intelligent, though I would guess serendipitous, on the part of Microsoft to get "partners" used to subscription-based software, since that's the direction they're going to need to move if they hope to continue growing their revenue stream (and to insure that no one can buy a computer and use it in perpetuity w/o paying them again and again and again). Get the people who sell your products into the habit of paying for software this way, and then they'll help indoctrinate their Customers!
To those of you who are asking "Who thought of this?", I'd think the answer would be obvious. I'm quite convinced that Microsoft sees their "partner" and certification programs as revenue opportunities, just as much as they do their regular sales channels. I decided a long time ago that my Microsoft Certified Systems Engineer credential was nigh useless, and never bothered to update it beyond where I did. In fact, touting loudly that I was "Microsoft Certified" cast aspersions on my ability to evaluate software and solutions for my Customers in a neutral manner. When we started our new company, my business partners and I decided that we would not pursue any manufacturer affiliations like many of our "competitors", so the company could maintain a shred of credibility as a neutral third party. Of course, it also helps that we are strictly service revenue based, too, and haven't fallen for the seductive but dangerous route of selling physical goods.
I'll have to rant another time about why commercial software is a service, and one that probably should be subscription-based... but that is for another time.
20070111
If I'd bothered to read the headers, I've have seen that the friend of mine providing secondary MX service for peeved.org has installed SpamAssassin, and is now filtering everything coming thru his server computer, and the *SPAM* tags are coming from him.
It's interesting, though, to see how much junk mail is coming directly to my secondary MX, as opposed to my own server computer. I've known that this was happening for awhile now, but this gives me a nice display of just how frequently it is happening.
I suppose I should probably get some kind of server-side anti-spam solution setup. I used to use SpamBayes on my IMAP mailbox, but too many unresolved issues and too little desire to want to hack on the code ended that relationship.
20070110
I'm seeing a rather strange trend in the last few days in spam that I'm receiving. Specifically, the messages are coming with *SPAM* in their subject lines. Have a look:

It makes no sense to me why the spammers would be doing this. I haven't mined the headers yet to see if they're coming from any common location or not. Any ideas?
I've been hoping for an Apple wireless telephone offering, but not because it was something that I wanted to purchase. Sure, the phone that was announced yesterday is pretty neat looking, and I'm pleased with the feature set. From purely a technical perspective, I'd buy it in a heartbeat. It's sexier than the Nokia N91 that I've been lusting after for awhile now, and I'm certain that it's going to be more developer-friendly than a Symbian-based device.
From a social and economic perspective, however, I'm tremendously disappointed with Apple. Given the success of the iPod, I was sure that Apple had the market share and brand equity to release a phone that would serve as a catalyst to end the idiocy that is the carrier-subsidized, long-term contract oriented, consumer-hostile Communist State of wireless telephone service providers in the United States. I was hopeful that the product would be a carrier-agnostic GSM cell phone, and that its entrance into the marketplace would be the beginning of the end of the consumer unfriendly contract-based wireless telephone service market.
As far as I can tell from the details that I've seen so far, the iPhone won't be anything more than another delivery vehicle for oppressive, unfair, long-term service contracts. Worse, given the brand equity and market domination of the iPod, I'm worried that this may reinforce this consumer unfriendly marketplace. If the only way to get an iPhone is to enter into an unfair contract w/ Cingular, then that's what people will do. *sigh*
I must not understand the market very well. My ignorant view would be for Apple to release the device w/ no carrier relationship, and make it available only as an unlocked device. Carriers would be stupid not to make it easy for new iPhone owners to sign up, given that these things are going to sell like crazy. If it was necessary to have this carrier relationship to get "advanced" features like the "visual voice mail", I'd opt for designing a published spec for the device's "visual voice mail" API, and let the carriers fight it out. (To say that not having "visual voice mail" at the outset was a showstopper is, I think, rather silly. Besides, something like "visual voice mail" should be an open, standards-based spec anyway... IMAP, anyone?)
Arguments about Cingular having the "best" GSM network and being integral to the product's success irritate me. I would think that iPhone owners would be smart enough to associate poor phone service with their GSM service provider, not with Apple and the iPhone itself. I just can't buy the argument that it was necessary for Apple to "partner" with a carrier.
You blew it, Apple. I hoped you could be the catalyst that broke the logjam of idiocy in the wireless telephone service market in the United States. So much for your being counter-culture and "thinking different".
20070108
Public domain - All rights under copyright waived.