Skip to content

Instantly share code, notes, and snippets.

@mbburch
mbburch / How do you Lead? Using your Strengths, and Knowing your Challenges.markdown
Last active August 29, 2015 14:28
A lightning talk on NOLS No-Doze Leadership Styles

Setup

Make connections and start thinking about leadership:

  • What roles you tend to fill in groups
  • What you do when things get hard
  • Your decision making process
  • What you value in others and what drives you crazy

#Why

@mbburch
mbburch / Data for Good.markdown
Last active October 20, 2015 02:20
Smart Cities, Data, Civic Tech, and the IoT
  • Don't worry... I'll shrink it down. Got too excited about just researching, so I'll focus it more.

Purpose and Background

  • I started thinking about this talk as a way for me to look into how technology is connected to other things I'm passionate about in my life. I was curious about places that are using data for the good of communities and the public, and I started to think about how it can guide the kind of work I hope to do eventually.
  • I'll focus on some interesting points about smart cities and civic tech.

Look into some definitions:

Smart Cities:

Evaluators: Mimi Schatz, Adam Jensen, Mary Beth Burch

Evaluated Project URL:

Strengths:

  • Admin dashboard is super clean and easy to read.
  • Straightforward navigation and easy to find info with the graphs and progress bars throughout.
  • Nothing extra on pages, even though there is lots of info. There were no places where we were unsure of what to do.

Array Prototype Methods

I understand that functions in JavaScript can take any number of arguments. 3

I can describe the similarity between blocks in Ruby and anonymous functions in JavaScript. 2

Where are the methods available to all arrays (e.g. forEach, map, etc.) defined? Array.prototype

I can explain the difference between function declarations and function expressions. 3

I can explain what the value of this is in a normal function. 3

I can explain what the value of this is when called from the context of an object. 3

I can explain how to explicitly set the value of this in a function. 2

I can explain the difference between call and apply. 3

I can explain how the new keyword changes the way a function behaves. 2

I can explain the implicit steps that happen in my function when I use the new keyword. 2

I can explain the difference between an object's prototype and the prototype property on the constructor function. 2

I understand how to place method on a prototype.

Respond to this question in your fork: "What are some of the balances and trade offs between different sorting algoritms?"
Steve, did you make us watch this solely because they refer to "JerseyScript"??
- Lexicographical sort: if you just call sort on an array of numbers using js sort, (Array.prototype.sort), it doesn't sort by value but lexicographically. Computer doesn't know they are integers unless we tell it. Need to give (a, b) as args and return (a-b) for ascending sort.
-Important characteristics of sorting: stability, runtime analysis, implementation
-stable sort maintains relative order with items that are equal
-runtime analysis compares time and complexity of sorting algorithms. helps determine best sorting algorithm. Big O is worst case.
@mbburch
mbburch / sonic-pi.md
Last active December 11, 2015 13:50
Sonic Pi Student Led Session

Purpose/ Intro

  • Wanted to look at a fun tool that can be used in education. I stopped playing music a long time ago, and want to find ways to start playing around with it again. Know there are lots of musicians here.

Background: What is it?

  • Developed in 2012 by Sam Aaron at U. of Cambridge
  • A free live coding synth based on Ruby for everyone originally designed to support computing and music lessons within schools.
  • An open source programming environment originally designed to explore and teach programming concepts within schools through the process of creating new sounds.
  • Three core domains:
    • Art: express yourself and ask new questions of music and notation
  • Technology: explore questions related to liveness, time and concurrency in programming languages

Step One: Watch Writing Testable JavaScript - Rebecca Murphey from Full Frontal 2012 (award for worst conference name ever?)

Step Two: Fork this gist.

Step Three: Respond to this question in your fork: Consider the four responsibilities that Rebecca lists for client side code (hint: they're color coded). Respond below with your thoughts. Did any of the responsibilities that she lists surprise you? Do you feel like you mentally split your client side code in IdeaBox and other past projects into these responsibilities?

I had a few good takeaways from this, but it really wasn't that easy for me to separate what she was talking about into the four responsibilities. I don't feel like my IdeaBox in any way split this up, and I'd love to try refactoring it as a practice exercise. I think in Rails apps I had gotten to the point of splitting things up nicely in the models, views, and controllers, and this talk made some points that I could connect to that