Homegstevens's blog

npm update -g <foo> causes ENOENT on lstat

If you have tried to recently update your global node_modules, you may have had a series of errors saying ENOENT. For example:

global.asax.cs Application_Start not firing

If you run into the situation where a breakpoint in the Application_Start method of the global.asax.cs file does actually break when you run/debug your web app, you might want to check to see if your global.asax file is set up properly. I've found the best way to do this is to open the file in a separate text editor, such as notepad++. If your global.asax file looks like this:

<%@ Application Language="C#" %>

you will need to modify it to look like this:

A Brief History of Shopping

shaman sm

The effect of innovations on industry is historically significant and can be a guide to how to respond in future. If businesses and individuals are to adapt and flourish, they can either proactively be attuned to these forces and set a course for success or suffer the results of being washed along with the current.

The Cool Kid and the Geek

coolkid final

Since the birth of consumer computing we have had many companies come and go. It's a great business study of markets, personalities and crowd psychology. Current and past players include Apple, Linux, Microsoft, Oracle, Atari, Commodore, Borland, Netscape and thousands of others. Two, Apple and Microsoft, form an interesting diametrically opposed pair of market leaders that I've always called the Cool Kid and the Geek.

Mobile Security


IPTV - An Overview



Television dates back to the 1920s, well before the widespread use of digital technologies. As television technologies matured, a vast investment in an analog-centric infrastructure was made which accumulated over decades on a global basis.

Mobile JavaScript Libraries

JavaScript libraries for mobile applications have been around for many years, and the list keeps growing. Here's a quick list of some. Do you know of any others?

The Vanishing Computer

50 years ago: a computer filled a large room (i.e. a mainframe).

25 years ago: a computer filled a desk (i.e. a desktop).

10 years ago: a computer fit in your lap (i.e. a laptop).

5 years ago: a computer fit in your pocket (i.e a smartphone).

Soon: the concept of "a computer" will be meaningless.

Error - The pre-application start initialization method Start on type System.Web.WebPages.Deployment.PreApplicationStartCode

If you've recently explored adding a razor page to an existing ASP.NET site, you may begin to get a cryptic error as follows:

The pre-application start initialization method Start on type System.Web.WebPages.Deployment.PreApplicationStartCode threw an exception with the following error message: Exception has been thrown by the target of an invocation.

FBML Deprecated, Rise of iframe

FBML becomes deprecated this week as Facebook moves to iframes for custom content. Facebook Insider has a great article about this transition.

The transition to iframes, along with the new HTML5 capabilities, gives developers and businesses a huge boost in the richness of web sites and applications.

Although current FBML pages will continue to work, plans for migrating to iframes should be part of your maintenance strategy.

A Brief Look at the F# Progamming Language

If you've already upgraded to Visual Studio 2010 then you may have noticed a new language available for the .Net platform: F#. Although F# has been available for several years, it is getting a big boost by being included as a bundled language on the VS2010 install disc.

Technote: LINQ to the Rescue

This technote briefly explores one of Microsoft's best ideas over the last several years. Specifically, we're going to talk about LINQ, or Language-Integrated Query.

LINQ is an evolving method of using constructs in a language to perform queries on data. To understand what is meant by this, we need to revisit the traditional method of using SQL to access data. Let's assume we have a database table called Employees. To retrieve all elements from Employees with a first name of "Elizabeth", we might write something like the following in C#:

Metatag and Routing Additions to ASP.Net 4

Microsoft's .Net Framework 4 has added two new properties to the Page object for dealing with common SEO needs. The new properties are MetaKeywords and MetaDescription. These can be set in the page, in the code-behind or in the @Page tag to control the keywords and description metatags in <head>.

IFrame a Facebook App or Facebook Page

For the newby Facebook developer, setting up your first application is fairly straightforward until you need to decide whether to use FBML or an IFrame. FBML used to be both the default and the recommended approach, and for many developers, the method you started with has been the approach you've used since.

Browser Wars - Part 2

Google's Chrome just passed Apple's Safari as the number 3 browser on the market today. The number 1 and 2 spots are still held by IE and Firefox respectively:

  • 62.9% IE
  • 24.61% Firefox
  • 4.63% Chrome
  • 4.46% Safari
  • 2.4% Opera
  • 1.16% Others

For details, check out Market Share.

Amazon Web Services for Managers

I am asked often about the ins and outs of Amazon Web Services by C-levels, directors and managers. They aren't looking for nitty gritty nuances of scripting with the API of the Elastic Compute Cloud, they are just interested in the general overview of how the 'cloud' works.

URL Shorteners

We've all taken monsterously long URLs and pasted them into documents, emails and elsewhere. We've also seen shorter URLs - very often used in print material like magazines - that point to odd domain names like bit.ly or tinyurl.com. These shorter links are created by pasting the long URL into one of the many online URL Shortener service providers. Basically, they take your long URL, shorten it into a URL on their site and simply redirect all traffic from the short URL to the long URL you provided.

Legacy Infrastructure and Capacity Expansion in the Cloud

In addition to the announcement of EC2 Spot Instances, Amazon has also announced the unlimited beta availability of their VPC service offering. The Virtual Private Cloud extends your local network over a VPN connection to the EC2 environment.

Google Public DNS

A few days ago, Google announced the availability of the Google Public DNS. This is a replacement for the DNS service you may already have in place and Google positions this service as being more secure and faster than the average service provider's DNS response time.

Look Up... In Outlook

Okay, I'll be the first to admit that I like words. But frankly, I don't always spell or use them correctly. I might get it right 99.9999% of the time, but there is still the 0.0001% when I need to check on usage. I will also hear a new word in a particular context and want to use it in my communications. If you are like me, then here's a quick tip to expand your lexicon by using new words you hear or read from others.

Be Bold with Wikipedia

Although few truths are absolute, there is one truth that is indisputably absolute. That truth is that you know something that others do not. And, Wikipedia wants you to be bold and share this knowledge with the rest of humanity. So, be bold and go to wikipedia and contribute this knowledge.

Multiplatform .Net Development with Mono Tools

The well known mono project has just released the new Mono Tools for Visual Studio 1.0. This commercial product plugs into your existing Visual Studio IDE and allows you to develop and debug mono apps. For those unfamiliar with mono, it is a .Net environment for Linux and MacOS machines (although it also runs on Windows and other platforms).

Amazon RDS goes Beta

Amazon Web Services is now in a beta release of its newest service called the Relational Database Service (RDS). The announcement states that RDS is:

Oh Mighty Drush

If you have ever maintained a Drupal site, you know that keeping up with the continuous stream of module updates can be a daunting task. If you manually download, unpack, install, then run an update for each module you might as well get a good cup of coffee and be prepared for some sysadmin time.

The Whitehouse Goes Drupal

October 24, 2009 - Whitehouse.gov is now based on the open source content management system Drupal. A press release to the Associated Press on Saturday reports that a software package purchased at the end of the Bush administration was ill suited as an online platform for the tech-savvy Obama team.

Delete files faster in XP

Ever try to delete a file in XP and watch as it takes 20 or 30 seconds?

The delay is because XP searches the recycle bin for similarly named items before deleting them (i.e. adding them to the recycle bin). This takes time - don't ask me why, since it takes nearly no time in Linux.

Foxit PDF Reader

I have never really liked Acrobat. It is very heavy weight (in the many 10s of megabytes), it loads up slooooooooowly, and it provides no real tools to make it easy to read/bookmark/markup a PDF.

Google Chrome Turns 2.0!

Chrome lovers will be thrilled with the new release of their favorite browser. Google Chrome v2 was released today. This major release has several hundred bugs cleaned up and is touted as more stable and faster than before.

One nice feature is full-screen mode. So, if you write your presentations in S5, then you can go into fullscreen mode and have a much cleaner look for your audiences.

AWS Import/Export

Amazon Web Services has recently announced a limited beta of an Import/Export service for handling physical, portable storage. So, if you have several terabytes of data that you want to place into S3 for crunching using a hadoop-based parallel application, then you can send them tapes of the data and they will load it up for you.

If you deal with oil-well geological data, large imagery data, human genome data, or any number of very large data sets, and are planning on using AWS as your cloud vendor, then this Import/Export is the way to go.

Zotero and Web Research (UPDATED)

We've all done it. Searching the web, reading from dozens of good sources for information on a specific topic. Sometimes we go down wrong alleys. Other times we find a gem of an article and bookmark it. After a few hours, or days, we go back to find key information we read - only to not be able to find it in any of our bookmarks no matter how hard we try.