This episode is sponsored by Upside!
Bundle your flights and hotel. Save money. Earn gift cards.
Content/Trigger Warning: This episode discusses sexual assault.
00:16 – Welcome to “Fullstack Activism” …we mean, “Greater Than Code!”
01:22 – Lynn’s Background Story and Superpowers
11:34 – Project Callisto: Reporting Sexual Assault and Dealing with The System
17:57 – Institutional Betrayal and Keeping Information Private
20:49 – The Chain of Command: How Project Callisto Works
22:17 – Reticence When it Comes to Talking About Sexual Assault
26:04 – “Staying in Your Lane”
27:56 – Matching Reports
29:33 – The Technology Behind the App
34:14 – Evaluating Features
38:16 – Contributing to Project Callisto
41:54 – Open Sourcing the Project
44:00 – Code Sharing
Coraline: Empathy and developers putting the psychological safety of their users first.
Astrid: Building technology for the greater good.
Jamey: If you don’t like what someone else is doing, you can do your own thing and make it happen.
Sam: Believe survivors.
Want to help make us a weekly show, buy and ship you swag,
and bring us to conferences near you?
Support us via Patreon!
Are you Greater Than Code?
Submit guest blog posts to firstname.lastname@example.org
Please leave us a review on iTunes!
[This episode is brought to you by Upside, one of the DC’s fastest growing tech startups. Upside is looking for innovative engineers wanting to disrupt the norm, and they’re always hiring. Check out Upside.com/Team for more.]
ASTRID: Welcome everyone to Episode 45 of ‘Full Stack Activism’. I’m here with my great friend, Jamey Hampton.
JAMEY: Hi, Astrid. Just a reminder, we’re still Greater Than Code here, even though that is what we’re talking about today. I’m here with my great friend, Coraline Ada Ehmke.
CORALINE: Hi, everybody. It’s wonderful to be with you today. I do want to give our content warning for more sensitive listeners. We will be discussing sexual assault today. If this is a topic that you might find triggering, you might want to skip this episode. I’m happy to introduce my friend, Sam Livingston-Gray.
SAM: Hello, thank you and it’s my great honor to introduce today our guest. Lynn ‘Cyrin’ Conway is a full stack developer, project manager and activist. She’s also a black poly translesbian. She does most of her work with connections and community, the queer trans community in particular. Lynn, welcome to the show.
LYNN: Hi. It’s good to be here.
SAM: We always like to start our show with superhero origin stories. What is your superpower and what freak accident caused you to acquire it?
LYNN: The very, very slow motion of freak accident that caused my superpower was just my parents making me do way too much stuff when I was little all the time, like [inaudible] and also [inaudible] every day and also makes you clean the whole house and [inaudible] four brother and sisters who need their help with homework too. By that time, I hit college and stuff. It was nothing. I could just write Python [inaudible] I was straight and it was like a cake walk as opposed to trying to take care of the whole house. I like to say that I’m just phenomenally driven, which sounds like one of those things like, “What is your greatest weakness?” It’s actually the strengths but no, I just kind of work through everything all of the time.
SAM: No, that is totally a superpower. I’m glad you were able to pull that from that experience.
CORALINE: Lynn, you talked about going to college. Where did you go to school and what did you study and did you finish?
LYNN: I did this thing which is probably fairly standard for web developers, at least. I went to college for one year each in mechanical engineering, material science and then astronomical engineering and the last one is why I got to work at NASA for a bit which I did for six months. In astronomical engineering, I have to say that work at NASA for the rest of my life, kind of work but as of the NASA thing, I think I was working on some Python code for something, like some Python simulation of some bots that’s planning and the Python was actually more interesting than the works that NASA planning [inaudible], which is weird because satellites but truly, Python was more interesting.
I stopped [inaudible] there. It wasn’t obvious to me at a time like, “I was going to go and learn Python on my free time,” instead but it just sort of slowly happened over the next year or so.
CORALINE: And do you still write primarily in Python?
LYNN: I was just posting about how much I want to improve it like 20 minutes ago —
CORALINE: That’s the Python package manager?
LYNN: Yeah, it’s kind of my whole life.
CORALINE: How long you’ve been doing open source work?
LYNN: I have this thing about… I don’t know, I’m just naturally take into radical openness. I have this thing where if someone can’t see that I wrote code, I don’t feel like I wrote it. Actually, I first started coding while I was homeless coincidentally and all of that is still on GitHub. If I deleted it because it’s trash. It’s been six years and I try to post all of my stuff in GitHub and GitLab because politics and stuff like that.
CORALINE: I’ve heard from some early career developers that it’s really helpful for them to see more established developers have their beginner projects so their learning projects and their toy projects on GitHub for a couple of reasons. It demonstrates that there is a learning path that even more experience developers have followed to get to where they are and they can see themselves in that learning path. Have you ever gotten feedback from anyone about some of your early projects or your toy projects or your learning projects like that?
LYNN: Not specifically interestingly. I tend to present myself so strongly. Even just now, I’m being attacked and I did that, where people take me at my individual point that I’m at right now and just kind of marvel of it. I don’t get a lot of people being like, “How did you get here? You’re so hardworking. You’ve been doing this for years.” I don’t get that. I never really thought about it, you know?
ASTRID: Lynn, when did you first actually start writing code because I know that you mentioned that you did it in college but were you doing it before?
LYNN: I did the very standard, basic college student thing like this little league robot thing, which is really cute. Much of like really basic UI programming. I try to take APCS for a little bit but got bored because it’s C and Java, which is so dramatically different from the Python and it was a bit of ease now. In college, I had a bit of some Python and some Perl and some Java and some MATLAB because it was mildly relevant to the real subject matter. I didn’t really start writing code on my own accord until I’ve got to San Francisco and was homeless. I was like, “What do I do? So I just go and write code? I guess so.”
ASTRID: Can you tell us more about how did you got to San Francisco?
LYNN: At the same time, I was about in my 3rd year college and I was doing all of this really cool stuff, I’ve started realizing that I was weird and trans, as cool as the whole Python to NASA satellites being was. I would rather have just been really gay and a girl. I was doing that [inaudible], which is not terrible but it wasn’t great and I was kind of like, “I’m a prisoner of [inaudible].” I just kind of Google and search online the good places to be gay and San Francisco is usually near the top of that list so I ended up there.
I told my parents, I was like, “I’m going to college in San Francisco,” but really, I was going to San Francisco and be gay and live life and then I’m in a homeless shelter and not knowing what the hell I’m going to do. I think I bump into someone who is doing a homeless queer youth thing. I bump into [inaudible] and I haven’t thought about coding for [inaudible] but I’ve written Python before and I was there and I had nothing to do so I started getting into it. I’ve been writing code a little bit in my whole life but it didn’t really lead into it until I was in San Francisco.
CORALINE: Was there a program that you’re in to get your career started or was it just the individual efforts of the people that you mentioned?
LYNN: [inaudible] it was my activist-y mindset so I leaned myself to that direction. That plus as I want to work all the time, combined with I really like putting everything open source. I would do the thing where other people at Mozilla in particular in San Francisco and when I was at [inaudible], there was a lot of that, where people will just kind of let themselves be available for new coders. I would talk to them and the thing that I notice to the people I meet nowadays that I am really receptive to. I’m really aware of when I’m talking to a new coder or someone just getting started, whether in [inaudible] I talk to them I see them doing a lot of work but [inaudible] was homeless and I really love GitHub and open source so I would like to talk like an engineer at Mozilla about blah-blah-blah code and then after the conversation, I would just push some random beginner level Python code every hour for the next four days.
I think that sort of helps with this visibility [inaudible] where I was talking to people who like code, but also kind of activism and I just kept doing things all of the time. It wasn’t very formal but it was very structured on my part. I had meetings with people who did PR stuff and I was like, “What things have you been tweeting about because I have a Twitter account and I post my GitHub to my Twitter.” If that’s too spammy, how should I be connecting with people and I did a lot of that.
JAMEY: That’s really amazing. I really respect your ‘let’s just do this’ attitude that I’m getting from listening when you talk. While you’re kind of in that zone talking to people and getting the kind of advice is there any particular piece of advice that really stuck out to you and really affected how you did things that you remember that you might want to share with other people?
LYNN: I can’t think of anything specifically. This wasn’t an advice per se as something I was just really inspired by. In my very early days of hangout at [inaudible], I forget who I ran into first, is it Ashe or Shanley. Oh, Ashe then Shanley came and it was when they were starting up UltraConf and Model View Culture respectively and that was the first time I’d run into someone like being in an existing industry with a lot of existing infrastructure and just being like, “You know what? I don’t like all of the rest of your stuff. I was going to start my own from zero. I don’t like your thing. My thing is better and I’m going to do it myself,” sort of that mindset, I hadn’t encountered before personally as I was like, “I can just do whatever?” Like I do look at the thing, say it you don’t like it and then do something else and then people respect me. As I get this thing nowadays of people like, “How do you plan all your path?” And you do a lot of programs and what was the structure and really, it was just having a lot of energy and being shown that I can just do whatever and I’m proceeding to do that.
SAM: That’s interesting. I’ve run across this idea in writing that you have some million words of crap inside you and you need to just get them out as part of the process of getting better at what you do. It sounds like you’re already set up to do that but you’re also in this environment where you’ve got access to a lot of feedback so you’re able to make the most of that phase of your development as well. Does that sounds about right?
LYNN: Yeah. I had a really interesting time when I was first starting out. I had a lot of people who were very like, “This is a new coder. I’m going to criticize them on Python syntax arbitrarily every 30 minutes or a week,” and then a lot of people who is talking to me about culture and visibility and how to get myself out there at that time when I was really driven to self-improve.
JAMEY: I really appreciate what you’re saying about seeing other people stuff that you don’t like and making your own. I think that’s a really good segue to bring us into this project that you’ve been working on. I really to hear more about — Project Callisto. Can you start to give us the background on that?
LYNN: The way I like to describe it to other people is it’s Google Docs for sexual assault reporting. The main hook there is that in the absence of Callisto, the usual thing that you have to deal at a school to report sexual assault is that you have to go to a physical office in person and usually recount the story one to three times verbally, which as a millennial, I just kind of die inside every time I have to convey that information as opposed to just filling out a form online.
CORALINE: On the Project Callisto website, there are some really chilling statistics. It says that survivors of sexual assault wait an average of 11 months to report their assaults to authorities, less than 10% of survivors will even report their assault at all and that up to 90% of assaults are committed by repeat perpetrators. The thing that I find really striking is that the project website says that an estimated of 20% of women, 7% of men and 25% of trans and gender nonconforming students are sexually assaulted during their college career. I definitely understand how difficult it would be for a survivor of a sexual assault to go to a physical office and make that report and have to relive it multiple times through the retelling. What this project was set to differently to address that difficulty?
LYNN: It’s really basic to say that just putting up a form online is such a dramatic difference from having to say it in person. There are some other things that we do that are very specific to the impact that we have. We’re very much about the survivor. I’m having a very clear idea of what the system is doing and how the information that they are providing to the system is impacting the surrounding, news being communicated to. Think about that in sharp contrast like you tweet something on Twitter and you had no idea about who is going to or you’re posting on Facebook but actually Walmart is reading it. Like the radical opposite of your information isn’t encrypted at best and only you can see it until you explicitly say that you want to send it to your school reporting source.
ASTRID: Lynn, how does that process of keeping your information private while you’re recording it change what happened for the survivor and how they navigate to the system as opposed to going and having to say it verbally and then not knowing what happens with that information?
LYNN: It’s almost like a large psychological shift in how you think about the information that I’m not even sure I could describe it. There are differences one to one. I talk to a lot of psychologists and psychologists are mandated to report it. I have had some issues that we need to be mandated to report in my life and I am talking to psychologists but the psychologists help me but I know they’re mandated to report it and I have events on my life that would need to be managed to report and I couldn’t say that that hasn’t happened to me. I really honestly could not say.
I almost can’t even conceptualize with a contrast the idea of I’m on a website like Twitter, Google, Facebook, which you say something and the whole internet knows it and they want to sell you something with it. Going to a website, that is so explicitly not that. It’s almost like my private journal but on the internet with a password. I think we get that with our physical private journal. I never own a journal with lock on it and that’s kind of essentially what this is.
It’s something that I feel very comfortable with what I’m working on. I’m working on it and whenever I’m just passing variables around and I’m like, “This variable is actually literally what verbatim happened to you during your assault,” but I can’t access it. I couldn’t pull it out unless we’re in that little middle bit right before the encryption sets in. I’m going ask someone’s data by having a typo somewhere.
For me as a developer, whatever I’m going and do the form writing, I sort of have a very [inaudible] make it. I have a very strong understanding of how does the security pattern comes to play and so the psychological issues that we consider for the flow of the site and the structure. I don’t feel like I’m going to suddenly have carpet swept from under me and have a [inaudible] as I exit a room, which I feel like when I’m talking to psychologist because I’m just at my computer. It could be 2AM and I could be in Canada.
SAM: My partner has done a lot of domestic violence and sexual assault work for a long as we’ve been together so I have a second hand education in this and my understanding is that if you’ve just been sexually assaulted, you’ve experienced this massive violation, not only of your physical person but of your autonomy.
Everybody experiences this differently. I’m not telling my own story because I don’t have a story of this but my understanding is that for many survivors, the experience of going and dealing with the system can be re-traumatizing because like I said, you’ve just experienced this violation of your person and your autonomy and then you go and you give your story to somebody else and then they have their own rules about what they’re going to do with it, how they’re going to react and you lose a lot of control once you give your story to the official system.
We’re talking about a lot of on-campus survivors so if you go to tell the story, there’s a risk of them expelling the person who assaulted you. It’s a small risk, unfortunately, statistically speaking but that could have consequences that you don’t want. There’s also the possibility that no one will believe you and that could be a consequence that you don’t want. I feel like giving the survivors the control over their own information, literally gives them control which is something that they desperately need at that point in their lives.
LYNN: Yeah. There’s an entire set of design considerations within Callisto about addressing institutional betrayal, then you have a lot of bits in a design, not necessarily to have dramatic implications but sort of inform how the backend communication information of other people, where there’s this idea that if my [inaudible] and you never send it to someone unless explicitly say so, it’s also quirky like frontend bits, where there is an absolute minimum of institutional granting on the Callisto site. Your school logo is in the bottom left so you can know you’re on the right website but aside from that, it’s all Callisto branding. It’s all Callisto servers. We are very clearly a third party who was not your school.
ASTRID: Can you explain more about the institutional betrayal because I’m not aware what that is and what happens?
LYNN: I subjectively describe it as the idea that if I, as a fucking black trans polyamorous, kinky, mostly lesbian kind of bi, I have a whole lot of axes on which, if I report a sexual assault to any person, for any reason, there’s a variety of ways that the institution that I’m reporting to can handle that in a way that is actively harmful to either to me, the person who did the assault and the way that [inaudible]. That’s sort of one of the example that illustrates the core concept of institutional betrayal.
CORALINE: Do you have agreements with the schools and universities that Project Callisto is wired up to address that kind of issue?
LYNN: The idea behind the Callisto is that we are providing a service usually to schools, to have the very beginning of the reporting process, be more effective for a survivor, for the most part. This is something I talk to people out in the interviews I was doing recently for another backend engineer where there was more imperative inabilities to great impact in the second the report hits the reporting school or like the [inaudible] usually. At that point, all of the standard methods, institutional betrayal that you would experience in any institution of any size or just start kicking in, there are days where I think about how I wish that there was a sub-bit in Callisto contract that you can’t make schools explicitly ask if they are going to report sexual assaults to authorities if someone with an endangered immigration status is involved. But there’s nothing like that. We provide them a website and then from there, we help them get the report and everything else is up to the institution to fix their own impact.
JAMEY: I’m really curious about the chain of command like how the app works. Can you walk me through who would suggests to someone that they use this website and then what would happen to their information after they’ve put it? I’m just trying to understand the whole flow.
LYNN: Step 0 is that we have — I don’t do it personally because web developer — a lot of [inaudible] is advertising like bathroom leaflets and little tear-out stickers and tiny presentations that we let schools give during sexual assault events, then all of those sorts of things. Ideally, if someone goes into assault, they have this idea of a website that they can report it on in their head prior. Then it happens and then they can go to the website.
The website itself has a few steps to make sure that the people who are reporting are from the school that their reporting to. From there, you fill out your report and at the very end of the reporting process, which is the whole Google form, you’re just filling up and immediately after that, there’s a page that is like, “If you would like to report your assault, we’re going to encrypt it with GPG and we’re going to send it to these [inaudible] officers and their email addresses,” right after you double confirm that this is what you want to do.
ASTRID: I wonder why we still don’t know enough about sexual assault, what’s happening to victims because it’s something that it feels like it’s getting talked about a lot that this is happening. Coraline read those statistics that are on your site about it but it also feels like that the people in general know very, very little about.
SAM: There are strong organizational self-preservation instinct that kick in for people who work for colleges because they want to minimize those sexual assault stats because they make the school look bad. They might result in reduced funding or reduced interest in students coming to their school. They don’t want to be perceived that there’s a sexual assault problem at their school so they want to pretend that it doesn’t happen.
Then for individuals who are privileged enough not to have experienced sexual assault, those people don’t want to think about it. It’s not a pleasant thing to grapple with and if you’re not directly motivated, if it hasn’t affected you or somebody that you know, it’s not like most people are going to go out and just research this on their own so it has to be outreach but there’s not a lot of funding for outreach. Frankly, there’s not a lot of funding for any of it.
ASTRID: So it’s like a self-perpetuating silence, essentially?
LYNN: This isn’t necessarily an institutional problem. It’s something that I dealt with a lot personally. I have to say that I spent a lot more time digging in Python than I do in [inaudible] because I have [inaudible] the subject matter where I work on day-to-day. For example, the stats that Coraline read earlier, I know the developer who put those on the site but I’m going to put those on other site in the next few weeks and I promise you that I won’t read them, as I’m actually doing it because it’s so hard to parse when I am trying to like, “I’m trying to write Python and the Python I’m writing says that 30% of people who are sexually assaulted do blah-blah-blah,” and I’m like, “Nope. I’m not reading it.”
JAMEY: It’s a weird feeling reading the statistics, I think for a lot of people, whenever I read statistics for about anything bad really, I feel like I’m at risk group that I’m in. I get this feeling, especially recently I have an experience like, “This percentage of the trans community has experienced this terrible thing,” and I’m like, “Wow, that’s a lot of my friends,” and it feels like I’m waiting for a shoe to drop. This hasn’t happened to me so when is this going to happen to me. Looking at numbers can feel very weirdly personally over-alarming that way, I think.
LYNN: I have a very informal band on anyone reporting about balance numbers on transwomen of color if the person themselves is not a transwoman of color. I have personally chewed out many, many white transwoman for conveying the black transwoman of color like the black sex worker transwoman of color at assault and balance rates with [inaudible] depression. That’s not you. Stop it. I can’t deal with this. It’s weird like they’re in love with empathy, but first empathy is when someone say something bad, you want to help them. But I’m several steps removed from that where this is bad, it doesn’t affect you, it affects me more than it affects you and also talking about it, it doesn’t really help me so please stop. It’s a very hard. It’s something that I had to personally parse when I’m working on the frontend with a lot of specific content that I personally parse on daily basis.
CORALINE: Lynn, that ties into something I’ve learned through my own activism — this concept of staying in your lane. There are issues that I feel very strongly about but there are people who are doing work to address those issues and I see my role as someone who’s maybe not directly affected and I’m thinking here maybe reproductive rights or definitely is what you said, the violence that transwomen of color that sex workers face so I try very hard to amplify those voices and support the people doing that work without getting in a way. Do you think that Project Callisto could have been created as well or be successful if it was created by someone who is not themselves a survivor of sexual assault?
LYNN: No, not even vaguely. There are competitors at Callisto that… I don’t know. I don’t look at them in depth because I’m not a CEO. I know that our organization is coincidentally 100% women right now because who’s going to have good information on the effects of sexual assault and a lot of us had PTSD from various kinds of trauma and this is the organization that I want to be solving the problem.
SAM: We don’t want to minimize the experience of male sexual assault survivors. They are a small but definitely present minority.
LYNN: Yes, there’s a very specific thing that we do on the website on various places where there’s certain things that women just do culturally that necessarily don’t make women a lot more comfortable but they all push away men really aggressively. It’s not something that they think about on daily basis because [inaudible] women, I can’t. But every once in a while, we’ll do a content appraisal of like, “Will male survivors will have a really hard problem with this?” I don’t know. I’m not the designer so I just assume it is basic things like too much pink. It’s a consideration that we yield through.
SAM: There’s another stat on the site that I found interesting, which is that you match reports and you allow people to report only if another survivor names the same perpetrator. You say this is because up to 90% of assaults are committed by repeat perpetrators. I’m curious, is this something that helps survivors report because they feel like if they are not the only one, there’s a much better chance they’ll be believed?
LYNN: It’s about cultural reasons and psychological reasons why we do that. I think the way I describe it subjectively and referencing my own experiences are there are certain things that I only feel talking about if I know that they happened more than once or to more than one person. We have a technical set up that reflects that emotional feeling of, “This can happen to me as bad, but I don’t really care and talk about it but it happen to other people,” and we have code that does essentially that.
CORALINE: The Project Callisto website says that during the 2015 to 2016 pilot program, the reporting rate quadrupled on partner campuses. Why do you think it had that kind of impact?
LYNN: Me, personally as someone who’s 25, I would also be three or four times more compelled to report a sexual assault if I can do it on my laptop, in my room as opposed to in a physical office with someone who I’ve never spoken to before. I think that speaks to the core fundamental impact of Callisto as a website where you can report a sexual assault. It itself being very impactful.
JAMEY: I want to talk about the level of technology involved. My perspective on this is that I used to work on an Android app for an NGO in Africa that was doing a similar thing actually, where it was taking data from sexual assault survivors. In their case, the idea was people would go to doctors and get medically checked but then not feel comfortable going to law enforcement and there was a disconnect with people who felt comfortable with medical and people who comfortable with law enforcement so the idea was if the doctor that they’re already seeing can take this information in a format that they can just pass on to law enforcement with consent, rather than making them go through a traumatic experience again, as we were saying earlier like getting checked out.
But one of our big things that was a huge focus in the Third World, which is where this app is doing was keeping it as low tech as possible. Even though it was at an app, we train the doctors to use it and the survivors never had to do anything on a computer or a phone and they could just let someone else do it for them, then not have to go through that technological stress.
I’m listening to you talk about this with college students and talk about the exact opposite. I love that. It’s really interesting with this idea like I don’t want to talk to anyone. I don’t trust anyone to do it for me. I want to do it all in technology. I guess I don’t really have a specific question but I want to sink my teeth into that concept that people who are comfortable with technology or not, doing things in a way that is most comfortable to them. Does that make sense?
LYNN: Yeah. The other day, actually my [inaudible] call on me and have a conversations with them about whether of good formal definitions of cutting-edge in high tech because I think a few days ago, I was tweeting about how I’m using beta versions of npm, Travis and some GitHub features. This feature was released in the last two or three months and usually I personally noted those and I’m watching their commit logs and I’m doing this for the sake of pushing Callisto to sexual assault survivors better. I haven’t done this yet but I have a bunch of patches to [inaudible] and to Django and Python, that I could trace all the way back to if this patch gets in, it’s going to serve special assault survivors in this way. Also, it’s changing a thing for a millions of people because I would be patching the Django.
I like to drill down on that very specifically. I think it’s something that helps my personal impression of my impact. Because we’re a big organization, there’s a larger conversation to happen in respect to like, “Lynn, you spending a month adding Angular.js in record form so async really help a lot of people.” I don’t know but I love Angular.js and I could use npm when I’m doing it and also, people who use async forms will think it’s really nice. Those are the things that I think about with respect to Callisto’s tech.
SAM: When I found out we were going to be talking about this, it was really excited and one of the things that occurred to me was that looking at it seems this should be a fairly bog standard webapp but were there any other aspects of the technical implementation that were particularly interesting?
LYNN: For the most part, it’s a very basic Django app. It has a few views that have a few forms on it, basic Django forms. It could be better but in ways that would be better for all of the Django had once. The only thing I feel that is very specific to Callisto and implementation is the fact that we have integration with Python’s GPG library, which I’m not super used to describing this in depth but it’s the same tech that underpins TLS and [inaudible] and SSH and all those other sort of things.
We have the Google form thing and there’s that repo and right above that repo, there sits another repo that takes all the data that are going to Google form process with and GPG encrypts it before we send it to the client school. We have another process where we actually take all of [inaudible] officers doing GPG key setup process, which if you’re a web developer, it’s something you’ve already done a few times already but [inaudible] officer is totally new and it’s a whole new type of password. Public-private key encryption is a concept that you have to introduce them to but it’s fundamental to how the tech of Callisto works.
CORALINE: Lynn, you talked about looking at beta versions of various tools and evaluating or seeing like this features going to really help us with Project Callisto and therefore, help survivors. Is that information in context that you tend to share with open source maintainers? If so, what kind of reaction do you get from them?
LYNN: I share in [inaudible]. I love it. It’s one of my favorite things. I’m going to someone’s repo and I’ll have a thing that I think the most recent time I did it was there’s a Django migration test case library that runs migrations forward and backwards in a test context so you can see if the migration is failing. One day, that repo was only really set up for minor migrations forward and I want them to run the migrations backwards. I laid on in layers, where I have an initial issue and I was like, “It’d be cool if you could run migration backwards.” It has this open source thing that the developer was like, “Oh, it’s cool.” I don’t even need to work on it and then a few weeks later, I was like, “I’m working on a sexual assault record form. I think that if a survivor has a specific data and then I remove that field, I need to be able to write a test to explicitly say that data is remove because it contains sexual assault data.” That had a really good end user impact on survivor and that feature was in three days. That’s usually how it goes but sometimes, when I don’t even have to do that, I just say Callisto and they Google it and things happen around me. It’s really nice.
SAM: I think that speaks well of their Django community for an app like yours has that kind of credibility and clout.
LYNN: I had all totally positive experience with Django community. Amazingly I had this thing where the way I like to submit patches to open source projects really creates against the Django itself, just me versus Django. I had this thing. Since I started working on Callisto, either something about how I totally shift myself for the content that we working on Callisto, when I make issues the Django people don’t yell at me anymore and that’s nice. Because I’m kind of shit-head about it and it help sexual assault survivor so they deal with it.
JAMEY: That’s a good reason.
LYNN: Yeah. It’s basically always been the case that when I’m talking about things, I don’t know how the whole [inaudible] core team has it to shoot me out because I talked so much shit about [inaudible] on Twitter. But I feel like if they were to start, they would see Callisto in my [inaudible] and be like, “Okay, never mind.” That sort of how it goes usually.
CORALINE: I think actually that kind of great because not only you are getting a positive reaction from project maintainers but I think that as software developer, we tend to not think about the impact necessarily of technical decisions that we make or the tools that we create and we don’t think about the fact that there are real people doing important work on the other side. Our users are doing really critical work.
I think too often we might think, “In the enterprise, this will have this effect,” or an organization of a certain size will make a developer spend 5% less time running test when in reality, there’s very important work like the work that you’re doing that relies on stability and performance and flexibility of the tooling that we’re creating.
LYNN: Yeah, it’s nice to remind people of that every once in a while. I can almost see it between comments and a GitHub issue, when they realize that the GitHub issue that I just made isn’t for making take out gets in my house two minutes faster. It’s for helping someone reports sexual assault and you can just feel how much more serious and driven they get in between two comments when they realize that.
SAM: Out of curiosity, is it feasible for newcomers to contribute to Project Callisto?
LYNN: To a degree of feasible that I work every day to make it more feasible. I come from a context where previously the Callisto, I was working on Bundler and Ruby Gems, which the projects themselves like to be very accessible but the actual code for Bundler and Ruby Gems are almost comically inaccessible. I focus a lot on using the standard Django pattern on things and our resource repos so that is if someone is coming from another Django project, they don’t have to deal a lot of Callisto quirks.
I have a bunch of really aggressive mentors. I’m always on a search for if I can add a new linter and it doesn’t take me an hour to fix my current [inaudible], I will. I love it. It’s so much fun. Those are the things that I like to think that help new project contributors. I think it could be good. It’d be amazing at some point when we’re much larger to have someone who is on your core job competencies as helping Callisto open source profiles so that more people can be using it to solve sexual assault and more nuance ways.
ASTRID: Lynn, is there any way for people who are not programmers to help contribute to Project Callisto?
LYNN: I might be corrected on this later but as far as I know, the only portion of Callisto as an organization is it’s entirely significantly open to general public feedback is few of Django repos so it’s very programmer-y in that sense. Even then, there’s not a lot of translations or documentation in the open source repos. It’s mostly Python. Presently coming from a context of open source everything and Bundler and all that stuff, I really want that to get better but in the meantime, how Callisto be a Python developed or get your foundation to donate a million dollars so we can figure out what’s [inaudible].
CORALINE: Have you worked with Fund Club?
LYNN: Not in the context of my individual organization but I know five or six organizations that have been founded by Fund Club and I’ve watched their impact before and after.
CORALINE: We had a very positive experience with Fund Club. It’s definitely worthwhile.
LYNN: I could see a thing where I could get money for Fund Club not necessarily in the same nonprofit way that Callisto usually gets money. It’s a very operations-y but I use it any more specifics technical contracts of like I get Fund Club money for open source at different part of Callisto and I have a junior programmer working on it for a little bit and I pay them with the Fund Club money. I could see that being a thing. I think it’s an interesting avenue to explore, simply because Callisto as an organization is very standard nonprofit. We have a very standard nonprofit fundraising and I never thought about the wide network of tech in front of me that I’m also connected with.
CORALINE: I think that ties into something that Sam was saying in chat. A lot of people don’t have the time or the energy or don’t want to get in the way of the project would be very, very happy to contribute money knowing that it was being put to good use.
LYNN: Yeah, I don’t interact very much because web developer. There are campaigns we do about individual giving. What I’m hearing about it is like operations talking about individual giving but subjectively for the person hearing about that, it’s like giving $5 to help support a sexual assault survivors. That’s nice.
SAM: For our listeners who may now be inspired to donate, we’re going to drop a link to the Project Callisto donation page in the show notes.
JAMEY: I’m curious about the decision to have Callisto as an open source project. I know that you were talking earlier about how you really to be open and transparent and I really respect that and I wonder what went into that decision to have this as an open source project and if there are any worry in security and how you mitigated that.
LYNN: I’m not sure I can really give an answer to that that isn’t very focused on how open source does it better, particularly the security thing. If I think about any system that could possibly think of and I subject it to open source scrutiny, for a certain level of scrutiny like if you get five people looking at it, the security is getting better because five people will have five opinions about how to make it more secure, that they wouldn’t be able to give if that would be close source.
That’s one of the fundamental tenets of open source and security that I like to spit off whenever I need to. The fact that Callisto is open source is very chicken and egg for me because I like to, recreationally license a lot of my personal projects as AGPL. Then the person who is hiring for Callisto at the time was like, “Would you like to work here?” And I was like, “Let me look at it. Oh, my god. You license AGPL on sexual assault platform?” I love it. I love it.
It’s already here. This is amazing. I did this personally myself too and it was really funny actually because I had a personal conversation with the hiring manager at that time and he had the same like, “We know that lots of close source developers hate AGPL so I like to license it explicitly and put it out twice, just so you know, we had this here. We don’t care that you are annoyed that you can’t use our code in [inaudible] because we don’t want you to.” Callisto itself is only for US schools so we have a lot of plans with places where Callisto itself couldn’t really be effectively deployed for those who’d like user open source repo. They have their own impact. I don’t know the extent to which those plans are public yet but that’s another thing that being open source helps that.
SAM: Lynn, is there anything particularly exciting about how you have done this that we haven’t talked about that you’d like to?
LYNN: I had a call recently [inaudible] non-school client but I am not certain [inaudible] who it is. They asked me very poignantly about to extend Callisto and share on all of sites and the code is the same and blah-blah-blah. That’s my favorite topic because I’ve spent the last six months going from a really standard basic copy and paste [inaudible] process. This thing, where we have 13 clients schools but one Heroku app and we have Heroku pipeline setup. We try to build stages and smoke test and all those kind of automated deploy that kick off every hour. It’s hard to conceptualize that impact on survivors but when we’re talking to clients and they’re like, “How often do you update your code? Is our code the same as everyone else’s?” and I’m like, “Yes and every three hours minimum, probably. I think that’s really cool.
CORALINE: At the end of every show, we’d like to take a moment to reflect on the conversation that we’ve had. I want to share a couple of things. I do a lot of thinking about empathy. I’m writing a book on empathy in software development. I think this is an excellent example of developers putting the psychological safety of their users first and thinking about the way the tools that is going to be used and how that impacts the real people on the other side of the screen.
Lynn, I think you’ve done an amazing job in really bringing that empathy to bear in every step of the development process and the deployment in how you are presenting it to the world and how you’re working with partner campuses. I think that’s absolutely amazing. I also wanted to share a video that I came across recently. Someone did an animation for a talk by Brené Brown on the difference between empathy and sympathy. I think everyone should watch it but one of the really poignant things that stood out to me is that when you were listening empathetically, you never used the words ‘at least’ and that’s a big difference between sympathizing with someone and empathizing with someone. I’ll put a link to the video in show notes.
ASTRID: When we were talking about your process, Lynn for how you get new features added by talking with open source community, explaining how if this was here and be much better for the users, it was really inspiring to me because I know that there’s a lot of discussions the people have about how to use technology for good or how to be more involved with things that people really need and not just build technology for technology sake. I feel like that is a great example of when you are thinking about people and you are really focused on what the outcome of what you’re using or what you’re building is going to be.
There are a lot of great developers who are ready and hoping that what they do can make an impact. I think it’s nice to hear that there are people out there who are thinking in that way and who are willing to put an extra time to get that done so that you can have a future available within a few days, especially, since a lot of what we hear is about how many developers are very selfish and very obsessed with their own technological growth. It’s nice to know that there’s a bigger community out there that doesn’t get talked about as much that is working on behalf of trying to help other people too.
LYNN: On the day to day, I almost wish I had more really small apps of the open source libraries that we use. Whenever I realize that I haven’t issuing Callisto that can make it really good, GitHub issue that someone to fix in a day and I am like, “Oh, yeah. I can do this thing again.”
JAMEY: To me, this whole conversation has been really inspiring to me and I think it’s all coming back to thing that was said at the beginning about if you don’t like what someone else is doing, you can do your own thing and you can make it happen. I’m feeling very inspired by that right now. I’ve been thinking about this already a little bit lately. I saw a thread on Twitter earlier this week kind of in the wake of the Google memos and stuff and all of this that’s been going on in our industry. Someone was like, “You know, you can start your own company. You don’t have to work for a company that’s going to treat you badly. You can start your own company and you can make the rules and you can hire people and you can treat them well and there’s nothing stopping you from doing that, in theory. Hopefully, you could really be making a difference if you decided to do that,” and that was very inspiring for me to read and I think that ties into what we’re talking about here too, like you don’t have to tag along on someone else’s making a difference. You can make your own and I’m really inspired by you, Lynn in everything that you’ve been working on but I also love the idea that other people could go on and do other great things that are inspired by it, that are touching other parts of our community.
LYNN: I had a sort of natural reaction to, I think you specifically referencing the really misogynist Google memo and I had a very naturally dismissive reaction because my dev team is entirely female and it’s me and I’m great.
JAMEY: I’m really happy that that’s how you felt about it. I feel really good about that.
CORALINE: I was actually contacted by a young woman that I used to mentor. My initial reaction was this is just typical of Silicon Valley bro-grammers but she reached out to me and said that she was actually very emotionally affected by it because it made her question how her peers that companies that she’s worked at or working at currently think about her and the biased and unspoken sexism and how that’s affecting her career and her career choices. I did tweet about this but just as a call to action, if you know people who are early career, if you know people who are feeling very vulnerable, don’t assume that they react in the same nonchalant way or the same sort of, “Yes, we’ve seen this before,” kind of way to things like Google memo. Reach out to them and see how they’re actually being affected.
SAM: All right. I have a call to action for our listeners today and some of you may be inspired to go and try to contribute to Lynn’s repository and that’s great but there’s something that every single one of you can do and that is fucking believe survivors. Astrid wrote a really great piece probably four years ago now called the risk in speaking up and I’ll drop a link to that in the show notes, which she talks about all of the various forces that might keep somebody from disclosing that they were a survivor or that they survived an attempted sexual assault.
The tl;dr is there’s a lot of reasons not to say anything so if somebody does disclose that to you, the very least you can do is believe them. Of course, for that to happen, you also have to be the person that somebody feels safe disclosing to. I’ll leave that as an exercise for the listener. That’s it, really — fucking believe survivors.
CORALINE: Lynn, thank you so much for coming on our show and talking about your work and thank you, more importantly for the work that you are doing and the impact that you’re having on a very, very vulnerable part of our population. Thank you so much for that.
This has been a difficult conversation for a lot of us on the panel and it’s probably a difficult conversation for some of our listeners to hear but we feel like it’s a very important and it’s important to talk publicly about these kinds of issues and about how people in our community can make a difference.
[This episode is brought to you by Upside, one of DC’s fastest growing tech startups. Upside is looking for innovative engineers wanting to disrupt the norm and they’re always hiring. Check out Upside.com/Team for more.]
CORALINE: Upside is our first corporate sponsor but we’re looking for more so that we can continue bringing you great episodes like what you’ve heard today. If your company values diversity, inclusively and the kinds of in-depth conversations that we have here in Greater Than Code, please talk to them about sponsoring the show. A prospectus is available at GreaterThanCode.com/Sponsors. Thank you.
This episode was brought to you by the panelists and Patrons of >Code. To pledge your support and to join our awesome Slack community, visit patreon.com/greaterthancode. Managed and produced by @therubyrep of DevReps, LLC.
Amazon links may be affiliate links, which means you’re supporting the show when you purchase our recommendations. Thanks!