ProcMonDebugOutput Now on GitHub

A few years ago Mark Russinovich and I put together a feature in SysInternal’s Process Monitor where you can add tracing statements to the log. (Here’s the original post.) The idea was that by seeing your tracing in line with the wonderful Process Monitor I/O reporting, it would be easier to track down problems in…

ProcDump Post Mortem Switches: Order Matters

This week I’m working behind the “Great Firewall” in China and Twitter is blocked by the Chinese government, but my blog is not. I would have tweeted this but instead dear reader, you get the complete back story along with the debugging challenge on how I figured out the problem. While working with a customer…

UX: Users are on a mission. Help them, but stay out of the way.

  The annoying salesman problem Have you ever experienced an annoying salesman while browsing through a store. When that happens to me, all I can think of is what to say to make that person go away. It does not matter what he says to me after that point. We should know better and yet…

UX is for humans and not for cyborgs

Have you heard the term “UX” before? I assume that you have. It’s a word that is sprouting up and being sprinkled in lots of places and conversations that have anything to do with product design, be it a web site, a mobile phone app or even some new electronic gadget. UX is not a…

Breaking Radio Silence

My coworkers at Wintellect have reminded me that it’s been a really long time since I’ve posted an entry to my weblog. About two and a half years actually. That’s a long time, and if you happened to be one of my readers you might have wondered what happened to me? Did Keith take another…

What is the difference between JavaScript null and undefined?

  Primitives Let me begin by asking if you knew that there were only 3 primitives or primary types in JavaScript that can hold a value. That’s right, only 3. No more. No less. They are number, string and boolean. These are not objects. I know your dad said everything in JavaScript is an Object…

Deleting Entities In Windows Azure Table Storage

As I mentioned in my last blog post, I’m doing some work to bring the usage model of mongoose to .NET. As part of this I’m exploring implementation details of various NoSQL libraries in order to map CRUD-style semantics of each implementation onto a common higher-order model. I’m starting first with Azure Table Storage. Each…

Enterprise Adoption of NoSQL

For all of its obvious success, I still think that NoSQL is underutilized (or, at least, misunderstood) in the enterprise. Some of this can be explained by inertia… the classic relational model has ruled the roost for decades, and certainly isn’t going away anytime soon. Enterprises have significant skillset and infrastructure investments in the care…

Use Zone to Trigger Angular Digest Loop for External Functions

To continue my series on the power of Zone, I examine yet another powerful and useful way you can use zones to improve your application. If this is your first time learning about Zone, read my introduction to Zone titled Taming Asynchronous Tasks in JavaScript with Zone.js. Anyone familiar with Angular apps has run into…

Instrumenting Angular with Zone

In my last post I described an open source tool from the Angular team called Zone that allows you to execute a JavaScript workflow within an execution context. I demonstrated how to instrument a sequence of asynchronous events using Zone. This is a short post to follow-up and illustrate how to do the same thing…

Taming Asynchronous Tasks in JavaScript with Zone.js

I recently learned about a new project by the Angular team called Zone. This project is one of those rare gems that is only a few lines of code but is so groundbreaking it literally takes time to wrap your mind around it. The easiest way to get started with Zone is to watch the…

Video: Angular and the .NET World

While I was at the Angular ng-conf I had the opportunity to sit down with .NET luminaries Ward Bell, John Papa, and Dan Wahlin to discuss why Angular is so important to .NET developers with Ian Smith. We cover lots of ground, including real world benefits we’ve received by integrating Angular into projects and how…