Phil posted on April 27, 2009 06:33

Got wind of a great idea. Some organizations are making an effort to reduce printing, print devices and printing costs. Please note, this isn’t my original idea, and IANAEA (I am not an Exchange admin). I am just being loud about it, perhaps you'll turn out to be a green hero where you work. This will work for any SMB or large organization.

Some organizations work like this: someone is assigned the fax machine, and part of their job is to take care of the incoming faxes. Holy hum-drum, Batman!

Lessen the burden on those fax-gathering-folk

  • Acquire a fax machine that will transform an incoming fax to an email with an attachment (pdf, tif or whatever). Obviously the smaller filesize the better.
  • Have that incoming fax document emailed to an account that only deals with email.
  • Be nice though. Setup their email client with a new folder and rule so that emails from fax@mycompany.org go to only one folder.
  • Perhaps have that account checked only X times a day to limit the interruptions to the human.
  • They can then filter and send to the recipients.
  • This is a human-powered time-consuming spam filtering mechanism as well. Just imagine all the restaurants, travel agents, and sundry fax spammers whose hopes and dreams are crushed by this system.
  • Encourage the end-recipients not to print that fax.

Level Up

Now that you are saving paper, go the extra step. Save some human time. Let’s assume you are using Microsoft Exchange and Outlook. Any version will work.

  • Create yourself a new Public Folder - one per fax line that you have. Do you have 'private' fax lines for the HR types, or director types? Lock it down with Active Directory permissions! Simple stuff!
  • Modify the ‘to’ email address on the fax machine to send to that new Public Folder.
  • Direct people to visit that Public Folder when they're expecting a fax.
  • Build your own set of business rules around when to remove items from this Public Folder. i.e. If the fax is meant for you, and only you, then delete or move it to your personal Inbox as you will. Fwd to anyone concerned is also appropriate. Standard email rules apply here as well (etiquette, attachment size, etc).
  • Have people add that Fax folder to their Favorites in Outlook Public Folders.

Write a nice how-to document for people on how to visit that Public Folder. How to Move/Copy to their inbox. Set the business rules here. Obviously management buy-in will be important.

"So What?! It's just a few pieces of paper!"

Well let's do the math. Here's my quick and dirty formula.

  • 20 faxes per day.
  • .0055 hours (20 seconds) to analyze a fax and determine who to redirect it to, and forward the email. (20 seconds /3600 seconds per hour = .0055 hours)
  • $15 per hour for a human
  • 10 cents per page printed. Assume that includes TCO items: paper, printer toner (galaxies more for ink), printer maintenance, amortized cost of the printer.

20 x (($15 x .0055) + $.10) = $3.65 per day

$3.65 x 255 work days per year = $930.75

My example company is spending $930 a year on receiving faxes. I know this number is dwarfed by the time-costs of email, but it's something to look at. I know the fax-hunter-gatherer would love to have that task melt away.


Actions: E-mail | Permalink | Comments (0) |
Phil posted on April 27, 2009 01:13

Got wind of a great idea. Some organizations are making an effort to reduce printing, print devices and printing costs. Please note, this isn’t my original idea, and IANAEA (I am not an Exchange admin). I am just being loud about it, perhaps you'll turn out to be a green hero where you work. This will work for any SMB or large organization.

Some organizations work like this: someone is assigned the fax machine, and part of their job is to take care of the incoming faxes. Holy hum-drum, Batman!

Lessen the burden on those fax-gathering-folk

  • Acquire a fax machine that will transform an incoming fax to an email with an attachment (pdf, tif or whatever). Obviously the smaller filesize the better.
  • Have that incoming fax document emailed to an account that only deals with email.
  • Be nice though. Setup their email client with a new folder and rule so that emails from fax@mycompany.org go to only one folder.
  • Perhaps have that account checked only X times a day to limit the interruptions to the human.
  • They can then filter and send to the recipients.
  • This is a human-powered time-consuming spam filtering mechanism as well. Just imagine all the restaurants, travel agents, and sundry fax spammers whose hopes and dreams are crushed by this system.
  • Encourage the end-recipients not to print that fax.

Level Up

Now that you are saving paper, go the extra step. Save some human time. Let’s assume you are using Microsoft Exchange and Outlook. Any version will work.

  • Create yourself a new Public Folder - one per fax line that you have. Do you have 'private' fax lines for the HR types, or director types? Lock it down with Active Directory permissions! Simple stuff!
  • Modify the ‘to’ email address on the fax machine to send to that new Public Folder.
  • Direct people to visit that Public Folder when they're expecting a fax.
  • Build your own set of business rules around when to remove items from this Public Folder. i.e. If the fax is meant for you, and only you, then delete or move it to your personal Inbox as you will. Fwd to anyone concerned is also appropriate. Standard email rules apply here as well (etiquette, attachment size, etc).
  • Have people add that Fax folder to their Favorites in Outlook Public Folders.

Write a nice how-to document for people on how to visit that Public Folder. How to Move/Copy to their inbox. Set the business rules here. Obviously management buy-in will be important.

"So What?! It's just a few pieces of paper!"

Well let's do the math. Here's my quick and dirty formula.

  • 20 faxes per day.
  • .0055 hours (20 seconds) to analyze a fax and determine who to redirect it to, and forward the email. (20 seconds /3600 seconds per hour = .0055 hours)
  • $15 per hour for a human
  • 10 cents per page printed. Assume that includes TCO items: paper, printer toner (galaxies more for ink), printer maintenance, amortized cost of the printer.

20 x (($15 x .0055) + $.10) = $3.65 per day

$3.65 x 255 work days per year = $930.75

My example company is spending $930 a year on receiving faxes. I know this number is dwarfed by the time-costs of email, but it's something to look at. I know the fax-hunter-gatherer would love to have that task melt away.


Posted in: cost savings , email , exchange , green it , public folders  Tags:
Actions: E-mail | Permalink | Comments (0) |
Phil posted on April 26, 2009 06:33

As of this post, Google Chrome doesn't work out of the box with Windows 7 64 bit. Funny, because that didn't happen with Vista 64. Oh well!

The funny part is Chrome's version of the sad Mac. Well done, team!

The kicker here is that it DOES work, just that you have to set some command line options on the shortcut.

  1. Find the shortcut properties.
  2. Modify the target: chrome.exe --in-process-plugins
  3. No quotes are needed here.
  4. Save and relaunch. Voila!

    image


Posted in: chrome , windows 7  Tags:
Actions: E-mail | Permalink | Comments (0) |
Phil posted on April 26, 2009 01:23

Taking the advice of Scott Hanselman today. It's a code garage sale. Everything of worth (you be the judge!) must be opened up and freed for WAY below cost.

SQL Server ADO Abstractor/Wrapper

never write a line of ADO.NET setup code again!

The first offering is a .NET class that you can reference in any project that needs to call SQL Server stored procedures. It takes care of spinning up the ADO.NET objects and closing them (mostly) when appropriate.

Use it to:

  • ExecNonQuery
  • ExecScalar
  • ExecDataReader
  • ExecDataSet

All you've got to do is supply it with:

  • a connection string (as managed by your own datalayer and/or app.config. Hardcode a string into it, go ahead, see if anyone cares),
  • a stored procedure name
  • any parameter names and values that you need.

Another great feature here is that this class implements the IDisposable interface. This means you can use it with the Using statement/construct, and it will go out of scope when execution steps out of the Using statement/construct. This saves you a line or two of code.

Here's some sample code showing how to use it:

C#

   1:      // run a non-query stored procedure
   2:     try{                
   3:          using (SqlAdoAbstractor db = new SQLDataHelper(someConnectionString))
   4:          {
   5:              db.AddParam("@MyNumericIdentifier", 1);
   6:              db.AddParam("@MyString", "Hello World");
   7:          
   8:              db.ExecNonQuery("MySproc");
   9:          }
  10:      }
  11:      catch (Exception ex) { throw; }
  12:              
  13:      // get a datareader
  14:     try{                
  15:          using (SqlAdoAbstractor db = new SQLDataHelper(someConnectionString))
  16:          {
  17:              db.AddParam("@SomeNumericIdentifier", 1);    
  18:          
  19:              SqlDataReader dr = db.ExecReader("ListAllEmployeesByRegionID");
  20:              
  21:              //iterate through your datareader as necessary
  22:              while (dr.Read()){
  23:                  //dr["EmpID"].ToString();
  24:              }
  25:              dr.Close(); //you must close the open reader 
  26:          }
  27:      }
  28:      catch (Exception ex) { throw; }
  29:      

VB

   1:  Using help As SqlAdoAbstractor = New SqlAdoAbstractor(someConnectionString)
   2:          help.AddParam("@MyNumericIdentifier", 1)
   3:          help.ExecNonQuery("MySproc")
   4:   
   5:      End Using
   6:   
   7:   
   8:      Using help As SqlAdoAbstractor = New SqlAdoAbstractor(someConnectionString)
   9:          help.AddParam("@MyNumericIdentifier", 1)
  10:          Dim dr As SqlDataReader = help.ExecReader("MySproc")
  11:   
  12:          While dr.Read
  13:              'dr("EmpID")
  14:          End While
  15:          dr.Close 'you must close the datareader yourself
  16:      End Using

Posted in: ado.net , c# , code blowout , datalayer , vb  Tags:
Actions: E-mail | Permalink | Comments (3) |