The 3d printer test bunny, in knitted form!

Recently (by which I mean 1.5 years ago now) I saw the ubiquitious 3d printer bunny, but in knitted plushie form. SO COOL. CMU_knitted_bunny_closeupWhere was I? I was passing through the ACM Symposium on Computational Fabrication (on 12 July 2017), and saw a table full of plushies. (The symposium was held in the lobby of one of the MIT buildings, so it was easy to walk through and see cool things — I love that kind of format).

knitted_bunnyOf course, I immediately had to stop by and see what was going on. And yea, this person’s computer science research literally involves plushies. Here’s the abstract on their paper, which describes how to turn 3d meshes (such as the STL files for the 3d printer test bunny) into CNC knitting machine patterns.

Abstract: Automatic Machine Knitting of 3D Meshes

We present the first computational approach that can transform 3D meshes, created by traditional modeling programs, directly into instructions for a computer-controlled knitting machine. Knitting machines are able to robustly and repeatably form knitted 3D surfaces from yarn, but have many constraints on what they can fabricate. Given user-defined starting and ending points on an input mesh, our system incrementally builds a helix-free, quad-dominant mesh with uniform edge lengths, runs a tracing procedure over this mesh to generate a knitting path, and schedules the knitting instructions for this path in a way that is compatible with machine constraints. We demonstrate our approach on a wide range of 3D meshes.

Vidya Narayanan was kind enough to try to explain some of the algorithmic research to me. Here’s her poster from 2017:
computation_fabrication_knitted_mesh_poster_CMU
computation_fabrication_knitted_mesh_poster_CMU_pt2
Since then, her paper has been published, so you can read more details at her website. In particular, you can find a super cool 2 minute video here which explain the technical detail: Video

It talks a bit about whatever is going on in this image from the paper. (I think it’s cool to see how different the “flat” pattern in image 5 is from the “3d” filled plushie in the final image).
VidyaN_bunny
And here’s a snake on that table:

knitted_snake

Why doesn’t my academic life involve both getting academic acclaim and making plushies for work? Even if I encountered research setbacks, I would still have a pile of frankenstein plushies to lie in as I sob quietly and eat ice cream, or throw plushies with wild abandon.

I think I’m in the wrong subfield of computer science…

Taking action: Textbanking / Phonebanking with Harvard Action Coalition (midterm elections)

Hello folks!

Midterms are coming up soon, so I decided to go check out how I could get involved. Here’s a brief write-up about it.

This past-past Wednesday (17th), I went to visit the Harvard Action Coalition’s weekly phonebanking drive. I got there pretty late, at 8pm (it’s a 6:30 to 8:30pm event). There I found a room of about ten people. It was a really informal setup, about evenly split gender-wise. There were two activities going on — phonebanking and text-banking. Both were done using a laptop / on the browser.
I did textbanking, since I wasn’t feeling up to phonebanking. The text-banking was an outreach effort by the environmental voters project. The motivation is that environmentalists apparently suck at voting (perhaps 40% of general population votes, and 20% of environmentalists vote, is the statistic I saw on either their website or an article in Mother Jones about them). This means that politicians are free to not care about the environment, or even if they do, they’re constrained by lack of constituent interest. (Indeed, recently I was looking up the representative for my district in Georgia, and the wikipedia page for him was quite extensive but had no section for either the environment nor women’s rights).

Thus, the EVP. I came in and entered my information into this lady’s laptop, which included my name, name as I wanted it to appear in the script, and phone number.

FAQ: I don’t see the votee’s number, and they don’t see mine, so there’s privacy in that way
FAQ: I did however enter my email in to the EVP textbanking system I’m honestly not sure what database this goes into, which is a little upsetting and scary. Oh well! I did use it for resetting my password anyway.
FAQ: If you care, you can get text and phone bank even if you’re not yet a US citizen. Which is, indeed, quite sketchy if you think about it… definitely possible for people in other countries to contribute to influencing elections. Though, to think of it, that’s always been the case — just throw money at it…

The introduction I was given was the above spiel, plus “These voters we’ve identified as not having voted recently, and also likely to be environmentalists based on their browsing habits and cookies”.

Wait WHAT when did I suddenly join the dark side? I hate advertising tracking. I once tried disabling cookies entirely but that breaks half the internet. I use multiple firefox profiles (also in part due to having 2 email accounts I use on a regular basis but don’t want to mix into the same profile/inbox), and more recently use Firefox’s multiple container extension (which is amazing! I wish I could adjust more of the behaviors, but it’s pretty great).
I have friends who don’t subscribe to cellphone plans to avoid tracking (although I’m personally a bit dubious that this does much in terms of privacy).

In fact, I’ve only ever thought of this sort of profiling in a negative sense. My strongest impression of it is finding out, back around two years ago when I strongly cared about women’s rights around abortion, about geofencing. Essentially, you can target advertisements at specific geographic locations. In other words, anti-abortion groups can pay to send ads to women checking their phones at an abortion clinic, ads for sites with misleading and false statements about the dangers of abortion.

This REALLY ANNOYED ME. As someone working in CS and engineering circles, not hearing conversations about this really annoys me. (I’m really trying to downgrade my emotions to being annoyed and not angry and frustrated).

On a side topic — there’s a lot of talk about mandatory ethics classes, and in my machine learning and AI courses at Harvard there has always been a lecture devoted to ethics. The attendance is depressing, actually, and keeps covering content I’ve already heard. I’d rather have a more hands-on project, where we actually code something, or business-school-like get scripts to play-act an actual ethics scenario. Well, anyway, I’m not sure there’s really a satisfactory way to cover ethics in a lecture like that. (I met someone at Harvard who in fact was majoring in bioethics, as a field!).
I still just remeber showing up to ML lecture last semster, on the midterm day suddenly the lecture room was overflowing. Maybe 25% more people showed up than on regular lecture days. Then the next lecture was the ethics lecture… about 50% of people showed up. From overflowing to more than half the seats are empty…

Okay, where was I? Text banking. So, I am extremely dubious about the idea in general. (and where do the phone numbers come from?). I imagine some monetary transaction involved, so in being involved, I am supporting this whole privacy invading industry.

Anyway, after signing up and confirming on my phone, the rest of it happened in the browser on my laptop (though it works entirely on the phone as well). I literally just clicked send fifty times, and then the system would stop and let me respond to anyone who texted me back. If it was the wrong number, I had a dropdown response saying “sorry we’ll take you off the list” to text back, and then also marked in the system “wrong number”. There was a lof of ignoring of messages back — if someone said they were driving, or called back, or messaged back saying “I LOVE ORANGE FASCISTS” or something, then I just ignored them. (although it was a bit sad that when I accidentally switched my name to something unambiguously female, I started getting a few “b*tch*s*” in there too…

Then another fifty, and another fifty, and then the systems locks you out at 8:30pm.

After that, I listened in on phonebanking (shared earphones with this other lady). She was also phonebanking for the first time. It felt quite stressful, there’s a timer on the screen, and at some irregular interval a beep will sound and then on your phone you’re connected to the caller and start right away. There’s a script, and you have to click “yes” or “no” in the *middle* of the conversation to keep going on the script. At the end you can click “wrong number” or whatnot, and then the timer starts again.

One thing that confuses me is that these phonebanking systems always tell me that they’re really just trying to get out the vote of people who are already likely to vote for our candidate (in this case, Texas’s Betos), but only about 1/4 of the people seem to fall in this category… I’m not sure if people making these databases are just inept or what. It all seems quite disorganized and opaque.
So anyway, there were a few wrong numbers, one “that’s my relative, and he’s out volunteering for cruz” “ah okay, we’ll mark him down as a strong cruz then” XD;

And the last two were classic. The lady was like “I want to end this on a good note” and the potential last call turned out to be this angry person who was like “I’ll never vote for any politican who calls people’s homes like this” or was a Cruz supporter or something. So we dialed again, and the last call — it was so great. The lady was like “Yes, yes I’m voting for Betos! And my mother is 88 and I’m taking her to the polls and we’re both going to vote early. I’m so happy that you’re volutneering for the Betos campaign, I can’t volunteer myself, but I’m happy that you’re doing so”.

And that was my experience of spending an hour Taking Action!

Some other thoughts:
On one of my podcasts (I’m addicted, I think, I listen to them to keep from being too unhappy because I’m thinking too much), in response to a question about “does it really do any good to donate money in the last 3 weeks before an election”, the politician said “you know, we try to run these campaigns all year long, but voters don’t really start paying attention until a week or two before the election.”

SO TRUE I wasn’t following politics at all until just recently. I’m also in the midst of some fiasco about my absentee ballot… It was really great to be able to send in my scanned form via email. But apparently they managed to read their own form wrong and sent it to my registered address instead of my mailing address. But I asked my parents and they never got the ballot either. So then I had to get a form notarized (protip Harvard has free notary services for students — oh and free envelopes and stamps for registering to vote!) saying the ballot was lost. Hopefully I get my ballot back in time for me to mail it in again (I’ll probably send it back via tracked mail…).

SIGH!

(update a week later: my ballot arrived! It took 5 business days… thanks university mail sorting. My county has a really responsive phone line and also email, they were super nice).

But! On the other hand, I was looking up more details about my ballot. I learned that my county, as of half a decade ago, was one of a handful of majority-minority counties in Georgia, which means that the majority of residents were non-white. In fact we narrowly voted for Hillary Clinton in 2016. On the other hand, my district includes a large part of another county that voted by nearly 60 percentage points for Trump…

Anyway, the person running up against the 20-year incumbent Republican is this professor lady from Georgia State University! So cool. She’s another of the “yea well you all are fking this up, seriously, I guess I’ll have to get my hands dirty” sleeve-rolled-up women who are joining running for office in record numbers after Trump.
I can only hope that this means that the democratic process is still in order, and that fascism hasn’t somehow taken over the United States of America. If I stop and think about it, some days I’m confused why more people aren’t banding together to oust Trump from office. I’m 100% sure even more of a majority of the United States population dislikes Trump.

Oh well, it’s bad for my mental health to get too swept up in events. So I’ll just post this blog post and leave it at that.

In summary — yes, your phonebanking and donations are important right now, since people are starting to pay attention. If you want to know what it’s like, feel free to ask in the comments, or reach out to your local groups — it’s a lot better in person, the phonebanking systems are really confusing if you’re just joining by yourself as a stranger.

(And yes, I think Kavanaugh being confirmed despite probably being a sexual assaulter is all kinds of f*cked up.)

Happy early halloween!

firefox error “file not found” when opening new (container) tab -> just hit ctrl-r

Today I started getting this weird error

File not found

Firefox can’t find the file at jar:file:///usr/lib/firefox/browser/features/activity-stream@mozilla.org.xpi!/chrome/content/prerendered/en-US/activity-stream.html.

When opening a new multi-account container tab. Then, after typing in an address and hitting enter, sometimes the tab would just hang forever, not loading or even not

Turns out if you refresh the page by hitting “ctrl-r” at this point, the tab will then load correctly. (The tab may otherwise be unresponsive to e.g. shortcuts “ctrl-l” or “alt-d” to go to address bar)

Not sure what the issue is, but I’m glad the workaround is easy.

Firefox 62.0.3 (64-bit)
Ubuntu 18.04.1

Actively countering unconscious bias

tl;dr I’m pro-actively consuming more media featuring women, e.g. by going through lists like this on wikipedia: list of 21st century women by occupation

Lately I’ve been thinking* about how to identify what might be contributing to my “unconscious” biases, and actively counteracting them. The idea is to track what sort of daily input we’re consuming — as a silly example, if we almost always encounter bulldogs as aggressive dangerous dogs, then when we see a bulldog we’ll assume it’s aggressive by default.

* Due to another conversation, saved for another blog post, about concrete tips for diversifying applicant pools. Many of my friends are now in hiring positions, and facing frustrations with working without support in their companies, even from the Human Resources department, on how to diversify the applicant pool even, not even the company itself.

In the past I’ve thought about creating machine learning algorithms to identify the sort of consistent image I see on, for instance, youtube of 8tracks.com or other sites, where techno seems to be accompanied by scantily clad women (or just closeups of their butts or their busts or feet or whatever).  For instance, doing some sort of gender swap in with hot pics of men instead.

However, an even simpler thing to do, is simply to tally the number of hours I spend consuming media, both well-intentioned media and not, which doesn’t counteract the consistent image I get day-to-day of not seeing women in positions of power, importance, and influence.

For instance, on average I likely spend 10+ hours a week nowadays listening to podcasts, of which maybe 20% is narrated by a woman.  I have female peers, but I don’t interact often at all with women in positions of power / senior women.

As a result, I’d like to consume media, not specifically about women, but authored by women. Women founders, giving talks about how they created their companies; women CEOs, talking about making billion dollar decisions; women keynote speakers, and other ordinary forms of everyday media (well, ordinary to me).

I’m actually having a hard time finding a “stream” or pre-made mix of such material. But I think I’ll start out by finding lists of movies.  I looked through them, and now I’m making a prioritizing of movies to watch:

Movies

  • Ocean’s 8
  • Legally Blonde
  • Suffragette (film)
  • Hidden Figures
  • Crazy Rich Asians
  • Star Wars: The Last Jedi
  • Sicario (2015)
  • Erin Brockovich (2000)
  • Hunger Games (#2, #3)
  • Flashdance (1983)
  • Lady Bird
  • Gone girl
  • Nothing But The Truth

Watched:

  • Mad Max: Fury Road (2015)
  • The Avengers
  • Atomic Blonde
  • Ghost in the Shell
  • Star Wars: The Force Awakens
  • Wonder Woman
  • The Sound of Music
  • Hunger Games (#1)
  • Kill Bill

Animation

Watched

  • Kiki’s Delivery Service
  • Nausicaa
  • Princess Mononoke

Read

  • Jane Austen: Gone with the Wind
  • Pride and Prejudice

Eh? TV series

  • The Great Jang-Geum  (TV series.. though it’s set in those old palatial times)

Conclusion

Well, those were a really partial and unordered list of movies to watch. What I really want to find nowadays are online videos (talks) and especially podcasts, but it’s hard to find ones that don’t focus at all on the fact that they’re women…. A perfectly fine thing, just not what I’m looking for. I don’t need to be any more sensitized; I actively work on being de-sensitized. I just want to counter my unconscious bias by explicitly feeding myself a better “diet” of media consumption.

In the meantime, back to learning about the OpenAI gym, POMDPs, numerical methods, all that jazz.

Research

Updates (further sources I found) 17 Oct 2018: