June 2005 Archives

Touching Fenders


Today at lunch I went to Home Depot to pick up a few things for around the house and McDonald's to have a Big Mac since I haven't had one in I-don't-know-how-long.

As I am turning off the Loop 101 frontage road and on to Raintree. As is often the case, it's hard to see oncoming Raintree traffic so I started and had to stop just as quickly.

Of course, the car behind me thought I was going to floor it or something because I got a nice little jolt. I said a quick curse about the perils of driving in Scottsdale—a full explication of which will have to wait for a future entry though I've touched on it in the past—and motioned for the car to pull over. (I'm constantly afraid that someone won't pull over. Knowing myself, I know that I'd follow them to the ends of the earth and would probably end up getting a severe beating from the occupant.)

Luckily, the driver did. We checked our vehicles for damage and discovered that there wasn't any. In these situations (which have sadly been all too frequent), my preferred course of action is to say, "Looks fine by me" and get moving. Ol' Darlene, apparently less familiar with the post-fender–bender customs, decided that she wanted to network or something.

After telling her that we're good to go, she let's me know that I'm now in her "prayer ring" or something. She also effusively thanked me for "getting her back to where she should be." I wasn't particularly clear if she meant pulled off to the side of Raintree Drive, reality, or standing there wanting to shake my hand. Frankly, I don't want to know.

If I had been on my game, I would have asked whether she was a Californian so as to confirm my suspicions and add a data point to my developing hypothesis about the resettlement of Arizona by them. Sure our housing prices are through the roof but we get space-cadet drivers, environmentalism, and New Age garbage. Next thing you know, they'll be electing Alice Cooper governor in a special recall election of Janet Napolitano.


LIKE @whatever


Phew, just spent some time trying to get a parameter to work with a LIKE and wildcards in the WHERE clause of a SELECT. I'm creating a stored procedure for SQL Server 2000.

For example, I wanted something like this:

SELECT * FROM table WHERE no_column_in_particular LIKE '%@param%'

But it would always return all the rows, so I knew that I was getting doing something like "LIKE '%%'" I tried all sorts of different methods like wrapping the parameter in brackets. I finally found the answer in this SQL Server Magazine forum entry.

The solution is to use string concatenation or add it to the parameter before running the SELECT:

SELECT * FROM table WHERE no_column_in_particular LIKE '%' + @param + '%'

Or:

SET @param = '%' + @param + '%'

I'm not sure if the former is considered dynamic SQL in crafting the plan, but if it is then the latter might be higher performing. IANADBA.


Not Everything in Caps is an Acronym


I just read a statement that the scanner protocol called TWAIN stood for "Technology Without A Name" and I thought, "Wow, that's an awesome fact." Being the curious person I am, I decided to investigate.

Sadly, it's false and the official site confirms that it's really just acronym-looking.

[UPDATE: I probably should have just went to Wikipedia.]

[UPDATE 2: Though a case could certainly be made that PCMCIA stands for "People Can't Memorize Computer Industry Acronyms."]


Free Earth


Google Earth is now available and it's free. Only for Windows right now, though the download page says that they're working on Macintosh support.

[UPDATE: Ooo, there's even virtual sightseeing. {via}]

[UPDATE (6/29/05): Ooo, Google Maps now has an official API.]

[UPDATE (6/30/05): Google search for Google Maps API. It only shows up in the Sponsored Links, which I didn't even see for awhile.]


Giddy Up, Little Domains


Wow! At one point just before it became a domain registrar, Go Daddy was located in a house on an old ranch in Cave Creek. Another choice tidbit from that memoir: Bob Parsons contemplated becoming a "stick man on a craps table" or a valet. Luckily, business improved and it became a raging success.

For me, the best piece of advice—and I sometimes forget this—was the following:
I remembered something my father used to say. He said “A smart dog chews his own bone.” Basically, that meant to do what you know how to do. And for me that meant developing software or intellectual property.


[NOTE: The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]


Delicioso


I <3 del.icio.us and I <3 PDFs, so you'd think that Yummy would be a natural match for me. With the advent of del.icio.us filetype matching, I don't see much advantage over del.icio.us's implementation except that it's got thumbnails and page counts. That's not much and it's especially not enough to artificially separate out my PDF bookmarks in some sort of virtual recycling waste of time.

The advantage of a social bookmarking service is that it's social: there's lots of people contributing lots of bookmarks and the scale is the value. All of the del.icio.us knockoffs try to add a feature here and a feature there, but they're little more than window dressing if there's not a huge user base behind them. And there likely won't be a huge user base behind them ever because you only need one bookmarking service and del.icio.us is it for now (okay, there's Furl too but I've never met anyone who's used or even heard of it).

Here are my del.icio.us bookmarks, if you're interested.


Kelo-co


I spoke with my friend Larry yesterday and the conversation turned, as it seems to inevitably do, to property rights and eminent domain (what, you don't talk to your friends about governmental abrogation of private property?) I asked his thoughts on the Supreme Court's decision in Kelo v. New London because he's not only a very smart guy, he's a property rights attorney for the Pacific Legal Foundation.

So we're talking about it, but he never mentions that's he got a great op-ed about the subject out and available. I don't know if he's terribly modest or what, but I would think that I don't need to read his legal opinions from a search engine. Geesh!

Long story short—I know, that ship has sailed—he thinks that Kelo's bad but actually a somewhat heartening decision in that the last court decision on eminent domain was unanimous. Another guy said much the same thing today.

I'm glad that the decision wasn't unanimous and I'm glad that it was deadlocked, but I still can't get too excited about Kelo since it is the Supreme Court's first peep since 1984. They did side with government over the individual—that's bad, by the way—and it still does give local governments hope.

I know from my political science courses that 5-4 decisions are generally considered troublesome in giving other courts clear ideas of what the justices are thinking. It very well could be that this could signal the Court's willingness to take on property rights cases and that future additions to the Court could make future cases 5-4 splits in our favor (or, dare I dream, a unanimous decision).

At any rate, Kelo has given increasing visibility to the Institute for Justice since they were the attorneys who brought it up to the Supreme Court. That can only be a good thing since it looks like they've got plenty of other excellent cases to run through Washington, D.C. if necessary.

[UPDATE: Crap, it's already started being used as an excuse.]

[UPDATE 2: Phew, the Arizona Constitution has a pretty stringent definition of a private use for which a taking may occur. And the Institute for Justice prevailed here in a big way just two years ago. {via]

[UPDATE (6/28/05]): Logan Darrow Clements wants to build a hotel called The Lost Liberty Hotel by seizing Supreme Court Justice David Souter's New Hampshire home through eminent domain. Clements, erstwhile California gubernatorial candidate, plans to raise funds from pro-liberty people if he can get the property seized. It reminds me of a wacko Objectivist—and I consider Clements to fit the bill—I knew who wanted to form a Satanic rock band and then play pro-freedom, pro-Objectivist songs once he got people to his concert. You don't advance your principles or cause by actively subverting them. Ever. Even if it's ironic or just desserts.]

[UPDATE (8/22/2005): The loony is, apparently, at it again. He's now visited Souter's Weare house, where he left a copy of Atlas Shrugged and a t-shirt. After reading more of his bio, I realized that I've met the man and actually sat next to him on a bus on the way to an Objectivist conference. I guess my first impression was right.]


Copying, Er, I Mean Innovating


Separated at birth?

Safari RSS and Internet Explorer 7 RSS

{via}


Online Outlining


I can't believe I never mentioned Sproutliner before. It's a free, online outlining web app that's surprisingly robust. It gets even better because its creator open-sourced it recently. I liked the hosted option, but it's very openness made me unable to use it for sensitive matters. Now I can host it on my own site, put it behind some authentication, and use it to my heart's content.

It took a little doing because I didn't install it into the root of my domain. The developer made it so that every link and reference was root relative, i.e., "/some-path/some-file.php". There were a lot of those references, so it took awhile to hunt them down—a global replace didn't work, unfortunately—and make them plain ol' relative.


That's Debatable


FYI: an argument is moot when those arguing should be mute. If you can't get these straight, may I recommend the lovely "debatable?"

[UPDATE (6/17/05): "Irrelevant" would also work in some contexts.]


Laptop Pwn3d


Bringing new meaning to the words "intel inside", Dell has apparently been installing hardware-based keyloggers for the Department of Homeland Security. DHS wouldn't respond to his FOIA requests, so we don't know the purpose, scope, or usage of the keylogger. If DHS didn't have anything to do with it (and Dell's furtive response suggests something sinister), then they would have stated as much instead of denying the request for exemption. Then again, this administration isn't known for its disclosure.

I can't fault Dell for this since they really wouldn't have had a choice—I'm sure any modern computer is going to have these things in them. I'm just glad that I have older-model laptops.

[UPDATE: It sounds completely plausible since I'm sure that the DHS (and all the other law enforcement agencies under its umbrella) would just love to have such a device out there and the current environment seems to trounce privacy in favor of security, but there's a part of me that's very skeptical about this story. First, he's gothad three versions of the same basic theme on his site. (As I wrote that last sentence, they're gone. Even more odd.) Second, there's nothing personally identifiable about his site. Finally, the whois information is conflicting and the domain isn't know for credibility. That's not to say that it's not true, just that there's some lingering doubts in my mind.]

[UPDATE 2: The removed other versions were just more nicely formatted, had less pictures, and one version said that the FOIA response came in days while the other said weeks. Probably not a big deal. The site's owner may have removed the other versions because they were initial drafts.]

[UPDATE (6/17/05): Okay, it was a hoax. Good to know.]

[UPDATE 2 (6/17/05): Snopes clinches it. I checked there first before I posted this originally, but there was nothing about it. I also searched with Google.]

[UPDATE (6/19/05): More analysis of the hoax here.]


What's the Diff?


Curious about the differences between Mac OS X 10.4 and Windows XP? Having trouble explaining how one is better than the other? I always do and I just found X vs. XP. Sure, it won't make people switch automatically but if someone is seriously wondering about the differences, it might prove useful (and a time saver for you). {via}


It's Starting


Today I started development on the app I've been designing for the last couple weeks. I had forgotten that feeling of starting from scratch. That moment where you're done preparing documentation and you open up VisualStudio.NET, create a new solution, and think, "What now?"

So I did what any normal developer does. I procrastinated by building out framework level stuff: logging, components, and subsystems. Then I got tired of that and actually started working on the HTML prototype. I think I've got the basics of a really great design.

Oh and one thing I learned that might be helpful for someone out there. If you're trying to get log4net working and you just want a simple test to make sure everything's working, remember that the TraceAppender is not the AspNetTraceAppender. I spent quite awhile wondering why the heck nothing came up in the trace even though log4net was showing that it was configured and all the loggers were at the levels I specified.

[NOTE: The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]


Three Types


In my life, I've met quite a few programmers, developers, and engineers. I've also read a lot of source code. In my experience, I've seen three types of programmers (or three styles of coding, if you prefer): neurotic, cavalier, and reasonable.

The neurotic programmer seems to believe that anything could happen, that reality is a bewildering place. For some reason, he behaves as if computers aren't deterministic. He programs by the "what if": what if this suddenly worked differently, what if some hacker was able to override this somehow, what if everything failed. On the face of it, he might appear cautious to outsiders. His boss, who was probably never a developer, might encourage his attitude since "it's better to be safe than sorry." In the end, though, it's deuces wild and you had better encase everything in try-catches.

The cavalier programmer doesn't really think about what might happen. He knows that computers are deterministic and predictable, but he arrives at that conclusion through trial and error. It's a pragmatic way of programming: write some code, compile, and see what comes out. If it doesn't work (or doesn't compile), then it's time to try a different route. And so on and so on. Generally, he only uses exception handling when he's seen an exception. While this way of programming generally works in the end, it's a very tentative kind of working and inevitably degrades into hackiness as new bugs crop up.

The reasonable programmer knows that computers are predictable: garbage in, garbage out. He knows that they sometimes appear non-deterministic, but that that's just because his context doesn't yet include an understanding of what just happened. After a little research and pondering the situation, he can improve his understanding. He writes units of code, compiles, and then tests the code; not because he's unsure of himself or the nature of the programming environment, but because he doesn't want to get too far programming before he makes an error. He includes exception handling when it makes sense—i.e., when an exception is likely or important. There are still going to be bugs in the reasonable programmer's code, but they should be transitory since he's got a good handle on the program's operation.

I've seen quite a few programmers fall into the neurotic category. I can understand why since computers are so complex and are often temporarily bewildering. Unfortunately, I've also met my share of cavalier programmers and I've read enough of other's experiences to know that it's regrettably prevalent. I believe that those programmers are probably in over their head, so to speak, and they've just given up on comprehending their world. While I can understand how they got to be what they are, I can't say that I'm terribly sympathetic because both types are pretty stagnant.

Luckily, I've also met a lot of reasonable programmers (or read their source code). I'm pretty sure that most programmers would fall into that category, but there's also the possibility that any specific programmer may be an amalgam of the three. In that case, you might see flashes of one or the other at any given time.

[NOTE: I debated about whether to write about these three styles as they evince themselves in code, but I decided ultimately that code doesn't write itself, code usually doesn't have one mind behind it, and the style of a piece of code is what it is because of the human mind that called it forth. Also, I'm not referring to anyone in particular—they're composites of many programmers I've met.]


Scottsdale AIRpark


I've spent a lot of time in the last month wandering around the "park" aspects of the Scottsdale Airpark but I hadn't at all checked out the "air" parts.

So today I crossed Hayden and wandered down Acoma knowing that I'd eventually hit runway. I found a shady spot with some very lush grass and parked my hiney down to read and take in airplanes. (The airport near my home, Deer Valley Airport, has a better selection of flights but absolutely no comparable roadside viewing areas.) It was next to (and probably part of) a closed-down Corvette showroom that had an interesting parking lot with arbors for covered parking and a recessed landscaping feature that looked a little like a Zen garden. (Perhaps they spent all their money on the site and not enough on the business.)

Nothing particularly interesting to report: saw a jet take off and another land; saw tons of what I presume to be training planes; realized that my vantage point was largely obscured by a chain-link fence and was too far down the runway for watching takeoffs and landings up close.


Upgraded MovableType


Just upgraded MovableType from 2.661 to 3.17. It looks like ass. Luckily, there's finally some useful features in there like checkboxes for batch actions.

In related news, Textpattern just keeps getting better and better. I'm still moving old files over from the old ColdFusion-based system to the new TXP-based one. Once I've got all of those transferred (blog goes last since it's the most-frequently updated part of my site), then I'm going to use MovableType to generate PHP-based redirects for all past blog entries.

Once all that happens, I can finally drop the $30/month hosting for bbrown.info and move it over to the host for Found on the Web and Five Browns, among others. And my hosting bill per month will effectively drop from $49.85 per month to just $19.95 (and actually I think I prepaid for two years, so it's only $15.95 per month).

And that'll be sweet.


It's Not Working, Sorry

I've tried to enjoy and appreciate QuikTrip's unique approach to handling lines of customers, but I just can't.

For those unfamiliar with QT's way, they've got an L-shaped counter directly across from the door. There are three registers, one at each point of the L. Generally, only the bottom two cash registers are in use, but they'll open the third one if it gets busy. These two open registers typically are fed from a single line with each cashier taking the next customer in turn. When the third one opens up, there's a moment of awkwardness as that cashier takes the next person in line. That quickly breaks down though since there's no real way to feed one line into three registers given that configuration.

So that's all well and good and if it worked like that most of the time, I wouldn't be writing this.

The problem occurs—and it occurs frequently—when the two main registers are feeding from the single line and then someone approaches the second register from the side nearest the dormant one. In other words, someone cuts in line by forming a new line. If the QT cashier at the second position told the offender that there's one line and it's over there, then all would be well. Unfortunately, the cashiers inevitably assist the interloper thereby infuriating the original line dwellers and encouraging future breaches of protocol. Who wouldn't rather be helped immediately than have to wait in a long line?

I can tell you that it is maddening to someone possessing a heightened sense of justice to have such a cut occur. There are two solutions I can see for QuikTrip to stop this insanity: 1) empower cashiers to turn the rude people away or 2) stop feeding from a single line and more clearly demarcate two lines at the main registers.

Honestly, I believe that this scourge has persisted because there's really no incentive for QuikTrip to fix it. I grouse about it but I still go back again and again for my sodas.

First Month at Go Daddy


Yesterday marked the end of my first month at Go Daddy. To state my assessment right off the bat, I can't think of a single negative thing to say. Well, okay, the parking is a little crazy and my cube is on the exact opposite side of the development suite from the two people I've worked with on the two products I'm an engineer on. If those the worst things that happen to me in my career here, then I'll count it unabashedly wonderful.

Being distant from my immediate co-workers forces me to get up and walk a ways when I need to talk to them face to face. It's a nice break from coding, writing specs, and just being in front of the computer. I try to take walks around the building twice a day besides since I don't want to get the spreading hiney that is endemic to desk jockeying.

Even the parking isn't a bad thing. Sure there's about half as many spots as there are employees and going out for lunch inevitably means exile onto distant streets, but the fact that everyone tolerates it tells me a lot. Most companies are quite profligate: spaces get full and they open up new locations or build fancy new buildings. Sure, it'd be nice to have a parking garage but I'd rather have a financially healthy employer much more.

Go Daddy, like most startups, seems to operate on the principle of making do until it's unavoidable. As a frugal person, I can appreciate the fiscal hesitation. They spend money on the things that make them money and plow the rest back into the business. In that sense, Go Daddy is very startup-like.

Development-wise, I couldn't have asked for a more dream job. Okay, I would much rather work for Apple or Google but I don't have nearly enough skills or experience for that. Plus, I don't particularly want to ever live in California. To top it off, I am working on a product that suits me perfectly. I can't say anything about it, but I think it has the potential to make my career.

Finally, it's been very refreshing to be able to talk about work without fear. The policy basically just states that I can't disclose anything non-public and have to end every blog entry about Go Daddy with the disclaimer below. It all seems fair to me. I really don't speak for Go Daddy, after all.

We're hiring a lot of .NET engineers so if you're a competent .NET engineer that I know, send me an email expressing your interest and I'll forward it along to the right person.

[UPDATE (6/13/05): I completely forgot to mention that my cubicle rocks. I've got lots of desk space, a shelf for books, my own personal white board, and dual monitors.]

[UPDATE (6/20/05): Holy crap! I just realized that not only does my box have a gigabyte of RAM, which is awesome, it's got two 2.8 GHz Pentium 4s. Wowowowowow!]

[NOTE: The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]


Lunchtime Observations


Random observations on the passing lunch scene:
  • I ate at Chick Fil-A again today (breakfast and lunch) because I had two free chicken sandwich coupons that expire tomorrow. As I'm leaving, the door greeter hands me another free sandwich coupon. If this continues, I'm going to be eating Chick Fil-A sandwiches all next week. Not the worst fate possible, but it could become habit-forming.
  • The lines, drive-thru, and crowds at today's lunch were not noticeably diminished. I wonder if this will continue past tomorrow's coupon expiration or if this is a heretofore-unfulfilled appetite for chicken by Scottsdalians. I sure hope it'll pass soon because if this is the experience every time I want to eat there, I'm not sure I'll bother. Parking half-a-block away and waiting in line is a waste of my precious lunch time.
  • They had a cow mascot accosting cars in the drive-thru. Oh sure, they'd probably call it promoting Chick Fil-A, but who are they kidding? The guy in the cow suit was dancing up a storm and made me laugh out loud with his (or her) antics. I wonder if his (or her) enthusiasm will diminish as the heat wears on. I picture a cow sitting on the edge of a light pole holding its head in its hands and looking down. Will that promote sales? Or will the Chick Fil-A cow overlords have mercy on that poor soul?
  • The Super Wal-Mart in the Scottsdale Airpark has a whole rack (approximately six or seven shelves) of Mormon literature in its religion area. Is Scottsdale a bastion of Mormons? I never knew. I do know enough, however, to know that Wal-Mart does nothing capriciously.
  • I went to Northsight Park after the eating and the errand running to just relax and read Head First Design Patterns. I saw people in the park's parking lot listening to music, eating fast food, or talking on their cell phones with the engine on and, presumably, the air conditioning blasting. I have to wonder why they chose to park in the park when they could just as easily have stayed in the fast food restaurant's lot or even their employers. They didn't appear to be taking in what scenery they could see through the windshields and not one of the people I've seen in the last four weeks has ever gotten out. Whatever floats your boat, I suppose, but it just seems weird.



Eat Mor Chikin


Today is the grand opening of the Chick Fil-A at Raintree and 101.

I went there for breakfast at around 6:15 am and it was surprisingly busy. Apparently, they run a promotion at each new location where the first 100 people through the door get free Chick Fil-A food for a year. Given the number of kids in the store when I was there, I'd say that school let out just in time for these youngsters. I had the chicken biscuit and the Chick-n-Minis. I'd never eaten there for breakfast and they seemed the most representative. They were alright but nothing special. I'm going to try the breakfast burrito sometime before I wholly discount their breakfast offerings.

I also went there for lunch. Just because. I probably won't eat there for another week or two, so I thought I'd splurge and go twice in one day. I had the chicken sandwich combo. It comes with only pickles, so it was not at all what I was expecting. If I have it again instead of the nuggets, I'll definitely opt for some additional lettuce and tomatoes. The nuggets represent the highest form of Chick Fil-A delight: they're pure, unadulterated chicken in a batter that should make Colonel Sanders say, "Damn, I could have saved about ten essential herbs and spices!" I used to save my $3/week allowance as a child so that I could eat a 12 pack every now and then at the long-gone Paradise Valley Mall location.

The lunchtime crowd was unlike anything I've ever seen except for the opening of the first In 'N' Out location in metropolitan Phoenix, which I waited 45 minutes in line to eat at. The line stretched far out the door; I couldn't even get on the same street it was on and had to park in the Sam's Club lot and hike in; and staff were constantly plying patrons with free samples, helpful instructions, and offers of assistance. I don't know how long they'll keep it up, but it was certainly something to experience. I was grinning the entire time because it was just so neat that a fast-food restaurant with several Valley locations was inspiring this reaction.

Which was the reaction I fondly remembered from my childhood.


All Spec'ed Out


So I've finished my requirements specification for the new product that I can't discuss. It was a real learning experience for me.

The thing came in at 34 pages and 10,091 words. It took exactly a week to prepare, but I think it faithfully reflects my vision so it was time well spent. I even tried to inject a little humor in places, but nothing that would particularly diminish the seriousness of the document.

[UPDATE: Now I'm supposed to do a data design for the product. I'm surprised how easy it is in Visio 2003; I really had never used that program before for much more than flowcharting. From the extent to which it is aware of database models, I'm guessing that it can create the tables for you once you're satisfied with the entities and relationships. I've sketched out 20 tables so far and now I'm fleshing them out in Visio. I think I'm staying generally in 2NF with occasional forays into 3NF where it's useful. I'm also realizing the limits of my data design skills.]

[NOTE: The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]


Productivity Blackhole


I think I've found a way to increase business productivity considerably by adding a single line to employee policy manuals:
All discussions about politics, religion, and current events should be reserved for the employee's personal time such as lunch and breaks.
Everywhere I've worked, I've seen the scourge of such conversations: groups of employees pointlessly arguing past each other—sometimes for hours on end—and sucking bystanders in like some sort of workplace black hole as their particular hot buttons are inevitably pressed.

You know what I've never seen? Someone say, "That's an excellent point. I've never thought of it that way. I'll have to ruminate on that some more. Let's get back to work."

I admit to having participated in such discussions, so I know whereof I speak. However, I haven't done it for at least a year or two because I recognized what a colossal waste of time they are for all parties. Plus, the loudest and most ignorant participant indubitably dominates and frames the discussion since everyone seems to feel a need to feed the trolls. In my experience, these tend to be religious fundamentalists but your mileage may vary.

[NOTE: The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]


Security Wiki


Patterns and Practices Security Wiki: awesome resource for securing .NET and ASP.NET applications. It promises to be updated more regularly than the great Patterns and Practices books on the subject. {via}


First Shovelglove


So this morning I did my first shovelglove routine and I've got to say that I feel great! It was easy, took only 14 minutes, and worked out my upper body considerably. I was initially worried about where I would do the exercise since wielding a sledgehammer in realistic activities might entail a whole lot of smashing, but I found a spot at the foot of my stairs that works perfectly.

After 200 shovelling repetitions—he was right that you could do two rotations of the routine in 14 minutes—my arms feel like elastic. When I extend them, they say, "Umm, let's just retract a little, shall we?" It's better than what they were saying right after the workout, "Hey buddy, you're a desk jockey. The hands are the ones that are supposed to exercise." Okay, so anthropomorphizing your body is a little tired but you'll have to excuse me.

The amazing thing is that I could definitely see myself developing the upper-body strength I've lacked my entire life. I'm not looking to be The Hulk or anything, but it would be nice to be able to dig a trench without getting sore or to rip a phone book in half. The one idiosyncrasy in the system that I discovered was that the guy that made the chopping wood has clearly never chopped wood since this technique would just splinter chips off the logs, but that's really a nitpick.

[UPDATE (6/8/05): Day after correction: my right arm is doing splendid but my left arm bicep is terrifically sore. I can't even fully extend it. While I was doing the exercise, I noticed the difference in sensation between the two arms but I wrote it off as muscular grousing. I now know what that muscle was trying to tell me. I didn't shovelglove this morning for that reason. Tomorrow I'm going to give that muscle the day off again, only do one rotation, and relegate my right arm to more of a supporting role. Once it's doing better, I'll work it back into the mix and take it easier.]

[UPDATE (6/9/05): Nope, today's no good to resume the exercise. It's actually become painful to extend my left arm. I know how a Tyrannosaurus rex must've felt because I have to bend over to reach anything below waist level; I'm sure it's rather comical to watch. This has been a very important lesson learned.]


New Exercise Regimen


To buy: one sledgehammer.

[UPDATE (6/7/05): I posted this and the No S Diet over on MetaFilter recently.]


The User Does This and This


I found some great resources for use case production. My favorite was "Use-Case Model: Writing Requirements in Context" by Craig Larman. It provided a easy to understand elaboration of the use case's purpose. It also suggested that use cases should refrain from describing implementation details and should be written as clearly as possible. That advice is well-taken because it dovetails with my natural style.

I found it through the Use Case Zone, which has a lot of other good links as well. The seminal work, Writing Effective Use Cases, wasn't available at any of the libraries within reach so I didn't consult it but everything I've read in the last week suggests that it is the book on this subject.

[UPDATE (6/8/05): Crud, turns out that the QA team uses the use cases to prepare their test plans so I need to rework my paragraphs of description into procedural lists. So I need to do that, merge a couple of use cases together, and excise two architectural musings in two use cases. That's the diagnosis on my almost-completed rough draft. I can live with that and I'll certainly be better prepared for future requirements specs.]

[NOTE: The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]


Resize Me


Resizable Text Area Extension: this Firefox extension makes the edges of any textarea get those little arrow cursors for easy expansion in realtime. OMFG, this is awesome; you have to see it to totally grok it. I still like OmniWeb's text area zoom box because it's more like a text editor than a textarea, but it opens up a new window, which I don't like. {via}


Transactions


Not that transactions in .NET were super hard, but .NET 2.0 is going to have a System.Transaction library. Transactions will be invoked with a using statement, which I think is an amazingly elegant way to do them.

Wesner Moise thinks that people will forget the commit call, but I don't. I think if you have the desire to make a transaction, you probably won't have forgotten that you're in the transaction by the time you've done your SQL. That may just be me, though.


Intel Inside?


It's really weird: As Seen on TV's last comment (under that particular nickname) was on May 23rd and that was just to say that he hadn't posted lately because he was out of town. I see three possible scenarios to explain his reticence:
  1. He's been given a warning about his actions and has wisely toned it down.
  2. He's sick and tired of Slashdot discussions, which is a perfectly understandable thing after 686 comments consisting mostly of shooting trolls.
  3. He's gone quiet because he doesn't want to give anything away before the WWDC.
While the first two are entirely possible, I tend to go with the third option. He was making his candid comments long after incredible attention was brought to bear on him and he was excessively patient with Slashdotters for at least two hundred of those comments. I think he wants to keep WWDC's secrets because he's an executive at Apple and sincerely does not want to spoil the fun.

If it's true that Apple is moving its CPU base to Intel-manufactured chips, then that's something he might want to keep quiet about even if he didn't fear for his job. It's such a momentous switch that he probably would want it to be a surprise.

However, knowing him (as I feel like I do after reading nearly every one of his comments starting from when he hadn't even filled up his profile page), I don't think he could resist posting on Slashdot. And with the recent Slashdot story about CNet's confirmation of the Intel move, I think he's made at least one comment as an Anonymous Coward. The style sounds the same, the level of awareness about Apple's direction sounds about right, and I just would really like it to be him posting. In a strange way, I sort of miss him.

I don't know at all whether Apple would move CPU production to Intel. I think such a move would be in their long-term interest since every chip supplier they've had to this point has had long bouts of unreliability and stagnation. Intel is a proven manufacturer that can both innovate and produce. I do think, however, that Apple would not use one of the Pentium chips; as the Anonymous Coward (hopefully ASOT) said, I think Intel will become a PowerPC chip provider through a contractual provision that IBM hoped would never come to pass.

Whatever Steve Jobs announces at his keynote on Monday, I can guarantee that it's going to be big. And I think that the Anonymous Coward comment cited above is going to prove prescient. (It wouldn't be the first time that an anonymous comment at Slashdot turned out, in retrospect, to be completely accurate—there was one long before the iTunes Music Store was premiered that spelled everything out.)

[UPDATE (6/6/05): Steve Jobs just announced the two-year transition to Intel-based Macs. I'm flabbergasted. I mean, I expected it, but it just never felt real.]

[UPDATE 2 (6/6/05): This Slashdot comment thread is hilarious.]

[UPDATE (6/7/05): John Siracusa, he of the ponderous review, weighs in.]

[UPDATE (6/9/05): The always-interesting <a href="http://pbs.org/cgi-registry/cringely/thisweek.pl?pulpit
">Robert X. Cringely weighs in on the Apple-Intel news:
Apple's stated reason for pre-announcing the shift by a year is to allow third-party developers that amount of time to port their apps to Intel. But this makes no sense. For one thing, Apple went out of its way to show how easy the port could be with its Mathematica demonstration, so why give it a year? And companies typically make such announcements to their partners in private under NDA and get away with it. There was no need to make this a public announcement despite News.com's scoop, which only happened because of the approaching Jobs speech. Apple could have kept it quiet if they had chosen to, with the result that not so many sales would have been lost.
Good point.]

[UPDATE (6/10/05): ArsTechnica's Hannibal offers up his thoughts on the move to Intel. He's got better information about Intel's processor roadmap than you can find on Intel's site. This is like a whole new world to a Macintosh guy like myself.]



Webolodeon: delightful Greasemonkey user script for Firefox that asks what you're doing every five minutes. It's a helpful reminder that you need to be aware of why you're doing things. {via}

[UPDATE (6/3/05): Ugh, it really doesn't do well with frames.]


Swinging


For lunch today, I went back to Northsight Park because it was such a nice day. I worked on the requirements a little, shot a few hoops, and swung.

Oh yeah, he just said "swung." As in playground swinging. On a lark, I decided to try something that I haven't really, seriously done in many years. OMG, I had forgotten how much fun it is. There's that moment once you've been at it for awhile where you hit the top of your upswing and you kind of bounce. It's a brief sensation that you're going to fall off, break something, and have a lot of 'splainin' to do—but you don't.

Feeling daring, I even did a couple of jumps. One was the classic distance jump, but the other was one of my childhood favorites where you hold on to the chains with one hand as you jump off. You kind of spin 180° and you can really control your landing. Even if you don't jump, it's still exhilirating.

I can totally understand what kids see in swinging.

[UPDATE (6/9/05): Geekpress links to an explanation of why pumping your legs makes you go higher.]


I'm So Excited


I just got back from a short meeting with my boss. The new product that I mentioned previously has been approved for design and requirements gathering. I still can't say anything about it.

Since my feature's in the can and the release I was debugging is in QA (and looking good so far, I might add), my boss told me that I've been reassigned. As we discussed it, I was literally shaking. Okay, it was partly because his office is an ice box and I'm wearing shorts, t-shirt, and sandals but it was mostly because I was so excited. I'm busting, Jerry! Busting!

My first task is to gather requirements. That makes me a little nervous since I've never had to do that before. There's templates and everything, but this is an entire freaking product!

Oh and I got my first full paycheck yesterday, which was good because I had forgotten how much these job transitions suck—financially at least. (And the other good news is that the Chick Fil-A franchise down Raintree is opening June 9th. I <3 Chick Fil-A!)

[NOTE: The views expressed on this website/weblog are mine alone and do not necessarily reflect the views of Go Daddy Software, Inc.]


Windows Keyboard Shortcut


Pressing CTRL+SHIFT+NUMPAD '+' in Windows Explorer resizes the columns to fit the contents. Try it. This is so handy. {via}


Changes Afoot?


The Bush administration will nominate Representative Christopher Cox to be the next chairman of Securities and Exchange Commission. Since he's a sitting Congressman, I don't expect that his colleagues in the Senate will contest his nomination.

While he's done some excellent work in the House, he was a single voice in a chamber of 435. As head of the SEC, he will be the man and his views will have an effect. I am hoping that such power doesn't corrupt him; the last thing we need is another Alan Greenspan.

Cox is a fan of Ayn Rand's, going so far as to write a review of The Letters of Ayn Rand for The New York Times. His intimacy with Objectivism definitely isn't on par with Greenspan's, but as far as I know he's consistently come on the right side of political issues.

Here's hoping that a Chairman Cox actually pushes through some real regulatory reforms at the SEC, which badly needs it.


Donations


Google's Summer of Code: now that is an interesting way to fund open-source projects.


Stop the Copying, People


Longhorn will shed the "My" in all of those special Windows folders. So "My Documents" becomes just "Documents." Let's see, do I make the joke about Mac OS X having that since 2001, the one about having to wait till the end of 2006 for this feature, or the one about how I thought Longhorn was trimming features?

I think I'll just point out another example of Microsoft's slothful copying of other companies: they announced MSN Virtual Earth last week after Google announced Google Earth a week before. And it's already out in beta.

I predict that MSN will soon announce a machine translation service that doesn't suck and will be available early next year.

[UPDATE (6/3/05): Did I say "end of 2006"? I think I meant middle of 2007.]


About this Archive

This page is an archive of entries from June 2005 listed from newest to oldest.

May 2005 is the previous archive.

July 2005 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Feedback to