Sunday, July 17, 2011

Notes to self: things learned

Things learned over the last two or three weeks (?? time flies):

UROP:
Op-amp filter design and optimization (picking resisters for gain values, differential amplifiers to boost range of ADC)
Piezos, transducers, FSRs, tiny light sensor SMDs
A bit of Rhino (boolean operations), more solidworks tricks (features: add and subtract)
Relearned the lasercutter, observed cutting of 1'' diameter clear cylindrical acrylic
Mold making and casting (Sil 325, 6, rubber)
Shopbot CNC to STL to Gcode -- for milling out wax mold

SMD soldering (zero resistors and tiny components!)
Circuit debugging (multimeter-ing ahoy and battery plug schematics)
AVR programming (avrdude, ISP cable, usbtiny programmer, ISP vs. serial, why the USB port fail on my netbook, codeblocks setup, ladyada tutorial), atmel datasheets, DDR ports pins pin-numbers

Code for America:
What makes a good API wrapper (auto-completion triggers are good, documentation is good),
Code coverage coverage.py, pep8, vi setup (nerdtree, Janus, other people's github dotfiles)
Github / git
Need to learn Jenkins for continuous coverage

Life:
EL wire (http://members.shaw.ca/ubik/thread/order.html, Jordan's "the best conductive thread everhttp://www.bekaert.com/en/Product%20Catalog/Products/B/Bekinox%20conductive%20fibre%20based%20-%20filament%20based%20products%20for%20anti-static%20textile%20applications.aspx -- 30 ohm/yard"), conductive thread resistances
RFID reader / card scanner costs, wireless setup costs
McMaster ordering, parts finding (robot marketplace, summary of surplus sites: http://www.nostalgickitscentral.com/info/parts.html, ebay is trustworthy), steel ordering (Turner Steel)
MIG welding
A bit of Eagle routing (simple 555 circuit), toner transfer ironing
PCB / flatbed epson printers (epson = piezoelectric printheads, http://en.wikipedia.org/wiki/Inkjet_printer)

Also, resolved to ask infinite questions! That way, when more girls show up at MITERS, I can answer their questions :) I have to live up to the title of a being junior now...

if (advantages == disadvantages)

I admit it. At MIT, sometimes I'm a miserable ungrateful human being who wishes I'd started learning programming when I was seven. 'cos everyone around me seems to have done so, gotten bored of it, and then picked up another field to master too between seven and eighteen. o__o

Then I ran across this:
http://learnpythonthehardway.org/book/advice.html
I've been programming for a very long time. So long that it's incredibly boring to me. At the time that I wrote this book, I knew about 20 programming languages and could learn new ones in about a day to a week depending on how weird they were. Eventually though this just became boring and couldn't hold my interest anymore.  
So, on other days, I remember to be glad that I have so much to learn and so many people around me to teach me. Because programming, for me and for now, remains a wondrous activity that I've sought to learn how to do for years and still don't really believe I know how.

That, I know, is a problem with my attitude. I'll always think there's more to something than there might actually be, because I've decided to worship the acquisition of some skills. Programming, the mill/lathe/lasercutter/waterjet, simply being knowledgeable... Wah, why is there so much stuff to learn?

In other news, at Code for America, we did rails training [edit: I first wrote this post 6/28/11]. The impression of ruby+rails I got was:
"RVM Synaptic apt-get wait the internet hold on let's try gem install"
"oh now gems won't work because I have a semi-right version of ruby but not gems"
"uh...
*terminal freezes for 30 seconds with no indication anything happened after I hit enter*
...yay UI fail"

Code code code. Feeling a bit overworked as I try to finagle my "it's summer" brain into working on my Media Lab UROP (mostly me learning electronics), code on Code for America work (which I admit is hard to do alone, and not nearly as fun as when I was at the office and everyone was chilling out and working with each other and I could feel not guilty about pestering everyone with questions), and working on My Own Projects. Due to aforementioned balancing act, I'm constantly swinging between "oh it's hopeless, why don't I know anything / why am I so behind" despair and "ahhhh this stuff is due" frenzied work.

Mmm... My Own Projects. Like cloning the hexabot Instructables. I love the feel of electric vehicles... so much quiet power. <3