February 2, 2007 tools

Windows Servers for the rest of us

Charlie Kindel of COM fame (he’s wrote the foreword to Don’s seminal work Essential COM) is the Product Unit Manager (softie-speak for butt on the line”) for the new Windows Home Server team. If you haven’t heard about it, Home Server is a Windows server box for the rest of us. I don’t know about you, but I’ve got file, print and media servers all over the house in a confusing mess and I look forward to being able to consolidate it. According to the enthusiastic beta tester I talked to, Windows Home Server is the way to do that.

Yesterday, Charlie announced the Windows Home Server Blog. Enjoy.

February 1, 2007 .net

The Potential of WPF/E

Savas turned me onto an amazing WPF/E application. I don’t speak the language of the web site, but the screenshot on Savas’s site is worth a look…

P.S. I don’t smoke (except for the occasional cigar) and I definitely don’t want to smell smoke while I eat or in my clothes, but the fact that smokers are no longer allowed to smoke most places strikes me as a violation of an important liberty. Have those studies about the effects of 3rd party smoke been verified?

January 30, 2007 .net

WPF XBAP App: British Library Books Online

The British Library is one of the world’s leading libraries and the national library of the United Kingdom. By charter, it holds a copy of every book ever published in the UK, along with 58 million newspapers, 4.5 million maps, and 3.5 million sound recordings. They hold some of the most priceless literary treasures in existence, including the Codex Sinaiticus (one of the oldest New Testaments in existence), the Lindisfarne Gospels, one of Leonardo Da Vinci’s notebooks, the first atlas of Europe by Mercator, the original illustrated manuscript Lewis Carroll’s Alice’s Adventures in Wonderland, Jane Austen’s History of England and Mozart’s musical diary. …

Enter a fantastic new application, developed in partnership between the British Library and Armadillo Systems. The British Library have digitized the pages of fifteen of their most valuable works and created Turning the Pages, a browser-based WPF application that allows you to interact with these books in a virtual environment from the comfort of your home.”

Wow. This is literally the only way to interact with some of this material and it’s enabled with WPF. Nice.

January 29, 2007 tools

Window Clippings 1.5

Capturing screenshots for a book used to be a piece of cake. Alt+PrintScreent and you were golden. However, sometimes I wanted to get the cursor, too, and neither Alt+PrintScreen nor PrintScreen does that, so I got myself a copy of SnagIt. Unfortunately, if I wanted to capture multiple screens, I was putting a maximized copy of Notepad in the backgrand, using PrintScreen and PBrush to do the cropping (although SnagIt has slightly more seamless multi-window selection).

Still, this all worked til Vista came along and Alt+PrintScreen left the shadows out! I was fine with that, but Ian correctly pointed out that the screenshots with the shadows looks *so* much better that I could hardly say no.” And I discovered the Snipping Tool in Vista, which let me do a selection on any part of the screen I wanted to, except that now instead of just doing Alt+PrintScreen, even for a single window, now everything is a selection, which means that somebody (hopefully not me!) has to trim the extra whitespace to make sure the pictures layout OK in the book.

I told you all of that so you could know that I envy folks that don’t have to do screenshots! It’s hard to make it look right, although, for visual technologies, I really can’t imagine not having them. Anyway, I was definately open to another screen capturing technology and that’s when someone turned me on to Windows Clippings.

When I found Kenny Kerr’s most excellent screen capture tool, it was so close to what I wanted (it did Vista shadows with no guesswork!), that I sent Kenny an email with my feature request (easy child+parent capturing support), fully expecting not to hear back (it’s clear from his web site that he’s a busy guy!). Not only did he reply, but he’d implemented my feature!

And it was such a time-saver, that I forwarded it along to Ian, who had his own feature request (keeping the transparency in the captured image w/o grabbing the stuff underneath), which Kenny promptly implemented (with some example code from Ian). Of course, that broke my feature (the constant animation of WPF apps + capturing transparency caused problems), so Kenny fixed that, too. By this point, Kenny’s app itself was notifying me of updates faster than he could send the emails.

All of this is merely to say, I’m really loving my Windows Clippings experience. Thanks, Kenny!

January 26, 2007 .net

API Usability

Don has a piece up about something that I’ve always called API Usability.” The idea when building libraries is to write client code first against some pretend API that you wish existed and then to implement that API. Another good name for this approach would be RAD API Design,” simply because it’s the same way I prefer to design UI — layout the UI the way you’d like it to look and then implement it that way. Of course, I have to admit to preferring Don’s name for this style of programming (I like what he calls my conferences, too : ).

BTW, the comments to Don’s piece mention to startling similarity between this approach and Test-Driven Development (TDD). I’m a huge fan of TDD (NUnit is a wonderful tool I use all day every day). I’d say that TDD is a generalization of my little API usability” technique in that you can use it for all kinds of things, e.g. code coverage, perf testing, stress testing, etc, including API usability.

P.S. If we fix the atmosphere, clean up the water, stop polluting the soil and learn to live in harmony with our environment, what’s to motivate us to move off this rock before we lose our aggressive drive and then, when we’re sipping Mai Thais, the sun explodes? Consuming this planet until nothing’s left but an empty husk and we’re forced, like locusts to move on to the next one, may well be the only thing that keeps our species alive (assuming we survive the coming ice age, of course).

January 21, 2007 spout writing

Boogers and My Writing Process

I’m supposed to be writing today, but John (my eldest son) is also doing some writing as part of his homework. However, after watching him struggle with just the topic (the phrase Always aim for the moon. Even if you miss, you’ll end up among the stars” [which isn’t even the correct quote]) to try to write the fully-formed essay, I give him a little lesson about how I write. Plus, since I’m supposed to be writing, this blog post is an excellent avoidance technique.

When I write, I told my son, I have to write giant books starting from empty pages. I can’t just have a topic and start writing, I have to have something to break up the whitespace first. So, as a demonstration of this technique, I asked the fruit of my loins, an apple from my tree, for a topic. He said, without so much as a second of hesitation, boogers.”

So, we started by brainstorming booger-related topics:

  • can be dry and crunchy
  • can be wet and chewy
  • flick em
  • eat em
  • wipe em
  • come from noses
  • wipe em on somebody
  • wipe em on tissue
  • wipe em under something

The brainstorming is just a list of facts in whatever order I think of them that I know about the topic that I may or may not decide to share with my readers. While brainstorming, I don’t judge — I just type whatever comes up. After brainstorming, I spend some time rearranging my facts into some kind of outline to lay out my order and my main topics into which the facts fall:

  • intro:
    • what they are
    • formed from dust and other irritants in the air
    • can be dry and crunchy
    • can be wet and chewy
    • come from noses
  • how do I get em out of my nose:
    • Kleenex
    • finger
    • friend’s Kleenex
    • friend’s finger
  • what do I do with em now that I’ve got em out of my nose:
    • flick em
    • eat em
    • wipe em
    • wipe em on somebody
    • wipe em on tissue
    • wipe em under something
    • straight blow in the shower
  • summary
  • overrun (although I’ve decided I don’t want in my finished piece)

During the outlining phase, it’s often the case that more facts come up and sometimes even whole categories of facts. As you’re forming the story, that’s when the gaps make themselves clear. At this point, I generally jump into the first fact, turning it into the first sentence, adding supporting sentences, transitions to the second fact and so on. Sometimes, though, especially with shorter pieces, I’ll write the summary to make sure I’ve got it in mind as the write the entire piece. This idea of the story that I want to tell is what Don Box calls the spine,” and it’s the most important part. Once you’ve got the spine, everything else falls into place.

summary
Boogers happen to everyone and they’re good for you. However, when there are too many, you gotta get em out. I recommend that you use a combination of Kleenex and your finger (for those hard to reach spots). You should make sure to throw the Kleenex away and wash your hands, although the shower straight blow is a good alternative. You should never, ever flick or wipe your boogers on something besides Kleenex, because who wants to find them?

At this point, I’ve gone from a blank sheet of (virtual) paper to a place where I know the spine, the details and the ordering; most of the hard work is done.

Obviously, brainstorming + outlining + summary + details = completed essay isn’t exactly a unique perspective on the writing process. Still, how often does one get the change to turn boogers into a positive learning experience for one’s progeny? : )

January 19, 2007 tools

CodeFetch: Search Book Source Code

CodeFetch allows you to search in the source code associated with books (like the code I publish for my books). Plus, it lets you choose the language to search on and shows the book the results come from so you can read your favorites. Very cool.
January 4, 2007 spout

Five Things You Don’t Know About Me

I’ve been tagged a coupla times, so it’s time I fessed up with Five Things You Don’t Know About Me:

  1. In college, I was in a fraternity and not just a geek fraternity, but an actual, national, recognized social fraternity (Phi Delta Theta). I figured I was geeky enough in high school, so needed a place to learn to at least hide my dorkiness. Obviously, I failed, but it was a very fun four years. : )
  2. In college, I coded in Unix using VT100 emulation software via a modem to my school’s DECs from my Mac IIcx running System 7 (I worked two jobs all summer to earn half of the $6000 it cost me to purchase the thing in 1988). It was the combination of the best programming and best UI experience at the time (although on two separate OSes). After graduation and working a job for a coupla years where I programmed Unix all day, I needed to look at Windows 3.1 for the first time because I had an interview at Intel. I could only stand to use it for about 10 minutes. They hired me anyway as a Windows programmer and, thank goodness, it’s much gotten better. Windows is now my favorite programming and UI experience (and I’ve used both Unix and Mac OS X several times since then to make sure).
  3. I am a fetishist; my fetishes are domain names and phone numbers. I can’t think of a cool domain name without a) checking to see if it’s available and b) purchasing it if it is (the one that sticks in my mind is clownporn.com, but that one was long gone). If I ever have a cool idea for an app, I must first purchase the domain name (I own appsettings.com and I just purchased 16 domain names the other day for another thing I want to do). Likewise, if I see a 7-digit phone number without a 0 or a 1 in it, I am physically compelled to surf to phonespell.org to see what the possible 7 and 8-letter words are (my old home phone number was 642-JOHN, the name of my eldest son). Of course, I’ve written my own program to do the permutations of numbers to letters, but phonespell does that cool dictionary lookup and grouping thing. I also added the phonespell support to Dave’s Quick Search Taskbar Toolbar Deskbar.
  4. I have jumped out of a perfectly good airplane (not Alan Cooper’s plane).It was just before I got married and I took my best man. We both used parachutes. The fall was surprisingly quiet, but the stop at the sudden bottom was unpleasant.
  5. The equal-rights-for-humans theme that sometimes pops up on this site isn’t because I’ve seen friends discriminated against and now I have to change the world (I don’t actually know very many people that are homosexual), but rather because I think it’s the right thing to do.

I tag Don Box, Chris Anderson, Michael Weinhardt, Tim Ewald and Ian Griffiths.

P.S. What’s the deal with the shape of the Pentagon and the Seal of the US on money (the eye at the top of the pyramid)? Damn you Doug Purdy for getting me The Illuminatus Trilogy when I’m supposed to be writing a book!


← Newer Entries Older Entries →