hacknyc intro / api intro stream of thought / liveblogging

 Saturday, March 24, 2:10 PM Hackny
http://hackerleague.org/hackathons/spring-2012-hackny-student-hackathon/wikipages/4f6e1d1e0e3c4d0001000045
http://hackerleague.org/hackathons/spring-2012-hackny-student-hackathon/wikipages/4f6e2fda74a9980001000010

office hours: node, js, api 101, python, ?__?

judged by awesomeness and nothing else

selected apis by vote and not sponsorship

Longtail — jwplayer (flash/html) — js api.
longtailvideo.com/demo
–embedded geodata. updates vwidgets on the side. -> api working better on ipad than on the desktop. O__o

jsfiddle.net/979bS

JSON. events: { onPlan: …} –> vs popcorn ?__?
bitsontherun -> iphone on th erun video integrat w/ longtail video
===
parse.ly, zach and emmitt
Dash for publishers (semantic content) –> google analytics + higher level for online publishers

API:
1. Extract: e.g. columbia professors -> identifies all the “entities” (topic or idea) -> marks it with tags
[REDACTED], POST w/ test and returns (5-10sec) url to check status (query for working/done). Returns text with
1. -> any page
[url REDACTED]

2. ~rich structured article data API?
json, jsonp (call directly from js/ajax), and xml outputs
2 -> for articles already indexed in parsely database

ideas:
entity swapping (rep vs dem), mad libs, historical reader

=> nyc startup ecosystem, full time student

===
nytimes api, Brad
developer.nytimes.com
17 APIs

throough documentation with preview w/ api request tool.
Facets: >40 facets (complex and robust APIs)
complex in general

~does not yet support jsonp
http://www.mashape.com/apis/NY%20Times
===
aviary.com erin and ari -> web api
photo editing toosl for you as the developer to integrate.
aviary.com/ios (sdk) -> very simple to use. crop, rotation, effects … want us to build next instapaper etc. Not intrusive (blended into app)

very quick integration, cross platform (web, ios , android)
www.aviary.com/webwww.aviary.com/code-generator (including a js w/ editor)
they will post to our app (and we decide how implement security)
www.aviary.com/ios
android: has sample app in ADK download
www.aviary.com/android-documentation
you choose tools available in app
api@aviary.com

===
movable ink.com
=> #hackny irc.freenode.net
put dynamic content into email (generate content that goes into email when opened). (crop tool to pull from website).
e.g. bottom of email: shows progress of selected donorchoose project. donorsig.com/capture
htrml5 support, streaming from site into email o___O (beta)

rest api prolly not needed. movableink.com/api/docs

===
4sq, aditya
very powerful, used even for own web client internally so you have almost as much power
very easy to setup and get going quickly = good choice for beginners

users, venues, tips
developer.foursquare.com/apishowcase or something
-> timehop ^__^
oauth, restful
also many libraries for almost any language ^__^ yay wrappers
===
ordr.in, felix (sp?), david
stupdendously easy way to add food ordering to hack (rich structured data to menu and can submit food delivery orders)
e.g. ordr.in/devleopers/restaurant
there are also utility apis around restaurant (saved user profiles, restaurant taxes, etc.)
restful, jsonrific
yep libraries

===
tumblr. dereck, john? bunting
blog.johnbunting.me/api

json console to mess with

ruby client

client.posts(“onetinyhand.com”, false. {:limit => 1})
“give me the first post on here”
client.posts(“onetinyhand.com”, false. {:tag => “kim jong il”})

will be open sourcing ruby client (not tested)

===
10gen, francescapasha, barriesegal
prezi ~
mongodb, nosql, document orientd, open source, schemaless DB
relational databases mostly in DB class.
docs nested in collections, great for working things out on the fly. eg hackathon.

rdbms (tradtl) vs mongo
table -> collection, row > document, column > field, index>index, join (takes a long time)>embed** (relations between difft collections, amke documents fster), can add as go.

create relationships between data

use mydb
var hackathon = “authoer”:”fra”, “title”: “hack”};
db.blog.save(hackathon);
db.blog.find();

_id –> autogenerated
db.blog.find({author: asf})
.fin().sort(….)
db.blog.update(P_id: post.id{ …….

query operators and update modifiers

db.blog.remove() (remove all objects)
db.blog.drop() (drop entire collection)

there is shell embedded in try.mongodb.org
tutroail, next, …. ….
api.mongodb.org (drivers for different langs. python on of the strongest) -> python OH knows some mongoDB

===
etsy API, christopher
800k active users / 13 mill active listeners
100+ countries
14k+ people to make living

cando:
search by color, listing info, put up listing, anything can do by web
can access own sales data (metricly!)

etsy.com/developers
-> create new app on the left, or documentation -> api ref

openapi.etsy.com/v2/listing/active?keywords-bike_valet&apikey=…….
&includes=Mainimage

etsyonsale
etsy-tv.heroku.com
wangsandneeds.me (twitter crawl)
scrollsy.com
codeascraft.etsy.com (blog)
@etsyapi
===
nodejitsu, charlie, paolo
(10+ people on irc often)
@indexzero, @hij
loves open source, node.js
anything community -> os
company/corporation -> our ip, proprietary

js low barrier to entry, sophisticated network

nodjitsu, public cloud ~__~ “jitsu” is public command line for deploying
develop.nodejitsu.com (deploy from web)

mongo or couch, … can choose database

smart snapshots (git tags -> tarballs) (yay rolling back producting bugs)
do not need git (do all version management for you)

github.com/nodejitsu
github.com/flatiron (after ny building) –> decoupled tools for logging, routing, … very convenient for getting started with

~node-chat, MIT license

clone, cd it.
node server/server.js (uses socket.io, allows realtime web porgramming)
localhost:3000
yay~~ talk to self on localhost…..

npm install jitsuyou should be donig it right now (npm = package manager for node

in that dir, jitsu deploy (reads package manifest) & need extra properties, which prompted for. (0.6.x) = latest version of js
hackny-chat.nodejitsu.com

gimmesomebeta.nodejitsu.com
hackny-chat.jit.su (soviet union)
===
ambassador’s email: s2012ambassadors hrm at hackNY.org
===
donorschoose NYC, oliver, cto
nonprofit, website where public school teachers push best ideas for schools they can’t afford, founded by public school teacher in teh bronx, does actually work (35 mill donations, delivered over 120 mill since inception, 6 mill students). yep, microfinance (real people donating small amounts)

garage developers on their own time will build things and make it moar awesome

~> naive about reaching out. at beginning, no one used it @__@
but now strategic asset

25 mill projects ~ yay long tail properties (topical and geographic diversity of proposals)

can query by location, zipcode, radiate out, or by latlong, point radius / boudning box,
classroom subject, e.g health and wellness
teachforamerica corps members
keyword search

returns:
subject area in
amount needed, teachers name, locale info, photo, short essay by teacher, can support transactions (talk offline), campaign level donations (impact statistics in real time)

~starbucks: w/ wifi: show nearest classroom project to where they are
~sonic: ask customers to pick projects they donate to
~chevron: based on where pumped gas, fund projects nearby
~amazon?: willing to buy one give one, classroom project which requst same thing
~ email sig: based on sender, choose which projects by sender’s whims (music, bronx)
~ running commitments for donations
~ 4sq mashup, recs by places visited in the past

and don’t care if we are the main focus or not, just build things awesome πŸ™‚

donorschoose.com -> play around w/ frontend search
api is essentially programmatic access to frontend
demo api key is full featured (no need to wait)

and has “prepaid” gift cards if we want to testdrive the donation process
===
samir yay at nextbigsound.com for api key
next big sound
analytics and insights for the music industry
premium products: dashboard to understand impact of key events on performance (key metrics)
methods: artist search, profiles, metrics

returns json, can query artist or

bookmarklet ->
api3.nextbigsound.com
===
~kickin?__?~ api not present ^__^

==
hackerleague page for listing!!!
ambassadors:
jared
48hrapps, hacklympics, boxxy?
john, tumblr, python, ruby, php, mysql, redis?, mongo…
rob specter, twilio, python, js, ruby
john 2?, cofounder of hackerolympics, 48hrapps
zach, parsely
aditya, 4sq, data science, not js (python, perl)
john goodwin – social data and analysis, cofounder of a company
dan from something, rby on rails,
===
5pm, oh, nodejs, dan rm201
6pm, api 101, rm102
5:30 rails
7pm python

demo on sunday -> make sure project on hackerleague

“you draw nyquist with d-contour?”

http://memegenerator.net/instance/16289003 

One of my classmates made this last week. ^__^

In 6.302 (Feedback Systems) we’re supposed to have learned nyquist stability criterion (which, by the way, results in some fairly weird-looking plots[1]), and they were on the test today.

Of course, I’m about three weeks behind the class and just learning about root locus XD oops. Spring break = time to catch up on classes ?__?

[1] e.g.

http://teal.gmu.edu/~gbeale/ece_421/hw_421_f00_15.html 

I submitted a doodle of nyancat as one of my quiz answers. Clearly, just as there is a “model a butterfly in solidworks” challenge created due to my ineptness, there should be a “create a feedback plot that looks the most like nyancat” challenge πŸ™‚

how do I machine shop [at MIT]?

sup dawg heard you’d like to machine things at MIT, here’s what’s up:

Step 1: Get inside the TARDIS

source

Step 2: Arrive in China

Step 3:  Make friends in China and tour factories

Okay I lie. this is actually a machine shop and not a factory, but here be precision prototypes ala Charles’s outsourced hubmotor casings made
Also, protip: if you ever do visit a factory, don’t be like me and pretend to be a factory worker and **** up all the parts while working 5x slower than everyone else >__<;;;

Step 5: profit!!!11!!


… …
Ehem.

Oh right. Sorry. I’m supposed to not fail 2.671 and graduate so I will start on MIT machine shops now.  First, I’ll overview the generally accessible shops, then I’ll go over waterjet / lasercutter access. In particular, I will address this as a major-neutral FAQ instead of a pictorial / virtual tour of machine shops around campus.

Q: How do I learn to machine?
A1: Edgerton shop training. 
Sign up for the Edgerton shop training waiting list right now. Seriously, right NOW. All you have to do is send a measly email and it takes upwards of a semester to get off the waiting list.

“The monthly training program is conducted in the evenings and consists of twelve hours of hands on instruction, showing the basics of milling and lathe work by making two small parts”

At the end you even get to take home this beauty which you created from stock rod and bar:

source

It’s also IMHO much more actually useful than your two weeks of 2.670 (which are more like “heyyy guys check out these tools at your disposal, j/k we set them up for you) or even 2.007 and 2.008 if you don’t take the initiative and swim counter-current, the shop guys (bless their hearts) will do a lot of the setup work for you in order to keep the class running smoothly (esp. toward the end of semester, when you know what you want to do but so does everyone else).

When I took 2.007 I contemplated taking advantage of my free time / their free time early in the semester, but was told they wouldn’t tolerate non-class projects “just to learn machining.” I now think that’s false, but it’s still nerve-wracking for someone like me to just go up to them, esp. since at the time I didn’t know what sort of beginner level projects I could try out just for fun, so I just ended up skulking around MITERS.
 
A2: Take “How to Make (Almost) Anything“. 
This is much more of a crapshoot, as it’s offered only 1x a year to 40 people (usu ~150 people apply). However, they actively try to create a “class” of different background each year: undergrads, grads, architecture, media lab, no “making” experience, machining experts, all have a chance of getting in.

For reference, this is the prof on CNN and at TEDtalks, and this is the class website as well as the subject listing.

Q: What shops are open to me to work on personal projects as an undergrad?

A: Hobby Shop, Edgerton, MITERS. 

It’s also an open secret that you can judiciously use your UROP shop access for personal projects; see later in this post for more info on UROP shops (the biggest ones are Media Lab’s and CSAIL’s). In addition, several dorms / some students have their own mini-machine shops.

  • Edgerton
    It’s right behind CSAIL. Entrance is to the right, under the external staircase.
    • Who it’s open to:
      • “The Edgerton Center Student Shop provides training in the use of machine tools, access to them, and guidance in project planning, to any current MIT student.”
    • Types of Projects: 
      • “Once you’ve completed the course, you’re free to use the shop whenever you want, whether it’s for a class project, a student group you’re working with, or your own fun idea” (src)
    • Safety: 
      • Either take the shop training class or test out of it and just take an hour-ish edgerton shop familiarization lecture
    • Hours: 
      • Open “business hours”, aka “9 to 5”-ish.
    • Cost: 
      • Free
    • Noteworthy Equipment: 
      • CNC mills and lathe
      • welding (mig, tig, stick)
    • Sometimes staffed by students
  • Hobby Shop
    Almost next door to the student center. Entrance 1: door under white box (right part of image)
    Entrance 2: door under white box (left part of image)
    • Who it’s open to:
      • “Membership to the Hobby Shop is open to MIT students, staff, faculty, retirees, alumni/ae, and their spouses”
      • “Today, the Hobby Shop provides a place for any MIT student, regardless of major or experience, to work with a wide range of well maintained machines and tools and to receive instruction, as well as practical design and building advice. 
      • “The Hobby Shop now offers its own classes” (mostly IAP ones around specific projects, I think)
    • Types of Projects:
      • “Projects can be academic or personal, serious or just for fun.” (src)
    • Safety:
      • Don’t really need machining experience (the instructors will help you when you have your project in mind), take the shop orientation and you’re set
    • Hours:
      • B
      • Business hours
    • Cost:
      • $30 / term (spring, summer, fall) or $75 / year
      • Noteworthy Equipment: 
        • More woodworking tools than anywhere else
        • CNC mill and lathe
        • Waterjet (membership + $2/minute)
        • Equipment List (with pictures even! very nicely done)
    • MITERS
      Same building complex as MIT Museum (across from Random / Shaw’s). Entrance 1: under white box (to left of yellow truck)
        Entrance 2: Under white box
      • Who it’s open to:
        • “We are a student group promoting making things for the fun it. We are MIT’s only student-run shop, and we do not receive funding from any MIT department.” (src)
        • Open to everyone, but especially MIT undergrads
      • Types of Projects:
        • “It’s a member-run creative haven and build-anything-you-want, if-you-break-it,-fix-it space.” (src)
        • Class projects, UROPs, and projects-just-for-fun all welcome, as long as you contribute back by keeping the shop clean and hanging out with us
      • Safety:
        • Edgerton shop training highly recommended
        • Only open when a keyholder (student who’s hung out a lot, i.e. know the quirks of MITERS’s equipment, and has taken Edgerton training) is there
      • Hours:
        • Whenever a keyholder is there, aka almost 24/7. Once you become a keyholder yourself, you can go whenever you want (though if you’re working w/ power tools, must have at least one other person with you).
          • When I took 6.131, lab closed at midnight and we’d all migrate to MITERS to pull an all-nighter
      • Cost:
        • Free (our budget comes from students like you volunteering on our behalf at Swapfest (src)
      • Noteworthy Equipment:
        • EE lab as well — components, power supplies, oscilloscopes, pcb etching
        • welding a possibility, email our list directly for more details
        • Manual lathe, numeric read-out (not CNC) mill
        • Equipment List (with pics)

    ~~~following WIP, to be fleshed out~~~
    Waterjet: media lab (24/7), CSAIL (24/7), architecture bldg10 4th floor (24/7 I think), 2.007, hobby shop … idk other shops (16?)

    • UROP or take classes @ media lab and sign up for their shop training right away (24/7 access)
    • UROP @ CSAIL and sign up for shop training right away (24/7 access)
    • course 4 major

    Lasercutter: media lab (24/7), CSAIL (24/7), architecture (24/7), 2.007?, commercial shop by 2 MIT alumni: danger!awesome right near Central T stop / Toscii’s, … idk other shops (16?)

    • urop / class @ media lab
    • urop @ csail
    • csail
    • be course 4 major
    Shopbot (giant CNC mill): media lab, possibly UROP w/ MIT Museum?
    Injection molding: yea right. take 2.008 and make friends with the shop guys?

    Vacuum forming: media lab (24/7), architecture (24/7), 2.008


    small CNC mill, milling / etching: roll your own for ~$200 with waterjet and scrap Al


    Stock: MIT central machine shop, McMaster-Carr, Turner Steel
    ee-ish: hobbyking, ebay, amazon surprisingly
    silicon molds / plastic / food-safesmooth-on
    through ECAT vendor for your UROP: digikey, mouser, jameco

    ~~~~~~
    Appendix, LMP

    The Manufacturing Lab in building 35 will be open for extended hours on Tuesday’s & Thursday’s from 5 – 8 PM for use as a trial period under the following criteria starting next Tuesday 2/28/12:

    • Students will need to meet with the technical instructor prior to starting any work and sign in & out on the evening sign in sheet.
    • There will be a maximum of 8 students allowed in the shop.
    • This time is for Mech E students only
    • Graduate Research and SB Thesis; UROP; and personal projects can be done during this time with priorities in that order.
    • No course work can be done during this time.
    • This time cannot be used for any non-MIT project, or for extramural consulting work.
    • Not all machinery will be available for use (IE: waterjet, injection molder, 5 axis mill).
    • Students are required to supply their own raw materials.
    • You can reserve a spot in advance by emailing bbuckley@mit.edu
    • Should you not show for a reserved spot you will not be able to reserve a spot in the future.
    • We will not be able to support and teams or clubs during this trial period but may be reviewed in the future.

    Mary Boyce, John Lienhard and Bill Buckley

    ~~~~~~
    Appendix, online resources
    no substitute for learning in person!
    http://www.machinistblog.com/mit-techtv-machine-shop-videos/
    http://electron.mit.edu/~gsteele/mirrors/www.nmis.org/EducationTraining/machineshop/outline.html
    ~~~~~~

    Conclusion

    X ALL THE THINGS - MACHINE ALL THE THINGS!
    ^___^