flowchart LR A( ) --> B(SHA) A --> C(RSA) A --> D(AES) D --> H{Midterm} B --> E(Block Chain) C --> F(Merkle Tree) B --> F E --> G(Nakamoto'08) F --> G G --> I((Capstone))
Week 0x0
Crypto
Welcome to variously CS 276/CS 540
Action Items:
ABCDEFGHIJKLMNOPQRSTUVWXYZ # in
|
BDFHJLCPRTXVZNYEIWGAKMUSQO # fast
>>>>>>
ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
AJDKSIRUXBLHWTMCQGZNPYFVOE # mid
<<<<<<<<<
ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
BDFHJLCPRTXVZNYEIWGAKMUSQO # slow
→
BDFHJLCPRTXVZNYEIWGAKMUSQO
>>>
ABCDEFGHIJKLMNOPQRSTUVWXYZ
|
IXUHFEZDAOMTKQJWNSRLCYPBVG # reflect
|
BDFHJLCPRTXVZNYEIWGAKMUSQO # slow
>>>>>
ABCDEFGHIJKLMNOPQRSTUVWXYZ # out
# etc etc
podman
vim
gcc
git
podman
vim
gcc
git
After ~10 years of systems research I’ve convinced myself only two things that really matter:
Recursion isn’t too bad…
Not an endorsement; I voted for ******* **** ****** ********!
flowchart LR A( ) --> B(SHA) A --> C(RSA) A --> D(AES) D --> H{Midterm} B --> E(Block Chain) C --> F(Merkle Tree) B --> F E --> G(Nakamoto'08) F --> G G --> I((Capstone))
podman
vim
gcc
git
wsl --install -d ubuntu
command oncepodman
commandspodman run -it
is an image
run
instances.podman
vim
gcc
git
git
and docker
(less so podman
) integration.git
/docker
(less so podman
).vim
who don’t prefer it.vim
inside a container (which happens to run Debian & ∴ apt
)>>> import os
>>> os.system("apt update") # update the registry of packages
<blah blah blah>
>>> os.system("apt install vim -y") # -y saves us from having to say "yes" to any prompts
<blah blah blah>
>>> os.system("vim") # a vim window will open
vim
inside python
inside podman
~ VIM - Vi IMproved
~ version 9.1
~ by Bram Moolenaar et al.
~ Vim is open source and freely distributable
~
~ Become a registered Vim user!
~ type :help register<Enter> for information
~
~ type :q<Enter> to exit
~ type :help<Enter> or <F1> for on-line help
~ type :help version9<Enter> for version info
vim filename.py
vim
opens I type i
(for “insert”):x
→ ENTER to save+quitvim
incrementally by using it for this class - for code, for notes, for whatever.podman
vim
gcc
git
python
is written in GCC Cclang
now but that’s newcat
, ls
, rm
python
or podman
or vim
, GCC is a command - gcc
gcc
takes at least one argument: a filename, usually of a C file./
prefix
python
which runs a script without creating a corresponding program.flowchart LR A(Python) --> B[fname.py file] B --> C[python fname.py] C --> D{hello world} E(C) --> F[fname.c file] F --> G[gcc fname.c -o ename] G --> H[./ename] H --> I{hello world}
podman
vim
gcc
git
git
If you want a lot of control and flexibility, you can use the command line.
flowchart LR A(My ️🔥 code repo)
flowchart LR A(My ️🔥 code repo v0 ) --> B(My ️🔥 code repo v1)
flowchart LR A(<s>My ️🔥 code repo v0</s>) --> B(<s>My ️🔥 code repo v1</s>)
flowchart LR A(GR.️🔥 v0) --> B(GR.️🔥 v1) B --> C(GH.🔥 v0)
flowchart LR A(GR.️🔥 v0) --> B(GR.️🔥 v1) B --> C(GR.️🔥 v2) B --> D(GH.🔥 v0)
flowchart LR A(GR.️🔥 v0) --> B(GR.️🔥 v1) B --> C(GR.️🔥 v2) B --> D(GH.🔥 v0) D --> E(LT.🔥 v0)
flowchart LR A(GR.️🔥 v0) --> B(GR.️🔥 v1) B --> C(GR.️🔥 v2) B --> D(GH.🔥 v0) D --> E(LT.🔥 v0) E --> F(LT.🔥 v1)
flowchart LR A(GR.️🔥 v0) --> B(GR.️🔥 v1) B --> C(GR.️🔥 v2) B --> D(GH.🔥 v0) D --> E(LT.🔥 v0) E --> F(LT.🔥 v1) F --> G(GH.🔥 v1)
flowchart LR A(GR.️🔥 v0) --> B(GR.️🔥 v1) B --> C(GR.️🔥 v2) B --> D(GH.🔥 v0) D --> E(LT.🔥 v0) E --> F(LT.🔥 v1) F --> G(GH.🔥 v1) G --> H(GH.🔥 v2) C --> H
flowchart LR A(GR.️🔥 v0) --> B(GR.️🔥 v1) B --> C(GR.️🔥 v2) B --> D(GH.🔥 v0) D --> E(LT.🔥 v0) E --> F(LT.🔥 v1) F --> G(GH.🔥 v1) G --> H{💥} C --> H
flowchart LR A(GR.️🔥 v0) --> B(GR.️🔥 v1) B --> C(GR.️🔥 v2) B --> D(GH.🔥 v0) D --> E(LT.🔥 v0) E --> F(LT.🔥 v1) F --> G(GH.🔥 v1) G --> H{💥} C --> H
podman
vim
gcc
git