writing

May 12, 2006 spout writing

A C# Bedtime Story Updated for C# 2.0

Seeing a reference to A C# Bedtime Story as a generic definition for .NET delegates in a recent DDJ article inspired me to post the new and improved version that takes into account C# 2.0′s anonymous delegate support. Enjoy.

May 9, 2006 spout writing

ATL Internals, 2e, available for pre-order

ATL Internals, 2e, this time with ATL 8, is available for pre-order on Amazon.com. For those wondering what the world needs with such a book, I refer you to the preface:

.NET has hit the Windows programmer community like a tornado, tipping over the trailer homes of the ways that we used to do things. It’s pretty much swept up the needs of most web applications and service applications, as well of most of the line-of-business applications for which we previously used Visual Basic and MFC.

However, a few stubborn hold-outs in their root cellars will give up their native code only at the end of a gun. These are the folks with years of investment in C++ code who don’t trust some new-fangled compiler switches to make their native code managed.” Those folks won’t ever move their code, whether there are benefits to be gained or not. This book is partially for them, if they can be talked into moving their ATL 3/Visual C++ 6 projects forward to ATL 8 and Visual Studio 2005.

Another class of developers that inhabit downtown Windows city aren’t touched by tornados and barely notice them when they happen. These are the ones shipping applications that have to run fast and well on Windows 95 on up, that don’t have the CPU or the memory to run a .NET application or the bandwidth to download the .NET Framework even if they wanted to. These are the ones who also have to squeeze the maximum out of server machines, to take advantage of every resource that’s available. These are the ones who don’t have the luxury of the CPU, memory or storage resources provided by the clear weather of modern machines needed for garbage collection, just-in-time compilation, or a giant class library filled with things they don’t need. These developers value load time, execution speed, and direct access to the platform in rain, sleet, or dark of night. For them, any framework they use must have a strict policy when it comes to zero-overhead for features they don’t use, maximum flexibility for customization, and hard-core performance. For these developers, there’s ATL 8, the last, best native framework for the Windows platform.

April 18, 2006 spout writing

WinForms 2.0 book just about ready

Mike and I submitted our last round of comments to the WinForms 2.0 book last night. The way it works is, after we submit the final” manuscript, the copy editor has his/her way with it. Then Mike read all 1300 pages, making sure that the copy editor didn’t change the meaning of anything. After that, the publisher moves everything from Word to Quark so that they have the control they need to produce photo-ready copy for the printer and sends us a set of PDFs.

With the PDFs in hand, we both read the ~1000 pages again (the move to Quark puts in the final styles), looking for things that got messed up during the move between software packages or new things that we notice. Theoretically, we’re only checking for formatting, but I always take this opportunity to read the entire book all the way through with fresh eyes (which is why I made Mike do the copy edits — so I had some time away from the book to get fresh again). That yielded about 50 pages of comments for the publisher to apply, including dropping about 5 pages of content that didn’t add enough value to be worth the space.

And then the iteration begins. We submitted 50 pages of comments on round 1, they provide round 2. We submitted 10 pages of comments on round 2, they provide round 3. Last night, we submitted about 4 comments, none of which would ever be noticed if they weren’t submitted. I asked for a round 4 (just cuz I’m anal), but for all intents and purposes, we’re done. And how do we party animals plan to celebrate? We’re taking 90 minutes for lunch. Off campus! : )

By the time all is said and done, not counting the front mater or the index, chapters 1-19 and appendices A-F will be 960 pages. It was about 1300, but we cut and we tightened up the styles to keep it to 3 digits while still covering roughly twice the technology (WinForms 2.0 is about twice as full-featured as WinForms 1.x). We were careful about not cutting anything useful, but we were ruthless about cutting stuff that didn’t meet the bar. Hopefully you’ll like the results.

Windows Forms 2.0 Programming is supposed to be printed the first week of May, so you should order yours today!

January 31, 2006 spout writing

Japanese version of Avalon book

I thought someone might be interested in the Japanese version of our WPF book. Personally, I love the cover.
January 31, 2006 spout writing

Pre-order “Windows Forms 2.0 Programming”

I just noticed that Windows Forms 2.0 Programming,” by Michael Weinhardt and Chris Sells, is available for pre-order. I've had a lot of requests for info on this book, so now folks can watch this space. Mike and I have finished the copy edit rounds, but we still haven't seen the final PDFs, so it's still going to be awhile (hopefully no later than early April).
January 16, 2006 spout writing

A Toast to WPF

A Toast to WPF

Here’s a review you don’t get very often:

Your WPF book is excellent. So good that I actually chose to read it instead of watching in flight entertainment from my trip to London in Dec… I liked it so much that I asked for some champaign, and continued to read it non-stop till I reached London from UK. Here’s a photo. Good job!”

I’m glad to here our book goes nicely with a glass of champagne, although maybe Parimal will change his mind when he sobers up or the jet lag wears off. : )

January 12, 2006 spout writing

Survey: The Future of Publishing

Karen Gettman, my editor at Addison-Wesley, called and asked me a bunch of questions about the future of publishing yesterday. After our discussion, she asked if I knew anyone else and I volunteered to put a survey up on my web site.

To answer this survey, send the questions below and your answers to Karen.Gettman@AWL.com. Also, include your phone number so Karen can call to follow up (she finds the phone conversations to be most illuminating when it comes to really figuring out how people want to get to info — we spent a bunch of time talking about hardware and software for ebooks). Thanks from Karen for your help!

  1. How do you learn about things to keep current in your job?
  2. What questions have you recently had and how did you search for the answers?
  3. How do #1 and #2 work well and poorly today?
  4. How would you like your information served up?”
  5. What part of content (besides the content itself) do you value the most (name of its creator, form factor, etc.)?
December 29, 2005 spout writing

Dirty Publishing Secret: Indexes Suck

I hate to say it, but indexes are the one place where I skimp when writing a book. I go round and round on sentence structure, figures, story, flow, coverages, what to cover, what to leave out, section headings and all of the other minutia that goes with writing a book, but I never bother with the index.

The index is one of those things where, as an author, you can write the index yourself, complete with page numbers (added manually) or your can let the publisher outsource it (although be careful when signing the contract — some publishers will charge the author the outsourcing fee!). So, for no work, I can get something that’s OK, but generates some complaints (maybe 1 out of 20 is about the index) and let Safari, Amazon and Google be the full-text search equivalent (even good indexes suck compared to that) or I can do a *ton* of work to reduce the number of complaints to 1 out of 30 (this is just a guess but it nicely justifies not doing the work, don’t you think? : ). As it turns out, the publisher will let you proof an index, but I have yet to figure out how to do that.

Anyway, that’s why most indexes suck. Sorry. I think you should read my books cover-to-cover, memorizing as you go, eliminating the need for an index anyway. : )