Skip to content

Instantly share code, notes, and snippets.

View remixz's full-sized avatar
🌊

Zach Bruggeman remixz

🌊
View GitHub Profile
@remixz
remixz / script.babel
Created January 27, 2023 22:44
Voronoi Triangles Paradox
const colors = [
"#f2dfd8",
"#f6e3dd",
"#f7e6df",
"#f9e8e1",
"#fae8e4",
"#fae9e2",
"#f8e5d7",
"#fae8dc",
"#fcebe1",
@remixz
remixz / GHCATS.md
Last active March 25, 2020 16:10
GitHub for Cats

Full version out! http://zachbruggeman.me/github-for-cats/

GitHub For Cats

Because cats just wanna have forks.

Introduction:

If you’re a cat, you probably haven’t heard of GitHub. Maybe your human companion has, but they don’t really know how to explain it to you. (Which, as a cat, is extremely frustrating.) GitHub is a website that allows content creators, whether it be via programming, blogging, or issue-reporting, to collaborate together and to learn from each other. It’s powered by a “distributed version control system” called git. A “distributed version control system” sounds pretty complicated, but it really isn’t. What it really means is that lets you, a cat, manage all of the stuff you have made (like maybe some JavaScript?) in one place, and be able to go back in time to see what you did before. It also lets other cats (or maybe humans) see what you’ve done, and help you out with it. This guide will get you introduced to the world of git and GitHub, and it might even

@remixz
remixz / oldyoutube.user.js
Created December 7, 2012 03:29
Old YouTube layout userscript
// ==UserScript==
// @name Old YouTube view pages
// @version 1.0
// @description Brings back centered YouTube videos and removes guide and crew.
// @include http*://www.youtube.com/watch?*
// ==/UserScript==
(function() {
document.getElementsByTagName('body')[0].className = document.getElementsByTagName('body')[0].className.replace(/(?:^|\s)site-left-aligned(?!\S)/g , '');
document.getElementById('guide-container').parentNode.removeChild(document.getElementById('guide-container'));
@remixz
remixz / index.js
Created August 12, 2016 17:29
requirebin sketch
const Component = require('peaceful')
const bel = require('bel')
class Hello extends Component {
constructor (props = { thing: 'world' }) {
super(props)
this.state = {
thing: this.props.thing.charAt(0).toUpperCase() + this.props.thing.slice(1)
}
}
@remixz
remixz / curriculumPlan.md
Last active March 14, 2016 20:18
curriculum

Curriculum Plan

note: this assumes that many clubs can only meet once a week. for clubs that decide to meet twice a week, this can be modified to introduce extra hacking time, or to combine a couple of the easier weeks into one.

week 0 - "introduction"

intro, discover member interests, get leaders started, introducing the workshops and "schedule" and stuff

we'll be providing a strict structure for this, so that these first-time leaders can feel confident doing this first meeting. this'll provide a nice confidence boost for the leaders.

Text Adventure 1: Twine

Welcome! Over the course of the next 3 workshops, you'll be creating your very own text adventure. You'll be starting here, by using a text adventure framework called Twine. It uses an easy-to-follow interface to lay out your story, but you'll also be using some very basic functions called "macros," which we'll be discussing later. Here's an example of what you'll have created by the end of this workshop.

A text adventure is like any sort of adventure game today, but everything is described through, as the name suggests, text. These were popular in the early days of computing, before every computer had the power to render "complex" graphics, even though many early graphics were only pixel art! Because they are simple in this way, they're a great platform for us to target when starting out. However, just because they only display text doesn't mean they can't be complex in their own rights. Here are some examples of very complex text

Week 3.5 - Your Personal Website

Howdy! For the past few weeks, you've been exploring what computer science can do, and experimenting with a variety of different concepts. Now, we're going to do something a bit different: We're going to create our own personal website from scratch. Don't worry! It's not as scary as it sounds. In fact, it doesn't really sound that scary... a personal website actually sounds pretty friendly. Maybe if we put something frightening on it... okay, let's not get ahead of ourselves. Onwards!

Before you begin, you'll need a GitHub and Cloud9 account, which you likely set up in your first week. If you don't have these accounts set up yet, then follow this tutorial on how to set them up.

Creating your personal website file

In the past few weeks, we created folders for our different experiments, so that we could keep them nicely contained. However, for this workshop, we're going to create a file in the main folder of the workspace, otherwise known as the "root folder." Th

Text Adventure - Step 1: Twine

(need better title)

Welcome! Over the course of the next 3 workshops, you'll be creating your very own text adventure. You'll be starting here, by using a text adventure framework called Twine. It uses an easy-to-follow interface to lay out your story, but you'll also be using some very basic functions called "macros," which we'll be discussing later. Here's an example of what you'll have created by the end of this workshop.

(^^^ add link to hosted example ^^^)

A text adventure is like any sort of adventure game today, but everything is described through, as the name suggests, text. These were popular in the early days of computing, before every computer had the power to render "complex" graphics, even though many early graphics were only pixel art! Because they are simple in this way, they're a great platform for us to target when starting out. However, just because they only display text doesn't mean they can't be complex in their own rights

twine

start: http://twinery.org/2

  • create new story, name it
  • add a sentence or two to first box, try dragging around
  • click test button at bottom right, should have sentence
  • create a new room by typing the name of the room like this: [[Name of room]]
  • notice new room appeared with arrow once editor has been exited, double click it, add new content
  • add link to old room, by typing in title of old room with double square brackets, will autocomplete

additional resources

if you're looking for some new things to try with your club, try out these tutorials. some may not be as in-depth as our workshops, but for people who have done our workshops, they shouldn't be too hard. phaser is the most in-depth in terms of resources, so that'll likely be the best one to try with beginners.

phaser game engine

start with http://phaser.io/tutorials/making-your-first-phaser-game/index to learn about the engine, and then look through http://phaser.io/learn/official-tutorials and http://phaser.io/learn/community-tutorials for more tutorials and ideas for games. for even more examples, look at http://phaser.io/examples. the api documentation is here: http://phaser.io/docs first tutorial is super basic, and requires very little JS knowledge to understand. if a student's done any of the game workshops already, they're totally set.

with the first tutorial, you should create a new c9 workspace, and enter https://github.com/photonstorm/phaser.git into the clone URL box.