Program Composition: Slides ready

I say ready, but I am going in the wrong direction with time.  Something is
going to have to give, either with the next section or these existing
ones.  I want time for interactive demonstrations.
master
Mike Gerwitz 2019-03-22 00:21:41 -04:00
parent dc82dc74f9
commit 3d8d8a594e
Signed by: mikegerwitz
GPG Key ID: 8C917B7F5DC51BA2
1 changed files with 24 additions and 21 deletions

View File

@ -117,7 +117,7 @@
- [ ] =vim=
- [ ] =screen=
* LACKING Slides [3/6]
* LACKING Slides [4/6]
:PROPERTIES:
:ID: slides
:END:
@ -125,7 +125,7 @@
#+BEGIN: columnview :hlines 2 :maxlevel 3 :indent t :id slides
| ITEM | DURATION | TODO | ENVIRONMENT |
|-------------------------------------------------------+----------+----------+-------------|
| Slides | 0:40:53 | LACKING | |
| Slides | 0:40:59 | LACKING | |
|-------------------------------------------------------+----------+----------+-------------|
| \_ Summary | | | |
|-------------------------------------------------------+----------+----------+-------------|
@ -163,15 +163,15 @@
| \_ Pipelines | 0:00:15 | READY | fullframe |
| \_ Summary of the Unix Philosophy | 0:00:40 | READY | fullframe |
|-------------------------------------------------------+----------+----------+-------------|
| \_ Program Composition | 0:09:10 | REVIEWED | |
| \_ Program Composition | 0:09:15 | READY | |
| \_ Composition Topics | | | |
| \_ LP Sessions | 0:02:30 | REVIEWED | fullframe |
| \_ Interactive, Incremental, Iterative Development | 0:01:10 | REVIEWED | fullframe |
| \_ Discovering URLs | 0:02:15 | REVIEWED | fullframe |
| \_ Go Grab a Coffee | 0:00:15 | REVIEWED | fullframe |
| \_ Async Processes | 0:00:45 | REVIEWED | fullframe |
| \_ Executable Shell Script and Concurrency | 0:01:30 | REVIEWED | fullframe |
| \_ Execution Time | 0:00:45 | REVIEWED | frame |
| \_ LP Sessions | 0:02:30 | READY | fullframe |
| \_ Interactive, Incremental, Iterative Development | 0:01:10 | READY | fullframe |
| \_ Discovering URLs | 0:02:15 | READY | fullframe |
| \_ Go Grab a Coffee | 0:00:15 | READY | fullframe |
| \_ Async Processes | 0:00:45 | READY | fullframe |
| \_ Executable Shell Script and Concurrency | 0:01:30 | READY | fullframe |
| \_ Execution Time | 0:00:50 | READY | frame |
|-------------------------------------------------------+----------+----------+-------------|
| \_ More Examples | 0:09:52 | REVIEWED | |
| \_ More Example Topics | | | |
@ -1588,7 +1588,7 @@ We start to think of how to decompose problems into small operations that
We think of how to chain small, specialized programs together,
transforming text at each step to make it more suitable for the next.
** REVIEWED Program Composition [0/7]
** READY Program Composition [7/7]
*** Composition Topics [6/6] :noexport:
- [X] Clarify how pipelines work with existing =wget | grep=.
- [X] More involved pipeline with more than two programs.
@ -1609,7 +1609,7 @@ We think of how to chain small, specialized programs together,
- [X] Extract =url-grep= into script.
- [X] Demonstrate running jobs in parallel with =xargs=.
*** REVIEWED LP Sessions :B_fullframe:
*** READY LP Sessions :B_fullframe:
:PROPERTIES:
:BEAMER_env: fullframe
:END:
@ -1817,7 +1817,7 @@ Your computer will speak the top five talks by presenter count to you.
Listening to computers speak is all the rage right now,
right?
*** REVIEWED Interactive, Incremental, Iterative Development :B_fullframe:
*** READY Interactive, Incremental, Iterative Development :B_fullframe:
:PROPERTIES:
:BEAMER_env: fullframe
:END:
@ -1866,7 +1866,7 @@ If something doesn't work,
And because we're working with text as data,
a human can replace any part of this process!
*** REVIEWED Discovering URLs :B_fullframe:
*** READY Discovering URLs :B_fullframe:
:PROPERTIES:
:BEAMER_env: fullframe
:END:
@ -2011,7 +2011,7 @@ Now that we have a means of creating the list of results,
Why not pull them right out of the email with =grep=?
Let's say you saved the email in =email-of-links.txt=.
This simple regex should grab most URLs for both HTTP and HTTPS protocols,
This simple regex should grab most URLs,
but it's far from perfect.
For example,
it'd grab punctuation at the end of a sentence.
@ -2066,7 +2066,7 @@ We can do that too by reading =results.txt= in place of standard input to
Phew!
*** REVIEWED Go Grab a Coffee :B_fullframe:
*** READY Go Grab a Coffee :B_fullframe:
:PROPERTIES:
:BEAMER_env: fullframe
:END:
@ -2089,7 +2089,7 @@ The Internet is fast nowadays;
ideally, we wouldn't have to wait long.
Can we do better?
*** REVIEWED Async Processes :B_fullframe:
*** READY Async Processes :B_fullframe:
:PROPERTIES:
:BEAMER_env: fullframe
:END:
@ -2142,7 +2142,7 @@ But what if we have 1000?
That isn't efficient,
and it's a bit rude to server administrators.
*** REVIEWED Executable Shell Script and Concurrency :B_fullframe:
*** READY Executable Shell Script and Concurrency :B_fullframe:
:PROPERTIES:
:BEAMER_env: fullframe
:END:
@ -2244,7 +2244,7 @@ Here we specify =5=,
meaning =xargs= will run five processes at a time.
You can change that to whatever number makes sense for you.
*** REVIEWED Execution Time :B_frame:
*** READY Execution Time :B_frame:
:PROPERTIES:
:BEAMER_env: frame
:END:
@ -2262,7 +2262,7 @@ sys 0m4.877s
**** Notes :B_noteNH:
:PROPERTIES:
:BEAMER_env: noteNH
:DURATION: 00:00:45
:DURATION: 00:00:50
:END:
So how long does it take to run?
@ -2282,8 +2282,11 @@ If you were to write this from scratch knowing what you know now,
You don't need to be a programmer to know how to do this;
you just need to be familiar with the tools and know what's possible,
which comes with a little bit of practice.
It can certainly be daunting at first.
But I hope that by walking you through these examples and showing you how to
construct them step-by-step,
it helps to demystify them and show that there is no wizardry involved.
This is certainly an efficient means of communicating with the machine.
We've come a long way from using the web browser and a mouse.
Now that we've finally completed our research task,