LIS5364 - Web Development and Administration

Welcome to the course! Many of you are coming from the related course LIS5362 (and perhaps even LIS5367 ) so this may be a "welcome back!" Neither are official prerequisites, though familiarity with the topics in 5362 may be helpful.


The first front page - in Canvas - is the primary source of material for this course; everything you need for the course will be available here. Many links go through http://jrm4.com (including a mirror of this page for backup and emergency purposes); feel free to browse that as well. Links to all tools and readings will be available from the front page.


The class is synchronous, in Zoom. Link forthcoming.


This class does NOT have a required group work component; but it does have an optional one. Additionally, I believe strongly in inter-student support and collaboration, especially for technical courses such as this one. I have found Discord to be an excellent tool for this, and I do have a (so-called) server for this purpose.


On Discord


Note: Discord is NOT mandatory.


There will be other requirements, computer-wise. Specifically, eventually you will need access to a Linux computer (possibly virtual) on which you have "root" access. If you are not yet familiar with any of this, no worries - all will be explained in detail.


No textbooks are required, and nothing is due for the first class. Feel free to browse the assignments and readings on the side (or below if you're on your phone) - but unless they are LINKED DIRECTLY FROM THIS FRONT PAGE, they are from the previous semester. This means they are likely to be similar this semester, but may change and should not be relied on as official. If you'd like to browse regardless but you can't see them now, go here and look: - https://jrm4.com/FSU_Courses/LIS5364.html


The +Syllabus is still valid, but I intend to focus quite a bit more on containerization and virtualization than in the past. This is a good thing, trust me. Makes a LOT of things easier.


Week 9 - DOCKER


Hey folks, please try your hand at getting Docker installed. We wil try to demonstrate in class.


Week 8 - Mad Libs Review and Docker


Mostly, I want to finish up Bash et al, but you may get ahead of the game with the following:


Tech Guides:On Docker


Week 7 - "Installing Stuff"


Tech Guides:On Docker


Top X list of Linux Distros - http://distrowatch.com


https://debian-handbook.info/browse/stable/sect.apt-get.html
https://rpm.org/
https://wiki.archlinux.org/title/Pacman



https://sandstorm.io/news/2015-09-24-is-curl-bash-insecure-pgp-verified-install


https://www.lifewire.com/installing-software-using-git-3993572


https://community.linuxmint.com/software/view/software-center


https://www.ubuntupit.com/snap-vs-flatpak-vs-appimage-know-the-difference/
In the wild, scroll down to "How do I install apps" and skim - https://help.steampowered.com/en/faqs/view/671A-4453-E8D2-323C



https://www.linux.com/topic/desktop/how-install-and-use-docker-linux/


Mostly just about the "flatpak" thing: https://help.steampowered.com/en/faqs/view/671A-4453-E8D2-323C


Week 6 - Networking and Bash

https://jrm4.com/slides/Networking_and_the_Shell.html


Week 5 - Scripting and More


Week 4 - Getting Started with Linux



https://jrm4.com/slides/Linux_And_the_Command_Line_-_Raw_Slides.html
and what we will continue with next week
http://jrm4.com/slides/Scripting_and_Programming.html


Some resources:
https://alexpetralia.com/posts/2017/6/26/learning-linux-bash-to-get-things-done
https://adtmag.com/blogs/dev-watch/2016/07/bash-salaries.aspx
https://blog.jessfraz.com/post/for-the-love-of-pipes/
https://devhints.io/bash


Optional:
If you have some familiarity with other languages - https://learnxinyminutes.com/docs/bash/ is great.
Some of the stuff in here we haven't gotten to, but the bits on variables and quotes are very good - https://wiki.bash-hackers.org/scripting/newbie_traps


A very quick intro in video form https://omgenomics.com/writing-bash-script/



For those who want to get an early start: Here is the (likely much longer and multi-week):


https://timvisee.com/blog/elegant-bash-conditionals/


Week 3 - Installing Linux



https://www.linux.com/what-is-linux/
https://opensource.com/resources/linux


This week will be a bit different, we will focus on getting you a working version of Linux.


If you like VIDEO, this goes into detail on most everything: ../../Videos/VirtualboxInstall.mp4
(The virtualbox.org site is cleaner looking now, but the fundamentals are the same)


If you prefer READING and going on your own, see the below.


Default method: Virtual Install.


A "virtual install" is a completely non-destructive, completely reversible way to do "real Linux" on your computer. It's not much different from installing an app, though the process is a little more involved:


For a virtual install, you will need VIRTUALIZATION SOFTWARE and A LINUX DISTRIBUTION


VIRTUALIZATION SOFTWARE

Most of you can still use https://www.virtualbox.org/
New fancy M1 mac people, you can't, but you can use https://mac.getutm.app/ - watch for which type, usually you'll want the specific Ubuntu flavor
VMware and others are also acceptable; https://www.ubackup.com/enterprise-backup/linux-vm-on-windows-10.html


LINUX DISTRIBUTION

A "distribution" or "distro" is just a version of a full Linux Operating system, and there are a bunch of them:
Presently I recommend one of the following — but LITERALLY ANY WILL DO.
https://mxlinux.org/
https://linuxmint.com/
https://ubuntu.com/ as a last resort for new computers?


Or again — ANYTHING here, check the leaderboards!
https://distrowatch.com/


If you end up unable to get the above working:


Mac users: You may use the native Mac terminal
Windows users: https://learn.microsoft.com/en-us/windows/wsl/install



Or, the following





Week 2 - Linux and Computing

The basics:
https://www.linux.com/what-is-linux/
https://www.techrepublic.com/article/getting-up-to-speed-with-the-linux-desktop-operating-system/


https://www.infoworld.com/article/3019852/how-linux-won-without-winning.html


https://www.computerworld.com/article/3144063/open-source-has-won-and-microsoft-has-surrendered.html


Read AT LEAST the first 4 sections (Intro, MGBs, Tanks and Batmobiles, BitFlinger, and GUIs) — the rest is optional, but pretty good:
http://project.cyberpunk.ru/lib/in_the_beginning_was_the_command_line/



Backlinks: FSU Courses