2020 meeting and projects

Jump to navigation Jump to search

2020 calendar

2020 meeting schedule: Jan 25 - Mar 7, and Apr 18 - May 16. Total: 11 sessions. Last session (May 23, 2020) is reserved.
2020 Jan
Date Content Remark / Discuss
3D Modelling and Related Technologies
Jan 25
Feb 1
3D Pen, Printer, and modelling
Feb 8
  • Introduction to OpenSCAD. Editing 3D model.
  • Bring a small object for scanning.

Feb 15
No meeting for Family Day long weekend
Feb 22
Summarize 3D topic, CNC cutter and laser engraving
  • Introduction of 3D printer, layer, G-Code
  • Have a small (laser engraving) demo.

Explained: Laser Engraving, 3D printer, CNC

skipped topics:

Python and AI

Python and AI
Feb 29
Mar 7
Python programming
  • Learning editor Notepad++ and test "Hello World" program
  • Python from Scratch U of Waterloo Python course web site


Mar 14
Arp 11
Apr 18
Introduction of Data Analysis and (AI) Inference Engine.

For this session, the sample codes are stored in this

YouTube video: Install Anaconda Distribution, Python 3.7 64-bit, tensorflow and keras

Computer Networking

Computer Network
Apr 25,
May 2,
May 9
Introduction of computer network (Internet): WAN, LAN, WiFi, DNS, EMail, HTTP, TCP/IP.

May 16 is long weekend. No meeting.

Web Programming

Web Programming
May 23,
May 30

Internet components and workflow

  • HTML, Apache & Tomcat, HTTP protocol, JavaScript
  • CGI programming, JavaScript, JS library

What is LAMP (Linux, Apache, MySQL, PHP)?

Linux ThatIsEz OS
Apache Root directory
MySQL ThatIsEz test MqSQL cmee4k DB connection
YouTube Use phpMyAdmin to create MySQL
cmee4k user ID and design cmee4k DB
PHP ThatIsEz show PHPinfo() information

JavaScript example

Some JavaScript games

Use PHP and MySQL


University of Waterloo educational web sites

Sidetrack: Create your own web server with Raspberry Pi 4b and host it in your HOME

CGI program and HTTP Protocol

Directly calling CGI program
PHP phpinfo() from root dir http://thatisez.com/phpinfo.php
PHP hello CGI program http://thatisez.com/cgi-bin/hello.php
Python hello CGI program http://thatisez.com/cgi-bin/hello.py
Perl hello CGI program http://thatisez.com/cgi-bin/hello.pl
Run PHP CGI program from user dir http://thatisez.com/simon/hello.php
Calling CGI program from HTML
Simple page http://thatisez.com/simon/simpleForm.html
Page has JavaScript http://thatisez.com/simon/JavaScriptForm.html

Static HTML page and Dynamic JavaScript

  • XML is a Data in tree Structure.
    • XML uses tag <xxx>data</xxx> to represent data entry and sub-entry.
    • XML is expanded to many customized format.
      • HTML is a customize XML tag file.
      • HTML is Tag structure for browser to display these Tag (elements).
        For example: <image>, <href>, <javascript> etc
      • Compare HTML vs XML
    • Each entry has a Collector (points to its children), and a set of Attributes.
  • DOM (Document Object Model) is how XML structure saved in memory.
  • HTML DOM is the GUI Tree Structure in browser memory.
  • HTML does have JavaScript, it is static HTML page.
    Example: http://thatisez.com/simon/simpleForm.html     See the source code
  • JavaScript program in the browser can traverse DOM elements, can change element Attributes, and also the event handler.
Feedback and What is Next?