spout

August 17, 2007 spout writing

How to write a book - the short honest truth

I found this on digg.com and liked the short, honest style. Bottom line: anyone can write a book; it takes real work to write a good book.
August 14, 2007 spout writing

“How you doin’?”

I wanted to figure out how to emit a new CLR type at run-time using Reflection.Emit and Google revealed the following article: Generating Code at Run Time With Reflection.Emit in DDJ.As usual, I skip most of the initial prose to the first code sample (I don’t need some author’s fancy intro — I just want the code!). Then, I’m reading along and I find some phrases I enjoy, e.g.

If you plan on generating lots of calls to Console.WriteLine(), you should be aware that the ILGenerator class exposes a method for just that purpose: ILGenerator.EmitWriteLine() generates the exact same code as our example. (Could this be the first assembler ever devised that includes explicit support for creating Hello, World” sample programs?)”

and

When creating a dynamic assembly with Reflection.Emit, you must declare, ahead of time, what you plan on doing with it. Do you want to run it or save it? Or both? (Of course, if your answer is neither,’ then you should probably should have stopped reading this article long ago.)”

By the end of the piece, I’ve enjoyed the story and it told me exactly what I wanted and then some, pointing out some pitfalls I would’ve missed, being entertaining along the way. It’s rare that I enjoy an article so much and I’m thinking I should send the author an email, congratulating him/her on his/her tight, fun prose.

And then I get to the author bios:

Chris Sells is a blah blah blah.”

Shawn Van Ness is a blah blah blah.”

Of course, now I remember Shawn writing this piece and me helping him with the polish. At this point, I feel a bit like the Joey Tribbiani of Windows technical writing…

July 17, 2007 spout writing

Programming WPF, 2e (RTM Edition) on Amazon!

Buy your copy today! : )

P.S. I read the QC1 (Quality Check 1), all 859 pages of it, in two solid days this weekend. I found a bunch of nits, all of which will be fixed before you see it in August. Wahoo!

June 14, 2007 spout

The T-Mobile Wing rocks! ’til the battery dies…

I was really loving my T-Mobile Wing with WM6, Pocket Office, external micro-SD slot, slamming keyboard, beautiful ClearType display, one-handed usage (even though it is a PocketPC, I almost never needed to pull out the stylus), blue tooth (very high quality!), wi-fi, Edge and a slamming keyboard! (yes — it was that slamming.).

Unfortunately, I couldn’t keep it. After four days of the battery going dead after 12 short hours of my normal usage, e.g. email, texting, surfing, etc, it was dead. I turned off wi-fi, blue tooth and DirectPush to no avail. The T-Mobile Wing is just too cool for the battery and T-Mobile didn’t have a bigger one to give me.

So it’s back to my i-mate smartflip (hurray for data sync!). I was *so* loving that slamming keyboard…

May 28, 2007 spout writing

Why do we pick on journalism majors, so?

Here’s another one:

For example, if we had had a background in journalism, we might have used one-based indexing instead of zero-based indexing to…

That Ian didn’t like, but it still makes me smile (and if you’re not a smiling author, why be an author at all?!?).

May 28, 2007 spout writing

Sometimes I crack myself up

I forgot until the copy edit review process that I’d dropped this gem into a footnote:

On August 4th, 1997, the world’s oldest person so far, Jeanne Louise Calment, died at age 122, having taken up fencing at age 85 and out-lived the holder of her reverse-mortgage. Although I firmly believe that Ms. Calment is showing us the way to a richer, longer life, it’ll be a while yet before we need the full range supported by the Int32 class (2,147,483,647 years young).

This is what happens when you write into the wee hours of the morning… : )

April 29, 2007 spout writing

On becoming an empty nester…

I submitted the final manuscript for Programming WPF, 2nd edition, by Ian Griffiths and Chris Sells to O’Reilly and Associates this morning for publication. Of course, there’s stuff still to do (today we hit step 8 of 18), but this represents a major milestone in the life of any book.

I have mixed feelings when I finish a book. The last few have been especially intense, as I have a real day job on a Microsoft product-team-to-be, so it’s just been evenings and weekends. With this much work to do, you have to focus hard and the work becomes a part of you. This means that giving it up is also hard. My boys are just now becoming teenagers, so it’ll be a while yet before they leave home, but I imagine I’ll feel the same kind of melancholy I feel now — happy to see something you’ve put so much of your life into make its own way into the world, but hard to have the cord cut.

On average, I’ve been an author, co-author or a with” on 12 books over the last 12 years. At one time, I had open contracts on four separate books. This book represents my last planned book. I’m now truly an empty nester.

So, what’s next for me in this new phase of my life? Well, I’ve already started some stuff. A couple of weeks ago, I started a little gooey shell for monad (I call it gonad”  : ). And last Friday, I started private piano lessons (a blast!). I’d like to pick up my other hobbies again, too, but for the life of me, I can’t remember what my other hobbies used to be…

April 29, 2007 spout writing

Glyn Griffiths: Ian’s Dad and Damn Fine Reviewer

This was an email I sent to Glyn Griffiths, the final external reviewer on the WPF 2ed book before we submitted the final manuscript for copy edit and publication (and which has been posted here with his permission):

Mr. Griffiths, in chapter 7, you had a couple of comments about what happened in the 1ed of the book vs. what we’ve got now in the 2ed of the book. The first such comment was:

The first edition of the book had …selected by going backward and forward…’ which I think is better. [ed: as compared to selected back and forward’]

This is one of several instances I’ve found of improved wording in the first edition that seems to have been lost in this one. Is this because work on the second edition was started using a text base that was earlier than the final version of the first edition?”

To answer your question, the post-copy-edited version of the 1ed is in Framemaker. Apparently, ORA does have a process for getting Word documents out of Framemaker for just this reason, but I didn’t know that, so we started with our pre-copy-edited 1ed Word documents when we started the 2ed. Since so much of the 2ed prose is different than the 1ed, this doesn’t concern me overmuch, but it’s worth avoiding for the 3ed.

And now here’s my question: how the hell do you know what was in the 1ed at this level of detail? Have you memorized it so that you can do a diff in your head? Do you have it open in front of you so you can compare? I can’t imagine what powers you possess to be able to make comment such as these, but I’m happy to have you use them for good and not evil.

P.S. With your kind permission, I’d like to post your comment on my blog so that others may have a greater understanding of where Ian gets his monster intellect.