synchronization 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 Eclipse Visual Studio loweb 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 as you work Mythical Man-Month assignment work through a git tutorial build a personal site in the class archive describing you and your final project example example example