June 11 meeting notes on Unix bits
[kspaans/mterry/.git] / unix-tutorial.txt
1 +---------------------+
2 | A Unix 101 Tutorial |
3 +---------------------+
4
5 GOALS:
6 After completing the tutorial, students will know how to:
7  - find out who they are and where they are on a *nix system
8   * whoami, pwd, ls
9  - be able to move around in the system
10   * cd
11   * shell history, tab completion
12  - create, remove, move, and rename files
13   * mkdir, rm{dir}, mv, cp, ?touch?
14  - read files
15   * cat, less
16   * wc
17  - understand absolute and relative paths, as well as the special directories
18    (., ..)
19  - file inspection with ls flags, and switches for other commands
20   * ls -l
21   * chmod (webspace, or small scripts)
22  - read man pages (and exit from them)
23   * man
24  - process and job control
25   * ps, kill, fg, bg, &
26  - leave the system
27   * exit, logout, ctrl-D
28  - output redirection/pipes (maybe)
29   * ls | less
30   * redirection (sort, uniq)
31   * grep
32   * find | xargs
33   * ssh?
34   * file globs
35   * cut, (paste), diff
36  - remotely moving files
37   - permissions, scp, sudo
38
39 ---
40 Navigation:
41  - ls, pwd, cd
42 Switches:
43  - special files and permissions
44 Pipes:
45 Grep:
46 Files:
47  - touch, redirection, mv, cp, rm, mkdir
48 Man pages:
49 Processes:
50  - kill, ps
51  - CTRL-Z, bg, fg, job control &
52 ---
53
54 as Isis explains things, she can obviously (to us) move him around some information
55 that he shouldn't see -- which he can read himself as he improves his skills
56 e.g. /home/isis, which he can't read until he has su/sudo
57
58 VISION/DELIVERY:
59 Everything is done on the bash command line. Probably in a subshell, or with
60 some other magic (realine?), that will lead the student through a pre-built
61 environment (files and dirs). It will run like a text-based adventure game,
62 where movement and actions occur naturally through use of the shell.
63
64 -- instead of having static dialogue spewed at the user, the narrative could be
65 delivered though text files in the system, say a README in each new
66 subdirectory. almost like a puzzle. Once they know less and cat, they can keep
67 using them to get the rest of the narrative
68
69 But for fuller control it may be better to write a program that emulates bash
70 (readline) or a bash script that presents the right information. E.g. a Scheme
71 or C program could easily read lines and print the desired information, possibly
72 deferring to a subshell to spawn things like man, or piping output
73
74 --> Better to have a sandbox, VM as a library that can be embedded
75 --> For e.g. iPads, where it may not be feasable for a fully interactive shell, so it may
76     be choosen by the user the level of interactivity
77    - e.g. emedeed terminal box in the middle of the comic pane, between speech
78      bubbles, and the speech bubbles update as the user interacts with the
79 console, so the console still drives the narrative (static speech bubbles)
80 --> Can we get public performance/group action? Where other students in the
81 tutorial take the parts of other characters, etc.
82 --> what about chat dialog in top half of screen, with interative shell on the
83 bottom
84    `--> but what about POV, should the user feel like the main characteR?
85 --> for sandbox style game: do we allow the user to `rm -rf /` or etc
86   `--> e.g. a MUD or MOO for the interface
87  
88
89 CHARACTERS:
90 Pericles (Perry)
91  - main character, in a relationship with Isis
92  - gets amnesia
93  #- he is forgetful, or rash & uncautious (tries things without thinking, doesn't
94  #  read error messages)
95  #- he focuses on himself rather than trying to get out (selfishness flaw) AKA
96  #  the adventure is in him learning to be "better" less selfish, w/e. The prison
97  #  will magically open whe he does. (See Thor)
98 Isis
99  - in a relationship with Perry
100  - untrusted character
101
102 {
103  BASH HISTORY
104  girl that he doesn't trust, but that he finds -- she needs him for $THING, and he has no other choice really
105  thing of momento
106  -- he's blacked out with a dead guy next to him, girl runs in and grabs him "Let's go!"
107  -- she can explain the computer stuff to him, if he doesn't know it.
108
109 act ii:
110 1 - perry wakes up, bump on head, can't remember who he is, what he's doing, last 24 hrs, etc (amnesia)
111 2 - Isis shakes him awake, "we need to move"
112 3 - unconscious guy on floor, has briefcase with laptop on it
113 4 - dark room, conrete, one door, no windows ("interrogation room")
114 5 - 
115
116 -- They must split up to find things -- communicate remotely with a cell phone, because Isis still is the only one who knows how to do things
117    they must find control room -- aka root of the filesystem
118 -- Isis will be a ROBOT!!!
119 -- Perry and Isis find a map in a room, with a pictorial representation of the
120    filesystem -- remove bad guys in the form of files, etc
121
122 Feels like the Borne Identity right now (or another movie "Date Night"?, "The Other Guys", "True Lies", "Burn After Reading")
123 `- Perry and Isis are innocents who are there by mistake
124  - they could be in a relationship, fighting, but Perry will not bring out the fights until he becomes himself again
125  - Perry can be confused "why do you treat me like this?"
126  - their relationship isn't good, but the amnesia gives Perry a second chance -- this gives us the story arc
127   - think A and B stories (A is mystery of why they are there, B is Perry and Isis' relationship)
128
129 Isis needs to: 
130
131 -- Isis was frustrated, and accidentally knocks both of them out (but not really an accident)
132   - she will have to admit to it later, while being evasive about it
133   - this can be the all is lost moment, when she tells him
134
135 Antagonist that is greater:
136  - "The Organization" with the interrogration room, conspiracyish, not the government
137  - maybe Isis is a double agent, and Perry is a regular agent, or reversed (which will make Isis more mad at Perry)
138
139  - getaway in a car with Isis driving, Perry needs to investigate -- Isis will dictate commands, because Perry has forgotten
140  - really motivates dictating the student-teacher mode for learning the commands "hey, hit the up arrow"
141 }
142
143 SETTING:
144 City, non-descript office building.
145 In a dimly lit room with a mattress, a chair, a desk, and a small computer
146 (powered on). There are no windows, and the only door is locked from the
147 outside.
148  - the door can have a combo lock on the inside, suggesting an easy escape
149
150 PLOT:
151 Perry and Isis are fighting, their relationship is near breaking point.
152 Something about their personalities conflicts?
153 Pericles wakes up but can't remember who he is, what he did last night, or
154 where he is.
155  - look for clues in /tmp, because everyone can write to it
156  - a file called door_lock, once deleted, unlocked the door
157  - Pericles feels like his is missing something?
158   - has to save the world
159   - has to save $ROMANTIC_INTEREST
160   - some sense of urgency
161
162 * ACT I (setting up flaws, then call to action)
163  - Perry and Isis are on their way to an anonymous looking office building,
164    arguing about $THINGS to meet with a business contact to sell some aerospace
165    software.
166   - what is the business deal, why where they there?
167  - wait in the lobby, Isis does some advanced command-line stuff on the laptop.
168    She is obviously becoming angry with Perry
169  - Go into the basement to meet their contact, he's sketchy. It turns out that
170    he's working for $BADGUYS (mob, foreign state, etc)
171  - argument breaks out and Isis swings for contact, knocks him out, but
172    accidentally knocks out Perry as well. Contact knew something Isis, which
173    started the conflict, prompting Isis to attack
174 * ACT II (gets turned upside down)
175  - Perry wakes up, bump on head, suffers from amnesia, doesn't know who he is,
176    who anyone in the room is, or why
177  - Isis urges him that they must leave quickly
178  - run out past the front desk, receptionist yells at them.
179  - they get to their car, but others are in pursuit
180  - Isis is very nice and sympathetic to Perry, an obvious contrast to earlier
181  - they get in the car, and begin the lesson to Perry with Isis dictating
182 * ACT III
183  - loose everything due to Perry regaining a conscious, so he'll throw away the
184    business deal, so they loose that.
185  - all is lost, Pericles finds something in the files that makes him suspicious
186    of Isis. Arguments are restarted
187  - But Perry has discovered something new that lets him overcome the
188    problems???
189
190 ---
191 contiue to flesh out the story
192  - characteristics of characters, personality and flaws.
193  - this will make writing the dialogue and scenes very easy
194  - can also integrate the bash lessons now
195  - try writing some dialogue, e.g. act i as they head to the office building
196  - this should help drive how we want to presentation
197  (expect the dialogue to be hard, and to suck :P)
198  - see also Joseph Campbell, "A Fish Called Wanda"
199 ---
200
201 --> perry lets Isis walk all over him
202 --> Isis is underhanded, passive-aggressive
203 --> they have a bowling ball -- Perry just wants to go bowling after the meeting
204
205 Brainstorming:
206
207 ISIS:
208 - passive agressive
209 - underhanded
210 - dominant
211 - professional
212 - may have a good physical relationship with Perry
213 - Perry had $ that she needs?
214 - she coaches
215 - she cuts off Perry when he talks (in the meeting), finishes his sentences
216 - has impatience
217 - is manipulative
218 - has a plan
219 - she knows enough to be dangerous
220
221 PERRY:
222 - stubborn
223 - controlling
224 - maybe not as bright
225 - proud
226 - highschool educated
227 - street smart
228 - self taught
229 - the muscle of the operation
230 - but good guy underneath it all
231 - more reluctant
232 - Isis walks all over him
233 - Doesn't stand up for himself
234 - forgetful
235 - unattentive
236 - upspeak
237 - simple needs, easily pleased (wants to go bowling)
238
239 I, P get out of car in alley, start walking
240
241 I: Alright Perry, I found this guy on Kijiji, he says he's got a defence
242    contract with the government and is interested in our aerospace software.
243 P: I don't think we should do it, we should wait for a better buyer, try for a
244    higher price.
245 I: Perry... we've been over this already. We need the money.
246 P: I think we could get more if we shopped around a little. Why don't we go
247    straight to the government?
248 I: We can't!
249 P: Why not? I think we should.
250 I: It's too late, we're here.
251
252 Walk into non-descript office building. Receptionist instructs them to wait.
253 Isis pulls out laptop from briefcase.
254
255 I: Oops, there is something I forgot to do.
256
257 Isis runs some commands that we can see, users might not understand, but they
258 are clearly doing something sketchy. `grep -i accounting files.txt | rm` or w/e
259 then puts laptop away as man in business suit comes to get them. They go down to
260 a windowless room in the basement of the building.
261
262 # Isis either prompts Perry before the meeting or frequently cuts him off while he's
263 # speaking.
264 #
265
266 S: Hello, I'm Mr. Smith.
267 P: You aren't offering enough. This is very excellent software, it is worth more
268    money.
269 I: Perry, please let me handle this. Mr. Smith: we are willing to sell you our
270    software under a restricted license. We would keep the rights to the software
271    and the rights to sell to another party at any time of our choosing.
272 P: No
273 I: Perry be quiet!
274 S: I'm sorry, but those terms are not acceptable. My client wants full control.
275 I: Your client? I thought you had a government contract?
276 S: Not quite. I work for a very special organization that does private
277    defence.
278 P: You lied! We were expecting a government contract. We are going to take our
279    business elsewhere. Let's go Isis.
280
281 Mr. Smith grabs the briefcase.
282
283 S: We need this software, so we'll take it then if you won't sell it to us.
284
285 Perry stands up to try and stop Mr. Smith. Isis swings to hit Mr. Smith on the
286 head and accidentally also hits Perry.
287
288 I: Oops, sorry Perry...
289
290 END ACT I
291
292 Perry wakes up, sees a girl, another man unconscious on the floor, and a
293 briefcase on the table.
294
295 I: Are you OK?
296 P: Uhh, yeah, sure. Where am I?
297 I: Doesn't matter, we've got to go, take this, come on!
298
299 They leave the room quickly. The receptionist asks where Mr. Smith is, and when
300 they don't answer, calls security.
301
302 P: What's happening? Why are we running? What's in this briefcase?
303 I: Just get in the car, I'm driving. I don't think Mr. Smith was who he said he
304    was.
305 P: Who is Mr. Smith? Who am I for that matter?
306
307 Car starts, they pull out onto the main downtown freeway.
308
309 I: We need to clean up that laptop in case they catch up with us. It's no use
310    trying to sell the software if it's been stolen...
311 P: Uhh, Okay? What do I do with this thing?
312
313 Move into fully interactive shell where they deal with cleaning out the
314 laptop...
315
316 I: 
317 P: 
318 I: 
319 P: 
320 I: 
321 P: 
322 I: 
323 P: 
324 I: 
325 P: 
326 I: 
327
328 ---
329 Useful: backstory for each of the characters
330 - doesn't have to be explicity mentioned in the dialogue
331 - e.g. bowling, but for Perry there will more or less be a character makeover
332
333
334 -- then progress with the bash content, mixing it into the dialogue
335
336 END GOAL: we want to do a public presentation of this