April Fool’s for Programmers

I got a laugh out of an entry in Scott Adam’s DilbertBlog describing favorite April Fool’s jokes. It reminded me of maybe the best (and dirtiest) prank I ever heard about. It happened years ago at PC Magazine. I wasn’t there when it happened, but it was related to me by someone who was. The…

Creating Sophisticated Animations with the Microsoft AJAX Library

The AnimationExtender control in the ASP.NET AJAX Control Toolkit makes it easy to add animated effects to Web pages. I especially like the fact that you can compose complex animations from simple animations and use <Parallel> and <Sequence> elements to control animation order. Much of AnimationExtender’s magic is found in a file named Animations.js, which…

Goodbye Europe, Hello Vista

I arrived home from Europe Friday night in time to spend a quiet (and much needed) weekend at home. My last stop was at Developer & IT Pro Days in Ghent, Belgium. The conference was well attended and featured a keynote by David Chappell. Ghent is a beautiful little town about 30 miles northwest of…

Kissing the Blarney Stone

My luggage wasn’t waiting for me at Heathrow as British Airways said it would be Friday morning; it got sent to Helsinki instead. But BA flew it back from Helsinki and it finally caught up with me last night in Cork, Ireland. It was so good to change into clean clothes! This morning I visited Blarney Castle…

Why Europeans Don’t Check Luggage (Continued)

The luggage story gets sorrier and sorrier. I’m at the airport Hilton at Heathrow airport in London tonight. I flew in from Helsinki and tomorrow morning I fly on to Ireland. When I checked in at the airport in Helsinki this afternoon, my luggage was not there as promised. I got to Heathrow and went straight…

Why Europeans Don’t Check Luggage

If you fly European airlines, you may notice that most people don’t check luggage. I can tell you why. I left the States Sunday for Lisbon–the first stop on a two-week tour. My luggage didn’t make it. After two days of calling Iberia’s baggage service and sitting on hold and being told to call back…

DevDays Europe

Wintellectuals are spread out to the corners of the globe this week–some for spring break, some for business. I leave this afternoon for DevDays/TechDays Europe to deliver some fun sessions of ASP.NET, ASP.NET AJAX, and WPF/E. Here’s a quick list of the dates and locations I’ll be speaking in case you’re planning to attend one…

Implementing Drag-Drop in ASP.NET AJAX

Several folks requested the source code for the ASP.NET AJAX drag-drop example I alluded to in an earlier blog post. Here are the key parts of it (along with some explanations of how it works) that you can borrow using editor inheritance–I mean, cut-and-paste. The first thing you must do to implement rich drag-drop scenarios in ASP.NET…

A Jolly Good Week

DevWeek was a smashing success, and I’m unwinding after a great week of doing talks and mingling with the speakers and delegates. Justin Smith and I stayed over in London for the weekend to attend today’s Arsenal vs. Reading game. It was my first European soccer (oops! football) game ever and it was everything I…

DevWeek Bound

I’m off to London tomorrow for DevWeek, my favorite European developers’ conference. This is the tenth annual DevWeek, and my tenth DevWeek as well. In fact, I’m the only speaker who has been at every DevWeek since its inception. My good friend Nick Payne, who owns and runs the conference, just can’t get rid of…

Asynchronous ASP.NET Programming

In recent months, I’ve taught a number of classes and conference sessions on what I consider to be one of the most important–and under-documented–topics in ASP.NET: asynchronous programming. It is THE secret to building highly scalable ASP.NET Web sites, and yet I rarely encounter developers who are knowledgeable about ASP.NET’s asynchronous programming models. If you have no…

Drag-Drop in ASP.NET AJAX

One of the most interesting characteristics of ASP.NET AJAX is that the client half (the Microsoft AJAX Library) is full of features not exposed by the server half (the ASP.NET 2.0 AJAX Extensions). A case in point is drag-drop. The DragOverlayExtender control in the ASP.NET AJAX Futures CTP makes it extremely easy to convert static HTML…