Project Management

synchronization
   FileZilla
   rsync
   unison

version control
   RCS
   CVS
   Subversion
   Bazaar
   Mercurial Bitbucket
   Git Git Cola GitHub GitLab class archive
   Dropbox ownCloud

Web development
   Web serving
      NGINX Apache
      file://
      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 WebRTC
   codecs
      H.261 H.263 H.264 H.265
   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
   NICE DCV

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 assignment 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