Testing the Table of Contents
- Educate yourself in your own time
- Programming and Web Development
- Recommended Resources for learning
- Programming Sources – Where to start
- Learning Ruby
- Learning Ruby on Rails
- Learning Bootstrap
- CAD and Design
- Free CAD Software
- Fusion 360
- What is Parametric Design
- 3D Printing
- Learning about 3D Printing
- Popular 3D CAD File formats for 3D printing
- Operating Systems
- Running Ubuntu on Mac
- IOT Sensors
- Time of Flight Sensor
- Feather Wing OLED
- GPS Featherwing
- IOT Programming
- IOT Projects and Tutorials
- Cloud-Connected ESP8266 Power Meter
- IOT Hardware
- Hardware – PyBoard
- Adafruit HUZZAH ESP8266 breakout
- Measuring Light with a BeagleBone Black
- Build a Mini Robot Rover
- Feather Weather Lamp
- Weather Station
- Water Sensing (Water heater or Sump Pump Failure
- Sensing Temperature
- OLED Display
- Temperature Sensors:
- Arduino MKR1000 Board
- Display Temperature on LCD – Arduino
- Raspberry Pi Temperature Sensing
- Product Sources
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.
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
- A computer running Windows, Mac or any Linux based computer
- Internet connection.
- Patience and a healthy appetite for learning new and complex topics
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
- 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
- com – $19 a month basic / $31.25 a month for annual premium
Lynda.com 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.
- 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 Lynda.com. You can sign up for individual subscription with a 10 day free trial.
- Pluralsight (not reviewed) $29 a month
Like Lynda.com and SafariBooksOnline.com – Pluralsight is another major player.
- io (not reviewed)
*Lynda.com – requires subscription
Learning Ruby requires little to get started and you can learn Ruby without downloading anything
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
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 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
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?
STL, OBJ, VRML, SVG
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
FeatherWing Stacking Headers
Home Automation in the Cloud with ESP8266 & ADAFruit IO
|Figure 1 Robotic Car Kit||Figure 2 Robotic Car – Assembled|
Figure 3 DHT11 and DHT22 Sensor
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
OpenBuilds – https://openbuilds.com/ – Desktop CNC Routing and Milling
SST – http://www.sstsensing.com/ Sensors for detecting air and water leaks
80 / 20 Industrial Erector Set – https://8020.net/