Skip to content

Instantly share code, notes, and snippets.

View theotherzach's full-sized avatar

Zach Briggs theotherzach

View GitHub Profile
@theotherzach
theotherzach / article_template.rb
Created January 23, 2014 21:24
Context Arguments in Ruby
class ArticleTemplate
#TODO: Extract title and author into header method
#TODO: Extract body into its own method
#TODO: Don't hard-code text
def initialize
Prawn::Document.generate("tmp/production.pdf") do
text "The Prince", :align => :center, :size => 18
text "Niccolò Machiavelli", :align => :center, :size => 14
move_down 12
@theotherzach
theotherzach / A-Pen-by-Zach.markdown
Last active January 3, 2016 18:19
A Pen by Zach.

##Build a Browser Game With JavaScript

This workshop will cover modern JavaScript development practices through improving an existing browser game. Students will gain hands on experience with JavaScript testing, writing modular software, and building a thick client web app.

Technologies used will include Jasmine, Lineman, Rails, and Angular; but they do not define the workshop. Skills earned here are applicable to any Web project.

We aim to provide a comfortable environment where students can cultivate their passions rather than focusing on filling in the right answer.

Students can choose to focus on improving AI or implementing realtime multiplayer.

input = ARGF.read
lines = input.split("\n").select { |line|
!line.empty? && !line.include?("***")
}.map { |line|
{
gemname: line.split(" ").first,
version: line.split(" ").last.gsub(/[(|)]/, ""),
}
}

##No More Snowflakes

Abstract

Top Talent, Rockstars, A-Players. Tradition states that these are exceptional humans, possessing talents that others do not. The good news is they are not special, they were not born into success.

The better news is that you're not special either.

This talk is about learning to learn, putting ourselves in a place where being more awesome is inevitable. It will explore how the brain's structure changes as we internalize skills and how that can be used to build positive feedback loops. It talks about how I believe that focus itself is an acquired skill and how we can nurture that to build more grit. Finally, we explore how our perception of others effects their ability to grow.

##You Can't Take the Browser From Me

####Core

  • Learn JavaScript fundamentals to make your existing Rails App better.

####Doodling

#####Denial

#The JavaScript Developer’s Playbook

Writing production quality JavaScript is hard, but it's not impossible. This talk looks at the patterns, tools, libraries and workflows that Test Double uses to be successful with this challenging language in the browser. I talk about the pain we've felt from mistakes we've made and how that informed Lineman.js, our build tool.

We'll cover when it's a good idea to isolate the frontend code and how to do that. I'll talk about stubbing API calls so that frontend workflow can be free of server side concerns. Finally, we'll cover the testing libraries and tools that Test Double uses to keep code sane.

###Outline

####Who We Are

  • Why they should give a crap (presentation)
    • What Node isn't
    • Killer use cases
      • Live
      • Tooling
  • Pair people up - exp with Node/ TDD/ JS
  • Intro to Node
  • File system loop
  • Basic HTTP server
  • Intro to tests (presentation)

This tutorial is designed to give backend developers a place to put Angular to work for them, today. It starts with a hypothetical site which has table of records rendered server side. The tutorial gently guides the reader through moving the rendering from the server and to the client with Angular and uses the momentum from that to add two new features:

  • Sort table by column
  • Filter table by input field

The Server Side Start

This is the server side template which renders a collection of songs.

No More Snowflakes

####Core Concepts

  • You're not special
  • Belief in our own fixed attributes slows growth
  • Belief in others' fixed attributes sours teams and slows their growth

####Potential Themes