-*.html
-*.pdf
-*~
-*.jpg
-*.mp4
-*.png
-*.gz
-*.zip
-*.net
-*.stl
-*.gcode
-*.x3g
-*~
-*.000
-*.bak
-*.bck
-*-bak
-*.dcm
-*.drl
-*.g??
-*.jpg
-*.net
-*.ps
-*.pdf
-*.svg
-*.zip
-?savepcb.brd
-$*.sch
-avrdude*
-rev_b_old
-downloads/
-*.orig
-*.amf
-build-uno/
+++ /dev/null
-# Site settings
-title: challenge-bot
-email: ozzloy@gmail.com
-description: > # this means to ignore newlines until "baseurl:"
- Learn to make your first robot! For professionals, students, kids --
- anyone who has never made a robot but wants to. The goal of this
- class is to *empower* you to modify, create, and explore robotics
- *on your own*, even after the class is over. Hundreds of students
- have successfully built their first robot in this class.
-baseurl: "" # the subpath of your site, e.g. /blog/
-url: "http://challenge-bot.com" # the base hostname & protocol for your site
-
-# Build settings
-markdown: kramdown
+++ /dev/null
-/**
- * Reset some basic elements
- */
-body, h1, h2, h3, h4, h5, h6,
-p, blockquote, pre, hr,
-dl, dd, ol, ul, figure {
- margin: 0;
- padding: 0;
-}
-
-
-
-/**
- * Basic styling
- */
-body {
- font-family: $base-font-family;
- font-size: $base-font-size;
- line-height: $base-line-height;
- font-weight: 300;
- color: $text-color;
- background-color: $background-color;
- -webkit-text-size-adjust: 100%;
-}
-
-
-
-/**
- * Set `margin-bottom` to maintain vertical rhythm
- */
-h1, h2, h3, h4, h5, h6,
-p, blockquote, pre,
-ul, ol, dl, figure,
-%vertical-rhythm {
- margin-bottom: $spacing-unit / 2;
-}
-
-
-
-/**
- * Images
- */
-img {
- max-width: 100%;
- vertical-align: middle;
-}
-
-
-
-/**
- * Figures
- */
-figure > img {
- display: block;
-}
-
-figcaption {
- font-size: $small-font-size;
-}
-
-
-
-/**
- * Lists
- */
-ul, ol {
- margin-left: $spacing-unit;
-}
-
-li {
- > ul,
- > ol {
- margin-bottom: 0;
- }
-}
-
-
-
-/**
- * Headings
- */
-h1, h2, h3, h4, h5, h6 {
- font-weight: 300;
- font-family: $special-font;
-}
-
-strong {
- font-weight: 800;
-}
-
-h1 {
- color: darken($brand-color, 20%);
-}
-
-h2 {
- color: darken($brand-color, 15%);
-}
-
-h3 {
- color: darken($brand-color, 10%);
-}
-
-
-
-/**
- * Links
- */
-a {
- color: $brand-color;
- font-family: $special-font;
- text-decoration: underline;
-
- /*&:visited {
- color: darken($brand-color, 15%);
- }*/
-
- &:hover {
- color: lighten($brand-color, 15%);
- text-decoration: none;
- }
-}
-
-
-
-/**
- * Blockquotes
- */
-blockquote {
- color: $grey-color;
- border-left: 4px solid $grey-color-light;
- padding-left: $spacing-unit / 2;
- font-size: 18px;
- letter-spacing: -1px;
- font-style: italic;
-
- > :last-child {
- margin-bottom: 0;
- }
-}
-
-
-
-/**
- * Code formatting
- */
-pre,
-code {
- font-size: 15px;
- border: 1px solid $grey-color-light;
- border-radius: 3px;
- background-color: #eef;
-}
-
-code {
- padding: 1px 5px;
-}
-
-pre {
- padding: 8px 12px;
- overflow-x: scroll;
-
- > code {
- border: 0;
- padding-right: 0;
- padding-left: 0;
- }
-}
-
-
-
-/**
- * Wrapper
- */
-.wrapper {
- max-width: -webkit-calc(800px - (#{$spacing-unit} * 2));
- max-width: calc(800px - (#{$spacing-unit} * 2));
- margin-right: auto;
- margin-left: auto;
- padding-right: $spacing-unit;
- padding-left: $spacing-unit;
- @extend %clearfix;
-
- @include media-query($on-laptop) {
- max-width: -webkit-calc(800px - (#{$spacing-unit}));
- max-width: calc(800px - (#{$spacing-unit}));
- padding-right: $spacing-unit / 2;
- padding-left: $spacing-unit / 2;
- }
-}
-.site-header {
- .wrapper {
- max-width: -webkit-calc(1000px - (#{$spacing-unit} * 2));
- max-width: calc(1000px - (#{$spacing-unit} * 2));
- margin-right: auto;
- margin-left: auto;
- padding-right: $spacing-unit;
- padding-left: $spacing-unit;
- @extend %clearfix;
-
- @include media-query($on-laptop) {
- max-width: -webkit-calc(800px - (#{$spacing-unit}));
- max-width: calc(800px - (#{$spacing-unit}));
- padding-right: $spacing-unit / 2;
- padding-left: $spacing-unit / 2;
- }
- }
-}
-
-
-
-/**
- * Clearfix
- */
-%clearfix {
-
- &:after {
- content: "";
- display: table;
- clear: both;
- }
-}
-
-
-
-/**
- * Icons
- */
-.icon {
-
- > svg {
- display: inline-block;
- width: 16px;
- height: 16px;
- vertical-align: middle;
-
- path {
- fill: $grey-color;
- }
- }
-}
+++ /dev/null
-/**
- * Site header
- */
-.site-header {
- border-top: 5px solid $grey-color-dark;
- border-bottom: 1px solid $grey-color-light;
- min-height: 56px;
-
- // Positioning context for the mobile navigation icon
- position: relative;
-}
-
-.site-title {
- font-size: 26px;
- line-height: 56px;
- letter-spacing: -1px;
- margin-bottom: 0;
- float: left;
- margin-right: 20px;
-
- /*&,
- &:visited {
- color: $grey-color-dark;
- }*/
-}
-
-.site-nav {
- float: right;
- line-height: 56px;
-
- .menu-icon {
- display: none;
- }
-
- .page-link {
- /*color: $text-color;*/
- line-height: $base-line-height;
- font-size: 1.5*$base-font-size;
-
- // Gaps between nav items, but not on the first one
- &:not(:first-child) {
- margin-left: 20px;
- }
- }
-
- @include media-query($on-palm) {
- position: absolute;
- top: 9px;
- right: 30px;
- background-color: $background-color;
- border: 1px solid $grey-color-light;
- border-radius: 5px;
- text-align: right;
-
- .menu-icon {
- display: block;
- float: right;
- width: 36px;
- height: 26px;
- line-height: 0;
- padding-top: 10px;
- text-align: center;
-
- > svg {
- width: 18px;
- height: 15px;
-
- path {
- fill: $grey-color-dark;
- }
- }
- }
-
- .trigger {
- clear: both;
- display: none;
- }
-
- &:hover .trigger {
- display: block;
- padding-bottom: 5px;
- }
-
- .page-link {
- display: block;
- padding: 5px 10px;
- }
- }
-}
-
-
-
-/**
- * Site footer
- */
-.site-footer {
- border-top: 1px solid $grey-color-light;
- padding: $spacing-unit 0;
-}
-
-.footer-heading {
- font-size: 18px;
- margin-bottom: $spacing-unit / 2;
-}
-
-.contact-list,
-.social-media-list {
- list-style: none;
- margin-left: 0;
-}
-
-.footer-col-wrapper {
- font-size: 15px;
- color: $grey-color;
- margin-left: -$spacing-unit / 2;
- @extend %clearfix;
- .text {
- font-size: 0.95*$base-font-size;
- }
-}
-
-.footer-col {
- float: left;
- margin-bottom: $spacing-unit / 2;
- padding-left: $spacing-unit / 2;
-}
-
-.footer-col-1 {
- width: -webkit-calc(35% - (#{$spacing-unit} / 2));
- width: calc(35% - (#{$spacing-unit} / 2));
-}
-
-.footer-col-2 {
- width: -webkit-calc(20% - (#{$spacing-unit} / 2));
- width: calc(20% - (#{$spacing-unit} / 2));
-}
-
-.footer-col-3 {
- width: -webkit-calc(45% - (#{$spacing-unit} / 2));
- width: calc(45% - (#{$spacing-unit} / 2));
-}
-
-@include media-query($on-laptop) {
- .footer-col-1,
- .footer-col-2 {
- width: -webkit-calc(50% - (#{$spacing-unit} / 2));
- width: calc(50% - (#{$spacing-unit} / 2));
- }
-
- .footer-col-3 {
- width: -webkit-calc(100% - (#{$spacing-unit} / 2));
- width: calc(100% - (#{$spacing-unit} / 2));
- }
-}
-
-@include media-query($on-palm) {
- .footer-col {
- float: none;
- width: -webkit-calc(100% - (#{$spacing-unit} / 2));
- width: calc(100% - (#{$spacing-unit} / 2));
- }
-}
-
-
-
-/**
- * Page content
- */
-.page-content {
- padding: $spacing-unit 0;
-}
-
-.page-heading {
- font-size: 20px;
-}
-
-.post-list {
- margin-left: 0;
- list-style: none;
-
- > li {
- margin-bottom: $spacing-unit;
- }
-}
-
-.post-meta {
- font-size: $small-font-size;
- color: $grey-color;
-}
-
-.post-link {
- display: block;
- font-size: 24px;
-}
-
-
-
-/**
- * Posts
- */
-.post-header {
- margin-bottom: $spacing-unit;
-}
-
-.post-title {
- font-size: 42px;
- letter-spacing: -1px;
- line-height: 1;
-
- @include media-query($on-laptop) {
- font-size: 36px;
- }
-}
-
-.post-content {
- margin-bottom: $spacing-unit;
-
- h2 {
- font-size: 32px;
-
- @include media-query($on-laptop) {
- font-size: 28px;
- }
- }
-
- h3 {
- font-size: 26px;
-
- @include media-query($on-laptop) {
- font-size: 22px;
- }
- }
-
- h4 {
- font-size: 20px;
-
- @include media-query($on-laptop) {
- font-size: 18px;
- }
- }
-}
+++ /dev/null
-/**
- * Syntax highlighting styles
- */
-.highlight {
- background: #fff;
- @extend %vertical-rhythm;
-
- .c { color: #998; font-style: italic } // Comment
- .err { color: #a61717; background-color: #e3d2d2 } // Error
- .k { font-weight: bold } // Keyword
- .o { font-weight: bold } // Operator
- .cm { color: #998; font-style: italic } // Comment.Multiline
- .cp { color: #999; font-weight: bold } // Comment.Preproc
- .c1 { color: #998; font-style: italic } // Comment.Single
- .cs { color: #999; font-weight: bold; font-style: italic } // Comment.Special
- .gd { color: #000; background-color: #fdd } // Generic.Deleted
- .gd .x { color: #000; background-color: #faa } // Generic.Deleted.Specific
- .ge { font-style: italic } // Generic.Emph
- .gr { color: #a00 } // Generic.Error
- .gh { color: #999 } // Generic.Heading
- .gi { color: #000; background-color: #dfd } // Generic.Inserted
- .gi .x { color: #000; background-color: #afa } // Generic.Inserted.Specific
- .go { color: #888 } // Generic.Output
- .gp { color: #555 } // Generic.Prompt
- .gs { font-weight: bold } // Generic.Strong
- .gu { color: #aaa } // Generic.Subheading
- .gt { color: #a00 } // Generic.Traceback
- .kc { font-weight: bold } // Keyword.Constant
- .kd { font-weight: bold } // Keyword.Declaration
- .kp { font-weight: bold } // Keyword.Pseudo
- .kr { font-weight: bold } // Keyword.Reserved
- .kt { color: #458; font-weight: bold } // Keyword.Type
- .m { color: #099 } // Literal.Number
- .s { color: #d14 } // Literal.String
- .na { color: #008080 } // Name.Attribute
- .nb { color: #0086B3 } // Name.Builtin
- .nc { color: #458; font-weight: bold } // Name.Class
- .no { color: #008080 } // Name.Constant
- .ni { color: #800080 } // Name.Entity
- .ne { color: #900; font-weight: bold } // Name.Exception
- .nf { color: #900; font-weight: bold } // Name.Function
- .nn { color: #555 } // Name.Namespace
- .nt { color: #000080 } // Name.Tag
- .nv { color: #008080 } // Name.Variable
- .ow { font-weight: bold } // Operator.Word
- .w { color: #bbb } // Text.Whitespace
- .mf { color: #099 } // Literal.Number.Float
- .mh { color: #099 } // Literal.Number.Hex
- .mi { color: #099 } // Literal.Number.Integer
- .mo { color: #099 } // Literal.Number.Oct
- .sb { color: #d14 } // Literal.String.Backtick
- .sc { color: #d14 } // Literal.String.Char
- .sd { color: #d14 } // Literal.String.Doc
- .s2 { color: #d14 } // Literal.String.Double
- .se { color: #d14 } // Literal.String.Escape
- .sh { color: #d14 } // Literal.String.Heredoc
- .si { color: #d14 } // Literal.String.Interpol
- .sx { color: #d14 } // Literal.String.Other
- .sr { color: #009926 } // Literal.String.Regex
- .s1 { color: #d14 } // Literal.String.Single
- .ss { color: #990073 } // Literal.String.Symbol
- .bp { color: #999 } // Name.Builtin.Pseudo
- .vc { color: #008080 } // Name.Variable.Class
- .vg { color: #008080 } // Name.Variable.Global
- .vi { color: #008080 } // Name.Variable.Instance
- .il { color: #099 } // Literal.Number.Integer.Long
-}
+++ /dev/null
----
-layout: default
-title: about
-permalink: /about/
----
-
-## What is challenge-bot?
-
-The [challenge-bot](http://goo.gl/fHGKyO) course is an 8-hour long
- course where we walk you through the process of building your own
- robot, which you will keep. The goal of this class is to teach you the
- basics of robotics, get you excited about making stuff, and empower you
- to go out and create new robotics projects on your own after the class.
-
-## Team
-
-### Daniel Watson
-
-<img class="person" alt="danny" src="/images/danny.png"/>
-
-Daniel simulated a self driving car in a massive online class a few
- years ago. Since then he has worked towards making this happen in the
- real world. Along the way, he has learned a great deal about
- electronics, and mechanics. He now has a very solid understanding of
- a very basic robot.
-
-He rock climbs, and makes robots.
-
-### Erin Bennett
-
-<img class="person" alt="erin" src="/images/erin.png"/>
-
-Erin learned to program in a Linguistics class, where she explored text
- corpora and drew pictures of finite state machines. A few years later
- while programming a remote-controlled robot, she implemented her first
- finite state machine. She was so happy, she made up a song about it.
-
-She enjoys spending her time juggling, sleeping, drawing, designing
- webpages, putting together robots, and making computational models of
- cognition and language.
-
-## Contact Us
-
-For more information or to sign up for classes, contact
- [Daniel Watson](mailto:ozzloy@gmail.com).
+++ /dev/null
----
-# Only the main Sass file needs front matter (the dashes are enough)
----
-@charset "utf-8";
-
-
-
-// Our variables
-$base-font-family: monospace;//Helvetica, Arial, sans-serif;
-$special-font: monospace;
-$base-font-size: 12px;
-$small-font-size: $base-font-size * 0.875;
-$base-line-height: 1.5;
-
-$spacing-unit: 30px;
-
-$text-color: #111;
-$background-color: #fdfdfd;
-$brand-color: #00CC00;
-$highlight-color: #00ff00;
-
-$grey-color: #828282;
-$grey-color-light: lighten($grey-color, 40%);
-$grey-color-dark: darken($grey-color, 25%);
-
-$on-palm: 999px;
-$on-laptop: 1000px;
-
-$h1-color: #267F26;
-$h2-color: #007F00;
-
-
-
-// Using media queries with like this:
-// @include media-query($palm) {
-// .wrapper {
-// padding-right: $spacing-unit / 2;
-// padding-left: $spacing-unit / 2;
-// }
-// }
-@mixin media-query($device) {
- @media screen and (max-width: $device) {
- @content;
- }
-}
-
-
-
-// Import partials from `sass_dir` (defaults to `_sass`)
-@import
- "base",
- "layout",
- "syntax-highlighting"
-;
-
-.main {
- width: 90%;
-}
-.person {
- width: 30%;
-}
-
-iframe {
- width: 560;
- height: 315;
-}
\ No newline at end of file
+++ /dev/null
----
-layout: default
----
-
-Sign up for the challenge-bot class by emailing
- [Daniel Watson](ozzloy@gmail.com)!
-
-<img alt="bunny2.svg" src="images/bunny2.svg" class="main"/>
+++ /dev/null
----
-title: source-code
-layout: default
----
-
-The source code for the challenge-bot is up on
- [gitorious](//gitorious.org/ozzloy/challenge-bot).
\ No newline at end of file
+++ /dev/null
----
-title: upcoming-classes
-layout: default
----
-
-Sign up for the challenge-bot class by emailing
- [Daniel Watson](mailto:ozzloy@gmail.com)!
-
-You can also sign up for
- [this Google group](https://groups.google.com/forum/#!forum/challenge-bot-announcements)
- to get announcements when new courses are added.
-
-## 2015
-
-**workshops**
-
-***entropi*** ([map](http://maps.google.com/maps?f=q&hl=en&q=1270+Lawrence+Station+Rd%2C+Suite+I%2C+Sunnyvale%2C+CA%2C+us)).
-
-### mechanical assembly: 2015-06-27 13:00 - 17:00 ([event page @ entropi](http://www.meetup.com/Entropi/events/223090743/))
-
-### wiring + software: 2015-06-28 13:00 - 17:00 ([event page @ entropi](http://www.meetup.com/Entropi/events/223091058/))
-
-***hacker dojo*** ([map](https://www.google.com/maps/place/599+Fairchild+Dr,+Mountain+View,+CA+94043)).
-
-### mechanical assembly: 2015-06-23 18:00 - 20:00 ([event page @ hacker dojo](http://events.hackerdojo.com/event/5241276265922560-challenge-bot))
-
-### wiring + software: 2015-06-26 18:00 - 20:00 ([event page @ hacker dojo](http://events.hackerdojo.com/event/6367176172765184-challenge-bot))
-
-**ongoing class**
-
- [learnika classes](http://learnika.com/)
-
-**summer camp**
-
- [elementary school](http://learnika.com/index.php/elementaryschool/challenge-bot)
-
- [middle school](http://learnika.com/index.php/middleschool/challenge-bot)
-
- [high school](http://learnika.com/index.php/highschool/challenge-bot)
+++ /dev/null
----
-title: videos
-layout: default
----
-
-# Videos!
-
-## challenge-bot in action
-
-<iframe src="//www.youtube.com/embed/qg5WpeSCRZY?list=PLLiYVIuIQg5IhiQzziHun8cUVaD0VHwhP" frameborder="0" allowfullscreen></iframe>
-
-The challenge-bot has two autonomous functions:
-
-1. follow-bot: keep a constant distance from something in front of it
-2. the tabletop challenge: wander around a table without falling off
-
-## instructions for building your challenge-bot
-
-<iframe src="//www.youtube.com/embed/Js6rk4XW_DU?list=PLLiYVIuIQg5L9JdJTJITYFqEnpDYlZaRn" frameborder="0" allowfullscreen></iframe>
-
-Here are instructions for putting together the kit (version 5df1ea8).
-
-The challenge-bot course will walk you through all of these steps.
+++ /dev/null
----
-layout: default
-title: how-to-prepare
----
-
-## How do I prepare for the challenge-bot class?
-
-We will use some software in the challenge-bot class:
-
-* [openSCAD](//www.openscad.org/downloads)
-* [fritzing](//fritzing.org/download/)
-* [arduino ide](//arduino.cc/en/Main/Software)
-
-You can install the software above ahead of time to save time in class,
- but we will have this available when you get there.
-
-## What should I bring to the challenge-bot class?
-
-Bring your laptop and that's it! Tools and materials are provided at
- the class.
-
-If you don't have a laptop, we might be able to let you borrow one. Just
- let us know when you contact us to sign up, and we'll try to help.