Why? Small form factor personal devices are changing.
Blogging: not formal, things we’re struggling with; working on. Can be as messy as needed to be.
Even if it’s in a cardboard box; make an enclosure for it.
At the end of the semester, Tom can write longer form feedback if asked.
Connected devices example includes Arduino to a web server or laptops talking to each others laptops.
Unix & Linux = Posix operating systems
Similar commands and structure. MacOS is now a Unix OS.
VPN = allows you to be in one real network while you’re also in the private one.
Virtual Private Server: Instance of an operating system within an operating system = containers. Each instance won’t affect other people’s instances.
Q: how is this different to Docker?
Laptop has 3 network layers: Wifi, Bluetooth, ethernet.
Geographies of the internet: Please do not throw sausage pizza away
- Application layer
- Presentation layer = HTML.
With OSI model, web developers know a lot about presentation and application layer.
MAC address is unique to each computer.
Inet number changes everytime you connect to a network. As long as you have an address
Decentralized network is essentially comprised of hubs.
Content Delivery Network = Cloudflare.
Visual Trace Route:
Could do Understanding Networks Week 1 homework.
IoT = connected devices?
GUI (the p5 editor for example) vs Text Interfaces (?).
Command Line Tools
- nslookup tigon.net - to see IP address to any given website.
- ifconfig en0 - The developer way
- traceroute tigoe.net
- clear - to end instance of any given terminal.
- ls -l - ls with details
- shows permissions (eg. drwxr-xr-x, which is execute, read, write permissions)
- cat filename - to see what’s inside
- stands for concatenate
- ls /dev/cu.* or ls /dev/ - to see serial ports available.
- Serial ports end up being almost files so they can be accessed through cat =
- cat /dev/cu.usbmodem101
- with this you get a stream of the data being transferred via the port.
- we know the port name from the Arduino IDE or by running difs on the list after connecting Arduino.
- Serial Port gets created after plugging in Arduino
- Pipe it = Redirect the output of a command to another - so execute the serial port output somewhere else
- cat /dev/cu.usbmodem101 >> log.txt
- There’s lots of automation possible here.
- Now the output of the serial port is being saved for the first time.
- cat /dev/cu.usbmodem101 >> log.txt &
- & ensures process is running in the background
- cat myfile.txt | grep Velux
- grep looks up the word Velux in the file myfile.txt
- ps - lists all processes we have running.
- kill process number - kills a certain process.
- cat *.txt
- opens content of all txt files
- nc tigoe.net 80
- Get /
- netcat = better program to list files
- port 80
- net cat goes over the net and cat only works locally
- ls *.txt
- lists all files with .txt extension
- * = all files
- nc -nklw 2 80
- l means listen
- w means wait timeout
- man nc
- the manual / helpsession
Curl is a full on tool.
To connect to a server, we use the HTTP protocol
- we connect on any given port
- Request verb (get, post) to a specific path.
nc -l 80
/get
python3 -m http.server 80
# To serve
10.20.54.224#TODO: create my own server and use 2nd instance of terminal to access it.
TODO: Set up a website somewhere that can be accessed through the CLI. Setting up a Virtual Environment. Digital Ocean or AWS. Tom can SSH into his server. If unclear which one I need, book office hours.
TODO: Send video I saw yesterday about hubs.
TODO: book TIgoe office hours for next week - Thesis.
Come in with questions.