Projects & Studies

Business Planning Google Doc Collection

posted Nov 28, 2017, 7:34 AM by Tom Pedersen   [ updated Dec 4, 2017, 11:23 AM ]

An updated collection of business planning Google Docs & templates.   Current collection includes Google Doc versions of MS Office templates from US Small Business Administration, and a number of interesting business planning resource sites.   Original collection was a mess, will attempt to keep this page in order.  Hopefully useful to others, Comments/suggestions always welcome.

You will need a google account to access/use the docs, sheets and templates on this page.  Login with your gmail or G Suite credentials.  For anyone just starting out, I often have 20% off promo codes for new G Suite users.

Most of the gdoc templates on this page are 'View Only' - to use:  please create a copy (Menu -> File -> Make a copy ...) and save to your own google drive.  

My original collection (circa 2011) from and (useful book*, btw).  
 Google Doc Template  Description (original format)    
 SBA_BizPlan_Template.gdoc  Simple Business Plan Template from old SBA Generator (MS Word doc)
 SBA_form_finasst_incomestmt.gdoc  SBA Income Statement (MS Excel spreadsheet)
 SBA_010150 (Balance Sheet).gdoc  SBA Balance Sheet (MS Excel spreadsheet)
 SBA_finasst_cshflstmt.gdoc  SBA Cash Flow Budget Worksheet (MS Excel spreadsheet)
 Business Model Canvas.gdoc  Simple Business Model Canvas Spreadsheet based on PDF from  Now
More SBA forms, guidance, templates @

Entries from old/defunct Google Drive Public Template Gallery (Click "Use Template" in upper right) 
  Google Doc Template Source/Original Description from Gallery 
  Business Model Canvas Template Google Drawing template, works very well.  Canvas home:  

 Drawings Template - Business Model Canvas By Ian Broom
Rating: 4.86 out of 5

A highly usable business model canvas with sticky notes based on and extended by: 1. grouping items so they are easier to drag around 2. adding text boxes so that you can type on the canvas, name, date, etc areas, or use sticky notes (they are quite large) - just double click on the sticky note or on a section of the canvas to add text 3. added text boxes to the sticky notes and reduced their size - drag then press 'ctrl' when you release to duplicate a sticky note 4. Added tips on how to use the sticky notes - delete them once you've read them 5. Tweaked the font sizes

Preview - Browse template gallery

 Idea Sketch Pad  Check out latest version @

Drawings Idea Sketch Pad - DIY Innovation Toolkit (TM) By Alex Bruton
 Rating: 4.86 out of 5

This is the online collaborative version of the Really Big Value Idea Sketch Pad found here: The focus of this tool is on idea generation. It uses Google Drawing tools to allow collaboration and sharing between many business model designers.

Current Google Doc Public Template Gallery @

From Business Planning & Financial Statements Template Gallery (there are many more)
 Google Doc Template SCORE link (original format)    
SCORE-Deluxe-Startup-Business-Plan-Template.gdoc Business Plan Template for a Startup Business  (MS Word Doc)  
SCORE-Annual_Marketing_Budget.gdoc Annual Marketing Budget Spreadsheet
(MS Excel Sheet) 
SCORE-Sales_Forecast_1yr.gdoc One Year Sales Forecast 
(MS Excel Sheet)
SCORE-Start-Up-Expenses.gdoc Start-Up Expenses
(MS Excel Sheet)
SCORE-Opening-Day-Balance-Sheet.gdoc Opening Day Balance Sheet
(MS Excel Sheet)
SCORE-Profit_and_Loss_Projection_1yr.gdoc 12-Month Profit and Loss Projection 
(MS Excel Sheet)
SCORE-Profit_Projection_3Yr.gdoc 3-Year Profit and Loss Projection 
(MS Excel Sheet)
SCORE-12-Month-Cash-Flow.gdoc 12 Month Cash Flow Statement 
(MS Excel Sheet)
SCORE-3-Year_Cash_Flow_Projections.gdoc 3-Year Cash Flow Statement 
(MS Excel Sheet)
SCORE-Balance-Sheet.gdoc Balance Sheet Template 
(MS Excel Sheet)
SCORE-Breakeven_Analysis.gdoc Break-Even Analysis Template 
(MS Excel Sheet)
SCORE-SBAMONTHLYCASHFLOWSHEET.gdoc Monthly Cash Flow - SBA Form 1100 (3-93) 
(MS Excel Sheet)

 Google Docs "General" Template Gallery  Check new official gdoc gallery, seems to be growing
 Business Plan Template - English  From  Nice (33p) general purpose template
 Lots of Free Biz related Google Doc/Sheet Templates  From Smartsheet.comInteresting product
 Business Plan Template (little lighter, 8 page template)  From's Templates
 <more as I stumble upon them>  
See also:  Business Planning Google Docs folder on Google Drive.  Possible works-in-process, "to be posted", etc ...

That's it for now ... hope it helps

RaspberryPi Zero, v1, v2, v3 Benchmarks

posted Oct 15, 2017, 5:10 AM by Tom Pedersen   [ updated Nov 9, 2017, 2:51 AM ]
I recently ran a series of benchmarks on my collection of Raspberry PI's to see what I had to work with for upcoming projects.  CPU, I/O and browser benchmarks below were completed on RPI Zero, V1 Model B, V2 Model B and V3 Model B.  Results/comparisons may be useful to others.

Config and Tools

Simple test - booted/ran a series of benchmarks on all RaspberryPIs using the same 16g SD card.  Card was loaded with the current version of Raspbian plus a couple of common profiling and benchmarking tools.  


Profile Summary

RaspberryPI 3,
Model B
RaspberryPI 2,
Model B
Raspberry PI 1,   Model B RaspberryPI
Zero W
Processor 1.2GHz 64-bit quad-core ARM Cortex-A53 900MHz quad-core ARM Cortex-A7 700MHz single-core ARM1176JZF-S 1GHz, single-core ARMv7-A
Memory 945MB (145MB used) 945MB (113MB used) 444MB (106MB used) 444MB (107MB used)
Operating System Raspbian 9 (stretch)
Debian GNU/Linux 9.1
Raspbian 9 (stretch)
Debian GNU/Linux 9.1
Raspbian 9 (stretch)
Debian GNU/Linux 9.1
Raspbian 9 (stretch)
Debian GNU/Linux 9.1

CPU Benchmarks


CPU Benchmark 

"sysbench --test=cpu --validate run"

I/O: Sequential writes w/ file create

"sysbench --test=fileio --file-test-mode=seqwr --validate run"

I/O: Random writes

"sysbench --test=fileio --file-test-mode=rndwr --validate run"


"sysbench --num-threads=4 --test=threads --validate run"


Tested using Chromium via 

PI3 PI2 PI1 Model B PI Zero
Ares-6 (lower is better) 373.35ms 692.15ms 5239.1ms 2741.68ms
Motion Mark 4.53 1.86 1 1
Speedometer 13 6.99 1.05 1.99
JetStream 14.725 8.5698 1.5255 2.7481

That's it for now 

*Kickback Alert! T. Pedersen Ventures is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to

DIY Apple AirPlay/Print and HomeKit on RaspberryPI

posted May 9, 2017, 6:33 AM by Tom Pedersen   [ updated Jun 5, 2017, 12:32 PM ]

I cobbled together a Raspberry Pi to stand-in as an Apple HomeKit and AirPlay/Print server as an experiment. The little gizmo allows us to control smart devices, print on household printer and play music on our stereo from iPhones & iPads. The HomePi has been working like a champ, so I decided to retrace my steps and share the recipe - hopefully useful to others.


Many of the techno problems around our home tend to revolve around integrating older equipment with modern devices or attempting to deal with the deluge of new 'smart' devices, each with its own App or interface.   Our 'vintage' stereo and network printer are prime examples of the old world - simply not iPhone/iPad compatible in terms of streaming music or printing.  On the other end of the spectrum, we seem to be constantly fumbling with a variety of apps provided with our newfangled smart home (lights, switches, appliances, etc).  I originally dropped the Raspberry PI onto our network to fill the Air gap by emulating Apple AirPlay and AirPrint services and recently added HomeKit services so Siri could begin helping out around the house. A cheap, easy and fun little project - no programming but RPI/Linux knowledge will come in handy. Probably a couple of hours to get things installed and running.


Our original AirPi was built on a Raspberry Pi 1 Model B, which worked great for Play/Print services for a couple of years - totally amazed by reliability and performance,  it even handled print jobs while playing streamed music without missing a beat.  The latest HomePi is based on a RPI 3 Model B which seems to be just as reliable and handle the additional HomeKit activity. The contraption is connected to our WiFi network and wired to an aux port on our stereo via headphone (3.5mm) to RCA Y-Cable.  

Here's the list of hardware components involved.  There is flexibility here, but the following works for me:


The software used for the original AirPi was somewhat version specific due to the combination of hardware and software required to pull the thing together using Raspbian Weezy, Shairport open source project and some sound/alsa struggles attempting to get my cheap-o USB sound card up and running.  The HomePi rebuild went VERY smoothly under Jessie, but noted software versions below - just in case.  


Following is a sing-a-long with stopping points along the way for systems that won't require all services.  Not exactly a HowTo, more of the personal log used to build/rebuild this rascal.  It does Include links to installation guides and a number of HowTo articles that I found useful during the project.  Hopefully helpful to others.

Raspberry Pi OS Prep 

  • Follow Raspberry Pi Setup Guide for initial setup - Approx 15 Minutes, not including download time
    • Couple of notes/potential gotcha's:
      • Remember to set Language and Keyboard at bottom of NOOBS initial screen (I always forget)
      • Raspbian only - no need to install other OSs for this project
  • Some post installation cleanup from my checklist and log
    • Review Pi config options via command line Raspi-Config or GUI Preferences/Raspberry Pi Configuration.  Minimally set:
      • Change user pi's password (default is pi/raspberry)
      • Boot Options
        • Start in Text Console mode (CLI) - no need for GUI desktop
        • Auto Login as user pi
      • Advanced Options
    • Update Raspbian 

      sudo apt-get
      sudo apt-get upgrade

    • Install favorite editor - I like Joe, many use inbuilt nano

      sudo apt-get install joe

    • WiFi Setup/Tweaks
      • Configure WiFi to connect to your network 

AirPrint (CUPS)

  • Install latest CUPS via Pi's packaging tool (apt-get) - install/setup ~30 mins 
    Good guide @
    • Install avahi - required for network discovery

      sudo apt-get install avahi-discover

    • Installs CUPS and friends 

      sudo apt-get install cups cups-pdf python-cups

    • Mod user pi to be CUPS admin, it will be used to login to web interface 

      sudo usermod -aG lpadmin pi 

    • Make sure CUPS and friends are running after the install

      ps -A | grep cups

      ps -A | grep avahi

  • CUPS Config, phase 1 - cupsd.conf
    Edit /etc/cups/cupsd.conf to permit remote browser access via port 631. See Lynsay's guide above, a number of edits here ... in case I miss one
    • Comment out Localhost restriction & add line to permit access via port 631

      #Listen localhost:631
      Port 631

    • Permit remote access - add "Allow @Local" line right after "Order allow,deny" in following sections: 
        • <Location /> - # Restrict access to the server...
        • <Location /admin> - # Restrict access to admin pages...
        • <Location /admin/conf> - # Restrict access to configuration files...
    • Remember to bounce CUPS

      sudo /etc/init.d/cups restart

  • CUPS Config, phase 2 - via CUPS web interface @ http://<your PI IP address>:631
    • Log in to CUPS administration using pi system user & password 
    • Administration page: check "Share Printers" and "Allow Remote Admin"
    • Administration/Add Printer - "Discovered Network Printers" found our Dell M5200 w/ a couple of tweaks:
  • HowTo Use AirPrint to print from your iPhone, iPad, or iPod touch by Apple Support

AirPlay (Shairport-sync)

  • Shairport-sync install using  - Install/testing takes 45min - 1hr
  • Install steps below were distilled from README - VERY Jessie dependent.  Read through the README to season to taste and understand the process. 
    • Install required Linux packages 

      sudo apt-get install build-essential git xmltoman

      sudo apt-get install autoconf automake libtool
      libdaemon-dev libasound2-dev libpopt-dev libconfig-dev

      sudo apt-get install 
      avahi-discover avahi-daemon libavahi-client-dev 

      sudo apt-get install libssl-dev

      sudo apt-get install libsoxr-dev

    • Download/Build Shairport - Installs to /home/pi/shairport-sync directory
      Note: configure has a number of options and IS version dependent (Jessie) - see README for details

    • cd /home/pi

      git clone

      cd /home/pi/shairport-sync

      autoreconf -i -f

      ./configure --sysconfdir=/etc --with-alsa --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd


    • Create shairport-sync group & user

      getent group shairport-sync &>/dev/null || sudo groupadd -r shairport-sync >/dev/null

      getent passwd shairport-sync &> /dev/null || sudo useradd -r -M -g shairport-sync -s /usr/bin/nologin -G audio shairport-sync >/dev/null

    • Create directories, man pages and set to start with system

      sudo make install

      sudo systemctl enable shairport-sync

    • Run thru /etc/shairport-sync.conf file w/ your editor and season to taste.  There is A LOT in there
      • Set "name" to something descriptive. It shows on iphone/pad (e.g. "Family Room Bose")
      • Sample configuration file is installed @ /etc/shairport-sync.conf.sample
  • USB Sound Card setup (also dependent on Jessie):
    • Use aplay to get list of playback hardware - see below output, USB card highlighted //

aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

  • Modify /home/pi/.asoundrc, setting card # to USB Audio Device.  File appears to be auto generated/created if you start in the GUI, I had to create it myself from CLI ... it looks like this
    $cat .asoundrc

    pcm.!default {
           type hw
           card 1
    ctl.!default {
            type hw
            card 1
    • copy .asoundrc to /etc/asound.conf to get thing to work at boot/service

      sudo cp /home/pi/.asoundrc /etc/asound.conf  

  • Make sure Serice is up and OK.  After reboot too

    sudo systemctl start 
    sudo systemctl status shairport-sync

  • I preset volumes to minimize fiddling with device volume using alsamixer
    • Set Mic to zero
    • Set Capture to zero
    • Set Speaker to redline (93 on mine)
  • HomeBridge homepage @
    Install can take some time, count on an hour with minimal plugin playtime!
  • One preliminary - check for plugins for your smart devices before you go through install  - just to make sure you'll be able to control your device.  Go to and search for  "homebridge-<your dev>".  For example or
  • RPI Homebridge Install from :
    • Check for c++ compiler, you should see response ending with "gcc version 4.92"

      g++-4.9 -v

    • Install nodejs

      curl -sL | sudo -E bash -

      sudo apt-get install -y nodejs
      sudo apt-get install libavahi-compat-libdnssd-dev

    • HomeBridge Install:  README

      sudo npm install -g --unsafe-perm homebridge

    • Fire it up, it will complain about no plugins, but should see it run & offer a pairing code,  <Ctl>C to kill


    • Create config.json file in /home/pi/.homebridge directory see README if you have probs, it could be your editor
  • Plugins installation.  Steps are dependent on the smart device.   Plugins are also installed using npm, will have their own readme/instructions including a snippet to add to your config.json file.  Get plugins by searching for "homebridge-" on  Expect some trial/error and fiddling to get plugins working
  • Testing:  Once Plugins are installed,  Fire up Homebridge and test.  I test in a terminal window for a day or two to keep an eye on message chatter
  • To start Homebridge when RPI boots, create a systemd service from
    • Create /etc/default/homebridge file using example from

      cat /etc/default/homebridge

      # Defaults / Configuration options for homebridge
      # The following settings tells homebridge where to find the config.json file
      # and where to persist the data (i.e. pairing and others)
      HOMEBRIDGE_OPTS=-U /var/lib/homebridge

      # If you uncomment the following line, homebridge will log more
      # You can display this via systemd's journalctl: journalctl -f -u homebridge
      # DEBUG=*

    • Create /etc/systemd/system/homebridge.service file using example from
    • Check homebridge location - response should be usr/bin or usr/local/bin

      $ which homebridge

    • Edit /etc/systemd/system/homebridge.service - set ExecStart to homebridge location (e.g. usr/bin/) 
      $ cat /etc/systemd/system/homebridge.service

      Description=Node.js HomeKit Server

      # Adapt this to your specific setup (could be /usr/bin/homebridge)
      # See comments below for more information
      ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS


    • Set execute permissions for service

      sudo chmod +x /etc/systemd/system/homebridge.service

    • Add Homebridge system account, user and group created, no home directory (-M)

      sudo useradd -M --system homebridge

    • Create system dir and copy config.json file for new homebridge service - set ownership and write

      sudo mkdir /var/lib/homebridge

      sudo chmod +w /var/lib/homebridge 
      sudo chown -R homebridge:homebridge /var/lib/homebridge 
      sudo cp /home/pi/.homebridge/config.json /var/lib/homebridge/.

    • Enable/Run/Check the service

      sudo systemctl daemon-reload
      sudo systemctl enable homebridge
      sudo systemctl start homebridge
      sudo systemctl status homebridge

    • Check /var/log/daemon.log if anything goes bump.

      tac /var/log/daemon.log | less

    • Reboot to get the witches out and test service startup

      sudo shutdown now -r

  • Set up phone via
    • if you forgot your pin/scan code dig it out of systemd journal

      sudo journalctl -u homebridge

  • Debugging:  Troubleshooting Guide @
    • Running in terminal window is very helpful 
    • See Also:  Common Issues section in the README

  • Apple Home info @

That's it for now - works for me!  Quite amazed by these little PIs.  I'll post some utilization stats at some point in the future.  Drop me a line if you see something or have need or comment.  Hope it helps

* T. Pedersen Ventures is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to

Online Privacy Checkup

posted Jan 30, 2017, 8:55 AM by Tom Pedersen   [ updated May 22, 2017, 5:49 AM ]
Reviewing privacy settings and personal information collected/maintained online was a great way to celebrate Data Privacy Day.  Totally amazing to see how much personal information is collected and spread around the Interweb to provide our personalized experiences.  Here are notes and links from privacy checkups at a few popular websites - hopefully useful to others.  


Safety Center - designed to help manage the security and privacy of personal data. 
Privacy Checkup - Review/Adjust important Privacy Settings
Take out - Create/Download archive of personal information 
Notes:  Review of personal information will take some time!  They maintain a LOT of personal data!  


Privacy Basics - "Learn how to customize your privacy settings so you can confidently share your moments." 
Data Policy - Quite a site (and sight!) -  Comprehensive discussion of FB personal data collection & use 
Permanently Delete Facebook Account - Unlikely that all personal information will be removed
Notes:  Review took a long time and seemed inconclusive.  Lots of data, confusing/conflicting procedures.  Creepy!


Yahoo's Privacy Center - Details how Yahoo treats your personal information & ways to control 
Data Storage and Anonymization - Describes data that is collected, no controls offered
Marketing Preferences on Privacy Tools page flat out failed (server not found) 
Safety Center contains Privacy & Identity section, but strictly informational
Ad Interest Manager allows you to opt-out of personalized advertisements
Account Settings - Access to very limited Yahoo Account information 
Notes:  Total Fail!  Hard (impossible) to determine extent of personal information retained.  Little/no control


Account Settings - Access to limited personal information
Privacy Dashboard (new in Jan 2017!) - Informational w/ controls to manage
Microsoft Trust Center - Security, Privacy and compliance info for MS Cloud Services
Opt-Out of Interest-Based Advertising - Control "personalized Ads" in browsers & windows 
Privacy Statement - Appears to be comprehensive, covering all Microsoft products/services
Notes:  Pretty rough finding details of personal info maintained by MS.   


Privacy Policy - Reasonably straight forward*  BUT you have to opt-out, NO Privacy by default
Account Settings - Quite comprehensive, provides Archive Download
Account Settings -> Safety and Privacy -> Personalization and Data* - START HERE
Account Settings -> Apps - Amazed by number of authorized apps, revoked access to many 
Account Settings -> Your Twitter Data - Snapshot of Account information, A LOT here, dig down
Notes:  Pretty easy to review personal information and update privacy settings.


Privacy Policy - Set some time aside to review this one!
Data Privacy and Advertising Settings are worth the visit - interesting 
Privacy Settings - Spend some time in here.  LinkedIn digs deep, collects A LOT!
Personal Data Export Page - Download copy of LinkedIn Data (presented in unwieldy csv files) 
Notes:  Pretty intrusive.  Lots of options, surprised by some of the collected information   

* June 2017 Twitter Update - New Privacy Policy and Personalization and Data Settings 

VirtualBox Windows 10 Upgrade Error C1900101-20017

posted Apr 4, 2016, 8:13 AM by Tom Pedersen   [ updated Apr 4, 2016, 8:16 AM ]
A quick note to share the tweaks I used to upgrade a VirtualBox Windows 7 VM to Windows 10 after many attempts to get around update error C1900101-20017.  Simply thought I'd share my experiences in case others are struggling with the same frustrating issue.

In a Nutshell

For the past few months I've periodically attempted to upgrade a simple VirtualBox Win7 VM to Win10.  It is a very minimal system used exclusively for testing, but ended up being amazingly difficult to update - always failing at initial Win10 reboot (frozen animated win10 logo) with:  "Error(s) found:  C1900101-20017 Windows Update encountered an unknown error".

Config Details

  • VirtualBox v5.0.2 r102196 (running under Linux Mint 17)
  • 32-bit Win7 Ultimate Upgraded to Win10 Pro (simple test machine, 1.5g mem, single CPU, 60g VDI)
  • No significant apps installed - Windows Defender AV + 1 or 2 utility programs - VERY vanilla
Final Tweaks

Many attempts over the past few months, beginning with matching the VM specs to Windows 10 requirements to disabling network & antivirus and downloading/upgrading from Win10 Image and finally playing with VM System Settings until the update actually worked!  

In the end, I THINK the following VM System settings got past the error:
  • System/Motherboard tab:  Checked "Enable I/O APIC"
  • System/Acceleration tab:  Paravirtualization Interface changed to "Default" (I previously had "Legacy" set)
Screenshots of final/working System tabs in case I tweaked something else - click to enlarge:

 System Motherboard Settings
 System Processor Settings
 System Acceleration Settings

Just a quick entry here because this error drove me nuts for quite a while - I hope it helps.

IoT in the Home: Part 1 - Traffic Analysis Hardware & Tools

posted Oct 15, 2015, 2:58 PM by Tom Pedersen   [ updated Sep 7, 2017, 4:56 AM ]

Part 1 of a series [hopefully] of notes relating to managing traffic on modern home networks, a project inspired by the Internet of Things (IoT) and a growing number of Smart Devices in our home.   Many of these devices converse on our internal network, others communicate with Cloud services - few offer details of their net-chatter. Simply curious to see Who's talking to Who while learning a few network management tools and techniques. 


The number of devices on our home network has grown significantly in the past year or so as we continue to add network connected lights, switches, appliances and other smart devices to our world.  This Internet of Things (IoT) tends to blend private and public networks as smart devices are dropped inside of our firewalls - right next to the PCs and storage we chose to protect from the 'outside world'. Furthermore, we have little/no control of smart device communications and may even be asked to open ports/connections with external (public internet) services to facilitate their interactions with the cloud.

This initial article is focused on home network reconfiguration and tweaks performed to simplify network traffic analysis and security as our pile of smart device grows.  Hardware and software tools listed here will initially be used to add traffic monitoring capabilities but are also expected to play role establishing a network architecture that will safely [securely] accommodate many more future smart devices.   


Many home networks are now cobbled together behind equipment provided by Internet Service Providers (ISP), generally your cable television or phone company.  Internet 'Gateways' supplied by ISP's are typically consumer-grade Switch/Routers that simply provide internet connectivity for wired and wireless devices.  It is a little tricky to monitor traffic on these switched networks because packets are specifically forwarded only to sending and receiving ports.  Furthermore, consumer-grade switches rarely provide network management or monitoring features that would allow us to 'tap-in' to peek at network traffic or isolate traffic to prevent untrusted smart devices from intermingling with devices on our private LAN.

Commercial networks and data centers routinely deploy Managed Switches as part of their network design.  This class of switch provides a variety of configurable features to control/monitor traffic and tune network performance.  Managed switch features of particular interest for this project include port mirroring and network virtualization (VLAN).

Port Mirroring is a feature that allows you to configure a redirect or 'Mirror' port to facilitate network monitoring. Traffic analyzers connected to these ports will see all packets sent/received on the mirrored port.   Virtual LAN  capabilities allow you to configure logical sub-networks to improve performance or security by separating untrusted devices/traffic from existing devices on our home network.


I searched for economical network hardware that would satisfy my initial IoT network requirements and settled on the following (I'm sure there are MANY other alternatives):

Smart Switch:  TP-LINK TL-SG108E 8-Port Gigabit Easy Smart Switch with 8 10/100/1000 Mbps RJ45 Ports, MTU/Port/Tag-Based VLAN, QoS and IGMP* - around $35 when I bought on  Not a full-blown managed switch, but does support port mirroring and VLANs.  Seems to work fine, but you may need a windoze machine to configure/manage.
Wired/Wireless Switch/Router:  DD-WRT is alternative OpenSource firmware suitable for a wide variety of consumer grade routers.  DD-WRT firmware includes many features found in commercial switches.  I am repurposing an old Linksys WRT320N running dd-wrt to isolate/secure wired and wireless IoT devices to learn about more about this traffic.

Network Analyzer: My trusty old Acer Aspire One netbook, running Kali Linux (see below). Kali contains several hundred tools aimed at various information security tasks including loads of traffic analysis tools.   Kali also runs great on the AAO.


My initial list of network analysis tools include the following (likely to change as I learn):
Kali Linux is a Debian-based Linux distribution aimed at advanced Penetration Testing and Security Auditing. The Kali distribution contains MANY interesting open source tools and will save a lot of installation/configuration time.  Also runs fine via "live" USB drive.  Well documented.
Wireshark is a very popular network protocol analyzer (sniffer). It lets you see what's happening on your network at the packet or conversation level and is widely used and well documented.  Wireshark is preinstalled on Kali Linux, but can also be downloaded here.
ntop is an OpenSource network traffic probe that shows the network usage, similar to what the popular top Unix command does. Users navigate/interface via web browser to monitor realtime network conversations and traffic.   My now be included with Kali, but also downloadable here.
EtherApe is an OpenSource graphical network monitor for Unix modeled after etherman.  It displays network activity graphically. Hosts and links change in size with traffic. Color coded protocols display.  Doesn't appear to be included with Kali - but looks interesting.  Download via this page

That's it for now - hope it is useful to others.  Will try to document/post more as I learn  


* T. Pedersen Ventures is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to

Garmin eTrex 10: How to Add Coordinates to Compass Display

posted Aug 20, 2015, 5:41 AM by Tom Pedersen   [ updated Aug 20, 2015, 5:53 AM ]
Here's a quick Garmin eTrex 10 techno adjustment that seems to reduce aimless wandering when elementary students tackle GPS activities like Hide-N-Seek.  In a nutshell:   Add current location (GPS coordinates) to the eTrex 10 compass display to provide realtime tracking of longitude/latitude changes.   

The following setup procedures adjusts eTrex 10 Compass Display Screen.

Setup - Approx 40 Seconds/Unit to set this up

  1. Select "Profile Change" then select "Recreational"

  2. Select "Compass" then press Menu button (on left)

  3. Highlight/Select "Change Dashboard" then select "Large Data Field"

  4. From Compass display (again) press Menu button

  5. Highlight/Select "Change Data Fields" then select top field on screen

  6. Scroll thru Fields (alphabetically) to find/select "Location (lat/lon)"

  7. Hit Back button to return to compass display

Usage - Students navigate using compass display.

  1. Select “Where To?” then select “coordinates”

  2. Enter coordinates of desired destination using Thumbstick - remember to hit DONE

  3. Hit Back button (Upper right) until main screen appears

  4. Select “Compass” - you should see pointer on Compass and current Location

  5. Wander until Location on Compass = Target Destination!

Some handy Garmin eTrex 10 links

That's it - hope it helps

January 28 is Data Privacy Day - Pass The Word

posted Jan 12, 2015, 4:43 AM by Tom Pedersen   [ updated Jan 26, 2017, 4:53 AM ]
Data Privacy Day is coming up on Jan. 28, and it’s a great time to consider the importance of respecting privacy, safeguarding data and enabling trust. Help us celebrate on social media using the hashtag #PrivacyAware!

Here are a few easy ways to participate and help spread the word, it IS a worthy cause.

  1. Follow Data Privacy Day on Twitter at @DataPrivacyDay and on Facebook at

  2. Share messages about online privacy on all of your social networks. The DPD gang has created social media posts that you can download and post on your accounts, or you can create your own. Make sure to use the hashtag #PrivacyAware! 

  3. Update your social media profile pictures and cover photos throughout January to show everyone your interest in protecting and promoting privacy. Download the #DPD social media images.

  4. Help others learn about cybersafety and privacy.  Take advantage of DPD tip sheets, lesson plans and classroom materials - Teach online safety

  5. Join one of our #ChatSTC Twitter chats or attend an event. Here is a schedule of online and in-person events: 

For more information about how to get involved, visit  

Internet of Things (IoT) Primer

posted Oct 16, 2014, 3:14 PM by Tom Pedersen   [ updated May 20, 2015, 4:40 AM ]

The Internet of Things (IoT) is a hot technology trend and this week's National Cyber Security Awareness Month theme - consequently a great time for a primer.   This cursory list of resources was assembled as a quick foundation, it will surely evolve as the Internet of Things continues to mature - hopefully useful to those interested in exploring the world of smart devices.   Posted Oct 16, 2014, 3:14 PM


Infographics & Videos

Origin & History

Market, Momentum & Hype

Adoption - Hopes, Dreams, Vision, Strategy & Schemes

Architecture, Research & Evolving Standards

Landscape & Ecosystem

What Could Possibly go Wrong?


That's it - I hope it helps.  As always, feel free to drop me a line if you have suggestions

October: National Cybersecurity Awareness Month

posted Sep 16, 2014, 5:50 AM by Tom Pedersen   [ updated Sep 16, 2014, 5:51 AM ]

October is National Cyber Security Month (NCSAM), an excellent opportunity to educate ourselves and our kids on internet safety. Technology has become an important part of K-12 education. The internet is now a critical resource that is oftentimes taken for granted.  The National Cyber Security Alliance brings Internet safety back into focus by educating individuals, organizations and schools.

Stop and Think about Internet Safety this October - especially if you are involved in education.  Here are a quick set of resources for busy teachers - hopefully a timesaver.

Simply a start - I'm sure there many other excellent internet resources!  Teachers:  Feel free to drop me a line if you need more info/help.

1-10 of 34