Friday, April 16, 2010

Online Resources for the Web Developer

A short while ago I promised my friend Jesse some links to sites I have found useful in developing web applications. As the list started to grow I realised just how many useful resources there are available on the web. I'm also aware of the transitory nature - here today and gone tomorrow - of many sites, applications and tools. I don't like investing time and effort into working with some tool only to find it unavailable at a later date. On the other hand, I don't want to pass on a great deal. There are a lot of applications out there which will give you a piece of pie for free and only later charge you for a whole hot pie when you need it. Take online backup for example, use 2GB for free and then pay for a larger storage capacity when you require it. That seems fair. By the time I'm ready to use more space, I probably should pay for the extra space since I'm now getting into a commercial environment and making some money myself. So, Jesse, please take a look at my list and check out the links. If any of you have suggestions of what you would put on your list then please leave a comment so I can update the list in a short while.

Dropbox -
Allows File Sharing across multiple computers for Windows, Mac, and Linux. The free account comes with 2GB of space that you can use for as long as you like.

BaseCampHQ -
Basecamp is a leading web-based project collaboration tool allowing you to Share files, meet deadlines, assign tasks, centralize feedback online. With the free plan you can run 1 project with unlimited users. There is no time limit on the free plan and you can always upgrade later for file uploading, multiple projects, etc. Your link will be something like

UserVoice -
An easy way to use votes to capture user feedback on your website. Display the highest voted items to get your customers interested and engaged. Each week your customers will get an email with updates on the items they submitted or have interacted with. This keeps them in the loop and your brand at the top of their minds. A 1 forum account is free.

iDrive Basic -
Get 2 GB of online backup space absolutely free. Store your photos, documents and other important data.

OnStartups -
This site is for and about software startups. There are lots of links to follow and engaging blog articles.

Website Grader -
Website Grader by HubSpot - Get Your Score For Free
Is Your Website Working? How well is your website doing? Is it getting traffic? Does it have SEO problems? How popular is it in social media? Just enter your website URL and click Generate Report. See the results and get it emailed to you.

kuler -
A web-hosted application for generating color themes that can inspire any project. No matter what you're creating, you can experiment quickly with color variations and browse thousands of themes from the Kuler community. You'll never take color for granted again!

SurveyMonkey -
The free Basic package allows you to create a 10 question survey based on one of 15 pre-built themes. Up to 100 responses allowed. Gets you started thinking about conducting surveys. Used to be just the 'big boys' conducting surverys but now you can too.

Icons -
Royalty Free Icons & Clipart Stock Images free for use in both personal and commercial projects. Who doesn't need icons!

Who did I miss? ...

The End (for now)

Wednesday, November 25, 2009

Failure Is Not An Option

A recent article in SD Times(1) well highlighted some alarming software project failures. For example, among the 68% of "failures" was the problem with the laser-guided missile having software not designed for battery hot-swapping and producing the interesting result of resetting the coordinates to origin. Oops! This failure would give new meaning to your boss going ballistic on discovering the error! The Standish Group's 2009 "Chaos" study also included in the 68%, failures due to late completion, over-budget completion or simply non-completion. Completion doesn't always mean success of course. Only after spending $100 million did the FBI discover that the Virtual Case File system was "... not something that we want." How can this happen? Better to ask, how does this continue to happen? If you had Microsoft's money and experience, how could you fail to produce perfect software? Well, they did fail fantastically with Vista which Scott Rosenberg explains was due to "conflicting ambitions and too few resource constraints" leading to an "organizational breakdown". Well that is enormously helpful in explaining my near breakdown trying to tame the Universal Account Control (UAC) which repeatedly insisted I was not to be trusted using my own computer.

Frustration as an end product is certainly more desirable than loss of life under an X-Ray machine or crashing an Airbus because the computer simply 'wouldn't let go of the controls'. I imagine the software developers felt they could stop the pilot and co-pilot from fighting over who did what if they just let the computer decide. Well, the computer couldn’t rise above the occasion and crashed the trees into the plane – according to its flighty calculations.

So far to go. "There are two ways to write error-free programs; only the third one works" said one expert(2). But we will continue to rise to the challenge of taming complex problems into elegant software solutions. The amazing examples David Worthington gives us should definitely caution us to work with care when using our wide sweep of imaginative powers coupled with mathematical precision to produce the best software we can.

(1) David Worthington, Software Development Times, November 1, 2009.
(2) From ACM's SIGPLAN publication, (September, 1982), Article "Epigrams in Programming", by Alan J. Perlis of Yale

Tuesday, November 3, 2009

What is the difference between NETWORK SERVICE and NETWORK accounts?

Quite a bit actually. Although, this is a fair question and an admin in a hurry could assign the wrong one without too much difficulty.

Microsoft explain the purpose of the first:

"By default, Microsoft Internet Information Services (IIS) 6.0 on Windows Server 2003 runs ASP.NET applications in application pools that use the NT AUTHORITY\Network Service account identity. This account is a least privileged machine account with limited permissions. An application that runs using this account has restricted access to the event log, registry, and file system. The account does have network credentials, which means you can use it to access network resources and remote databases by using Windows authentication."

This is the Service account identity you see when adding security to a folder of a web
application. Listed above this account is 'Network account identity' which serves a different
purpose as described below.

SID: S-1-5-2
Name: Network
Description: A group that includes all users that have logged on through a network connection.
Membership is controlled by the operating system.

SID: S-1-5-20
Name: NT Authority
Description: Network Service

...And what is the SID?
A security identifier (SID) is a unique value used to identify a security principal or security group in Windows operating systems. Their values remain constant across all operating systems. At times the SID will display and not be replaced by the security principal.

So, choose the wrong account and your web application will likely not work as advertised.


How To: Use the Network Service Account to Access Resources in ASP.NET

Well-known security identifiers in Windows operating systems

Security Watch - Subjects and Security Principals

Thursday, January 31, 2008

Simple is Best

Just to illustrate, think of all the things you can do with today's cell phones. But would you want to?

A recent survey reveals that the majority of subscribers in the U.K. aren't using the added goodies on a cell phone.

60 Percent -- Say they use their cell phones strictly to send and receive calls and are not interested in using the extra services that are available.

18 Percent -- Say they don't want to go through the user manual to learn how to use applications.

30 Percent -- Say they use the camera feature to snap and send pictures to family members and friends.

12 Percent -- Say they access the Internet or send e-mails via their cell phones.

3 Percent -- Say they use the street navigation service.

1 Percent -- Say they blog from their cell phones.

Source: SNAPin Software survey of 1,961 U.K. cell-phone subscribers.

So, what's the lesson? In an increasingly complex world full of complicated gadgets users are just not that interested in features that take a big effort to learn. Even a small effort can be too much. Anything we can simplify will be more successful. Features which are self-evident and require minimal learning will be those most-adopted by today's users. Simple is best!

Monday, December 10, 2007

Data Storage

Here's a fascinating data storage challenge. According to New Scientist magazine (1), the new Large Hadron Collider (LHC) in CERN Geneva, Switzerland, is expected to churn out 450 million GB of data during the next 15 years. But what exactly does that mean? Well, broken down it equates to an average of 9.5 GB/min round the clock. And just how big is a gigabyte? 1 Gigabyte could hold the contents of about 10 yards of books on a shelf (2). So imagine being tossed almost 100 yards worth of books per minute! If you are starting to talk in tera bytes (3) that's 82 TB/day. Can you imagine storing that amount of data? How long would a backup take!

It does raise a good question though. Are we storing our data efficiently? While storing it digitally is more cost effective than storing physical documents, could it be that we have duplicated data across the network? It pays to have a way of organizing data so that this doesn't occur. As you can see, for small amounts of data this is not a problem but as it grows, well..., just look at what smashing atoms gets you.

1 Paul Marks, 8 December 2007
3 1TB = thousand gigabytes
4 (450,000,000/3)/8,765 = 3,423 GB/hour

Wednesday, December 5, 2007

Starting Document Management

What Do I Need to Manage My Documents?
Even if you had limitless funds, what would be the best solution for your business? The temptation is to buy a product that does everything except make fresh coffee. Often the fear of having overlooked some small feature, which later becomes an essential one, causes us to buy the 'Enterprise' version - just in case. One of the dangers with this approach, apart from the heftier initial cost, is that it will involve more and lengthier training. Also, general maintenance will cost more. In some cases, the system just becomes too cumbersome for the average user who, somewhat understandably, resorts to re-filing documents the now 'old-fashioned' way. Do you remember looking at 25+ buttons on a photocopier when all you wanted was a quick reproduction!

What to Do?
Start with thinking about what it is you need to manage.

  • How many documents do you have?
  • Where are those documents now?
  • Where would you like them to be?
  • Who would you like to be able to retrieve them?

    While these may appear to be basic questions, they do help focus our minds on the potential benefits. It may not be readily appreciated just how much business information flows through a business. When you can see boxes of files piled up in a corner or a stack of folders (yes piles of documents equate to work load) on the edge of a desk you get a feel for how much there is. But scanning folders on a hard drive does not give you the same grasp. And just how much documentation do we process electronically?

    According to Herbert L. Roitblat, Ph.D., "More than 90% of the average company’s communications are electronic." He then adds this poignant observation: "When dealing with paper based documents, the limited space available for filing cabinets was a strong incentive to save only the documents that were actually needed. Employees had to make an effort to file a document. With electronic documents, the opposite is true. There is very little incentive to discard an email message, early draft, or other electronic document. They do not take up perceptibly more space in the office. Rather than having to decide to keep a document, employees have to make an effort to delete electronic documents." So, by default paper documents get discarded while electronic documents get stored.

    Joseph Menchaca, CPA and president of EmeraldKey Technologies, Inc also observed: "Document management has become a critical challenge for CPA and accounting firms due to the tremendous amount of paperwork generated by their tax, audit and financial services operations. [...] today’s firms are quickly moving toward electronic or paperless document management processes." He discusses how you may manage your documents using software tools you already have. He also suggests "The best place to begin is to appoint someone on your staff as the designated “Chief Documents Officer,” (CDO) whose sole responsibility is to meet all present and future document management requirements." While this may seem like overkill for a small business, it does make sense to designate someone to pursue the document management initiative. Give them some ownership, some reward and follow through. Start with a pilot project which can potentially show benefits before you put all your interns to feeding the scanner machine. This will help launch, and more importantly, sustain a larger initiative.

  • Friday, November 30, 2007


    Document imaging and document management always sounds very exotic for small to medium sized businesses. They know they should be using it and the word is out that digital storage is the efficient way to go. However, these solutions are often linked to complicated and expensive software. That in turn, seems to translate into too much time and effort spent mastering a new method of saving your documents. Time and effort you'd rather put into your core business. Of course, the old method of stuffing documents into banker's boxes in the 'hallways of power' and inside office corner spaces is not efficient either. How often have you given up on locating a document, or at least put it off until a later time? Well, we've all done that, but that too makes us inefficient in business. How can the small business tackle this challenge? Check back later as we discuss this and what StreamDoc has to offer!