Social-up your Business

Dear Small Business Owner,

As a potential customer of your small business, I’m frustrated by your lack of response to my email, tweet, Facebook post, Instagram Message, text message, Skype chat, etc.

I think I know what happened that led to my frustration.


You’ve got an established or new business.

At some point in the business life cycle, you decide to build a web site. (“Hey! You totally need a web site to drive more traffic!”). As you realize building web sites is not core to your business, you spend some hard earned income to invest $200 in a web site.

To your untrained eye, you may not recognize the Microsoft FrontPage style template that $200 bought.

Not only has the web designer created some static content, they’ve thoughtfully created:

  • A blog
  • An e-mail address
  • A “Contact me” form
  • The Full Social-Package™, including but not limited to: Twitter, Facebook Pages, Instagram, and Skype.

After an all-too-brief explanation, you, sit back and wait for new business opportunities to arrive, digitally.

And nothing happens.

Maybe a blog post will help. So, you create the first (and last) blog post.

And still nothing happens.

So, business resumes as normal. The web site goes unmodified. The blog post remains, dull, and outdated.

E-mails aren’t flooding in, so the e-mail address that was set up isn’t checked frequently or at all.

So, when a potential customer uses one of the social options or an email to contact your business, there is no timely response (if there’s one at all).

And then…, you’ve lost a customer.

Sorry, but I’m going to find a different business that meets my needs.


If a small business doesn’t check and respond to voice mails once a (work) day, they may loose business. If that same business does not check their email, social accounts, MySpace pages, etc., they also may loose business.

I’m sure they meant well by having a web site with an email address, etc., but if it’s not used, it’s no different than not answering the phone.

So, what happened? It started with unreasonable expectations.

A blog, social-media accounts, email accounts, do not directly create new business opportunities. They are simply new channels for communication. It’s two-way. If your business doesn’t have a plan for these new forms of communication, they will fail.

You will miss out on new customer opportunities. And worse, you may lose existing customers who may transition to using the other forms of communication you’ve claimed to offer. Spend an extra $100 to have a daily (or more frequently) plan developed to consistently use these communication options. Delete and remove any that don’t fit your business needs or that sit unused. If you don’t understand these forms of communication or how to integrate them effectively, there are lots of on line resources that can help, both paid and free.

I like buying local and will support businesses that work best with my lifestyle and communication preferences.

Small business owners can do better. Please.

Using Airport Utility to recover wifi password

If you find yourself trying to remember what the wi-fi password was for an Apple Airport wi-fi access point (such as the Airport Extreme or Airport Express), and you remember/stored the base station password, then you’re in luck!

Start the Airport Utility.

Select the device for which you want to retrieve the password on the left.


Then, click Manual in the lower left corner:


And you’ll see a screen similar to this:


Then, from the application menu, select Base Station and Equivalent Network Password:


A dialog will be displayed:


At the top, your wi-fi password should be listed.

I copied it to 1Password so I wouldn’t lose the password again. :)

Simple example of using MongoMapper with Ruby

The MongoMapper web site is really lacking on even simple examples, especially those that don’t use Rails. So, here’s a simple example that might help someone.

From the Gemfile:

source ''

gem 'mongo_mapper'

And then the application:

require 'mongo_mapper'

# jam it into the database "mm"
MongoMapper.database = "mm"

class App

def create_user
user = => 'Johnny')
puts "user created"!

def find_user
query = User.where(:name => 'Johnny')
user = query.first # just the first
if not user.nil?

def delete_user
query = User.where(:name => 'Johnny')
user = query.first # just the first


class User
include MongoMapper::Document
key :name, String

app =

The code does a few things:

  1. Creates a new user with a single field called name.
  2. Finds the user using the where function
  3. Removes (destroys/deletes) the user

The key things to note are that the where function returns a query and not the actual results. The results are fetched on demand. This is very similar to the extension methods and LINQ in .NET as those functions build a query that executed only when the results are first requested.

The same thing is true of MongoMapper in this case. The results are not returned until the first function is called. Alternatively, all or last could have been used. all of course returning a list of results that could be iterated in a loop.

If there were no results, the result of calling first in this example would be that the user variable would be nil.

The delete_user function above has absolutely no error checking.

Blue Iris 3 and Samsung SmartCam SNH-1011N

If you’ve got a Samsung SmartCam SNH-1011N and you want to use it with Blue Iris 3, I found a reasonable currently undocumented way to make it work. The camera currently isn’t officially supported by Blue Iris, but it can be made to work with a few simple steps. I’ve sent the following information to the Blue Iris developer and ideally it will become part of the standard application.

If you’re not familiar with Blue Iris – it’s an extremely capable “DVR” for many of your IP based web cameras that you may own. I’d highly recommend it. It does not however work with “cloud-only” style IP cameras, like DropCam.

After setting up the camera normally, and updating the firmware to the latest version (at the time of this, it is 1.07_130516), Add a new camera:


(I’ve just right-clicked on the Camera’s display).

Then, fill out the name and the other important fields on the General tab:


Click the Video tab, and select Network IP and then click the Configure… button.


First, select the camera. As this camera isn’t currently officially supported, you’ll need to select the protocol and stream type instead:


Select RTSP H.264/MJPG/MPEG4 from the list. It’s generally very near the top of the list. Next, type in the host name or IP address of the camera. It’s whatever you used to set up the camera originally.


When you setup the SmartCam, you created a Private Key.

imageHere’s the strange part, type only the first eight (8) characters of the Private Key into the password field:


Yes, just the first eight characters. If you use any more than eight, the connection will fail. The camera only uses the first eight.

Finally, in the Video / Path field, type: /profile5/media.smp as shown below:


Hit the OK button, do any other setup you’d like, and the camera should be working!

You might want to frame limit (as I was tracing the network traffic, I saw this was the recommended size that Blue Iris switches to automatically):


Universal and Ultraviolet, protecting their content?

I was redeeming an Ultraviolet authorization code for a Universal movie, and needed to create an account.


Passwords must be between 6 and 8 characters and letters or numbers! I thought the movie industry cared about protecting their assets more than this?

It’s hard to believe in 2013 that there’s a software developer and project manager that went ahead with this idiotic password requirement.