synchronization FileZilla rsync unison version control RCS CVS Subversion Bazaar Mercurial Bitbucket Git Git Cola GitHub GitLab class archive Dropbox ownCloud Web development file:// NGINX Apache http-server (npm install -g http-server) http.server (python -m http.server) W3C HTML CSS HTML5 templates view source (g)vim emacs Atom VS Code Sublime Geany Brackets Phoenix Eclipse Visual Studio LibreOffice SeaMonkey Dreamweaver JavaScript Bootstrap jQuery Markdown Markserv Strapdown.js Pandoc Hugo Jekyll VuePress MkDocs CI/CD YAML CGI, PHP, security blogs, wikis, documentation, content management systems GitBook DokuWiki TiddlyWiki Hatta-Wiki MoinMoin GetSimple Moveable Type WordPress Drupal Moodle security collaboration Slack Mattermost videoconference protocols H.323 SIP H.239 codecs H.261 H.263 H.264 Multipoint Control Unit (MCU) hardware software cloud clients software Spark RealPresence Ekiga Linphone hardware Polycom LifeSize speakerphone webcam WebRTC Jitsi OBS Studio remote desktop Remmina xrdp TightVNC x11vnc Vinagre vncviewer noVNC cloud computing AWS EC2 Google Compute Engine Digital Ocean Linode Heroku project management programs TaskJuggler OpenProj GanttProject Trello Taiga GitLab project management principles 80/20, 95/5 demand- vs supply-side time management triage serial vs parallel development spiral development bottom-up vs top-down debugging hierarchy, modularity document, clean as you work RTFM Mythical Man-Month assignment read, sign the student/instructor/lab agreements, and commit to your repos work through a git tutorial build a personal site in the class archive describing you and your final project example example example