poll: diversity in STEM: why do you give a ****, or why not (informal MIT survey)



recently I was feeling grumpy so as usual I expressed my grumpiness by collecting data about the topic from my friends.

(Here is one poignant article that really articulates some of the current issues about diversity in STEM:


I was surprised by how much I identified with this).

The written responses I compiled and sorted alphabetically (to remove ordering information), and are now displayed on this site:

http://mit.obio.me/ (created by Ned Burnell — it’s open-source, source on github ^^)

Screenshot from 2014-12-13 19:30:12

Anyway, I keep meaning to mine the data sometime to pull out some statistically insignificant yet interesting conclusions (I don’t know how to science, sadly).

The basic question I am curious about is

do the people who are most likely to be in power in the future (standins: grades and income, gender and race) care the least about diversity (standins: talk to people about it, rate it important, read about it, think about it).

(see appendix for more thoughts)

Mostly, it’s a little irritating sometimes to always be talking to the same people about these topics, and I am uncertain about what the cause for that is. Do people feel uncomfortable talking about these issues, do they not care, or what?

Another interesting anecdote is that a lot of my female friends don’t care about this problem.

Happily, what I learned from getting over 120 responses to the survey in 24 hours (from just three or four mailing lists: pika, EC, MITERS-keyholders, and some friends) is that a lot of people do care about this topic. 


I decided to run an IAP class — hopefully some people will sign up for it.

Diversity in STEM: How racist and sexist are we, and why should we care?

This workshop aims to be a fun, productive, and provocative introduction to issues of diversity in STEM. We’ll start out with a no-holds-barred discussion about what we personally think about diversity in STEM (is it worth it? do we need it? should we care? why or why not?), examine where our beliefs come from (share personal experiences), and then review the scientific literature on this subject. From there, we will begin work on concrete project(s) to showcase diversity at MIT, as well as compile a report to MIT’s Institute Community and Equity Officer. On the final day, we’ll present our projects to each other, so make them fun and interesting!

The goal is not to push an agenda; the goal is to relate to and engage with each other, even if we have very different beliefs, as human beings who developed our beliefs though our experiences.

Possible projects:

* Cookies that visually display the statistics about diversity at MIT (statistical food)

* Short film about people’s experiences at MIT, about diverse people at MIT, or about what MIT people think about diversity

* Compelling website displaying a collection of quotes from the MIT community or results of polling MIT

* Game explaining recent scientific research into this topic



Other Internet

three other interesting data visualization projects that I thought were well-done

The latter I thought was better done than the first, in the sense that it provided a guided walkthrough of how to explore the data and what interesting conclusions we might draw from it instead of just dumping it in front of the user. See this article (Tell, Don’t Show) for some interesting thoughts on this.


other hypotheses to look at in the diversity form data:

  • gender, race, and income, controlling for age
    “Do white males get paid more”
  • grades and income, controlling for age and major
    “Do people who do well academically get paid more”
  • age and importance of diversity
    “As people enter the workforce, do they care more about diversity”
  • gender, race, and importance of diversity
    “Do white males care less about diversity”
  • gender, race, and grades
    “Do white males do better in school”
  • grades and importance of diversity
    “Do people who care about diversity do more poorly in school”
  • gender, race, comfortable
    “Do white males feel uncomfortable talking about diversity” and that’s why it’s hard to engage them in dialogue, or do they just not care about it
  • gender, race, talk to in person or online
    “Are there systematic biases in who is talking online or offline about diversity” as opposed to just reading about it (engaging in dialogue)

income, importance of diversity
“Do the people who get paid more care less about diversity”


Discussion about Lewin

Reading the comments on the Tech article re: Lewin being stripped of professor emeritus status and having all his online MIT materials taken down

Screenshot from 2014-12-13 22:52:26


was depressing:

Thankfully, talk on my hall’s mailing list was much more reasonable, and I’m re-posting here to reassure my non-putzen friends that there are serious non-acrimonious discussions happening about this. The discussion is at the bottom of this post (I’ve anonymized all except opt-ins).

Additionally, I really liked this Medium article, which I will summarize as “more teaching styles = more happy students, if we assume different students have different resonant frequencies.”

“So many physicists are able to look at the result of the system they’ve created and decide that it’s not about the system, but about innate ability, especially the same innate ability that they have — which means there’s no reason to even try getting anyone else up to speed.”
“I suspect, though I cannot prove, that as soon as you decide that performance in your field is due mostly to some kind of innate ability, you stop respecting diversity in many ways. You stop respecting diversity of thought, because you’ve just picked one learning style and decided that it’s the only one worth teaching to. And I suspect — although, again, I cannot prove — that you stop respecting diversity of gender or race. After all, if success is all about some kind of innate ability, then there must be some reason why everyone who exhibits it looks the same.”


I understand and support removing him from teaching online courses, and even removing his emeritus status as a response to his inappropriate conduct. And for the record, I identify as a feminist. However, I’m not sure how I feel about removing the physics lectures from OCW. I don’t know that taking down lectures from 20 years ago that (presumably) have nothing to do with what he has been accused and found guilty of in 2013-2014 is really an appropriate or even meaningful response. To me, it seems kind of like burning Hemingway’s books because he was an alcoholic and a serial cheater–or, to use a more current example, burning Orson Scott Card’s books because of his strong opposition to same-sex marriage and homosexuality. Many people, including me, strongly disagree with Card’s personal views, and I am sure that at least some people disagree strongly enough to prevent them from reading or purchasing his books. However, even if Card’s personal views are strong enough to deter me from consuming his literature, that doesn’t mean that his works should be removed from society, and that no one should be able to read them. Similarly, I completely understand why ___ and others might feel uncomfortable watching the Lewin lectures now–however, I don’t think that means they should disappear completely. Perhaps MIT no longer wants to host them on OCW–if this is the case, I hope that they turn up on YouTube or somewhere else where they are free for public consumption. The good does not wash out the bad, nor the bad the good.

Additionally, if anyone has read the Tech article (http://tech.mit.edu/V134/N60/walterlewin.html) and the comments on it, I think this decision has warped the discourse around this issue. Many of the comments on the Tech are either “you damn millennials are too sensitive, back in my day women just kept their mouths shut when people complimented their attractiveness” or “stupid feminists are ruining the universe for everyone”. It’s incredibly frustrating that practically every article like this devolves into these sentiments, and I can’t help but think the removal of his old lectures detracts from the real issues at hand.

Why do I ever read the comments,

Yes, everything A said!
I have enjoyed Orson Scott Card books, but once I found out about his views I decided to stop buying any. If I wanted to read them now I’d just get them from the library.

Some of those comments on the Tech article are aggravating (ugh, if some online prof called me “honey” or commented on my appearance, it would still be gross and inappropriate even if that was the extent of it), but pulling those videos hurts a lot of people a lot more than it hurts Lewin. It makes him look like a martyr and distracts from his actions that started all of it. At the same time it deprives everyone who wants to use them to learn. My high school friends and I watched some while preparing for the AP exam, and if I were to relearn some physics that’s where I’d want to go. Not to mention all the people who are teaching themselves physics around the world, especially if they wouldn’t otherwise have access to that kind of education.

C) Katie Bartel
MIT’s pulling the videos from OCW, but that doesn’t mean the lectures will cease to exist.

I assume someone will host the videos independently of MIT, and the material will still be available to students who search for it. It just won’t be provided by MIT.

I think it’s pretty reasonable for a school to refuse to promote content created by professor who violates the school’s code of conduct. As long as MIT doesn’t actively stop third party sites from hosting his lectures, I don’t think MIT is actively harming the lives of young physicists who want to use Lewin’s material to learn.

1) how would anyone who is not MIT OCW or the dept of physics get access to these videos?
2) isn’t this serious copyright infringement?

This. His videos are still up on the OCW youtube. I’m sure thousands of copies have already been made and will be posted, so this is less like burning Orson Scott Card’s books and more like his publisher saying that they find his views repulsive and no longer wish to be affiliated with him.

I haven’t watched many of Lewin’s lectures, and while the ones I did see were very good, I don’t remember them being god’s gift to people studying wave mechanics– they were just better than my instructor at the time. I think it’s reasonable to assume the MIT’s going to replace his lectures with videos that might not be quite as wonderful but will still be pretty damn great; there are other decent physics professors teaching at MIT.

Also, I think Lewin is the public face of MIT to much of the general public, and no matter what else was done/if he was stripped of his emeritus professorship/he was punished in some other way, he would continue to be the public face of MIT so long as his videos were on OCW. If they didn’t take his videos down, the school would seriously damage its credibility when it came to sexual harassment and assault by making the statement that the relative value of Lewin’s videos compared to whatever replaces them is more important than addressing what has to be serious misconduct. Peter Fisher and the other admins aren’t idiots (or Rolling Stone writers)– they knew what sort of backlash this would cause, and as such must have concrete evidence of ugly crap on Lewin’s part.

Yeah, I’m not at all sure how this works. If the lectures are made available independently of MIT/OCW, then I don’t have a huge problem with their decision. I just hope that they will provide the videos/not go after anyone who does make them available on a third-party site. What would make me sad is if MIT takes the videos down and prevents them from being available at all.

Again, I am glad that they’re taking this seriously and that they’ve acknowledged Lewin’s misconduct publicly. I support their decisions to remove him from edX and as an emeritus professor (which I think is a pretty big deal). I don’t oppose their decision to remove the lectures from an MIT hosted and maintained, provided they are still out there somewhere (and freely available, ideally). What I don’t like is the idea of Lewin’s positive contributions disappearing into the ether. I hope that they will not. It is possible (and important) to separate a person’s artistic/literary/scientific/political contributions from their personal lives.

even if he did something particularly egregious i don’t see this punishment fitting the crime as A said (her and i talked about this at length last night and agreed on that point). they could have disciplined him severely, but internally, and no one would ever know. or they could even just relieve him of teaching duties and leave the videos up. “lewin not teaching anymore” is a very different headline from “lewin permanently erased from the internet”.

H) Katie Bartel
Again, he isn’t being erased from the internet. His lectures are already available outside of the MIT OCW site.

Also, OCW lectures are released under this Creative Commons license. So I don’t even think MIT has grounds to sue for copyright infringement if someone “redistributes” the material.

So it looks like all the OCW stuff is under a Creative Commons license, which I believe means that other people posting the videos to youtube is kosher (so long as it’s clearly attributed to MIT, ironically). I’m curious as to whether MIT made the decision to take down his videos with that in mind or if the administration was okay with taking his videos offline permanently.

Assuming Lewin did something “very bad” — whatever that is…

People get hurt… all the time… by others who happen to have power over them at MIT.

It’s important to send a message that MIT will go full nuclear on you — no matter who you are.

I would hate to be on the pulling end of this trigger — but I have to say I feel pretty OK with this outcome.

+1 Katie — everything is CC-ND … you can host it yourself.

as dumb as mit is, mit’s not dumb. they certainly know what the copyright status of anything they’ve ever produced is (and thank you and katie for pointing out that these lectures are CC). so honestly, they probably did consider that this punishment seems really harsh, but if you consider that all the material will still be out there and free anyway, then it’s more of just a distancing of mit from lewin. i think in that light, you can see how peter fisher et al decided that this would be an acceptable punishment.

It seems like MIT is not interested in “wiping him from the internet,” but just in disaffiliating from him. Also, in this day in age… I feel like nothing is available in just one place, and there are many other places on the internet you could find his lectures.

The institute’s response seems pretty reasonable to me.

Also, why did I just read the comments on the Tech article. Now I just want to die.

I think you’re not giving MIT and the office of digital learning enough credit. I feel like it’s basically impossible that they haven’t considered this and are aware that the videos are mirrored and reposted all over the internet.

I agree with pretty much everything Katie has said. I think this is MIT saying that they do not want to be affiliated with Lewin and don’t want him to be the face of their online education initiatives, which in no way is the same as removing him completely from the internet or trying to erase his existence.

Re: Also, why did I just read the comments on the Tech article. Now I just want to die.

Classic blunder.

Fair enough, as long as they’re out there somewhere, I’m think I’m satisfied? I guess I thought that MIT could sort of remove them forever. But it seems like I am clearly wrong. (And I agree, I don’t think the Lewin lectures are the greatest thing since cheesy snacks, but I do know lots of non-MIT people who do).

___, that’s a really good point about him being the public face of MIT to the general public. I hadn’t considered that. And taking that into account, this decision does make more sense. And I am in no way trying to imply that Peter Fisher et al are overreacting–they seem to have taken this very seriously, and I am glad that they have. My concern was that perhaps they were…reacting sort of orthogonally? I don’t know if I’m making sense here.

I sincerely thank you for the thoughtful discourse on this topic, Putz. You’ve raised some good points, and have caused me to seriously re-evaluate my initial reaction. Let’s hope that MIT will set a good example for universities, and will continue take sexual assault seriously across the board.

Yeah, my thing about Peter Fisher not being an idiot is less for putz and more for idiots on facebook/in real life.

I want to echo A’s entire thought process, from 90% of her original points to her gratitude for the facts and opinions expressed in this thread. I still have a streak of hostility in my reaction to this, but it’s much, much weaker than it had been.

Yeah, MIT themselves added Lewin’s lecture videos to archive.org a couple years ago, so I assume that the office of digital learning made the takedown decision in part based on the knowledge that MIT had already set up a mirror of his videos. They’re permanently archived on a site that is not hosted by MIT and does not give the impression that MIT continues to endorse Lewin’s work, which I think is a very reasonable solution.

I also agree with what Katie said. And I did read one good comment, in all of the Internet frothing about this, which pointed out that MIT can’t do a whole lot to punish a retired professor. Removing him from teaching the EdX classes in which the harassment happened is an obvious and necessary step, but stripping him of his emeritus title and declining to host his lecture videos affects his legacy as an MIT professor — which is about the only thing MIT has any leverage over. From what I’ve heard about his ego and his pride in the OCW videos, this punishment is hitting him where it hurts.

(Also, they definitely could have disciplined him internally and taken down his EdX course. But if you read his Twitter, people — and by people I mean “female students” — contact him with questions about his OCW lecture videos, and he gives them his email address. The lecture videos being online at all means that he has an avenue to contact students, and I can see why MIT would be leery of being the hosting service for those lecture videos.)

i just had a pretty good conversation about this with my aunt (who’s been a course 12 prof since like the 80s?), and she seems to respect MIT’s actions on this because MIT does not have a particularly great track record of dealing with issues of sexism and thinks this is a solid stance for them to be taking now. i think not enough people are thinking about this from the perspective of what it can be like to be a woman in academia who is harassed by a person in a position of power, and how often these things are swept under the rug with the attitude of “well, he’s too famous/important/prominent to be punished”. i think we will probably never know the extent of what lewin did, and it’s not fair for us to be making these judgment calls without knowing all the details. i think not enough people are thinking about this from the perspective of being the victim of this sexual harassment (which may be impossible to really do, if you have never experienced it), and i think it’s noteworthy that the physics department, the office of digital learning, the MIT administration, and a lot of people who have experienced sexism and/or harassment at MIT all seem to have come to the conclusion that this is the right thing to do. like, they stripped him of his professor emeritus title! that’s ridiculously huge.

i’m honestly pretty proud of MIT for this gesture, and i agree with __ on the message that this is sending about how MIT is not willing to tolerate sexual misconduct from anyone.

More great points from R/S, thank you guys so much! And yes, removing the emeritus title is a big deal, and I’m glad they did that. That was not mentioned in the first article I read about this.

Not to hijack the thread, but it’s interesting/disappointing to hear that MIT still doesn’t have a great track record with this stuff (I’m thinking more from the sides involving faculty, staff, graduate students, administrators…we know they are not good when it comes to student issues, at least those involving undergraduates and harassment/assault). I have been under the impression that the 1999 study was a pretty big deal, and I had hoped that they would have made some positive progress since then. It would be fascinating to see an update 15-20 years later–has anything changed? I think MIT admissions does do a good job in terms of encouraging female students to apply as undergraduates (and hopefully students of all ethnic and racial backgrounds, from all income levels, and of any sexual or gender orientation), and they seem to lead the way among technical schools, as far as I know. They should strive to lead the way in academia and research as well.

T) Nancy Ouyang
http://web.mit.edu/fnl/women/women.html this 1999 study i assume?

i believe MIT is taking steps on this issue (of researchers being protected financially / career wise if they report their superior). i attended some brainstorming session after that grad student wrote an anonymous piece in the tech, which had a lot of good discussion and hopefully has been translated in to actions (does anyone know more about this?)

i actually think of harvey mudd when i think of universities leading the way

because, well, see mit’s gender ratios by course:
http://orangenarwhals.blogspot.com/2011/12/datasourceurldocs.html (2011, take with grain of salt)
the 2008 statistics
http://tech.mit.edu/V128/PDF/V128-N47.pdf (2008, pg 11)

rainbow nails


Rainbow nails! Ignoring indigo, there are six colors and five nails, so there is one nail on each hand that has two colors.

1) clear coat
2) first base color covering the whole nail (e.g. blue)
3) second color covering the other half, and then do a light coat blending into the first color (e.g. purple sparkle on top of the blue base coat)
4) top clear coat
5) optional silver edging (not pictured)

Curoverse Internship

Recently I started work at Curoverse, which I like to describe as “the cloud for genomes,” and I like to describe my job as “being paid to work on open-source bioinformatics software.”

I think the official site has some more informative words to say on this subject and talks about the vision of enabling biomedical information sharing to improve research and clinical outcomes or something.  Anyway, I’m an intern so thankfully I haven’t had to pitch the idea repeatedly every day until I can present it in a concise and powerful manner 🙂

I’ve been having a great time. I mean, it’s (a) open-source (b) bioinformatics (c) python (d) has nothing at all to do with cruel cruel robots.  😛

I’ve learned a lot about genomes, sequencing, and all the pitfalls of genomes, aka why Arvados (the open-source platform Curoverse is working on) is needed:


That is fifty phased genomes, shipped on multi-terabyte hard drives to us. Sneakermaillll!

Here are some important things I have learned during the month or so I’ve been at the job so far:

1) Our mascot is called Dax. It is adorableeeeee


No, we don’t have plushies of Dax yet, but soon!

Oh! I could easily revolve this and make a 3d model that I could print off this weekend. Hmm. *adds to todo list*

2) In software, open-source is much more established and can be seen as a boon by customers, especially by researchers and clinical or governmental infrastructure.

3) Having a stable source of income is great! Having really knowledgeable co-workers is great! Having an office with an ergonomic chair and free tea is great! Plus, all my work is open-source, so I can easily refer to it in the future, or point people / my friends at it.

4) It’s been super interesting to see the sales and development cycle. I’ve been observing Curoverse’s strategies for finding the so-called “product-market fit” and the continual effort to find and work on what customers want — in some senses, selling something before developing it.

Okay, I’m sort of just rambling here, so I’ll talk a little bit about the environment I’ve found myself in and the work I’ve been doing.

1) Environment:

The location is great. It’s a few minutes walk from the South Station stop on the Red Line, and within walking distance to Chinatown as well as views of the water.


It’s all open-style desks, no cubicles. Everyone’s right next to each other, and furthermore EVERYONE IS ON IRC. (even some of our customers apparently!). It works surprisingly well, since I’ve had cases where I’ll ask someone a question (in the team chat) and someone else will give me a faster way to do it / enable me to do it myself. It’s still not zephyr with its classes that let you sort through a multi-threaded conversation easily, but it’s nice.

Unlike what I’ve come to expect of software development, a lot of the folks are older / married / have kids, and also have more engineering experience of course. There’s also a GPL ninja floating around…

What really puzzled me at first was calling one section of software developers “engineering” and another “science,” but it makes sense now. I just expected the engineering team to be building more robots I guess. ^^;

The engineering team operates on “agile” development (or lean?) — anyway the main thing to me is they are always talking about stories, which amuses me. I imagine them typing away drafting a really epic novel sometimes.

The science team, which I have found myself on, has standups every day as well, were we all stand up and present to the rest of the team what we’ve been up to.  Standing up hasn’t seemed very effective at keeping our standup short though o_o

Every Friday there is also free lunch err I mean, a company meeting, which keeps everyone on the same page.

Oh! I got to attend the first Curoverse social.


Delicious pizza (flatbread) and bowling! It was candlepin bowling, where the pins are flattened like candlesticks instead of like the traditional bowling pin and the balls are solid and a bit bigger than a softball.


(yep, people are wearing their work outfits, which vary a lot).

2) What I’ve been working on.

Right away I got involved in working with GA4GH, aka the Global Alliance for Genomics and Health, or more accurately working on projects the GA4GH groups determine are important. I made a little python+flask webapp and learned how to serve it using uWSGI and nginx,as well as learned a bit of working with postgresql (such as the fact that DISTINCTs take a significant chunk of time, aka seconds, because they query across the whole table!).

Screenshot from 2014-10-16 15:04:30

I’ve also been playing around with javascript to make POSTs to an API and return the results.

Screenshot from 2014-10-16 15:04:26

OH! AND WRITING TERRIBLE BASH SCRIPTS because apparently bioinformaticians not only can’t agree on whether to 0-index or 1-index, but also make these convoluted file formats followed by convoluted file-format-conversion tools that require specifically named files in certain directories all documented in a PDF somewhere on the internet. WHYYYY

Screenshot from 2014-10-16 15:08:26

Hmm, well, now I feel like I haven’t done much since I can sum it all up in three images. Regardless, I sure have learned a lot while getting paid to do so, and I’ve always had plenty of work to do. There’s in fact a GA4GH conference this weekend where my supervisor might demo some of my work as part of the science team’s work, which is nifty.

See you all next time!

todo list 9/9/14

hello there friends!

just a casual post here. this is on my todo list:


  • finish virginia backpacking trip post
  • finish fairhaven -> boston bluewater sailing post
  • thoughts on kickstarter and startups


  • r/ga
  • YC
    • find alums who have done YC
    • make statistical gif cakes
    • finish application
  • tech stars
  • lemnos labs
  • bolt


  • DFM
  • that long post -about casting
  • e4c discussions
  • education terminology
  • friends’ blogs!


  • spanish
  • sailing
  • D3
  • javascript visualizations
  • ML things
  • database architecture
  • android
  • ruby on rails
  • CTF stuff
  • openCV
  • get better at git

classes to finish

  • 6.004, 6.302, 6.003, 6.033, 6.046, 6.006, 6.034
  • http://web.mit.edu/catalog/degre.engin.ch6.html
  • quadcopter class
  • 18.06
  • some statistics class or other


  • ukulele book
  • outboard motor


  • android / openCV resistor value recognition
  • resume (update), portfolio website (organize blog)
  • flash laptop bios


  • accounting/taxes
  • payroll
  • app inventor ble block
  • 6.01 robot cost reduction / robustness
  • gatttool 5 unit block

26 foot 1967 Boat: Massive Update pt1


A few months ago Cappie (co-founder of NarwhalEdu) and I bought a boat off  craigslist for a very small amount of money and have since been working on attaching pieces and getting her shipshape again.

We actually could have gotten her in the water much sooner if it weren’t for several mishaps with the registration and titling office until finally we got on the phone with the right person.

Here’s a summary of our trials and tribulations with the boat. I’ve been keeping it under wraps (har har… it has actually been under a tarp for weeks now), but over the last few months have gently broken the news to my parents that I will be living on this boat. So now I’m free to blog about it!

First Impressions


Cappie found the boat on craiglist in February while looking for a dinghy. It was listed for $500. Wow! What was up with that — a 26 foot boat for that much? Was it falling into pieces? After some conversations back and forth that went roughly like this:

Cappie: So, how do you feel about twenty-six foot boat.

Nancy: Lol wat? …seems lulzy.

Nancy: …wait, are we actually serious about this?

Cappie: I dunno.

Nancy: … … I dunno either. Lol! Boat!

Cappie: Boat!

we decided to investigate right away. We weren’t sure why someone would sell it for this price. Cappie theorized that maybe some older guy just wanted the boat to be in good hands with some youngsters. I was very skeptical of this, but it turned out to be the case!

We got some input from our friends who said things like:

“Boat stands for Bring Out Another Thousand” and “The happiest days of a boat owner’s life are the day she buys the boat and the day she sells it.” One person said simply “Don’t do it” and refused to talk to us further. Well. One thing everyone agreed on was that the woodwork inside was beautiful. The owner at the time was a carpenter and had spent many years working on this boat.

After some consideration we decided to go for it. The money would only be $100 up-front and we could at any stage decide to abandon the project.

Initial Work

  1. Lightly sanded the whole keel while wearing respirators. Lead paint yay! Orbital sanders were used
  2. Lightly sanded the deck down to prepare for a new deck paint job. Sandpaper was used
  3. Removed a lot of junk from inside the boat and vacuumed the whole place.
  4. Scrubbed mildew off the roof and other places

On the bureaucracy side, mostly we just got really angry and frustrated because it sounded like they wanted us to pay 20 years of excise taxes on a boat that was never used. As recent college graduates working on startup, a few hundred dollars is a significant chunk of change.


At that point, we needed to move the boat out of the Worcester warehouse it was stored in since the warehouse was scheduled to be torn down.

We asked around and finally learned that marinas in Boston all wanted insurance, which we couldn’t get without a hull ID number, which we didn’t have because our boat was so old. However, we found a marina that was kind enough to put us up. We found them through a trailering service they advertised on their website. Turns out, they drove all the way down only to learn that their trailer was too big to fit inside the warehouse between the warehouse pillars!


Sad. But they were able to recommend to us someone else who had a smaller trailer.  And man, seeing the hydraulic lifters in action was pretty sweet (the big trailer even had wireless controls for one), as well as just how awesome the drivers were at driving geometry and precise maneuvers, and seeing the drivers confidently pull out the stands and “jenga” out the blocks was impressive.


Well, $500 later (and a bunch of effort securing the mast down and bringing it on top of the boat) the boat was in Fairhaven. We wrapped it up in a tarp and left it there.

A few weeks later, we return to find a flood inside… we hadn’t noticed because after it rained it would dry out and drip out over a few days. The beautiful woodwork warped even. We puzzled over what was going on and where the water was coming from for a while, before realizing that there were several holes we didn’t tape over in the bow and also


there was a valve that we hadn’t opened to let all the rainwater coming in through the deck drains out. DERP. It actually poured out water for several minutes like that and formed a small lake.

Next update: Janky watt-hour testers for boat batteries, honeycomb nest discovery, HIN dremeling, EPO inspection and detective work (what is the boat actually?), registration and titling issues, troubleshooting an old outboard motor, and attaching the gunnels and trim, costs of living in a marina (liveaboard) vs paying rent.

Python -> Adafruit nrf8001 bluetooth low energy breakout in 20 minutes (Ubuntu 14.04)

As part of my work on Swarmbuddies (robots that dance to music and create formations)

we decided to use bluetooth low energy for smartphone support, but also needed it to work on the desktop side for our computer vision software to work.
Here are the steps we needed to take to get it working.

1) Install Ubuntu 14.04

This is the easiest path. Really recommended, since bluez-5.20 wants some new version of dbus which can be installed on 12.04, but which will crash your computer incredibly hard when you reboot.

2) Install the latest version of bluez, bluez v 5.20 (or check http://www.kernel.org/pub/linux/bluetooth/ for the latest version), and uninstall your current version. Major help from jaredwolff.com/blog/get-started-with-bluetooth-low-energy for this step!

sudo apt-get remove bluez
sudo apt-get remove bluez-cups
sudo apt-get remove bluez-hcidump
wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.20.tar.xz
 tar -xvf bluez-5.20.tar.xz
 cd bluez-5.20/
 sudo apt-get install libudev-dev libical-dev libreadline-dev libdbus-1-dev
 ./configure --enable-library --disable-systemd
 make check
 sudo make install
 sudo cp attrib/gatttool /usr/bin/

3) On the hardware side, your arduino should be hooked up and programmed as per Adafruit’s tutorial.

Let’s test your connection. Plugin your CSR 4.0 dongle ($6 on ebay) if your laptop doesn’t support bluetooth 4.0 (or even if it does, we’ve found the dongle to be more reliable):

sudo hcitool lescan

If this succeeds you should see a bunch of scrolling information, including the MAC address of the nrf8001 breakout, which should be something like “EF:FC:D3:56:41:B7”. If it says file descriptor not found or otherwise exits immediately, use

$ dmesg | tail

to check that your dongle is being recognized by your computer.

4) Open Arduino and the serial monitor. Now try writing wirelessly to the Arduino with gatttool

$ sudo gatttool -b EF:FC:D3:56:41:B7 -I -t random
> connect

The white characters should turn blue. Now try writing to the UART service:

char-write-cmd 0xb FF00FF

5) You should see “3 bytes received” and your command on the Arduino.

6) Now to script it!

a) We need to change the Arduino code to do what we want. Here is an example of how to take the . A small explanation: If you don’t cast it to byte, the buffer is an array of characters which go to 128 instead of 255. I haven’t figured out how to check if it’s from the desktop or the smartphone, so once you cast to byte you lose compatibility with the default nRF UART application on Android and your Arduino will only process computer commands correctly.


Insert the arduino.ino code there or similar code into your Arduino IDE and upload it.

b) Create a folder and download the files at  https://gist.github.com/nouyang/2a6a733d8facd23115a4 somewhere. Modify NUMBOTS in constants.py to the number of breakouts you want to connect to.

If you’re looking at the btle-server.py code, please note that reading the pipe and setting the pexpect delay to 0 are critical for your bluetooth connection to not lag or take a while between commands.

self.con = pexpect.spawn('gatttool -b ' + self.ble_adr + ' -I -t random')
self.con.delaybeforesend = 0 #THIS LINE IS SUPER IMPORTANT
self.con.read_nonblocking(2048,0) #flush the read pipe!! SUPER IMPORTANT

c) Look at the processing or else the python code.  Modify it to your use.


Tab 1

$ sudo python btle-server.py

(hit “y” if your dongle doesn’t show up the first time, I only wait a second so sometimes the dongle doesn’t catch your device. If you try a few times and it doesn’t work, check sudo hcitool lescan to make sure your device is advertising. Try hitting reset on it.)

Tab 2

$ python python-client.py

Tada! That’s it! Here it is working on the computer:

I had to simplify the code a lot from our current structure, so let me know if it makes sense or doesn’t run.

For more information about how I figured all of this stuff out, see:



Like this tutorial? Want to take a class on programming your very own swarm of robots or have future tutorials like it? Back us on kickstarter!

Bluetooth Low Energy (4.0) on Ubuntu 13.10: Advertisements, Sending and Receiving

Here is a quick tutorial on how to send and receive data without pairing with ubuntu 13.10 and two CSR 4.0 BTLE dongles ($12 including shipping from ebay for both dongles). Surprisingly straightforward.

  • install things

$ sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev bluez wireshark

  • plug in the first dongle (it should show up in hciconfig as “hci0”)
  • start LE scan capture

$ sudo hcitool lescan (you’ll see it spit out things such as “00:1A:7D:DA:71:0D (unknown)”)

  • start wireshark as root

$ sudo wireshark

  • In wireshark, start capture on bluetooth0
  • plug in the second dongle, should show up as hci1
  • program hci1 with hciconfig

$ sudo hciconfig hci1 noleadv (sometimes you can skip this step, sometimes the next step, leadv, will throw up “LE set advertise enable on hci1 returned status 12” if you don’t do noleadv first)

$ sudo hciconfig hci1 leadv

$ sudo hciconfig hci1 noscan

$ sudo hcitool -i hci1 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 00 00 00 00 C8 00

  • you’ll see the terminal spit out:

< HCI Command: ogf 0x08, ocf 0x0008, plen 32 1E 02 01 1A 1A FF 4C 00 02 15 E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 00 00 00 00 C8 00

> HCI Event: 0x0e plen 4 01 08 20 00

  • On Wireshark, you should now get a packet and see the above data in it.


Screenshot from 2014-06-29 02:16:20


Right now, I have only figured out how to read the advertisement data, not set it.

This is using code on stackoverflow: http://stackoverflow.com/questions/23788176/finding-bluetooth-low-energy-with-python which I saved as ble-python.py. If you add this line, it will print out the payload:

print(':'.join("{0:02x}".format(x) for x in data[44:13:-1]))

$ sudo python3 ble-python.py

00:1a:7d:da:71:09 c8:00:00:00:00:61:a9:07:ad:d1:17:2f:a1:c4:4b:f5:73:f4:39:0a:e2:15:02:00:4c:ff:1a:1a:01:02

You can see that both the manufacturer ID and the advertising payload is now printed out.

UPDATE 30 June 2014

Here is how to write data using the second CSR4.0 dongle and python:

import subprocess
dev = 'hci1'
adr = '0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 05 06 07 08 C8 00'
cmd_cc = "hcitool -i %s cmd %s" % ( dev, adr )

and if you want to convert strings to hex,

s = 'some data'
" ".join("{:02x}".format(ord(c)) for c in s)


http://www.warski.org/blog/2014/01/how-ibeacons-work/ http://en.wikipedia.org/wiki/IBeacon http://hackaday.com/2013/12/05/turning-a-pi-into-an-ibeacon/ https://learn.adafruit.com/pibeacon-ibeacon-with-a-raspberry-pi/adding-ibeacon-data http://stackoverflow.com/questions/22568232/how-to-retrieve-advertising-payload-from-ibeacon-ble
https://www.bluetooth.org/en-us/specification/adopted-specifications, Core_v4.1.pdf, pg 2023 (Bluetooth 4.0 Core Spec. Volume 3, Part C, Section 11.1.4 or 11.1.10)

How do I become a sink for STEM education research, like I am a sink for engineering information?

How do I find the right circles to be as “in” in STEM education as I am in engineering?

Today I want to discuss something that’s been frustrating me for a while: the disparity in my information sources for engineering questions and for STEM education questions.

Here’s what a contrived day looks like (these things have all happened, but not all in one day):

  • Wake up, check my email. Oh, there’s a cool robotics conference coming up soon. And someone sent me a link to the latest hexapod (six-legged robot).
  • Check facebook. Charles posted pictures. “Catalyzed Destruction of a Poly(lactic acid) 3D Printed Bunny (15 photos)”. Huh, I didn’t realize PLA melted like that.
  • Go to work. Work on engineering most of the day with three other engineers. Why aren’t the stepper motors working?? So glad we bought an oscilloscope. After checking stackoverflow, still have no idea how to implement bluetooth low-energy (BLE). Ask friends on google talk and the MITERS mailing list for help. Earlier asked on the Artisan’s discuss and putz-course-6 (the hall I lived on during undergrad’s CS majors list) for BLE help. Crap, no FTDI cable. Facebook chat Charles and get permission borrow one.
  • Chill, read a few friends’ blog posts about their latest technical accomplishment. Oh look, one of my friends is on Hackaday.
  • Grab a snack with a friend after work so that he can help me with our PCB layout software, Diptrace
  • Go to a meeting for contract engineering work. Talk about the latest quadcopters and their costs and how this impacts STEM workshops for high schoolers.
  • Go to MITERS. Rant with my friends about the need for a usable open-source CAD program, and also debate ways we could make a local printed circuit board same-day turnaround manufacturing service.
  • Oh, it’s dinner time, walk with friends over to H-mart and discuss the latest crazy idea we have and bemoan the startups invading our space
  • Meet my friends who stay up until 3 am helping me figure out how to implement bluetooth low energy on our robot.
  • Go home and sleep.

As you can see, if I need engineering help, even just to borrow tools, I have several options:

  • Chat friends a few years older than me or who are more specialized in the field. I have at least ten people I gchat periodically with engineering questions and feel comfortable doing so
  • Email out to engineering lists I’m on, such as MITERS and Artisan’s Asylum discuss and putz-course-2/6, for help
  • Meet people in person for help

I’m also a sink for engineering information. If I do nothing, I still receive tons of information about the latest engineering doodads.

I wish this were the same way regarding information and available resources in STEM education, specifically diversity in STEM education. I want to be a sink for this information. Right now, if I have questions about what’s an effective way to teach pulse-width-modulation, I have no one to gchat. If I have questions about whether my theory that having people creatively build their own things is a good idea and whether it’s worked in the past, I have no one to email. If I need a lengthy strategic session to figure out how I can best help diversify STEM education, there is no one to have lunch with. When I check facebook, I’m not inundated with information or links to videos of the latest STEM education research.

Instead, I have to expend effort and time trying to find all these resources.

My question to you, dear reader, is how can I change this? How do I find the right circles to be as “in” in STEM education as I am in engineering?

Sea Kayaking! Hingham Hull to Peddocks Island (Boston Harbor)


This Friday, I learned that the PCBs I’d ordered from 4pcb and expected to arrive Saturday weren’t arriving until Monday (silly shipping services that don’t work on weekends). Thus, I decided to join an impromptu camping trip!

I know, I know, after my first time backpacking  a few weeks ago I promised to never do outdoors things again and instead vegetate in bed and watch movies. Oops.

Okay, wait, actually there was kayaking involved. Well, it seems like there were other inexperienced kayakers, a lot of people, and some experienced kayakers, so I went full-speed ahead. 😀

The plan was to go with the tide out on a calm-ish sea to some tiny island 3 km out from hingham hull, to Lovell’s Island I believe. Alright. After some shenanigans, I am approved to go along the trip with some MITOC gear rented by Molly, who is actually boathouse-approved.


Since MITERS is in the same building as the MITOC boathouse, I had often seen people unloading and loading kayaks from cars, but I never thought I’d be one of those people. Hurray for infiltrating new friend circles! This time, it was through the coworking space NarwhalEdu works out of, the pirateship. In total there were nine of us, over half of who were from Iceland and who happened to be in Boston for a month.

The first ordeal was figuring out how to strap the kayaks to the car. I was pretty dubious about the light foam pads (blocks) and straps we used, and the whole tieing it through the car deal.


Off we went, a little nervously. We shoved the boats toward the center, but they tended to move outwards as we travelled. I read up on kayaking on the internet on the way while eyeing the kayaks frequently to see if they were looking shaky.

Probably I should have just asked Molly about how a sea kayak works.  I, not being vocal enough about the fact that I had never been kayaking before, let alone sea kayaking, rather drastically changed the course of our trip. See you some other time Lovell’s Island 🙂 I still had an absolutely awesome time though.


Here are the results of our food pit stop at Whole Foods. I would like to thank Cappie and Sheep for introducing me to pickled pepperocini peppers. Sooo delicious. We also grabbed toilet paper, gallon ziplock bags, and instant coffee

Our packing list was recommended by Erik as:

– Food
— Water (1 gallon aka 4 liters a person)
— Clothes that can get wet (running shorts or swim trunks are a
good idea)
— Clothes that keep you from getting wet (if it rains)
— Shoes or sandals that can get wet, and shoes that can stay dry
— Tent/shelter
— Sleeping bag
— Headlamp/flashlight
— Knife, utensils
— Lighter
— Bandaids, tape, basic first aid kit (I can bring)
— Medium-sized dry bag to hold some clothes and valuables that can’t get wet

The amount of water was a bit surprising to me, since while backpacking in Virginia I consumed at most 2L of water a day. Then I realized there weren’t any water sources on the island, so this included water for oral hygiene and cooking and coffee, as well as an emergency amount of water.

All in all I ended up with a 55F sleeping bag, sleeping pad, my giant winter coat (super happy I brought it), long synthetic pants, long rain pants, synthetic full-sleeve jacket, three shirts, short pants, two pairs of underwear, socks, flip flops,  and velcro sandals. Headlamp was critical, of course. A lot of this was borrowed from Molly — thanks Molly! Instead of a dry bag, I used a large trash bag, and that was okay. Sunscreen was critical.

If I did this over again, I would have packed some comfortable closed-toed shoes (there are actually shoes called boat shoes!), since with the flip flops and sandals I just kept getting dirt and rocks in them. Luckily it didn’t rain at all.

Anyway, we eventually set out around when the sun is setting. It’s dark by the time we get going, but the moon is nearly full (albeit behind clouds) so there’s plenty of light. The headlamps help us identify each other and hopefully keep night-time boats from crashing into us.

This is where I get a crash course in kayaking.

  1. These kayaks have steerable rudders which can be pulled up or down from the water by ropes near you when you are sitting in the kayak. These rudders are turned left or right by pedals. Me: “I wonder why I am drifting right, it sure is hard to paddle straight like everyone else.”
    There was this really classic moment where someone asked me to test my pedals, and I really had no idea what they were talking about.
  2. Be sure to pull the pedals up to where you can comfortably reach them without leaning back. This will help a lot with fatigue.
  3. You can use both hands when pulling a stroke. One push, one pull.
  4. The skirts are used to prevent water from the paddles from soaking you all the time.
  5. You will get wet.
  6. Pedal on the same side you want to turn, paddle on the opposite side.
  7. Fighting the current will make you fairly sad. Having the wind and current in opposite directions will make you fairly sad too.
  8. Point your kayak into waves, e.g. from a passing powerboat.
  9. Give a good distance from shore to avoid crashing into it. If you do crash into it, the only solution may be to get out of the kayak and relaunch.
  10. Life jacket is required, bailer, water, and snacks go behind your seat.
  11. Small things go in first into the tip of the canoe and then larger things.
  12. Be sure to beach your boat above high tide if it will be there for a while.

Eventually after the experienced kayakers, who are staying behind to help me, realize I am making no progress at all against the current, we abort the plan and decide to go to the nearby Peddocks Island and make the best of it.



We reach the island, which in the daytime turns out to be super close by. We set up a fire and cook awesome jumbo marshmellows and other food and set up a campsite.

Screenshot from 2014-06-16 01:05:36

(click to enlarge)

Anyway, pro-tip, if you’re going kayaking for the first time probably best not to do it out on the sea in the dark against the current with a group of people who you don’t really know that well and are more experienced / stronger than you are.

As the tide comes up, our campsite gets flooded! Luckily the tents were rescued, but turns out the large flat area that seemed perfect for a campground was large and flat because at high tide it becomes a pool. Here it is at low tide:


Sarah found some antlers, there was a large horseshoe  crab shell lying around, and I learned about razorback clams, which look like rectangles!

I really liked the beaches on this island because of the rich purple rocks and seashells, which I didn’t take a picture of. At low tide there were also lots of hermit crabs wandering around, and Molly said she saw crabs.

Also, there were flat rocks that were great from skipping, and almost everyone demonstrated some amazing skills at stone skipping shortly before we left on the return trip. I’m talking 10 skips here, where the stone doesn’t just plop and sink but skips along so fast that eventually it disappears into the water.

Molly collected water samples to play around with at BOSSLAB.


That was pretty much it. Some walking around, some kayaking, a lot of food eating and talking, some running fully clothed into the ocean to cool down on my part (it was so hot during the day! almost everyone got sunburned despite liberal application of sunscreen). We went back at high tide at 1:55 and crossed carefully, since during the day there were a TON of boats, some of them speedboats going incredibly fast.

No pictures of us kayaking because my phone was tucked inside two or three layers of plastic bags.


picture thanks to sarah. nectarines are so great


group photo thanks to erik, not pictured because he is taking the picture

Thanks to all the people who put up with me joining their trip, i think everyone had fun despite change of islands. I wonder if I will ever go sea kayaking again. That feeling of going to an island and camping whenever you want to, of reaching places you didn’t think you could reach, was pretty cool. And I do owe Lovell’s Island a visit… ^^