Thursday, December 8, 2011

Recording of Sal Khan's talk at MIT

http://techtv.mit.edu/videos/15484-rethinking-education---sal-khan-3-mit-degrees-85487485-lessons-delivered
'twas recorded! awesome talk, entertaining in its own right (Khan of Khan Academy came to give a talk at MIT) and he brings up some very interesting ideas about education and how to change it for the better.

Hmm, I seem to be doomed to make lots of terrible quality posts. I created orangenarwhals with the idea of spamming nouyang.blogspot lots but putting lengthy quality posts on orangenarwhals. Oops. Yea, anyway wandering over here, I update orangenarwhals.blogspot.com very frequently nowadays and this less so, since I've decided this will be a more "person thoughts on things" and that will be more "insane documentation of technical things".

Tuesday, November 1, 2011

Ubuntu 11.10 Chinese Handwriting Recognition

...still is not nearly as awesome as Windows. Ah well.

A paper on how the windows tablet recognition works (and it works eerily well). They had to collect a large sample set to train their machine learning algorithm (neural networks) with, though, so difficult to replicate with open-source.

Handwriting Recognition: Tablet PC Text Input (Sept. 2007)
10.1109/MC.2007.314

  • http://chico.inf-cr.uclm.es/aimolina/IPO1/ACTIVIDADES%20ENTREGABLES/ARTICULOS%20ESTILOS%20PARADIGMAS/NUEVOS%20ESTILOS%20INTERACCION/EI_HandwritingRecognition.pdf
Works, but not very well (can't tolerate stroke order mistakes or natural handwriting well)


HanziLookup (not really meant as IME) -- by stroke order and length of stroke (some toleration of out-of-order strokes)
http://kiang.org/jordan/software/hanzilookup/
http://xpwithubuntu.blogspot.com/2010/01/aiptek-tablet-and-chinese-handwriting.html

CellWriter (does not really work as Chinese IME since you have to train it on each character you want to write, and it does not have a fully listing of characters to train with):
https://sites.google.com/a/thejonus.net/stuff/how-to/chineseinputwithawacombamboo

IbusHandwrite:
http://code.google.com/p/ibus-handwrite/

an Ubuntu forum post:
http://ubuntuforums.org/showthread.php?t=1468468


Online alternatives:
Use nciku which has the Java lookup running (probably they're using hanzilookup engine).
Type pinyin into the Chinese google clone: http://www.baidu.com/

Also useful, use google translate to grab the pinyin for a block of text. http://translate.google.com/ and then click on the "A" (Read Phonetically) button. (It also has a read aloud option now).

Quizlet also does free pronunciation recognition for flashcards (they bought a dataset).

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

Friday, June 24, 2011

Code for America, Week 3: Why API auto-generator DNE

Well, aside from dreaming of rideable hexapods, during the day time I am working away on code for america developer tools project. Namely, I have been learning about how to write a python API wrapper, and attempting to learn how to write a good one.

Stackoverflow was not so helpful in this regard:
http://stackoverflow.com/questions/517237/howto-write-python-api-wrapper

Re: the autogeneration question that mashape.com is working on, RJ explicates:
I think you'll be hard pressed to automate this. Few if any APIs come with a machine readable description of what they are and how they work. This is because it's really hard. It'd be a great thought exercise to try and come up with a schema or ontology for APIs, but even if you did almost no APIs would use it so it wouldn't matter anyway.

Incidentally, the core of REST is this very thing -- self-descriptions of how to consume an API that eliminate the need for the API's wrapper in any given language from needing to know any hardcoded information about resources provided by the API. (e.g. the wrapper doesn't have to know that the Person resource is provided by the URL route /people/

Almost no so-called "REST API" is truly a REST API, because it does not provide this self-description. What people latched on to by calling things "REST" is that its simple, state-less, idempotent, and based on the 4 actions get / create / delete / put. Everyone conveniently leaves off that last requirement of REST because it adds more complexity and the way everyone implements API wrappers is by saying "let me read the API human documentation and poop out some Python that can do everything it's capable of".

another reason why auto-generating an API wrapper would be hard -- people, especially programmers, are highly aesthetic. Every target language has their own community standards and principles for how things are supposed to work (e.g. "Pythonic") so your wrapper generator will have to somehow account for this to not offend the programmer's sensibilities. My gut feeling is that most machine-generated wrappers will be stuck in some kind of uncanny valley where it'll feel crappy.

I think Google Protocol Buffers are a good example of this. While they are awesome, no way would you think that the code auto-generated for interacting with a protobuf was written by a human, because all the method names are very machine-like (i.e. pluralizations aren't quite English -- think "num_citys").

Well, you're right that this kind of thin-wrapper [edit:
around an API is not very expressive. As a Python API writer, I think I would far prefer something similar to how the Django ORM expresses database queries. Something like this would be nice:

class Business(RESTResource):
..
type = ... (enum type)
zipcode = ... (string)
..

businesses = Business.get().by_zipcode(zipcode).filter(type=business_type)

(nevermind that zipcode is not l10n-considerate)


Meanwhile, Zach, my fellow Python devtools intern, has been working on an awesome generic Python API wrapper template which is well-documented to boot:

Also helpful was studying the Sunlight Labs python code:
And looking at this, although perhaps it's not the best example:


These are all for the simple APIs, of course.

I've certainly learned a lot, but I'm also 100% the code I'm writing right is crap. That's okay though, I decided to forge ahead, learn things, and come back and fix it later. Otherwise, I'll never get anything done.

Oh also look we're on the internet!
http://codeforamerica.org/2011/06/15/meet-the-2011-cfa-interns/

And also fellowship applications are open~
2012 Fellowship Application
Application Deadline: 8/1/2011 | Program Start: 1/4/2012
Online application: http://codeforamerica.org/fellows/apply/
Learn more: codeforamerica.org/fellows
Nominate a fellow: c4a.me/fellow-nom
info@codeforamerica.org | @codeforamerica



The office is in downtown San Francisco, and the area is ... awesome. You peer out the office window and Instructables is across the street, delicious food is plentiful, close-by, and varied, there's random talks and people coming by, and you'll get emails like "github drinking night" or some such. The office has an awesome atmosphere of teamwork and getting things done.


That's my "I'm homesick for a place I spent a week in" spiel :) I haven't had face-to-face contact with people in forever, and today there was a hardware talk going on that I just pestered people until someone gave in and let me skype in. Then I realized how much I miss the office, haha.

Friday, June 10, 2011

Code For America, Week 1: 10 Internets of Awesome

It's the start of my google summer of code 2011 internship at Code for America, a week Dan Melton, our CTO, has termed the "bootcamp." Whew. It's been a crazy week for me. I didn't know what they expected, since I fall into a lot of categories:

  • Female
  • From MIT
  • Not a full-blown CS major
  • Haven't had a real programming job before
  • Have never contributed to open-source code
The first few days or so I lived in constant fear that they would find out they hadn't gotten what they'd bargained for (I seriously considered resigning). I'm closer to believing that they'll accept me the way I am, clueless and all. For a while I wondered: was I only here (despite my lack of expertise in python/github/FOSS development) because I was a female or because I was from MIT? Then the feminist side of me came out and was like "screw that I shouldn't have to think those thoughts, I was admitted for better or for worse so let's just get on with it."

Anyway, for me it's been a whirlwind tour of once again, getting over my aversion to asking for help. WTF, it's pretty obvious I'm completely inexperienced, why am I still afraid to show the extent of my uh lack of anything in my brain?

Hehe. Ah well, it's Friday, which is open labs (work on whatever you want), and I'm in a happy mood and fine with the fact that I still need to improve myself.

Learned/learning this week:
Github, git
Serious python development: nose, mock, coverage.py
Vi plugins: minibufexplorer, janus, solarizer, nerdtreeexplorer
Dotfiles .bashrc .vimrc .coveragerc
How to be humble and also how to not run away and hide in my dreams
APIs and devtools and how to write wrappers, RPC, JSON, XML, REST, http headers, chrome inspector navigator
App deployment (in 5 minutes o.o) and some of the services out there
Continuous integration server for python
Fabric, python eggs
Mashape

Talks this week:
Coda Hale, metrics
DJ Patil, LinkedIn / color
Twitter product head, cofounder random questions

Wednesday, June 1, 2011

2d tshirt printer + soluble ink for one-time shirts

most t-shirts are for one-off events anyway, and while they're good for memories, really? do we need that many t-shirts? kind of wasteful.

of course the craftier among us can reuse the cloth to create awesome individualized clothing...

but another solution might be the t-shirt printer (DIY Direct-to-garment:
http://hackaday.com/2010/06/06/how-to-diydtg/
http://www.t-shirtforums.com/diy-dtg/
http://hackaday.com/2010/06/27/dtg-using-a-stock-printer/)

combined with a soluble ink of some kind. Most t-shirt inks are designed with permanence in mind (to prevent fading with repeated washing). And the erasability of the ink has to be balanced against not wanting the ink to come out during a hot summer day (heat + sweat or rain). Ideally it would come off in ordinary washing machines, and it wouldn't stain other clothing when it washed off.

Tuesday, May 31, 2011

summer 2011 budget

[Edit] 6/13/11
Haha, so I screwed up. So now I have the time but not really the money to make things. _sigh_
New Budget:
In, 5000
2400 travel, housing, taxes?
500 donate
200 gifts
500 on books
200 on food
1200 on projects: 200 on hexapod, 150 on diy dtg, 500 on evt, 200 misc., 150 ?
100 for room / building


[/end edit]
In:
4400
5000
=9400


hopefully covered by psc:
980 in travel expenses (Nicaragua)


Out:
2000 - taxes
2400 - housing, travel
=5000 left
800 - donate
200 - gifts for friends
=4000
500 on books / textbooks
500 on UROP related stuff
=3000
Projects~
500 for a scooter
1500 for a 3d printer?
=1000
100 for a 2d tshirt printer
200 for room furniture building supplies
500 for misc. supplies to play around with
200 for food
= 0

Wednesday, May 25, 2011

humans

sometimes it seems as if literature has such power to inspire and heal, and technology such power to drive humanity to destruction. but I suppose it goes both ways, and I should stop trying to pretend I'm not human. People are irritating, I'm a person, I'm irritating, and you know what? Who gives a piece of cake, it's fine that I'm human and flawed.

Mmm, cake. :D Yay indulgences of life during the summer... Wait, this is terrible, during term I justified it as stress-eating. >__> <__<

Wikipedia says of monasticism,
Sādhus strive to treat all with respect and compassion, whether a person may be poor or rich, good or wicked, and to be indifferent to praise, blame, pleasure, and pain.
Well, screw that, I'm not at that stage yet and have no desire to reach it. I want to be human and love and hate and not censor myself...

but I will still totally take up immortality. To have infinite time to learn things, why would anyone give up such a chance? Am I merely out of touch with being human, with passion and emotion and such, that I am only dimly able to fathom people who wish to die as their loved ones die?

Sunday, May 22, 2011

End of Year 2

Hmm, another year over. Was it successful? Hard to tell... life goes on.

Reading: the Invisible Gorilla
Planning: 1 week at home, 1 week at MIT, 1 week at San Francisco, then another few weeks at MIT, two weeks in Nicaragua, then term starts again.

To do this summer: make a t-shirt printer, help with CADing a lasercutter gantry, make a hat alarm clock, and finish an ecommerce site. Oh, continue work on hexapod.

Currently: spending 5 hours trying to get a freakin' file to unzip. Windows *shudders* GUI webhosts *shudders* :(

Wednesday, April 13, 2011

How to control 18 servos [2.007 hexapod]

Things I've learned (not explained thoroughly e.g. with pics for pwm, more for my own reference). Or rather, the 600 threads of information I haven't incorporated into one coherent picture yet.

My final conclusion was to spend money and buy an 18 servo RC controller from Pololu, allowing me to control all 18 servos independently. Also, build a power bus to supply power to the servos.

Next steps: make sure I won't just strip all the servos -- weight hexapod and do some rough estimates.
Order RC controller ASAP and look into Pololu coding.

However, for two week turn-in deadline, just take the carrier, Y splitter cable 9 servos (so mirror the left and right sides no WAIT! that might not work out well, my servos do not look mirrored left to right, perhaps Y cable front and back servos instead for each side = exactly 12 software servos to control), and write code.

====
PWM can mean two different things in common use.

  1. Power pulse width modulation -- signal is the voltage averaged from the high and low pulses. Used for instance in motor control, where motor's inertia means it just sees 2.5V if you have 5V and a 50% duty cycle
  2. Pulse "duration" modulation -- signal is encoded in length of pulses
    Used for instance in servo control
More properly, PWM -- motor control. PPM -- servo control (looks like low duty cycle PWM). (wait, but I don't see PPM used anywhere else?)

Thus, with regards to Arduino nano and if I can somehow coerce it into controlling 18 servos.
The answer is probably yes, but with lots of electronics and coding. A better solution is to invest in RC board http://www.pololu.com/catalog/category/12.

The limitations: 
Hardware, Arduino nano:
Digital I/O Pins: 14 (of which 6 provide PWM output) **
Analog Input Pins: 8
Atmega328-- one 16 bit timer, two 8 bit timers (8 bit = less resolution on servo control, leads to jitter,  see http://letsmakerobots.com/node/4562)

Software, Default Arduino Servo library:
The Servo library supports up to 12 motors on most Arduino boards.
**(huh? Maybe TX and RX count as digital pins?)

What this stuff actually means:
AnalogInput pins are actually digital output pins. They are D15 to D22. Thus, I have enough hardware pins to control 22 servos.

Also, the 6 PWM thing is completely unrelated to servo control (related to motor control, I think).

I can use the Playground servo library to control servos off of as many pins as I have, and I'm not limited to the 12 servos in the regular library. 
You are not limited to 8 servos, but you must call the SoftwareServo::refresh() method at least once every 50ms or so to keep your servos updating. http://www.arduino.cc/playground/ComponentLib/Servo

====
Default servo library uses timer1 (16bit timer). http://www.arduino.cc/playground/ComponentLib/Servotimer1

Random stuff I don't understand yet:
Or maybe I can use a decade counter?

Hardware vs Software PWM
Hardware PWM is low maintenance. You initialize the hardware, then the only other software interaction needed is to set the duty cycle (which can be done whenever you want). Hardware PWM is fixed to specific pins and limited as to the number of outputs channels. Software PWM needs more maintenance. It may still use a hardware timer, but the output must be toggled by software at the proper times. Software PWM can use any open digital output pin and can support several output channels. http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=94938&start=0 

(ref. http://letsmakerobots.com/node/25923 Driving up to 48 servos with a Spider controller, does NOT apply to Nano)

Commercial products:

====
Other concerns:
Maybe my servos are too weak for my super-simple design with load-bearing without bearings or anything, and I won't even be able to walk without stripping the servos. That would be REALLY sad if I stripped 18 servos. Or perhaps I'll just stall out the servos with too much torque demand and burn through them. Maybe the plastic is too flimsy and I won't be able to walk without breaking servo horns.

To do: Weigh the robot and each leg, do rough calculations.

Power: 
Well, the servos may draw a lot of power. Or current. Or something. So I may get a Power Bus (? what is that? it sounds nom-able) by mooching off of Charles or Shane, and then create my own 5V power supply that can supply more current than the hobby king 7.4V LiPo battery + the 2.007 nano carrier board.

====
$$$:
Anyway, turns out many-servo hexapods are expensive, even partially subsidized by 2.007. .____. Perhaps I should have stuck with my tiny hexalinkagepod <3 hmm. 

At least it's less expensive time-wise with the help of 2.007 and friends.

Costs:
18 servos (VS-2 and HITEC 115) @ $2.50 each = $45.
Arduino nano = $30 (completely assembled, I hear buying the PCB and components is much cheaper).
Pololu controller = $40 (18 channel) without shipping. (uh, how do I use this? Do I need to learn another programming thingy? ;___; Can I just program it with Arduino?)

(alternative: arduino mega = $60, spider controller? = $60?)

====
Also, my way of building a hexapod using zero solidworks seems like very little mechanical engineering and a lot of coding and electronics. _sigh_

Tuesday, April 5, 2011

2.007 HW4 -- arcade drive, RC joystick mixing -- code should be free

#include
#define RC1 8
#define RC2 9
    Servo Lservo;
    Servo Rservo;

void setup()
{   digitalWrite(RC1,LOW);
    digitalWrite(RC2,LOW);
    pinMode(RC1, INPUT);
    pinMode(RC2, INPUT);
    Lservo.attach(6);
    Rservo.attach(7);
    Serial.begin(9600);
}

void loop()
{
  /* 0. Read in RC, constrain to make sure values between 1000 and 2000
     1. map ch1 (left/right), x_axis, to -+ 500
         1b. SKIPPED - check if it's in the deadband
     2. add to y axis values for left, subtract for right
     3. constrain result to 1000,2000
     4. map to servo values -> 0 fwd, 90 neutral, 180 backward (left and right servo are mapped OPPOSITELY)
  */
    int x_axis = constrain( pulseIn(RC1, HIGH, 25000), 1000,2000);
    int y_axis= constrain( pulseIn(RC2, HIGH, 25000), 1000,2000);
//    Serial.println(x_axis);
    int x_offset = map(x_axis,1000,2000,-500,500);

    int left = constrain(y_axis + x_offset, 1000, 2000);
    int right = constrain(y_axis - x_offset, 1000, 2000);

    Lservo.write( map(left,1000,2000,180,0) );
    Rservo.write( map(right,1000,2000,0,180) );
}

Sunday, April 3, 2011

cheat sheets / technical resources that I use

vi:
http://www.nathael.org/Data/vi-vim-cheat-sheet.svg
http://blog.vgod.tw/wp-content/uploads/2009/12/vim-cheat-sheet-full.png
http://www.math.ucdavis.edu/~mathclub/cheat_sheets/vim-cheatsheet.png

bash:
http://blog.vgod.tw/wp-content/uploads/2009/12/vim-cheat-sheet-full.png

6.002:
http://www.mit.edu/~godoy/tbpcircuits.html
and Prof. Afridi's notes, which aren't available online

arduino:
http://sites.google.com/site/mechatronicsguy/arduinocheatsheet

spanish, 3rd year:
http://www.amphi.com/teachers/jinboden/3rdyearnotes.html

podcasts:
Spanish (all levels)
site: http://www.practicaespanol.com/es/ (AWESOME site, beats anything else I've seen hands down, wish there was a free resource like this for Chinese)
RSS: http://feeds.feedburner.com/practicaespanol

Chinese (ABC level)
site: http://aprilpodcast.blogspot.com/ (transcripts require a nominal fee)
RSS: http://feeds.feedburner.com/AprilsMandarinPodcast

Notes in Spanish Intermediate (Spanish III level, I think)
RSS: http://intnotesinspanish.libsyn.com/rss

on respectability and social status (aka engineers>lawyers, and hawking homelessness)

Who is more respectable? A or B?
A) 35-year-old who lives off of his parents' income in their basement, watching TV all day everyday.
B) Doctor who saves 30 lives.

and what if I said:
B) But one of the doctor's patients turns out to be crazy and kills 100 people.
Does that change your opinion?

More crudely relevant to me, what about:
A) Doctor
B) Auto mechanic
or any of the following, choose A or B:

A) Engineer
B) Lawyer 
A) Professional aid worker
B) Engineer 
A) Generalist (holds dozens of odd jobs)
B) Specialist (creates the polio vaccine) 
A) Generalist (da Vinci)
B) Specialist (???) 
(see prior post generalist vs specialist: all that jack of all trades common sense)

The more I think about it, the more I believe that what we deem respectable jobs / a respectable (not-wasted life) is not so much a concrete scale as a set of preferences (oftentimes, lots of people have similar preference sets, forming a culture). Culture, because I ponder often my surprise when I visited China this summer and found out that lawyers are not highly paid there, and probably the lawyer career is not as highly-looked-upon as in the USA. And that a career in bureaucracy has (for thousands of years?) had an air respectability in China, while in the US politicians are greeted with much more suspicion.

And why is being homeless so sketchy? Is it 100% linked to "failure in life", or even highly correlated? Is it not socially accepted because it's acceptable for me to be homeless, but not for me to raise a family homeless?

Anyway, I was (also) pondering why auto mechanics are not nearly as respected as lawyers, even though they do some pretty incredible things and know a lot. aka they are some pretty incredible people. And of course, I love looking for evidence that makes me feel less insecure, so I found what I was looking for of course :)

"A country's most talented people typically organizeproduction by others, so they can spread their ability advantage over a larger scale. When they start firms, they innovate and foster growth, but when they become rent seekers, they only redistribute wealth and reduce growth. Occupational choice depends on returns to ability and to scale in each sector, on market size, and on compensation contracts. In most countries, rent seeking rewards talent more than entrepreneurship does, leading to stagnation. Our evidence shows that countries with a higher proportion of engineering college majors grow faster; whereas countries with a higher proportion of law concentrators grow slower."
Anyway, I'm back to being happy-go-lucky. Who cares if I objectively fail at coding and can't find an "industry internship" for this summer? There's a million things that I want to work on, and cool people to meet and work with regardless.

I can still be awesome, right? |||||.___.|||||



======
For myself
posts I found relevant / amenable to my worldview:
The point I'm getting at,this engineering and being a mechanical genius is an exact science where either you know your shit or you don't.

Look at the vast majority of college degrees these days and the type of jobs you get when you graduate.Over half are just totally useless fluff degrees where when you graduate you don't get a job producing anything.

Social status and respectability are not the same thing, a king may respect a servant because the servant is respectable and a beggar may hold a doctor in contempt because the doctor does not respect himself enough to treat others with civility. The social status of a doctor is always higher than that of a beggar of course, but that is inherited or part and parcel of his profession, his respectability is a part of himself and depends entirely upon his own behaviour.

I lean toward careers that help others and the community. These include firemen, policemen (although I know there are crooked ones), teachers, doctors, social workers, etc. These people get paid varied amounts of money, but without them, the society and community would suffer.
Oh and I also respect trash collectors. There is no way I'd do that job.#ixzz1IUxF4bck 
To me there isn't really a "most respectable career" as I consider ones conduct in how they do their jobs to be of more importance than what the actual career is. Firefighters, policeman, teachers, doctors etc are all certainly respectable when they conduct their duties with the utmost care, but construction workers, plumbers, mechanics, hell even used car salespeople can be quite respectable as well. (Ok, maybe not used car salespeople). Overall though I look at individual conduct more than a blanket assumption about careers, since each career has respectable and despicable people working in them.  #ixzz1IUwwtP1z  
I can't really pick a most respectable career, there are good people and assholes in all of them.
I would say that anyone who works conscientiously and with compassion to help others for little compensation, even 'soldiers,' would have the most respectable careers.
#ixzz1IUxYnuAq 

2.007 and digital timestamps (electronic lab notebooks)

I was contemplating my sorry lab notebook grades in 2.007, the "Build a Robot" and "Learn all the physics behind Robots" class at MIT, and I realized that the main reason for my failings was not making the logic and conclusions clear enough to an outside reader. (picture labeling, drawing conclusions, etc.).

I realized the main reasons for this are that:
1) I do NOT treat the lab notebook as something I will show industry representatives. I feel like it's main functionality should be for organizing my own thoughts.
2) I feel like anything useful to other people I would rather put online (on this blog, or in more-polished form on OrangeNarwhals). Then, I would link to said blog in my resume, have the link handy for smart-phone enabled recruiters, or print out quality posts.

The other function of a lab notebook, besides
a) getting a job, is for
b) proving I thought of something at some point in time.
e.g. for the US patents, that involves dating and signing every page (perhaps even witness-signing some pages) in case it could be used for filing a patent in the future. In industry, it's also used for
c) communicating with fellow engineers.

For b), a blogspot blog is clearly not admissible for proof-of-date, since most blog software (including blogger) allows the author to change the time and content of the post to whatever she likes.

So then I thought about it, and came up with the idea of digital timestamps. Then I google'd it and turns out digital timestamps / electronic lab notebooks are baked already:
Electronic Laboratory Notebooks: Requirements, Selection & Best Practices--Gase_090916.ppt
http://en.wikipedia.org/wiki/Trusted_timestamping
Even someone from MIT, although seems neglected:
http://www.mit.edu/~jis/timestamp.html
and there's a company too:
http://www.digistamp.com/timestamp.htm

I have this notion in my head, however, that paper is more reliable the electronics*. So my version would be electronic lab notebooks that are printed out onto paper using microprinting (like microfilm). That may be space-inefficient, though, and having the data compressed and turned into code, like QR or something, might work better. That adds another technology component though (not just magnification but also decoding).

*see: hypothesis as to why we have paper records of MITERS records from the 1970s and 1990s but not anywhere else. Apparently we may have tried to keep electronic records. AFAIK any electronic records are gone.

Anyway, in conclusion, my earlier thought process:
FALSE: working 30 hours a week on a 12 unit ("12 hours/week") class should earn me full credit on my silly class lab notebook
TRUE: not taking 10 minutes to add some titles, labels, key points, and clarifications of ambiguities will kill drop me 13 (out of 100) points on my lab notebook grade.

Also, I doubt 2.007 will start letting us submit blogs any time soon in lieu of our lab notebooks, even thought that would be AWESOME. I mean, based on my notebook, most of the stuff would be utterly irrelevant to 99.9999999% of the internet audience and irrelevant to 99% of fellow 2.007 students, but with computers I could just skim right past uninteresting content. And I could do it on my own time (I wouldn't have to choose between office hours, actually building a robot, or listening in to conversations with my section leader, Professor Campbell). And it wouldn't feel awkward at all (no risk of stealing designs if the designs are open-source), and I could ask friends who already know I'm utterly confused before I ask a million questions of my fellow section classmate.

In short, electronic lab notebooks as an option for 2.007 would be transparent, open-source, and AWESOME.

Tuesday, March 15, 2011

all that jack of all trades common sense

Leonarda da Vinci -- generalist or specialist?
nonsense. i reject it.

i paint my story as one of rebellion against the cautionary jack of all trades, master of none tale, against the idiom 门门懂,样样瘟. i fight to discredit "the law of conservation of talent."

i rationalize my own failures and laziness as acceptable losses for enjoying my life, enjoying learning. perhaps i simply lack the vision to see the bigger picture, where i am one of many students here who overextend and try to do too many things. but although sometimes i realize how much i fail,  as a whole i still am so much in debt and constantly inspired by everyone around me that i survive.

i'm going to work hard, and know that my friends and family and my professors and TAs wish the best for me, and go my own way.

i hope i won't be able to understand the sentiment of boxing myself into one field, even as many people in the world may think i have boxed myself into engineering (I have a fierce pride for engineering, though! I have really come to appreciate how much of the world depends on engineering). Even if I declare a MechE major, I still want to be proficient at software engineering, EE, and synthetic biology, and knowledgeable about developmental economics and education. I want to be able to communicate at least a bit in multiple languages and able to write proficiently in English. I want to be in shape (one day >.<) and decent at martial arts (specifically American Jiu Jitsu).

Yes. I want everything.

but i still deeply respect specialists. they're awesome o_o their passion inspires me to learn more about what they're learning about.

of course, generalist vs specialist are all just vague abstractions which aren't terribly applicable to real life, where no one just learns one thing if only i know them well enough. even if it were true, i honestly believe neither is better than the other.

am i smart enough? am i dedicated enough? am i "wandering instead of pioneering"? who knows! :) I'll just take one step at a time and see where i go.

and in response to this:
the top 5 reasons to be a jack of all trades
i have to say, i wish more people thought not just about how to "outsource their work" and find "greater happiness," but also about how to help others. it may just be one of many ways to find happiness for people in general (see Maslow's hierarchy for one historically influential theory), but i think for me in particular, it's the only way to go. even if i'm not in a state to help others. and i don't think this mindset is morally good. i think everyone is this way, and i view it as utterly selfishi do it to feel better]

Another question -- why do people focus so much on UROPs and industry experience? To me, it seems my time at MIT is well-spent taking many classes, as it's likely that never again in my life will I have the opportunity to pursue interesting things for the fun of it while surrounded by awesome people also engaging in the same activity. Certainly, given enough time, I could learn thermofluids on my own one day, but I love being surrounded by people who are passionate about thermofluids.

I suppose that UROPs are experiences unique to MIT / academia as well, that I need to take advantage of while I still can. Not sure.

[Edit 4/3/11] Ooh, shiny, more stuff for my own reference.
"Sheesh....how much of a difference HAVE I made in this world? What HAVE I really 'mastered?' And, if I don't 'master' something, does that mean my life (at its end) will be for naught?" What a scary thought!

But, I look at it again and realize I was perfectly content and happy and making small differences in people's lives here and there throughout my life up until this point. It was only once I looked at my life from the perspective of a non-INTP that I felt like I had accomplished squat. In reality, I'm dang awesome at several things, good enough at several others, and passing-grade on a few others. I suspect many of us are."
http://forums.intpcentral.com/archive/index.php/t-1054.html

I mean, nothing really matters, (yay Comical Philosophy of Death), but I still find Tolstoy useful:

Remember then: there is only one time that is important--Now! It is the most important time because it is the only time when we have any power. The most necessary man is he with whom you are, for no man knows whether he will ever have dealings with any one else: and the most important affair is, to do him good, because for that purpose alone was man sent into this life!"
http://en.wikipedia.org/wiki/The_Three_Questions
Any way, I passed over my chronic existential crisis or whatever (haven't proved myself yet, haven't changed the world for the better, etc. etc.) and post-spring-break laziness and am back on track. Back to 8 am to 4 am schedules laid out for every minute of the day! And lots of psetting of course :)

Sunday, February 27, 2011

todo

pocket / keychain calipers? that would be an interesting design challenge (is it even possible)

todo: create public wiki, anyone can login with certificates and edit (for use for hosting class websites etc.).

todo: submit a good post to MIT writing center for critique http://writing.mit.edu/wcc/online-consultant

Sometimes I feel like 2.007 wants us to violate this. http://www.societyofrobots.com/robot_tutorial.shtml Yea, we're MIT students, but we're also just like any other human being who has never built a robot before:
    • Don't reinvent the wheel! Search the web for how other people did things, and copy them! It may be unoriginal, but hey it is your first robot, don't expect to develop the theory of relativity on your first try.
"We want to break the graph where time experiences insane ramp-up during last three weeks" -- well, uh, look at the calendar. What times are majority robot-building, and what times are filled with hand-holding Milestones and homeworks and such? Maybe I'll come to realize their usefulness, but I would like to build my first robot, get it to work, and then run calculations and iterate on the design. (aka, I don't want to do homework and I want to get credit for doing things I like doing in my spare time anyway, heh).

Wednesday, February 23, 2011

Greenhouses and Biodigesters: Research

Yay, I hope La Vaquita gets the vote in Dell's Social Innovation Competition!
http://www.dellsocialinnovationcompetition.com/ideaView?id=08780000000DfKqAAK

My technical summary:
Build biodigesters in rural Mexico. Biodigesters take in organic waste and produce both fertilizer and biogas. The biogas can then be burned to heat a greenhouse that protects the biodigester, keeps the biodigester at working temperature during the winter, and can furthermore serve educational purposes for children and eventually grow high-value crops to improve the income and/or nutrition of farmers. Both the biodigester and greenhouse can be made mostly from recycled (thus, low-impact and low-cost) materials.

My Elevator Pitch:
We believe that cow poop is gold. Cow poop: providing income, education, sanitation, and nutrition. Benefiting the environment at low monetary cost, using techniques known for hundreds of years. Biodigesters take cow poop and produce sanitary fertilizer and biogas, which can in turn be burned to heat a greenhouse.

Side Note: There is a flux of terms around this idea. Biogas, biodigester, biogas digester. They all refer to anaerobic decomposition, as compared to composting, which is aerobic decomposition.
===

Anyway, so the idea (our idea? if I'm in on this) isn't particularly innovative by my standards, which works out because I agree that really, we could focus on implementing proven good ideas, not just coming up with / funding the New Idea of the Year. And there is a clear gap between good ideas and implementation around the world. And we can be innovative in terms of delivery and business model in combination with this technology.
Based on a few internet searches, I would actually say that we have proof (although our own working prototype would be excellent, regardless of local or at MIT) that this concept works. There's even been economics analysis done which raise hope that our intuition is correct and can give us guidance in implementing our own studies.
For instance:
http://www.appropedia.org/Biodigester_follow_up_and_maintenance_with_IRRI
main reasons for failure including: damage to the plastic that holds the gas and waste effluence, general neglect, and a lack of follow‐up and proper system maintenance
Sounds like opportunities for a business model to me.
Oh look! IRRI stands for International Renewable Resources Institute-Mexico. We should talk to them. And they had the same greenhouse idea.


For me to read: all the documentation at http://www.appropedia.org/International_Renewable_Resources_Institute-Mexico <3 It makes me happy whenever I see public documentation.

General reading:
  • Does not specifically address tubular (salchicha) biodigestors, but awesome overview:
BIOGAS FOR DEVELOPING COUNTRIES WITH COLD CLIMATES, 2009
By Eric Buysman, GERES Cambodia, e.buysman@geres.eu
4 pages.
Biogas technology is marginally implemented in cold regions. Most projects are of pilot scale in specific niches, all learning by doing, and it is therefore impossible to extract a best practice. We should however, not look at experiments for biogas alone since there is significant learning from the experiences with greenhouse construction and passive solar housing at high altitude regions.  The results from these experiences could be combined to design an integrated system, which tackles a wide range of problems among poor households about the lack of sanitation, energy poverty, dependence on non-renewable polluting biomass, low income and the short growth season of crops.  An integrated approach is the best solution to tackle poverty from the grass roots level, as it both reduces fuel costs and increases income. Financing biogas a program requires an approach that is aimed at both decreasing the investment barrier (microfinance, subsidies) and on providing the means to increase household income (capacity building and extension programs).
  • High Altitude (below freezing) biodigesters in Bolivia, awesome guide in Spanish:
Biodigestores familiares: Guía de diseño y manual de instalación. 2008.
Biodigestores de polietileno tubular de bajo costo para tropicó, valle, y altiplano
J. Martí Herrero, GTZ-Energía. Bolivia.
80 page manual.
(originally from: http://biogas.wikispaces.com/Travelogues+and+Meetups)


Some studies:
Science Direct search: Biogas Greenhouse


Some miscellaneous: (note key measurements in the studies)
http://www.ehow.com/facts_7453211_can-greenhouse-heated-biogas_.html (see references at bottom, listed here for people like me on netbooks that multiple site loading times):
http://practicalaction.org/?id=biogas
Science Direct: Landfill Biogas for Heating Greenhouses and Providing Carbon Dioxide Supplement for Plant Growth
Habmigern2003.info: Positive Effects of Carbon Dioxide
Slideshare: Alternative Heating Opportunities for Heating Greenhouses
http://listserv.repp.org/pipermail/digestion_listserv.repp.org/2006-January/000334.html
You do not need to remove the CO2 from the gas to burn it, but you should obtain a burner that burns biogas. The CO2 released will encourage plants in the greenhouse to grow faster, so it should be possible to release the exhaust gases into the greenhouse. ... The main problem with burning the gases inside the greenhouse is getting the heat balanced within the building. A burner will release large amounts of heat in one place, so you need a system to circulate this heat to get the whole greenhouse at a uniform warm temperature. A boiler can be used to heat water, which can be pumped around heating pipes. Alternatively, the flue gases can be mixed with a larger quantity of cold air, to get the correct temperature, before it is vented into the greenhouse via air ducts.
 Some videos:
"complete installation of a biodigester in the altiplano (cold climate) of Bolivia"
http://www.youtube.com/watch?v=3Sl0XEN5Bgo
(origin: http://listserv.repp.org/pipermail/digestion_listserv.repp.org/2010-May/002362.html)

Tuesday, February 15, 2011

Things learned, Feb 15th

Things I learned recently.

"Overhead is an utterly meaningless metric of organizational efficiency (or anything else). It is basically a relic from decades ago when low organizational cost was incorrectly associated with “efficiency.”
2. When responding to strikes (sparring), focus on the shoulder area, not the hands. I instantly felt the difference in speed when a sempai (in American Jiu Jitsu) told me this.

3. Polio eradication issues in Nigeria may not have been mostly "health belief" problem as was reported (specifically, Muslim clerics denouncing the vaccine). There were political issues (between the government and INGOs, international NGOs like UNICEF and WHO). There was also the issue that polio was often not a priority in communities.
(This speaker*, however, also thought that smallpox eradication had issues -- that because the community as a whole wasn't improved, the same child who is today saved from dying of smallpox dies of TB, measles, etc., today).


* Dr. Mukherjee, at the first lecture of "HST.184  Health Information Systems to Improve Quality of Care in Resource-Poor Settings." Lectures were filmed and will be posted online eventually.

Wednesday, February 9, 2011

1 cm dot grid letter-size template, pdf & svg (for use as notebook paper)




I prefer faint dot grid over a) lined paper b) completely unlined paper (easy to write sideways) and c) box grids.

So I created 1cm dot grid paper, letter-sized for my 2.007 notebook (yay Inkscape). There are markings for roughly quarter page intervals, a header, and a footer.

a close-up of the pattern
Copytech copies pages at 5 cents each, and binds (for notebooks less than 80 pages, GHB binding) paper for $1.50 (larger sizes and different bindings cost more).

To print one or two copies, open it up in Evince (on DebAthena). Ctrl-P, select a printer, enter 1 or 2 copies, and make sure it says "Long side" (to print double-sided and have it flip the right way) and "1 to a page." Also, quality set to "600 dpi" (which it is by default), otherwise it won't print correct.
Alternatively, hit Ctrl-P, and type lpr -P[printername] -Zduplex -h 
("h" to toggle header on/off, duplex to print front and back)

Tuesday, February 8, 2011

Solidworks on an Ubuntu netbook? A Howto for MIT MechE undergrads

yo, I heard u liek solidworks so i put a solidworks in ur windows7 in ur desktop, and put that in ur ubuntu in ur netbook
TECHNOLOGY FTW: making life complicated since 10,000 BC

Ah, the life of a course 2 (MechE) major, where everything I need is Windows-only.

Here's the situation:
2.007 recommends that we install Solidworks on our laptops.
Solidworks only runs on Windows.
I only run Ubuntu. On mai netbook. :)

Possible solutions:

  1. Dual-boot XP: well, I hate rebooting. Scratch that.
  2. Install XP inside a virtual machine on my netbook: Works under casual inspection
  3. Triple boot windows 7 on my desktop, install Solidworks, and remotely connect to that:
    The Win!
    Specifically, using the RDC protocol, Windows 7 on my desktop, and remmina on Ubuntu Maverick on my netbook.

I have: a netbook (1.6 ghz, 2 gb RAM, 160 gb drive) running Ubuntu (Maverick 10.10), with about 50 gb of free space.

Solution 2.
I installed:

  1. VirtualBoxfrom the virtualbox website
  2. Downloading the Windows XP iso from IS&T
  3. Creating a new machine in VirtualBox with 1.4 gb of RAM and 20 gb of  (dynamically expanding) virtual hard drive space
    (my Ubuntu setup consumes 500+ mb of RAM)  
  4. Installed Solidworks the normal route (MIT MechE website / share folder)
    This step took, oh, half a day or so on my netbook.

Results: Runs okay, faster than all my friends expected. Haven't tested it on a really complicated assembly. At the speed at which XP boots on my netbook, followed by starting up Solidworks (~15 minutes total), I'm very grateful for the "pause" feature on VirtualBox (so I can boot everything up ahead of time), but the virtual machine still sits there eating 1.4 gb of RAM.
Verdict: Not a great solution.

(This is skipping a long story of trying to install a modified-to-be-slim 1gb XP, followed by hours spent trying to expand the virtual hard drive from 1 gb to 20 gb so that I could install SolidWorks. Many thanks to my friends at MITERS last Friday/Saturday).


Solution 3
Now, I also have a desktop, which allows me to reach a more ideal solution. Over IAP I installed Windows 7 in order to install Solidworks, bringing me to a triple boot of XP, Ubuntu, and Win7.
Desktop: 80 gb SATA drive, 3.6 ghz, 2 mb RAM. + a 50 gb IDE (aka PATA) drive I acquired.

In retrospect, I should have mounted the 50 gb drive and commanded XP to recognize it, thus giving me enough disk drive space to install Solidworks. (XP eats up less RAM than Win7). Oh well.

Anyway, there's a few options here.
1. VNC (Virtual Network Connection): TightVNC, UltraVNC, and RealVNC are free software for Windows. For connecting to a VNC server, Vinagre comes by default on Ubuntu.
2. RDC (Remote Desktop Connection): Comes by default on Windows. sudo apt-get install remmina for Ubuntu.

VNC: Allows both server (local user) and listener (remote user) to see the screen at the same time. Slow (literally transmitting images).
RDC: Fast. When listener (remote user) connects, locks out the server (the local user) so she can't see what's going on.

VNC

  1. Download and install TightVNC, set and remember passwords. Run it as a service (supposedly faster). Icon (with "V") should appear in status bar.
  2. Notes: I went with TightVNC, since it looked like it had been updated more recently (mid-2010) than UltraVNC, and I read mixed review of the free version of RealVNC.
    No idea about TightVNC vs. RealVNC vs. UltraVNC in terms of speed.
  3. On Ubuntu, run vinagre and set up a new VNC connection to your IP address
  4. Done!

RDC
  1. Enable remote access on win7 (Control Panel > System > Allow Remote Access)
  2. Disable hibernation / suspend power saving
    Also note that the IPs (via ethernet) change every few days, and you may hit a IP change like I did, so double-check via www.whatismyip.com (or other method, such as the TightVNC status tray icon)
  3. Install Remmina on Ubuntu (sudo apt-get install remmina)
    Start Remmina
    Create new connection: Under basic, put RDC protocol, the IP address of my windows machine, my username and password on windows. Hit "Ok"
  4. Done!

The result: VNC showed noticeably lag both refreshing the screen and updating cursor position (half a second, perhaps) and it was funny watching the mouse cursor jerk around on my desktop. RDC ran like I was sitting at my desktop, even after bumping it up in remmina from 256 colors (the default, which looked very weird) to 16 bit colors.

VNC (lag)

RDC (almost negligible lag)

Verdict: RDC to a desktop is fastest. Run Solidworks on my desktop. It's acceptable to reboot into windows occasionally, especially if it's just for set times like lecture or lab. I wasn't happy about the idea of constantly running windows instead of Ubuntu on my desktop, which won't be the case.


==========
Notes for myself

BIOS Settings: Turn all drives ON (PATA-1, PATA-2, SATA-1, SATA-2). Set Boot Order to SATA before IDE.
Ignore "Drive 1, 3 not found" warnings and hit F1 to continue.
Booting Windows 7: Connect all drives. At GRUB screen (installed with Ubuntu), select "Windows 7 (loader)" followed by "Windows 7" (the second time is only because I have an old UNetBootin installation).
~Win7 GRUB e: "root (hd0,1)"
Booting Ubuntu: Disconnect Win7 hard drive (otherwise, says "Error mounting")

I think I had to do some work to repair GRUB after installing Windows, but I don't remember exactly what. Google!

Wednesday, February 2, 2011

Embedded pdf in Firefox 3.6, Ubuntu 10.10, with Evince and Mozplugger

sudo apt-get install mozplugger

I think I had acroread installed (not sure, since it wasn't working), so I had to tweak mozplugger a bit to get it to work by adding a single line: repeat noisy swallow(evince) fill: evince "$file"

So my file looks like:
user@user-netbook:~$  sudo gedit /etc/mozpluggerrc

    text/x-pdf:pdf:PDF file
        ACROREAD()
        [...]
        repeat noisy swallow(evince) fill: evince "$file"
        [...]
        repeat noisy fill exits: evince "$file"

        application/x-dvi:dvi:DVI file [...]


Restarted Firefox, works great.
(btw for troubleshooting: in my FF, under edit > preferences > applications > PDF Document, it says "Use MozPlugger 1.13.3 handler")

Monday, January 31, 2011

mwahaha rfid "for pets"

http://www.sparkfun.com/products/9416

>__> <__<

Education (response to two The Tech articles)

The following is in response to

Opinion: Can we make government more efficient? The U.S. government is unique in its inefficiency in providing services (By Keith Yost)
http://tech.mit.edu/V130/N64/yost.html
and
Opinion: In schools, effectiveness does not equal experience (By Ryan Normandin)
http://tech.mit.edu/V130/N64/normandin.html
 but should require reading of neither.


====

Although Normadin raises valuable and valid points in the 26 January article "Opinion: In schools, effectiveness does not equal experience," I dislike what I feel is the overemphasis in discussion of education reform on the issue of what teachers have done wrong and teacher tenure.  I also disagree with the approach that Yost takes in "Opinion: Can we make government more efficient?" (published on the same day). Both articles look primarily at the stick (rules) or how to better apply the stick ("The size of these cuts is appropriate, but the method matters as much as the magnitude"). As Barry Schwartz says in his short talk "Practical Wisdom" : "like water, they [smart people] will find cracks in any set of rules." But neither am I saying that we should look for more carrots. We need both, but the root problem lies in neither.

Schwartz [and presumably Kenneth Sharpe, his co-author on Practical Wisdom] describes the preceding approaches as either enacting "more and more rules to protect us against an indifferent, uncaring set of institutions" or coming up with "the magic incentives that will get people to do the right thing even out of pure selfishness." He argues persuasively that, instead, we need people who possess Aristotle's concept of practical wisdom: the "moral will to do the right thing and the moral skill to figure out what the right thing is." We can't just "give teachers scripts to follow in the classroom, so even if they don't know what they're doing and don't care about the welfare of our kids, as long as they follow the scripts, our kids will get educated."

Although I'm skeptical that "unions are a large part of the reason why education reform often fails to make headway" (Yost), the larger point I would like to make is that "if there is one thing all educators know ... it is that there is no single answer to educational improvement" (Ravitch, The Death and Life of the Great American School System (available at MIT Libraries)). "If we want to improve education, we must first of all have a vision of what good education is ... [what] we want for our children and our society."

Zoe Weil proposes a vision in her talk "The World Becomes What You Teach." She asks the audience to do a thought experiment, where we imagine that all students graduate from high school, pass the No Child Left Behind tests, and find jobs when they exit the school system. Would we have succeeded at our goals for schooling? No! The problems that we face today and into the future will not be solved this way, especially not if we rest our hopes on creating jobs with rules and incentives that will lead to the solutions we need.  Rules and incentives
"demoralize professional activity: they demoralize the people who are engaged in the activity [who replace human judgment with rules] ... and second they demoralize the activity itself. The very practice is demoralized, and the practitioners are demoralized... It creates people who only do things for incentives" (Schwartz). 
Rather, we need to
"provide every student with the knowledge, the tools, and the motivation to be conscientiousness choicemakers and engaged changemakers for a restored and healthy and humane world for all. Or another way of putting it: I believe that we need to graduate a generation of solutionaries" (Weil).
Ravitch concludes that, in addition to a vision, we need "an excellent curriculum [0], appropriate assessments [targeting areas for help, not punishment], and well-educated teachers," schools with appropriate resources, and families [1] that "do their part to get children ready for school."

The forest of intertwined issues (discrimination, poverty, income inequality, culture, ...) lying behind education may cause us to wonder how we can make a difference. But I take heart from Paul Polak's strategy as relayed to my by a friend: Address one issue, and address it well. The other issues, being interlinked, will improve as well. [2] I also believe (and do correct me if you disagree) that, in many cases, the best practice is to start change in single community, and when scaling comes up, consider that no solution works everywhere. Rather than solving how to force a known solution upon x schools in y years, consider solving how to support and speed up the diffusion of ideas and a culture of improvement from school to school across the area (x schools), changing "one school at a time." [3]



Footnotes

[0] Why curricula? A curriculum serves as the roadmap. "If you don't know where you are going, any road will get you there" (Alice in Wonderland). Also note that "it is ... federal law that the U.S. Department of Education is not permitted to impose any curriculum on the schools. Thus, any national curriculum must be both nonfederal and voluntary, winning the support of districts and states because of its excellence." (Ravitch).


[1] On the importance of families, see "fourth-grade slump" (specifically Chall and Jacobs, 2003), or better yet read Why Don't Students Like School? (Willingham, 2009) (available at MIT via request from the Boston Library Consortium).

[2] Do beware of "educationalizing" issues. See http://larrycuban.wordpress.com/2011/01/15/does-reforming-u-s-schools-soften-or-harden-inequalities-in-wealth-and-health/

[3] Consider: does antagonizing teachers help this latter process? https://larrycuban.wordpress.com/2011/01/05/departed-chancellor-had-one-thing-right-no-magic-wand-to-get-school-change/


====

http://www.ted.com/talks/barry_schwartz_using_our_practical_wisdom.html
 http://www.youtube.com/watch?v=t5HEV96dIuY

Sunday, January 30, 2011

Real women build their machine shops from scrap metal

By the power of MIT libraries (and their speedy ordering system) I bring to you the fact that Real Women build their machine shops from scraps :)

Pics: http://www.backyardmetalcasting.com/lathe1.html

The author: http://en.wikipedia.org/wiki/David_J._Gingery

The publisher: http://www.lindsaybks.com/dgjp/djgbk/series/index.html

The yahoo group (started in 2000): http://groups.yahoo.com/group/gingery_machines/

Instructables Book 2 "The Lathe": http://www.instructables.com/id/Build-Your-Own-metalworking-Lathe---Part-I/

Anyway, all 7 books are now available at MIT Libraries after I finish skimming them.

Cheers!

Saturday, January 29, 2011

if I won 1 million in the lottery today

I would:
Set aside 500,000 for taxes / legal fees.

  1. 300,000: 
    1. pay off my education (I feel very indebted to MIT, Delta Community Credit Union, Girls Inc / Coca Cola, Joy Choi Foundation, 
    2. pay off any other outstanding loans my family has
  2. 150,000:
    1. 100,000: invest in financial market thingy, make sure I will be able to care for my immediate family, current and future
    2. 40,000: for extended family investments in education, particularly for girls
    3. 50,000: donations within the next 5 years
      1. 5,000+: donations for Peachtree Ridge students
  3. 50,000:
    1. 10,000 for fun projects / R&D / learning
      1.  dancing hexapod :D
    2. 5,000 for books for myself
      1. All those programming books
      2. recent: Half the Sky, The Death and Life of the Great American School System,  Cory Doctorow's books, Out of Poverty, Yunus' books, Gladwell's books, Small is Beautiful, MIT history books, ...
      3. Drawing on the Right Side of the Brain, Visual Display of Quantitative Information
      4. historical: The End of Poverty, The White Man's Burden,
    3. 15,000 for family outings, personal travel
    4. 3,000 for lobbying for things
    5. 2,000 for hall (2nd west, pi tau zeta, putz) projects
      1. welder
      2. 3d printer, mini-mill and mini-lathe
      3. oscilloscope, 
      4. better kitchen storage solutions
    6. 15,000 for emergency funds for immediate family

Thursday, January 27, 2011

Orientation: Proposed Changes, 2011

The latest furor (although it doesn't seem to be as viral as dining reform) among the East Campus troublemakers' faction (not actually, though sometimes I wonder if that's what MIT administration thinks of us, especially after reading Dean Julie Norman's comments) is over proposed changes to Orientation, namely, shortening it.

My conclusion: Dean Julie Norman, on behalf of the Chancellor, agrees that Orientation should help students feel like part of a greater MIT class / community, and values that over having REX events (although she still values living group informed decisions because sad people do poorly academically), while East Campus (Fred/S.Haus/Rand) students and the West Campus students I know strongly value living group communities (regardless of class year). Also, there is a window of a few weeks to effect changes.
[Edit 29 Jan] Jackie, a putz alum, brings up an interesting point, we might be able to tell if this is actually the case (as opposed to worries that frosh are tired when they start classes) by asking if they might approve of randomized housing or freshman-specific housing.
And Brian comments that Dean Norman didn't sound defensive about shortening REX, almost like the administration believes they are making an improvement with little downside.
BTW, REX is very roughly analogous to Rush, but for MIT dorms. All MIT freshman must live on campus their first semester. [/edit]

As a peacemaker, I would like to point to Dean Norman's closing statement:
“I think we all share the same values — we want to welcome students, and have them be ready to find the right residence or community for them.”
[Edit 29 Jan] Also, speculation and FUD (fear, uncertainty, and doubt) is terrible, I should keep my fingers crossed that Chancellor Clay will come out with a reasonable explanation for this (which may be entirely unrelated to dorm culture). [/edit]

Some highlights in bold (from the draft UA [Undergraduate Association] minutes):
[Edit 29 Jan] 1 page summary available. Also, final version of minutes will be released 7 Feb, [/edit]
(and please view my snarky comments in light of the fact that these people didn't have time to sit in front of a computer and craft what they were going to say)

Tim J: Concerning the Chancellor’s charge, when he approached the UAAP and asked to revisit Orientation with the idea of making it shorter, were there any comment about budgets or costs coming from the Orientation, coming from the Chancellor?

Norman: No, it’s not motivated solely by resources. Let me be honest. In my budget, I will save no money. The greatest expense is feeding freshmen, and we’re still feeding freshmen. We will not save  money in that sense. If we look at the resources of all of these stakeholders, all of the resources and spaces, the institute will save money. ... We’re sort of increasing the efficiency of all of our resources

James: James, East Campus. So, earlier, when we asked if money is a big issue, you said no – just overall. So, if money isn’t the main motivation, what is the main motivation?

Norman: It’s a problem in that, we see students losing their energy and participation. Faculty are concerned that, by the time they arrive at class, they’re worn out. The Chancellor has asked us to step back and say what is essential and critical.

James: So, it’s a student health thing,
Norman: It’s health and other student related matters
Pranjal: freshman, East Campus: We didn’t get burned out because it was too long. Rather it was more  because it wasn’t long enough. In such a short amount of time, we had to do my FPOP, 12 dorms, and so and so forth.

Norman: That’s the fundamental question of what is it you must do to find the right activities vs. what are some of the activities that are not relevant

Will: What would you consider then, a failure? What are you trying to avoid?

pg8 Norman: Those values that we put up there are what we believe should be in Orientation, that has not changed from past Orientation. What would I view as a failure? I think someone that has taken advantage of touring the dorm, someone that doesn’t feel like their part of the class and to the community, etc. I see that person as someone that is lost on Day 1.

(lolwut? You don't build a community of 10,000 people, you build communities of ~150 (says gladwell) and link them together...)

Paula: Paula, senior. I was rush chair this past year. As far as CPW goes, and student opinions, there is talk at Senior House every year about how we shouldn’t even participate because we’re just being the work horse of the institute. They’re  just going to come here because they think we’re cool not because the institute is cool.

lol senior haus  :)

Norman: I’ve said to you before, I want these freshmen to be living in the right place. They need to be at home. If they’re not, they’re not going to be good academically.

Well, if we're not at home, i think poor academics are a symptom, and mental sad faces are the actual consequence.

Donald: Donald Guy. The question is if the institute considers housing options as a priority.
(question wasn't ever really answered)

Anonymous: How set in stone is this schedule? Will we have time to make decisions, or is this futile?

Norman: I will not say it’s futile. I think we need to step back now and see what are our foundational things are. The feedback from your representatives, UA, DormCon, etc. will be helpful. It can’t be next April or May; it has to be the next couple of weeks.

Very interesting:
Mission Statement:
The mission of the MIT Orientation program is to assist new students in their transition to MIT by providing programs and services which outline the Institute’s academic requirements as well as social/developmental opportunities and to welcome students to the MIT community, introducing them to each other, upper-class students, staff, and faculty.
Essential to Orientation:
• Academic exposure and knowledge in preparation for registration
• Ability to navigate MIT
Class identity and a sense of overall community
(no mention of living group identity)