iPad @ Home

The week after Thanksgiving, my wife called me at work from our treadmill at home:

“We need an iPad for the treadmill,” she puffed.

“Um, well… Okay!” I replied, trying not to sound too eager. “But, only since you’ve identified a use case.”

“Funny,” she huffed over the sound of her eyes rolling.

“Um… Okay. You’re serious?” I say, skeptically.

“Yes, as long as I can watch Netflix on it.”

“Sure. You can watch Netflix on it.”

“Okay.”

“Okay.”

“You pick it out. We’ll make that our big Christmas present to each other.”

“Really!?! You sure you want me choosing?”

“Yup. Just don’t, you know, go crazy.”

“Oh, well, of course not.”

Long story short, my household is now the proud owner of a shiny new iPad 16GB 3G. And, surprise! We love it. Jill’s been doing Netflix. I’ve been reading the news and surfing. The kids really like the Disney Read-Along™ story book versions of Toy Story and The Princess and the Frog. And, really, who wouldn’t love Angry Birds and Fruit Ninja? There’s just one problem…

We only have the one.

But, there’s no sense buying another one right now, since the iPad 2 should be here this spring.

WCF Service Configuration Editor

So, I’ve been working on a small WCF service for a while now. Everything was going well. I had a suite of tests that ran just fine when I ran the service locally. I built an installer using WIX. And, blamo! When I installed the service on a DEV server, I started seeing all kinds of strange errors. Apparently, the service web.config and the client app.config that worked locally aren’t sufficient once you leave the safety of localhost.

And, as it turns out, those config files are horrendously complex. Fortunately, there is a tool to make editing those files a little easier: The WCF Service Configuration Editor. This tool, which is available on the Tools menu in Visual Studio 2008, gives you a GUI for editing the <system.serviceModel> node of a web.config. Here’s what it looks like:

WCF Service Configuration Editor

Granted, it’s not the most intuitive thing to use. And, I’ve only used it this one time. But, it sure took the hand out of hand-editing the web.config for the WCF middleware service.

Windows SysInternals

Wow! Where to begin?

Windows SysInternals is a free set of command-line and Windows utilities from Microsoft. There are so many of them, and they are so varied, that it’s impossible for me to cover all of them here. So, I guess I’ll pull out a few of my favorites to talk about. But, you should really go get the entire set of the tools, as soon as possible!

(Much of the text that follows is pinched from the Microsoft site. My comments are in italics.)

File and Disk Utilities

PageDefrag

Defragment your paging files and Registry hives! (I use this on all of my VPCs. It runs at boot time. I’m not sure whether it’s compatible with SafeBoot, though.)

Junction

Creates Win2K NTFS symbolic links. Think of it like shortcuts within your directory structure.

Networking Utilities

AD Explorer
Active Directory Explorer is an advanced Active Directory (AD) viewer and editor.

Whois
See who owns an Internet address.

Process Utilities

Process Explorer
Find out what files, registry keys and other objects processes have open, which DLLs they have loaded, and more. This uniquely powerful utility will even show you who owns each process.

Process Monitor
Monitor file system, Registry, process, thread and DLL activity in real-time.

Security Utilities

AccessChk, AccessEnum, ShareEnum

Tools for determining who has access to what. Quite handy when configuring security.

SDelete
Securely overwrite your sensitive files and cleanse your free space of previously deleted files using this DoD-compliant secure delete program.

System Information Utilities

PsLoggedOn
Show users logged on to a system. (Use this when you need to TS onto a shared DEV server, but there are already too many sessions.)

Miscellaneous Utilities

BgInfo
This fully-configurable program automatically generates desktop backgrounds that include important information about the system including IP addresses, computer name, network adapters, and more. (We use this on our servers. But, I also use it on my VPCs to remind me which one I’m in.)

BlueScreen
This screen saver not only accurately simulates Blue Screens, but simulated reboots as well (complete with CHKDSK), and works on Windows NT 4, Windows 2000, Windows XP, Server 2003 and Windows 9x. (Geek humor.)

You’re still here? Why aren't you downloading these tools? Go! Download them now!

OOP Book Recommendations

There were two books that really helped me understand object oriented programming and design patterns.

The first was a book called Design Patterns Explained by Alan Shalloway. Alan is a local guy. He runs NetObjectives. And, he’s a frequent speaker on Lean Software Development. His book is eminently more readable than the seminal Gang of Four Design Patterns. (Though, had it existed, when I first started learning patterns, I think that the book Head First Design Patterns by Freeman and Freeman would have helped me learn even quicker.)

The second book is Robert C. Martin’s Agile Software Development. Bob is an institution in object-oriented programming circles. People are so familiar with him that his nickname is “Uncle Bob.” He wrote an article for C++ Programmers Journal for years. This book reads like a collection of those articles. The value I found in his book was that it looked at the principles underneath design patterns. These things help me write better code whether I’m using a formal pattern or not. There’s a good, short article on his blog about these principles that I highly recommend, especially if you don’t have the time to read the book: http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod.

ASP.NET MVC for the Rest of Us

If you subscribe to the MSDN Newsletter, you may have already seen this. But, I wanted to let you know about it just in case.

Microsoft has published a series of introductory presentations about ASP.NET MVC entitled “ASP.NET MVC for the Rest of Us”. I just watched the first video (of three). It gave a good overview of the similarities and differences between traditional ASP.NET WebForms and ASP.NET MVC.

If you’re doing web development, I recommend watching the videos. They’re only about 30 minutes each. And, the ground they cover is an important foundation. Even if you’re already doing ASP.NET MVC, you’ll probably gain something from these videos.

Here are the links: Part 1, Part 2, Part 3.