|
|
- <!DOCTYPE html>
- <html lang=en>
- <head>
- <meta charset="utf-8">
- <title>get you a shell</title>
- <link rel=stylesheet href="slides.css" />
- <link rel="alternate" type="application/atom+xml" title="changes" href="//p1k3.com/userland-book/feed.xml" />
- <script src="../js/jquery.js" type="text/javascript"></script>
- </head>
-
- <body>
-
- <section>
- <p style="font-size: 3em; margin-bottom: 0; text-align: center;">get you a shell</p>
- <pre class=noborder style="margin-left: auto; margin-right: auto; width: 50%;">
- \ ^__^
- \ (oo)\_______
- (__)\ )\/\
- ||----w |
- || ||
- </pre>
- </section>
- <section>
-
-
- <p>Last fall, I forgot my laptop at work, but I wanted to write something.</p>
-
- <p>And then I remembered that I had a Raspberry Pi sitting around.</p>
-
- <p>So I set it up and started writing things on it.</p>
-
- </section>
-
-
- <section>
-
-
- <p>And I got to thinking: This is just a stupid Linux computer without any graphics.</p>
-
- <p>There’s nothing here but the command line and some programs that do stuff to
- plain text files.</p>
-
- <p>And this is how I am happiest as a writer.</p>
-
- <p>Not as a <em>programmer</em>, or a <em>clever unix dork</em>, but as a <em>writer</em>.</p>
-
- </section>
-
-
- <section>
-
-
-
-
- <!-- exec -->
-
-
- <pre><code>$ cowthink I should write a book about this.
- ___________________________________
- ( I should write a book about this. )
- -----------------------------------
- o ^__^
- o (oo)\_______
- (__)\ )\/\
- ||----w |
- || ||
- </code></pre>
-
- <!-- end -->
-
-
- </section>
-
-
- <section>
-
-
- <p>So here’s my thesis:</p>
-
- <h1><a name=Unix-is-for-normal-humans href=#Unix-is-for-normal-humans></a> Unix is for normal humans.</h1>
-
- <p>Wizards are cool and all, but most of us aren’t wizards.</p>
-
- <p>Most of us are just bumbling through life.</p>
-
- <p>A lot of us like to make stuff anyway.</p>
-
- <p>Unix is for that.</p>
-
- </section>
-
-
- <section>
-
-
- <h1><a name=cool-story-bro href=#cool-story-bro></a> cool story bro</h1>
-
- <h1><a name=wtf-is-unix href=#wtf-is-unix></a> wtf is unix?</h1>
-
- </section>
-
-
- <section>
-
-
-
-
- <!-- jurassic park -->
-
-
- <p style="text-align:center;"> <img src="../images/jp_unix.jpg"></p>
-
- </section>
-
-
- <section>
-
-
- <p>…except what classical Unix really looks like is this:</p>
-
- <p style="text-align:center;"> <img src="../images/blinking.gif" width="700"></p>
-
- </section>
-
-
- <section>
-
-
- <p>And a lot of the time, modern Unix-like systems look like this:</p>
-
- <p style="text-align:center;"> <img src="../images/debian.png"></p>
-
- <p>…which isn’t actually that unfamiliar, right?</p>
-
- </section>
-
-
- <section>
-
-
- <ul>
- <li><p>At SparkFun, we do a lot of stuff over serial.</p></li>
- <li><p>Once upon a time, most of the interfaces to Really Serious Computers – the
- ones at universities and in government – worked like debugging Arduino
- code over a serial port.</p></li>
- <li><p>The computer prints stuff, you type stuff to the computer, the computer
- prints stuff. It’s just text in a box.</p></li>
- <li><p>Even once we got PCs in our houses, a lot of the interfaces shared this
- heritage. Remember DOS? Ever have to fire up cmd.exe on Windows?</p></li>
- </ul>
-
-
- </section>
-
-
- <section>
-
-
- <p>In 2014, the Serious way you interact with Serious Computers – the ones that
- most of the internet runs on – is still through a text terminal.</p>
-
- <p>If you stop by my desk at work, my screen probably looks like this:</p>
-
- <p style="text-align:center;"> <img src=fake_desktop.png width=1200px></p>
-
- </section>
-
-
- <section>
-
-
- <p>But we’re not here to talk about Serious Computers.</p>
-
- <p>We’re here to talk about how the command line is for normal human beings.</p>
-
- </section>
-
-
- <section>
-
-
- <pre><code>YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK BUILDING.
- AROUND YOU IS A FOREST. A SMALL STREAM FLOWS OUT OF THE BUILDING AND
- DOWN A GULLY.
-
- > GO EAST
-
- YOU ARE INSIDE A BUILDING, A WELL HOUSE FOR A LARGE SPRING.
-
- THERE ARE SOME KEYS ON THE GROUND HERE.
-
- THERE IS A SHINY BRASS LAMP NEARBY.
-
- THERE IS FOOD HERE.
-
- THERE IS A BOTTLE OF WATER HERE.
- </code></pre>
-
- </section>
-
-
- <section>
-
-
- <p style="text-align:center;"> <img src="fuckit.jpeg" width=800></p>
-
- <p>Now is where Brennen goes to the shell and fumbles around in front of an
- audience.</p>
-
- </section>
-
-
- <section>
-
-
- <p>So that’s the shell. Want a shell?</p>
-
- <p>I will give you a shell <em>right now</em>. Talk to me.</p>
-
- <blockquote><p>https://p1k3.com/userland-book/</p>
-
- <p>http://squiggle.city/</p></blockquote>
-
- </section>
-
- <script>
- $(document).ready(function () {
- // ☜ ☝ ☞ ☟ ☆ ✠ ✡ ✢ ✣ ✤ ✥ ✦ ✧ ✩ ✪
-
- // get all the "slides", hide them
- $sections = $('section');
- $sections.hide();
-
- var section_number = 0;
- var $cur_section = $( $sections.get(section_number) );
- $cur_section.toggle(); // show first slide
-
- var transit = function (jump) {
- $('button').hide();
- $cur_section.hide();
- section_number += jump;
- if (section_number > ($sections.length - 1)) {
- section_number = 0;
- }
- $cur_section = $( $sections.get(section_number) );
- $cur_section.toggle({
- duration: 200,
- done: function () { $('button').show(); }
- });
- };
-
- var $fwd_button = $('<button class=clicker-button>next</button>');
- var $bwd_button = $('<button class=clicker-button>prev</button>');
-
- $fwd_button.click(function (e) {
- e.preventDefault();
- transit(1);
- });
- $bwd_button.click(function (e) {
- e.preventDefault();
- transit(-1);
- });
-
- $(document).keydown(function(e) {
- switch(e.which) {
- case 8: // backspace
- case 37: // left
- $bwd_button.click();
- break;
- case 32: // spacebar
- case 39: // right
- $fwd_button.click();
- break;
- case 90:
- toggleFullScreen();
- break;
- default:
- return;
- }
- e.preventDefault();
- });
-
- $button_group = $('<div class=buttons/>');
- $button_group.append($bwd_button);
- $button_group.append($fwd_button);
- $('body').append($button_group);
-
- var toggleFullScreen = function () {
- if (!document.fullscreenElement && // alternative standard method
- !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) { // current working methods
- if (document.documentElement.requestFullscreen) {
- document.documentElement.requestFullscreen();
- } else if (document.documentElement.msRequestFullscreen) {
- document.documentElement.msRequestFullscreen();
- } else if (document.documentElement.mozRequestFullScreen) {
- document.documentElement.mozRequestFullScreen();
- } else if (document.documentElement.webkitRequestFullscreen) {
- document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
- }
- } else {
- if (document.exitFullscreen) {
- document.exitFullscreen();
- } else if (document.msExitFullscreen) {
- document.msExitFullscreen();
- } else if (document.mozCancelFullScreen) {
- document.mozCancelFullScreen();
- } else if (document.webkitExitFullscreen) {
- document.webkitExitFullscreen();
- }
- }
- };
-
- });
- </script>
- </body>
- </html>
|