Select Page

Testing the Table of Contents

Educate yourself in your own time


The Internet is a vast library of learning materials both free and with paid subscription.  Browsing on-line tutorials and courses may not replace a college degree or formal learning in an accredited university when looking for a job – but they can be useful secondary sources of information while studying or a great place to start learning something new to complement the skills you already have.

If you can learn a new language or skill online and put it to use – this will make it much easier to complete a formal course of study which leads to a degree or certificate. Career wise – if you already have a degree and a job, but want to seek other positions – this will certainly help make you a more viable candidate. If you are looking for a job but don’t have a degree or certificate, don’t be surprised if your pay or benefits are lower than your college graduate peers. You can still get that degree or certificate with one big advantage – you already know the stuff.

Programming and Web Development

IT fields are still in high demand especially in artificial intelligence, cybersecurity and health care.  The demands varies every year and new fields are still evolving. To insure that you are ready for any of these fields it’s always best to build a solid foundation by learning how to write programs based on the more popular and well known programming languages

Much of what we will cover will help you be prepared to explore opportunities in these fields

  • Software Engineer
  • Systems Engineer
  • Software Developer
  • Java Developer
  • Data Scientist
  • UX Designer
  • Quality Assurance manager
  • Full Stack Developer
  • Security Analyst
  • Network and Computer Systems Admin
  • Software Engineer
  • Information Security Analyst
  • Web Developer

Keep in mind that what you learn here is just a starting point to help you learn more specialized software programming languages based on the common languages we will cover here.


What you need

  1. A computer running Windows, Mac or any Linux based computer
  2. Internet connection.
  3. Patience and a healthy appetite for learning new and complex topics


Recommended Resources for learning

You can learn from various sources without spending a dime. If you have time – your local or university library would likely have many books and magazines that you can peruse. If you don’t have time to make trips to a library – the internet is your best bet

Not all learning is free – but many are very affordable and provide excellent quality learning materials through videos and online books that you can watch on your own time, download to your mobile device and take it with you.

It is not required that you have membership or subscription to any of them – but I will refer to them often for recommended learning


  1. com – free

W3schools is a free resource for learning about many of the things we will cover here. I will often refer to this site for more details

  1. com – $19 a month basic /  $31.25 a month for annual premium is an excellent site with thousands (literally) of videos covering a wide range of topics in Software Development, Design, Business, Web Development and Photography. It requires a monthly subscription starting for less than $20 a month with a 30 day free trial – but you will have unlimited access to all the different courses available.

  1. com (not reviewed) $39 a month

You probably have seen many books from Safari in your favorite bookstore or online. Now – you can view these books online like many colleges and businesses who use SafariBooksOnline as a resource for their vast collection of printed books.  SafariBooksOnline has expanded into video based instruction like You can sign up for individual subscription with a 10 day free trial.

  1. Pluralsight (not reviewed) $29 a month

Like and – Pluralsight is another major player.

  1. io (not reviewed)


Programming Sources – Where to start


* – requires subscription


Learning Ruby


Learning Ruby requires little to get started and you can learn Ruby without downloading anything

Learning Ruby on Rails


Ruby on Rails is a Web Application written using the Ruby programming language. While it does help to understand Ruby – it is not a prerequisite to learning how to use Rails

Learning Javascript


Javascript is one of the top

Learning Bootstrap




CAD and Design


Free CAD Software


TinkerCAD is a web based 3D modeling application from AutoDesk. It is designed primarily for hobbyists and newbies who have little or no experience with 3D CAD. The tools are somewhat limited but you can import STL, OBJ or SVG files from other legacy 3D CAD and illustration applications

Fusion 360

Fusion 360 is a cloud based 3D CAD environment from AutoDesk – makers of AutoCAD and many popular design tools. Fusion 360 is a very powerful and fully featured 3D CAD tool that could be compared to the professional Catia SolidWorks and Siemens SolidEdge


FreeCAD is an open source modeling software used by engineers, inventors, illustrators and artists to design objects in 3D space. As the name implies FreeCAD is free and can be downloaded from GitHub or Sourceforge. The software is available in different versions for Mac, Windows and Unix. You can download the binary version which installs automatically or the source files which requires compilation but gives you some flexibility in customizing it to suit individual needs.

For this exercise – I am choosing to download the binary version on my older Macbook Pro. I also have a VirtualBox app that runs Ubuntu – a Linux distribution which allows me to run Ubuntu on top of the Mac OS. I will discuss running

What is Parametric Design


According to Wikipedia – “Parametric design is a process based on algorithmic thinking that enables the expression of parameters and rules that, together, define, encode and clarify the relationship between design intent and design response.

Parametric design is a paradigm in design where the relationship between elements is used to manipulate and inform the design of complex geometries and structures.”

In layman terms – parametric design enables designer to create 2D or 3D designs and apply rules or equations that will allow the design to be modified by just changing the inputs to the equations or the the rules

For example – start by drawing a rectangle shape in 2D. A rectangle is four sided shape with four right angles. Opposite sides are parallel and of equal length. Adjacent sides (A & B), however, have different lengths.

To change the size of a rectangle – you would erase or delete the old rectangle and draw a new one.

In a parametric design, the size of a rectangle can be altered by changing just 2 dimensional values – the lengths of the adjacent sides A & B.   Since we already have rules in place to maintain the rectangular shape: right angles in all four corners and opposite sides with equal length and parallel; the rectangle will grow or shrink to its new dimensional values

What happens when you enter the same value for both A & B?


3D Printing

Learning about 3D Printing


Popular 3D CAD File formats for 3D printing



Operating Systems


Running Debian Stretch on a Mac



Running Ubuntu on Mac

There are two options for running Ubuntu on your Mac – as a virtual app or partitioned drive which is what Bootcamp™ does.

The following links have some information


IOT Sensors

Time of Flight Sensor


Feather Wing OLED

FeatherWing Stacking Headers

Featherwing Doubler

GPS Featherwing


IOT Programming


Learning Python





IOT Projects and Tutorials

Cloud-Connected ESP8266 Power Meter


IOT Hardware

Hardware  – PyBoard



Adafruit HUZZAH ESP8266 breakout

Home Automation in the Cloud with ESP8266 & ADAFruit IO


Measuring Light with a BeagleBone Black



Build a Mini Robot Rover

Figure 1 Robotic Car Kit Figure 2 Robotic Car – Assembled


Feather Weather Lamp


Weather Station


Water Sensing (Water heater or Sump Pump Failure



Sensing Temperature


OLED Display

Temperature Sensors:

Figure 3   DHT11 and DHT22 Sensor

Arduino MKR1000 Board


Display Temperature on LCD – Arduino


You can pop down to the hardware store or department store and pick up a digital temperature display monitor for a few bucks. Where is the fun in that when you have an Arduino or Raspberry Pi board sitting around and some temperature sensors still in the anti-static bag the last time you ordered stuff from ADA fruit?

I found a few sources on the web (posted at bottom of article) and I am going to build a few different variations of temperature display devices using both Raspberry Pi and Arduino

Here is a simple project where you can take an Arduino UNO and connect to an LCD and Temperature Sensor



Another simple project where you can take an Arduino UNO and connect to an LCD and Temperature Sensor that measures both Temp and Humidity


Raspberry Pi Temperature Sensing

Product Sources

OpenBuilds – – Desktop CNC Routing and Milling

SST –   Sensors for detecting air and water leaks

80 / 20 Industrial Erector Set –