Good evening, everyone. My name is Molly Martin. My pronouns are she and her, and I'm the director of New America, Indianapolis. New America is a nonprofit, nonpartisan think tank based in Washington, D.C., but I make my home here in Indiana, and this is where I lead work on the Midwest, including on racial equity and economic progress. I want to welcome you to Transforming the Polls in Indiana, a special series that we've been doing with the ACLU of Indiana on yes, you can vote, looking at voter protections and voting rights issues that affect different groups of Hoosiers. Today we'll be discussing the work of local leaders, residents and activists to ensure that transgender Hoosiers are safe and empowered at the polls. And what we can learn about project protecting and engaging all voters and transgender voters that we can apply here in Indiana and across the country will also be hearing about how transgender leaders are influencing politics and communities across the state. We'll be starting with some stage setting and some education but tonight is meant to be conversational. So I hope you'll join us online using the hashtag transform the polls or over in the chat will where we'll be taking your questions directly to the panel. First, I want to thank my panelists tonight and also thank our partners at the ACLU of Indiana. I'm going to offer a brief introduction to my three fabulous co stars, and then we'll start off with Kit Malone for some remarks. But first I want to introduce everyone. Kimberly Aikoff is a trans woman and military veteran. She's the programming director at Indiana youth group in Indianapolis. She served 30 years with the state of Indiana working with the Department of Child Services and Family and Social Services addressing issues surrounding the care of individuals with physical and mental health disabilities. Kit Malone is an advocate and educator at the ACLU of Indiana where she organizes a statewide public outreach campaign to identify transgender activists and arm them with the tools to educate and engage their communities on the importance of passing comprehensive civil rights protections for all Hoosiers. This is after a successful career working in public education as a high school teacher. She joined Freedom Indiana in 2016 as a community organizer. You remember Freedom Indiana's work following the riffra action here in the state. Veronica Petrol is beginning her first year of service representing Green Castle Indiana she's on the city council representing the Third Ward. This is her first term it began in January. She was Indiana's first openly transgender elected official. Green Castle's Third Ward is an economically diverse place here near DePaul University where Veronica is also a professor. She works for greater access to shelter and nutrition for the city's disadvantaged populations, being an active member of the local NAACP and an alumna of Princeton's graduate school of music. She has a million credentials and is offering a lot to her community where she also is active in her church and if I'm not mistaken as a proud parent of not one but two Purdue graduates. She's lived in Green Castle for 15 years. So I'm really excited to have these three women with me tonight and I can't wait to get started. Now Kit I'm going to start with you. I'm going to have you do some stage setting for me. Tell me a little bit about yourself, a little bit about the ACLU of Indiana and why we started this conversation about yes you can vote in the first place. Kit. Yeah, absolutely. Thanks for that great introduction Molly. I, I lead the LGBTQ rights project at the ACLU of Indiana, which is sort of a multi headed attempt to push the conversation forward on LGBTQ rights in Indiana. The ACLU has a long history of being a leader in that space, we were of course the organization, the broad gay marriage to Indiana before it was actually founded the Supreme Court nationwide. And we have a long history of being involved in RIFRA we were of course one of the partners of freedom Indiana what my former employer. I've done a lot of work throughout the state, organizing LGBTQ issues and I came over to the ACLU with my director Katie Blair, and she really envisioned expanding the ACLU into something that could be unlike sort of campaigns like freedom Indiana which were great but short lived because they only existed as long as there was an event that people were responding to we saw the need for there to be something that was in Indiana year round. Somebody that had the ability to for instance lobby, because we face yearly attacks in our legislature on the rights of LGBTQ Hoosiers particularly transgender people underneath that LGBTQ rights project we also have the program that I'm really sort of my, my baby, the TEAP program. It stands for Transgender Education and Advocacy Project, which is a project to identify transgender advocates throughout the state and and teach them how to really do the work of community organizing and to partner with them in order to provide them with tools and resources and to lift their microphone, you know, to increase the volume on their microphone if you will, in all the ways that we can and to prepare them and then also to bring them in and introduce them to their lawmakers and to give them the opportunity to show Indiana that trans people are not just a thing of downtown Indianapolis or the safe blue cities but that there are trans people throughout the state. In every city in town in Indiana who have interests in government have interests in their rights and have interests in being it being part of our cultural conversation in the state. So anything that we can do to lift up their voices because I think they're hidden. We hear a lot of lawmakers will still tell us well we don't have that in Indiana, and I can assure you that you have it in your town. And some of the funnest parts of my life has have been introducing a lawmaker to someone who lives in their hometown who is transgender. And that work really changes minds to that work is our is one of our most effective tools in protecting trans people in Indiana from those sorts of yearly attacks. So, last I want to talk about voting. That's what we're here to talk about. We have been for the past three years, the ACLU we have run a campaign called yes you can vote. Yes, you can vote identifies groups of Hoosiers, who may find that their voter rights are either suppressed or they may be victims of misinformation about their rights. So we chose through research, the people who we think may be most harmed by these forms of voter suppression. And the centerpiece is folks who are previously incarcerated. And you know I'm going to list some groups of people but it's important for the audience to understand, I think that those aren't distinct groups like all the groups that I'm going to list all belong to one another. So we talk about the right to the voting rights of people who are previously incarcerated in Indiana, because they do have voting rights. You do in Indiana does not strip people who have a record of incarceration of their right to vote or one of the few states that doesn't. Unfortunately, a lot of people don't know that which is either, you know purposeful misinformation or simple ignorance, and we have heard stories of even judges or parole officers telling people upon release that they had lost their right to vote when that is not in fact true. So it's really important, you know we have those billboards up around the state we've got commercials going. And we've worked with so many great community organizations to distribute literature, especially reentry organizations I'm really proud of that work. And of course incarceration is something that trans people care about because trans people in Indiana are incarcerated at higher rates than the average of the population, which is even worse for many of these, for many of these groups if you happen to be, you know, a Hoosier who is trans who is not white. We find that that even that that can that can vastly increase your risk of being a victim of things like incarceration. So we also talk about folks with disability. Lots of trans people have disability of all kinds, and it's important that people with disability know that they have the right to get assistance at the polls. They have the right to bring someone with them. If they feel like they need a helper that that is their right in Indiana. They also have the right to expect that their polling location is going to be accessible. Another thing that that we need folks to know that they have the right to that, and that they should report that if they find that their location isn't accessible because it's important that everyone get that chance to exercise their right. We talk about students, people who, for instance, may find that they're not sure where they should cast their vote do I do I cast it from from where I live, which is you know on campus. That's where I live that's the town I consider my home. Do I cast my vote there or do I have to cast my vote where my parents live. And of course the answer is you cast your vote you register to vote in the district that you consider your home. The only requirement in order to vote is that you are registered in the district that you call home. So I'm excited there for 30 days, and that you have an ID that matches the name on your voter registration. So, also with students another wonky issue is that you can register to vote when you're 17, believe it or not, as long as you will be able to vote of age to 17 by the date of the next general election. Of course the registration for this year is already passed. But in the future, like know that if you're raring to go register as soon as you can. You can register when you're 17 as long as you'll be able to vote by the next general election. And we'll also talk about recently naturalized immigrants who have the right to vote and of course we know that every citizen has the right to vote. However, there are special concerns for people who've been recently naturalized so making sure that they know that voting isn't something that can be used against them if they have family that is undocumented that as soon as they become citizens they can register to vote and get out there and vote they should do that because policies are being decided that affect them. And they have the right to do that and we should all exercise the those rights that we have. And finally, really finally this time I want to talk about trans people, which is what we're here to talk about and, you know, trans people can experience all of those issues that I mentioned in the past. We also have some special issues of our own at the polls. We talk about safety for trans people, for instance, what it might be like to be trans to vote in for instance a rural district. It might be like a state where you may have to go into a conservative church basement to cast your vote if that's the polling place. And what you can do in order to be safe. And we also talk a lot about ID and voter ID, which has been a hot topic for trans people in Indiana specifically, because we've faced several attacks on our rights to change your ID. And over the the past several years. It is important that trans people know that they have the right to vote, regardless of whether or not they've changed their ID, no matter what they look like. No matter what they think is the poll workers are going to say, you do actually have the right to vote you. All you are required by law is to have a valid ID with an expiration date, and your current name that matches what is on your voter registration matches what's on your photo ID, then yes you can vote. And you, if it doesn't, it's change it right away if you can. If your if your ID does not match you may have to find yourself casting a provisional ballot, which can complicate things so if you want to be sure your vote is counted. Make sure you have an ID that just matches whatever you're currently registered as that's the only requirement. Yeah. So, I want to thank everybody for for being part of this conversation and just plug my event transform the polls which is happening on Thursday, transform hashtag transform the polls as an ACLU of Indiana initiative to highlight the stories of trans voters. I have a bittersweet year for me because usually this is an in person event. Usually we take groups of folks all over the state and cities this year we're doing Muncie South Bend, Indianapolis, Bloomington, and Evansville think I got them all. Yeah, that's all. And we have groups of people who will be highlighting stories in outside of the time of the pandemic. And we would be taking groups of people to actually vote together as one to talk about safety and numbers and, you know, if you're nervous about voting at your local polling place. Here's a way you can, you can vote with a group of people on an early voting day. This year, it's going to be a lot more about highlighting the importance of using that vote and how you can do so safely during the time of COVID. So watch the ACLU of Indiana's social media feed on October 23. You can find us on Twitter, Facebook and Instagram. You will see so many beautiful faces of people voting every year we have a couple of folks who is the very first year they've ever voted, either at all, or ever voted with their accurate name and gender. It always feels like that's it's such a warm fuzzy that I look forward to every year, and I'm excited about it. So that's a, that's, that's the ACLU feel for y'all. Thank you for sitting through that. You must be doing that in your sleep. I have heard there's an election coming up but that was wonderful kitten. Thank you. And thank you for highlighting the importance of feeling safe at the polls. It is one thing to know that you have a power and a right and it's another thing to feel that you will be personally safe physically safe, emotionally safe, and able to vote when you get there. So speaking of able to vote when you get there, I think something really compelling about transform the polls are voter stories, and by way of introduction to the rest of our panel, I'd love to hear a little bit about your own voting stories. So Veronica Pedro, I'm going to come to you. If you could reintroduce yourself to our audience, and share with me a voting story, especially a story about voting as you as your authentic self Veronica. Thanks Molly. I'm actually going to share two brief voting stories because I think both of them are really important right now. The first time I had the opportunity to vote as my most authentic self was back in the 2008 general election. And I had legally changed my name earlier that year. And I had, but but just thinking about some of the things that kit was mentioning regarding challenges to our identities and the authenticity of our identities, I had to visit three different locations in the state of Indiana to with with my doctor's paperwork to get my driver's license properly amended to reflect my sex. And third time was the charm there but but I had affirming ID thankfully when I went into that polling place there back in November of 2008 which many of us fondly look back on as a very consequential election in our lives. These were the days at least in my county where we were using traditional polling places which were often located in churches and schools in my precinct. The polling place of that I was to go to was a Baptist church a few blocks from where I live. And I've never been in a this was my first time in a Baptist church. And so I'm like feel awkward going in there for sure. But I've thankfully faced no challenges in that space and promptly went through the motions and cast the vote of my choice, leaving that space, what felt super empowering. I can't begin to know what what the amount of joy that that day felt like the other voting story I have to share, because I brought my sticker with me today and this is a sticker I've been holding on to since last fall, because this is the sticker that I got to bring to the polling place we use polling centers now in Putnam County here in rural Indiana. So we go to the courthouse to do early voting which I did then, but I got this sticker when I had the opportunity to vote for myself in a general election. And that for me, I think for our community here in Indiana means a whole lot and I will be holding on to this sticker for as long as I live because it reminds me of just how important that representation is, not just for people who are voting for policy change voting for the candidates of their choice, but also the the importance of the vote and and representation at at every level, including in public office. So yeah that that that's my other story. And that's a that's a smile inducing story spoiler alert in case you missed that shortly thereafter became Indiana's first openly trans elected official and we're so glad that she did. I think that sometimes people hear Indiana and they do not assume that there's this legacy of LGBTQ activism and trans activism here in the state. And certainly I'll admit and I've lived here for 20 years but even coming from red or places like West Virginia and North Carolina, I didn't think of Indiana as a place where I would find such an interesting journey and such a rich story. Speaking of interesting journeys and rich stories, I'm going to come to Kimberly and ask her to tell, tell us any voting story. But before I say that Kimberly I understand you were in the military and I want to thank you for your service what branch for you National Guard. Excellent. Well, thank you very much. Well, thank you. I'd love for you to reintroduce yourself and share with us a voting story. Thank you. I'm Kimberly a cough. I work at Indiana youth group as the director of programming there. I'm serving youth that are from the ages of 12 to 20. We advocate for them and provide services wrap around services case management and that type of thing.  You know, 2008 like Veronica was pivotal moment for me getting not that I faced any real challenges at the polls myself, but my friends, other trans women of colors who had a color who had been incarcerated for merely trying to many times just trying to survive. And then there's these urban, what we call the urban newspaper the word of mouth, and you don't necessarily get educated on when you can or cannot vote. And you don't get the correct information. Many times they're incorrect information or only information is given, saying that you just can vote vote if you've been arrested, and convicted of and with a felony, particularly. So it's important that information is given correct information is given. And so there was friends of mine who went who thought that they couldn't vote but we went anyway. I think you have to just show up. You should exercise your right to vote. And if you're told no, try to get that provisional ballot as kids spoke up and challenge that don't take no as an answer that's my antidote for life. No cannot be the answer. We have to push forward and see if there's something be your own best advocates and then reach out to places like ACLU and say that you put in a provisional that provisional ballot so that they can tell you to the right help and resources and find out if you really can't vote vote or not because that's important. Especially for trans women of color and anything else any other any other race. It is just important for us as Americans to be to exercise that right because you know more than ever laws are being made that affects the population. And one and, you know, and the sixes are just so startling because like one in 13 people, people of color don't have the have ID don't have the proper ID so that they can vote. And, you know, and like one of it compared to 156 non black individuals. That's a disparaging number and it's concerning. So we I want to make sure that that my message is so that every, every day and average women like myself, try to find try to find out if you have the right ID. Get your voter registration card do everything that you can do pre hand so that you are lessening the chances that they're that someone's going to create problems for you remain calm and try to work through it okay. And I think if we just work together and we plan ahead, we can get through this together. That's my hope. And so to that's so important. You talk a lot about Kimberly about ID and identity and identification right are two really complicated things. In Indiana we have fairly strict voter ID laws, which is perhaps a separate webinar, but how can someone and kid I'll start with you you may be my go to on this. How can someone get an ID if they don't have one. And can they get one in time for the election if they are registered but perhaps they've lost their ID, or don't have other state issued identification. Absolutely, so the best way to do that I'm not I am not an expert at the, at the old bmv. I do what everybody else doesn't have to Google that up so feel free to correct me that but the bmv would be your best option. Because I know it costs less than $20 to get a state ID. So I would consider, if you can $20 can be a steep lift for some people which is why it's a problem that we require voter ID, you know, people in poverty deserve to vote to and to have their civil rights. So the ACLU spoke out against Indiana's voter ID law and we have a number of times. But this year of course it is what it is. And the year probably your fastest way to do it is to get a state ID from the bmv if you don't already have some kind of ID, there are other types of ID that will work. You can use a military ID if you possess a military ID that is valid voter ID if you possess a passport you can use that. If you possess a student ID at an accredited Indiana University that has a photo and an expiration date on it that meets the requirements of the Indiana Port of Elections you can use that as an ID as well so those are all possible paths. Great and Kit could you repeat the ACLU web address, because I know you have some great guidance on the website about ID. Yeah, absolutely so you can find us at www.aclu-in.org. And if you like I can throw in the chat the link to our yes you can vote website with a lot of great information and a lot of links out to even more detailed information but it's got all the basics there. Perfect. Thank you. So now that we've gotten some of the paperwork out of the way. The idea of voting and participating is, it's a right but it's also a very emotional moment we all feel a certain degree of responsibility for our communities for our country and for each other. Veronica you mentioned in your bio that Green Castle Indiana while located in a fairly rural area has some economic diversity to it has some challenges. What made you look around your community where you've now lived for 15 years and said I need to run for office, I can change this, even despite the fact that I'm sure you knew you were going to have to talk about and make vulnerable on some really key points of your identity what what prompted you to run for office. So, so making vulnerable parts of my identity, you know, like I had mentioned, you know I did my voting as my most authentic self back in 2008 so it has been over a decade that I've been living in my community here. Part part of being trans and and living as one's authentic self, it is a daily task of activism in and of itself. So I'll start with that and point out that almost as a becoming part of my community and being an active and in valued member of my community was part of my has been part of my activism so getting involved in and becoming a church pianist. Getting involved in in working for and giving time to causes in my community. These are all opportunities to increase visibility of trans folks in my community and we, I think, all three of us can affirm that simply living and being and being visible and representing in our communities is part of our activism. Going out and teaching is part of my activism. I don't do it quite as much as I do and I still but I still do it over zoom I teach piano to kids in my community and and I do it on a pretty cheap scale. So that folks in the community get an opportunity for that for their kids to have that experience right so so that was part of everything before I ever thought about getting in into politics and representation in the community here. You know, the, the, the third ward in Green Castle is a long and narrow. I won't say Jerry Mandard but it is an oddly shaped ward that extends both over an area that's densely populated by some of the pause faculty and staff, as well as a more transient community and renters community on the east side. That includes folks who and and and children who suffer from food insecurity, housing insecurity, we do have a not inconsequential homeless population here in Green Castle. We do have a women's shelter, but we do not have a homeless shelter that can take men. We are working on some of these issues here in Green Castle so there is always unfinished business to be done. And, you know, some some of the things are obvious when you look around and you see cars in in the Walmart parking lot that that are, you know, have pillows and bedding in them for from folks who have been challenged with regards to housing so so that's that but there's also other challenges that that are not quite so visible the challenges of addiction in our community, folks who are suffering from, from addiction, folks who are challenged in with mental illness in our community and during this these pandemic crisis, this is even more amplified for disadvantaged folks. So, so the, all of these sorts of things were factors that when, unfortunately, the prior counselor for the third ward announced that he was not going to be running again because he was suffering from addiction in his shelter. Folks reached out to me and asked if if I would consider running and I, you know, said I would. I was very, very thankful to have a community that stood behind me and supported me and our message of good neighborliness in Green Castle, but that's not a message that necessarily people just did on their own. It's a culture that I hope to think that by those 12 years of authentic living in my community and representing as a as a productive and valuable citizen of our town that that that that value comes back. And so I am always a big advocate of partnering with with allies who can mutually benefit from each other. So the woman who helped me the most by providing organizing space community organizing space for my election campaign last fall and and help helped with being my canvassing manager is a mom to a trans kid who at the time was seven years old. And fighting for her was a big part of reminding myself why I was doing what I was doing because her, her life is in the balance to especially with another consequential election ahead of us this year. So the work I do is for our community and for the disadvantaged folks here. You know, kids mentioned so many different tiers of folks who are marginalized with regards to voting including homeless folks and folks here in Green Castle need to know that that they can vote. It's a pretty good job of reaching out to the in car formerly incarcerated community here in Putnam County. We need to do better. Still, in terms of some of these other communities as well. So, yeah, I hope that answered your question Molly. And it's so important I think to hear that obviously, and I'm speaking a bit out of turn here. Being a trans woman is an important identity. It is kind of a political act in and of itself. You also have all kinds of political interests and passions and needs and priorities as community members and telling your story of kind of living and being an activist in a rural area is a story that I think a lot of people in rural America would find really makes so much sense. And if I can bounce back off that briefly, you know, you know, you would mentioned who would think in Indiana. It actually turns out that Illinois that are our neighbor to the west which folks generally think is a bluer place and yet elected its first transgender elected official, although we do expect that to happen with judge Jill this fall, who I'm blessed to have had an opportunity to meet this this this summer. Wonderful. That's great news. Also might I add, in your face Illinois. And number one, we're not one. We can take on Wisconsin later to I love this. So, something that Veronica said really left out to me Kimberly, she said the woman who made the biggest difference. So I don't mean to like put you on the spot here Kimberly but your name comes up a lot when people talk about someone who made a difference in their life, their political life. So I hope you know that, but I'd also love to hear from you Kimberly as you look around your community, what makes you get up every day and decide to be an advocate and ally, and kind of a dead mother and and leader for lots of young folks here in the city I'd love to hear more about that. So that's good to know. Thank you for saying that. Really, what makes me get up every day and what has made me get up for the last 30 years is the young people, because they are there. They're our future. I feel blessed to work with them every day. I feel blessed that you know they're here that they're here right in America. You know, they're going to be our future governors presidents representatives nurses doctors and caretakers. You know, frontline activists. So, educating them and lifting their voices amplifying their voices and making sure that we are building futures that are going to future that are going to, you know, better their tomorrow is gone. And it's immensely important to me.  When I didn't have it when I was put out. So I learned from that I learned to be caring and giving and loving and spite of what I might need on the opposite side of, you know, what of that love. And I also believe in America, I believe that I believe in the power that we can come together and find coming ground to make sure that we house the homeless we give medical care to those who are sick. And we care for our children. That's been that's been what America's been built on. And that's why I continue to fight for and, you know, it's an honor to work for Indiana youth group working for the Department of Child Service and the state of Indiana that's always been an honor. I wanted that from the time I was 10 and to actually get to live that out. Nothing better. And now to get to work with LGBTQ youth and their allies. I couldn't ask for better. I've hit the lottery, because I see young people come in with their shoulders slumped and I see them walking out the door with their shoulders held high and their heads held high, and there's some pride in that. And when they look at people like myself, kid and Veronica and allies like you, Molly, it sends a powerful message that there is hope and that's what I want them to know that hope lives. It doesn't it's not dead. It's not found in someone saying no, it's found in you saying yes to yourselves and finding someone out there who can support you and we're believing you. And I think, you know, the us coming together as advocates and speaking out and living our truth and living our authentic selves we're doing that. And so that's what I, you know, that's what I wake up for. You're going to thaw out my think tank iron heart here Kimberly that that's powerful stuff. So for folks who don't know could you tell us a little bit about Indiana youth group. I'll be glad to thank you. Any of the youth group was founded in 1986. You know, it was started out as a hotline to prevent suicide to and just for someone to be on the other end of the line for desperate for desperate youth. It has just been a lifesaver for many youth and Allen from near in Marion County, but not only that, it has spread it through virtual program to other counties, and even out of the state of Indiana. So it's that beacon of light and all the darkness that youth can LGBT youth can find themselves is saying it's kind of that lighthouse where you can come when you are able to come. When they're facing homelessness when they don't have jobs, when they are bullied in school. We are those we're the voice we're the advocate, you know, we provide wraparound services for case management, providing food to our pantry, finding housing, we are just now entering a very excited program project prison where we're finding housing for you. And we continue to advocate for you and school through our TSA programs. So it's just so much and I'm such a, I'm so excited to be a part of it. Wonderful. Thank you for walking us through. You mentioned in your work all three of you have mentioned really that transgender people sometimes have a higher incidence of some of these other social challenges. So they might be housing insecure at a higher rate, there may be problems with employment discrimination, or even accessing employment or getting equal pay. We talked about rates of maybe mental health or addiction, or even increased incarceration sometimes just by virtue of trying to survive. In an election year when you're exercising your power at the polls to make sure that you can make some big policy changes so that these general areas of tension and pain for transgender residents gets lifted a little bit. Let's say I give you a magic wand tomorrow kit and make you the governor. What is the first policy step you take that you think is going to improve the lives of transgender Hoosiers and by extension, improve all of our lives. Take that magic wand. Yeah, absolutely. Thanks for making me governor. I accept. I will rule with a with an iron fist. But what I want to say is that when I think about policy change in Indiana. Of any kind. I think about how important it is to start with folks most harmed. How, how, how, you know, advancement doesn't happen. It can't happen by leaving people behind. It can't happen by being something that only benefits people who may already have a lot of benefits and privilege. And so if I were to make, if I were to, if I were to get a one shot. Change of change for Indiana one shot that I get to change something. It would be our, our, our overpopulated prison system. I would. It would be deep prison reform. I think that the way that the, you know, and I'm speaking of course is kit. I'm a transgender person. I do think that when I think of like a keystone issue that keeps the poorest people who are trans and a number of other other people, particularly people of color from building cultural wealth. It's the, the, the incredibly high rates of incarceration that you see. And I will tell you that that affects trans people really specifically because trans people are likely to experience homelessness. And I so many people on my social network, including myself, have experienced homelessness as a result of being trans. And this leads to doing work to survive that may not. And that leads to the collection of felonies, which leads to the inability to get a job, which leads to back into that cycle and feeds that cycle. So if I could do one thing, it would be to stop criminalizing so many people and to provide ways, whether it be expungement, whether it be simply decreasing their mandatory minimum sentences, whether it be decriminalizing certain kinds of certain kinds of behavior or reducing our penalties for them. I would like to see us address our prison system if you go to the ACL's website and look at our campaign for smart justice. We have identified a number of very small policy changes that could lead to a 50 cent reduction in Indiana's prison population if Indiana lawmakers have the courage to adopt them. And it would make us a wealthier, more caring and more humane state. So there we go. There's my campaign speech. Well done. We've already got someone coming in in the chat kit for governor 2024. So you've got a little bit of backup there. Well Veronica from the city council to governor for a day. What do you do. Well, you know Kim enumerated so much about focusing on the least privileged amongst us. Those of us with the least and and, you know, the incarcerated community is clearly one to identify there. I would also draw out the notion of our voter ID laws here in the state of Indiana I think that that that is an important target to put focus on in terms of voter marginalization and voter suppression within the state of Indiana and I think that any opportunity to give every Hoosier the opportunity to vote in their communities is always going to be better for for our cultural wealth as as kit put it in our community. So I would I would identify that as well. If I was, you know, there's there's only so much we can do as city counselors, but if I could put myself in the in the role of benevolent dictator rather than the iron fister. I would think that that also identifying the the challenges to access for quality mental health care and addiction recovery care for those in the least, or those who are in in marginalized communities that that those are communities that that need uplifting and need help from the state because they're not getting it from from anywhere else and it's time that we identify these communities and uplift them. Thank you so much Veronica so Kimberly Veronica's out you're in governor for a day where do you take us. It's a tough act to follow my goodness. You know, haven't come been in the military and, you know, coming from a military family, and I would look more to that area, I would let my voice to fighting against the right law that keeps us keep trans people from serving in the military, mainly because so many marginalized people don't have the means, either from their family, their parents, they, most of them, most of us, like myself, I grew up, I was a poor and my access to education home, own in a home and getting that first real job that paid anything was through the military and it is and when you know and serving as a drill sergeant. There in the military, I found out that there are a lot of stories that were like mine, poor people finding that out in the key to some form of success. So the Supreme Court has says that a job can't discriminate, but one of our biggest employers in our nation continues to discriminate. So I would advocate for that to be no more. Lofty priorities I love it these are great chewy policy points which we talk a lot about changing the world these are some specific levers that you can influence by casting your vote. So let's hope and assume that someone watching us right now on YouTube or on zoom is grappling with the idea of casting their first vote as their authentic selves. You've talked a little bit about your personal voting stories. What is an action plan that you might recommend to somebody in the audience who's getting ready to do this for the first time. I'm going to go in reverse order so Kimberly I'm coming right back to you. Give us some counsel. Where should they start. I say, prepare yourself. Make sure you have your ID together. You're pulling all that stuff together you get your voters registration card have that together. You know what, go over the issues get excited about it.  This is your chance to say something to advocate for yourself to speak up for your community. You know, I know I've been in many march. I've been in a couple of marches I won't say many I've been in a couple of marches. I think, you know, that is a wonderful way to advocate and put your and become and get your, you know, give your input, but more than that, it takes us voting. That's the biggest muscle in our community that's going to lend itself to you to changing policies and laws. And that's what I say, get, get excited about it and get out there and vote. Great. So step one, get excited kit. What's a step to familiarize yourself with your voting options. You know how you can cast your vote. So we've talked about research, come talked about researching that candidate and getting excited about the issues, which is definitely your first step. Your second step, I say would be to choose from the multiple options that you have available to you to vote and know in advance how you're going to do it, because Indiana in Indiana we make voting harder than it needs to be. And honestly, our voting laws are stricter than many other states, despite the fact that voter fraud is vanishingly rare. I would tell you that we were disappointed that Governor Holcomb did not heed our call to extend absentee voting to all Hoosiers. We are, we've gotten a lot of we've heard a lot of questions about that and there's a lot of confusion really about how absentee voting is going to work for people who are afraid that they might contract COVID if they're going to the polls. I would tell you that considering delays in the mail considering all the things that have been in the mix and the size of the selection. It is probably, even though the official due date for ballots is the 22nd that's this Thursday. It's probably a little too late, like I would consider, unless you have already requested that absentee ballot. What I might consider instead as a safe alternative a safer alternative is an early vote. Indiana's early voting period is underway now. It's been underway since the sixth, you can simply go into a voting location and cast your vote in your district. The best way to find out where that is is to go to Indiana voters.com. And just, they've got wonderful tools for checking your voter registration to make sure you are registered to vote. And they've got tools for learning where you can vote. And so hit them up.  They'll be able to help you as well. But for most people that's probably going to be the most accessible way to find out. And that is a state run website so it's accurate. And you can count on that information. And they'll probably have the most up to date information in case in this unprecedented election, where we have so many people voting, which we're super excited about, but also so many complications because of the pandemic. Do check before you walk out the door. Make sure that you know where you're driving to, especially if you have trouble traveling lots of trans people, for instance rely on the bus system that might take an hour and a half to get across town to get to where you need to vote. And so know it right away make sure you double check that you're you're going to the right place and that they're going to be able to allow you to vote. So yeah, that's mine. That's mine is do that research first. Do your homework. Absolutely. So Veronica when I come to you I'm going to come with two questions in one. One that I just posed to kit and to Kimberly, but also especially as a local official we've been asked in the chat thank you Jason, how can poll workers make voting a safe and positive experience for folks what can they do so we want you to do two things Veronica speak to a first time voter and speak to the poll workers about making it a welcoming environment. So addressing the first question I will plus one kits uplifting of Indiana voters calm. It's a fantastic resource for every voter in Indiana. It's too late to register but for the next election. You can register where you can register if you already have a state issued ID in the state of Indiana. The other thing is what what I don't the one thing I don't like about Indiana voters calm is that the best part of it is through the voter portal, and the button is at the bottom of the page and you have to scroll down to it. The portal button should be upfront and center on that page, because that's where everyone needs to go because that's where you can see where you're pulling places, what the polling place hours are, you can see who's on your ballot right there in your web browser and you can go open up new tabs and say, which of these judges do I want to retain, or can I look at the those judges records with regards to what you've made that might be impactful on my life. So, so you're not left flat footed in when you're in the ballot area, and you're a more educated voter because an educated citizenry as they say is is the foundation of our democracy right So I'll point that out and then finally add a bit for myself and say, if you're voting for the first time is trans phone a friend. I think kit and Kimberly can probably affirm that we've all stood on the shoulders of giants to get to our, the place of comfort where we are in our lives. Someone who walked before us who we look up to as as a guiding figure and I think that all women have have that in their, their lives and men as well I think that that we all look up to mentors as as we look up our set into ourselves as we grow as adults. So, so I would say phone that friend and find somebody who's been there before and go with them if you can. Now, the second question. I was just asking you to repeat it. So, that was a, that was an unfair audible that I called. So how can a poll worker ensure that voting is safe and positive for first timers for long timers but how can pull workers contribute to trans safety. Yeah, and I see that question there from Jason now in the chat now that you mentioned it. And I think the most is to to as a poll worker is to honor the presentation of folks in front of you. If you, and this not only goes for poll workers but I think it goes for grocery store clerks and I think it goes for, you know, mail carriers, and, and everyone else who's in a point of service. And that's to be kind to people who look different than you. And just start there, right. If, if someone looks different than you and they bring an ID that might not visually match their, their, you know, it's a four year old photo and they might have made some substantive cosmetic changes to their appearance but but their name is still an older name, because they haven't been through a legal process for that yet. So I think it's important to be kind and and and honor the process I think that that that's that would be the valuable message that I would share. Thank you that's so helpful Veronica kit. Yeah, I think the workers trained I don't know to be honest I don't know if this is something the ACLU gets involved in but are they given counsel on what to do if confronted with say a mismatched ID in terms of just that visual. Yeah, so I will tell you this, the ACLU every year. So we have a lot of training and instructions for interacting with trans people at the polls to every county clerk in the state. And we get the occasional response that they appreciate the training. Of course, county clerks are sort of free to determine what the training protocols for their poll workers are. So, we don't have an official way of knowing exactly what that training looks like. We certainly, you know, having yet been asked by a poll worker by by by a by a county clerk to come in and train their workers although we would, if they asked us to. But I will say we the tips that we give them are fairly straightforward and also very easy to follow. And I think that people are often struck this. You know, maybe they hear things on the internet and they think this is all very complicated and hard but like when you look at it. The rules are pretty simple. So what we talk about is, you know, you may encounter people who their identification doesn't look exactly like who they are, who they're presenting themselves to you as and the thing that you need to follow their legal requirements are met. They are entitled to their right to vote. Just because they're wearing makeup that day and they're not wearing makeup in their photo, or vice versa, does not change their legal entitlement to vote. And, you know, lots of people who are not transgender look very different in their photo what photo IDs. And so they, they, so, and you know you may have had a bad hair day you may have had a, you know, you know, like a smudge on your nose you may have had any number of things when you went to the driver's license branch to get that photo taken. Lots of people look different in their photos and we all know that. I don't know a single person that like thinks their driver's license photo accurately accurately sort of represents what they look like. I know I never have and I still don't. So just kind of knowing that. Okay, also like a certain kind of politeness that you can have that is extendable everywhere is maybe just don't assume that someone is a man or a woman there's lots of neutral ways to refer to people, rather than like sir or ma'am. Then don't put people in that position and honestly like it's 2020. It's maybe time to read to deal with the fact that some people, of course, my poll worker tips don't seem so snarky. But I will say that it's 2020 it's time to realize that people look all kinds of ways. Hey, never use words like it, or whatever, when referring to someone is transgender, right. We've heard reports of things like that happening. And if you were concerned about like what to call somebody because it's necessary to refer to them. It's okay to ask. If you know if you don't know, and you're about to refer to them you might want to ask like what are your pronouns, you notice that we all have our pronouns right here in our zoom windows which is super convenient. Not always, you know so easy in person but you know that's something that trans people will also see as a sign that you're a safe person, which is important. Hey, you know, it's fair to use someone's first name pronouns or placeholders you can certainly just if you just don't know, know that it doesn't actually matter in terms of whether they have the right to vote. Their gender and makes no has no impact on their right to vote so don't worry about it use their first name the way you would use if you work and you know if you were confused. You can ask people what their real name is that's weird. And, and yeah, that's an old privacy last last one that I want to hit out of all of these is privacy. You know you have a risk when when a trans person hands you an ID that doesn't match how they're presenting themselves to you that is an act of trust. It's an act of, like, deep trust that they're not going to get hate crimes at that moment, and I'm not joking about that I mean that it, you know, find you know, they may when you hand over that ID, whether it's at the polls or at a bar, or in a grocery store. You know what the person holding that ID is going to do. They may say something very loud and there may be a whole line of people behind you, and who knows who those people are, and who knows what their opinions are, and who knows how they may feel about you, they may have been fed on a steady diet of hate that they've picked up from the media, they may want to do you harm. So when you announce that someone is transgender in public because their, their ID looks different, or when you make a big deal about that. You may not find that funny, or like may not see what a big deal it is, but you may actually be risking someone's safety or even their life. So, yeah, so I definitely want to raise the privacy concern for poll workers I think that's probably the most key. Lots of people make mistakes, but let's try not to put people at further risk. This is a really important point. Thank you, Jason. So I'm going to go to Kimberly here to see if she has anything to add to that we have given ourselves a little extra time tonight. So we ostensibly have some more time together if you have other questions we'd certainly love to hear them, but Kimberly I'd like to give you a chance to respond to Jason's question about being a poll worker and making things feel safe. Monica said, I would just add, reiterate, just being kind and loving to each other, and make sure and ensuring that everyone have a pleasant experience. It's a vulnerable thing to vote period it's a vulnerable thing to go into some of these spaces whether you're going to the city county building, going into maybe the basement of a church where you've never been and certainly that extension of, of risk and trust when handing someone an ID is a really important point. So I want to make sure we talk a little bit about how someone watching this from a state where there isn't a kit there isn't a Kimberly there isn't a Veronica or at least they don't think there is right because we know we have lots of partners, but maybe they don't have a role model or a direct connection. I want to know what your advice would be to someone trying to be a role model find a role model spark of movement in their own hometown might be Veronica what would you say to someone who's watching out there and and wants to find a you. You can look me up on the internet and reach out to me. And I don't care whether you're in Idaho or whether you're in Florida. I am blessed to be very well networked. I will be happy to answer questions. And so so I'll start right there. I'm happy to make myself a resource regardless of where someone lives. I'm assuming that if someone is watching this video to they have access to the interwebs, which of course is replete with misinformation, but it's also replete with great assets, and there are wonderful communities, if you can just start there, you know, not every state has a well organized transgender organizational community. Indiana has on and off at times right now we're kind of off in terms of just an umbrella trans community organization for for the state of Indiana but there are advocacy groups, surely for for the youth here in Indiana. There's more to I YG and and the the great connections that that can provide for for folks who are coming to terms with their identity as well. But I, I'll put it right out there. You know, I have a very unique last name. It's unique enough that I'm one of like five people in the nation with the this last name. My twin sons are two of those two more of those five. So Google me and get in touch with me and and I will help you. Thank you so much Veronica Kimberly Veronica teach you up a little bit to talk about you three sources but generally what would you say to someone who's watching and wants to inspire or join a network. You definitely look within your community. And one thing I always say, if there's no one be it stand up and lift your hand and people will show up, because most often if you're thinking about it someone else is thinking about it, but not everyone wants to stand up. So stand up that will encourage and give someone else the courage to stand up and speak out as well and form that form those groups and definitely look up I YG we don't care where you live we're going to help in any way that we can. So all you got to do is put in the web, I YG and it'll end in Indianapolis, and you'll find us and we are going to help you no matter what. That's a generous offer. Thank you. Get Malone. What would you say. Yeah, this is near and dear to my heart, because this is the work I do every day. And it's so possible, and like that's and I want to echo Kim and say, you know you can be that person. And it's important to me that you know I think our culture sometimes leaves us feeling helpless. And there's sort of an ingrained helplessness in sort of. I want to be nuanced here but in the narrative of us being minorities, because we are, we have challenges and they're real challenges. I don't see that every day. But I think sometimes the online culture, the discourse that we engage with when in one another can be very disempowering. And it's important to me to also say yes, this is real, but also you have power. You can make change in your community and we see that in my trans advocacy program where we have seated a number of small community groups.  And that sometimes people may need a push, but what I think a lot of people who are trans who may live in a remote place or may live in a rural area, what they may think is that well it's impossible there's nobody like me here. Or I will be chased out of town. I will, you know, I don't want to glad hand to you. It is hard to be trans in America, no matter where you live. But I think that you find when you create community, when you offer an opportunity for people to come and join you. People are super excited to do it like super excited to be part of it. And that's something that's accessible as heck, you don't even need money. You can go to a public library with a rentable or excuse me with a with a with a with a meeting room you can check out, which almost everybody has. Maybe be the person who started that get so you get, you know, put a put a put a post up on Facebook, send out the call and make a space, because it may be scary.  And you might find that the community that you help to create is your life line. And you know, you know, I cannot take credit for creating the community that I find myself in, and that I share with Veronica and camp. I'm in the exact same spaces. I've been the things that have kept me from falling off a cliff. So, hey, creating community is an act of self care and you can do it. I'll tell you, I usually am in the business of having very hopeless conversations. It's kind of, we don't like to think of think tanks that way but we talk about problems that's for a living. It's so refreshing to talk about solutions and kind of leading with love it's it's been a really special evening for me. So I've noticed that our questions and comments are starting to slow a little. I know it's a busy season for all of you it is election season so we're coming up on time. So I think it's a good time to wrap I'd love to hear a last word from all of you though you have a captive audience in the most positive way. I want to talk about how to keep transgender voters safe and engaged and how to empower our transgender neighbors to get active, whether that's politically personally religiously, just in their community.  And please also accept my thanks and new America's deep thanks. On behalf of the ACLU of Indiana their deep thanks for participating tonight and I'm so thrilled. And it's so grateful to everyone who listened in Kimberly I'll start with you last word. That's what it's as it is always surround yourself with love extend love and create a safe space for everyone. But thank you Kimberly Veronica. Yeah, you know, I want to bump off the last question briefly because I think something needed to be said that didn't get said. A lot of our small rural communities actually do have pride groups. We're in Putnam County we've got Putnam pride initiative down in Owen County Spencer pride has an amazing and huge pride festival every year in, you know, they're the, the biggest little pride festival in the nation. I think, and so look in your own community and if there's not something there like it said you know make it yourself. And milk said that you've got to give them hope and I want each of us watching today, each of us thinking about, you know, maybe running for office to keep hope alive in your own heart. And, you know, if you're the parent of a transgender folk or sibling of a trans person, or a poll worker. Love your neighbor that it's so important to lead with love. And that's something that Kim had mentioned as well. And with that I'll close. I think the theme. I'm going to take off my also very like hard nosed ACLU mask.  This space has been really, really, really healing for me, because you spend so much time talking about difficult policy problems and difficult community problems. But I want to raise the love and a lack of love. You know a lack of love in in America is a policy problem. And growing love as a resource is a is a problem that requires solutions it requires us to reimagine our politics. And so we're trying to get away from our culture of scarcity that we live in where we, we sort of in America, we pick our ground and we say this is our ground, and nobody, you know nobody can can share it with us and we've got to defend it. I think that's the core of a lot of the problems that we face. And the core of a lot of the problems that that anyone who seems other, who seems like an other to the people in their communities face. And some of these very difficult and thorny political problems that we face, like the way our country discriminates against transgender people but not limited to that are absolutely a failure of our culture to value love as a political statement. So I just kind of want to like Coda on that like that can be something we think about and talk about in very serious places. Thank you kid I can't think of a better way to wrap up so I will just do some housekeeping and again extend my deep thanks to Kimberly a cough Veronica Pedro and Kit Malone. Thank you to the ACLU of Indiana thank you to my colleagues at New America, some of whom are out there listening and help us helping us make this happen. So if you're out there participating in the event tonight, you will receive a message from me with a transcript of video and some takeaways from tonight's event I hope you will share them. And I hope you will spread the word about the voting resources and political participation resources that we talked about. Please also find me online at Molly G Martin on Twitter mo l l y g m a r tin, or you can email me at Martin at new america.org we'd like to hear from you and we'd like to have the opportunity to share these resources with you. Most of all, and this is not a partisan statement vote. Certainly a lot of people have laid themselves on the line to allow you to do it. And if you need resources need help or need advice you can certainly find it from the Indiana ACLU. So again with deep thanks to everyone joining us out in the audience everyone watching on YouTube, and certainly to three fabulous women who made this such a vibrant, loving conversation. Thanks. Thanks to all of you have a great night and kit I know it's election season go take a nap.


What's up everybody? Welcome to SPM Buzz. My name is Liz Jackson and I'm live on location at the Nairobi Cinema where the joyride with friends by Ben Cycle and Wajirunjiru is happening. So, since we are at SPM Buzz, I'm on location to make sure you get every exclusive update of the joyride with friends. So we do have guests coming in to konam kuru, takwana Judy Nyawera, then we also do have Moji Shots Baba and Eli Mwenda. So keep it SPM Buzz.


All right, hello. Going to go ahead and get started. And as you can see, the title of this talk have fun the wrong way, which I hope we can all appreciate the intellectual depth that was required to come up with that pun and that name. So before I dive in proper, it doesn't show up particularly well in this image, unfortunately. But what this actually is, is a very nice photo, I believe titled, Perspective on Edinburgh Castle. It's through a park bench, which a person or two in this room would understand the significance of this to me. A couple of nights ago, I've been in since Monday. But a couple of nights ago, I was out having some drinks with some folks here, some wonderful people. A few too many drinks, and my generally terrible sense of direction kicked in. As it turned out, as I was trying to walk back to the flat, I've been staying. I became completely disoriented and completely lost. But fortunately, I did find a park. And in the wee hours in the morning, I spent maybe a couple of hours sleeping on a friendly park bench. So this is a wonderfully accepting and lovely city. And I've had a certain perspective on it since I've been here. But what we actually are to talk about. So what is wrong? Wrong was supposed to be Ruby and Pong. That's the idea, right? Ruby plus Pong. So an implementation of Pong and Ruby. Why would one do this? Well, one, I love old school games. And I've always wanted to write a game, and construct and create a game. Back in university, I dabbed a little bit with some 3D graphics stuff. But it's not really my cup of tea, kind of like the classic style. And had always just wanted to kind of do that. But in addition, sort of the mission statement, the goal was to basically, if this is the productivity button, to basically blow the productivity button off of my fellow Rubyists and fellow Ruby shops and consultancies and have these people playing Pong, right? So it was a networked game, a version of Pong. It was going to be so fun with leaderboards and whatnot, that we would all want to play it. And the company I work for, for a company called Edgecase, back in the USA. And we would simply ban it. And we would get a significant productivity increase just by dragging everyone else down. Would be great. No, not really. But really, I was just looking to do a fun implementation of a game to get cross-platform and to include some robust network code because I find that interesting. So if that goal was robustness, is wrong, robust, right? That's not Marvin Shakespeare, that's robot plus bust. It is wrong, robust. And the answer is no. No, it's not. I sort of, you know, I've failed to date to meet that goal. Right now, wrong is a nice client implementation, but it's not necessarily, as it currently stands, client server. I didn't hit that goal for this. But we are gonna talk ideally, you know, how that would be done and how it will be done, given a little bit more time. But so let's talk about, first, about drawing the game and how to actually draw something on the screen. Some people, some of us may be familiar with Gosu. Gosu is an awesome, that would say if my slide were aligned properly, that would say 2D drawing and game library. So Gosu is implemented in C, C plus plus, there's a version of library bindings for C plus plus and for Ruby. So it's a library for drawing simple 2D graphics and doing 2D gaming. So it has fundamental constructs of games and game loops. So 2D graphics can test and text, excuse me, accelerated by 3D hardware, has support for doing sound samples and playing songs and basic sound effects, and has input control parameters so that you can read input coming in from various sources. This is the example event loop that Gosu uses and in general, in varying levels of complexity, the core game loop that any game engine would use. And this particular graphic is ripped shamelessly from the Gosu wiki page. But in essence, you construct an initial window so you can construct some sort of screen buffer or something appalled upon which you draw on the screen. You read for some input events to see what external changes are coming from the outside that may be looking for key presses or for mouse movements, game pad movement. Run an update, so based off of the previous state of the game and given any new inputs that have come in, we're gonna do some logic, maybe move characters around, move, you know, pushing pixels basically. And then draw that and then just loop and repeat ad infinitum until someone quits out of the game. So an element that comes into effect here, let's say discrete versus delta time. So if the game loops, it's gonna loop at some effectively a frame rate, right? So maybe it's gonna loop every 60 frames per second, ideally, depending on the amount of work that you're gonna be doing that could go up and down if you're doing a lot of complex calculations. In this case, we're talking about Pong, and although it was, you know, a massive hit and a massive landmark and a wonderful achievement for all of us, particularly, you know, us gamers these days as well as people interested in computer engineering in general, in general, when it hit in 77, it was a big deal. Now it's not so taxing, right? But there are other games that are. So this issue starts to come into effect. So discrete versus delta time-based. Discrete would be, if we take an assumption that there are going to be 60 loops of my, 60 iterations of my game loop during a second or during a given time frame, then I'll simply update the simulated physics based off of that breakdown, right? So if I know that I want my character to be able to move 30 pixels over the space of a second, then we know given that, or to simplify the math for myself, so they should be able to move 60 pixels over the space of a second. Given one sixtieth of a second loop iteration, then they're gonna move one pixel per update, correct? Versus delta time, and delta time would be between the loops, between the actual discrete loops, I'm gonna check the elapsed time in milliseconds, and then I'm going to apply traditional classical kinematics and physics to time-based physics equations, right?  Excuse me, I'm sorry, discrete's going to be simpler, but delta time might become relevant if you're going to be synchronizing with a server across a network because the clock rates or the rates at which the loops running or various other latency issues might skew if you're assuming a discrete time is the same on both sides. Okay, so let's talk about points, shapes, and hit boxes. So points is just kind of a reference to, in most simple 2D games like this, and in particular in Pong, we're just talking simple point-based physics, we're not talking about taking into account mass or density or anything other than just basic particle physics. So even in a game on the left, it's a little bit hard to see, but that's a Counter-Strike model, which is a popular first-person shooter who's played Counter-Strike at some point in their lives. Good game. And then of course on the right, we see another classic game we should all recognize which is coming from, which is the original Super Mario Brothers game from Nintendo. The physics of Mario are based around a single point in space. Even though Mario, of course, when you look at that model, it looks like it has height and width. Effectively, any physics calculations being done on that are being operated upon a single point. But Mario has a distinct shape, as does this more complex model, the Counter-Strike model. The shape that Mario is in, it does occupy 2D space, but it's distinct and different from the concept of a hitbox. So in some cases, you're going to keep track of the points in 2D space that define a particular shape, maybe a star, a rectangle, what have you, that correspond to what the element or what the object will look like drawn on the screen. But then separately from that, you can keep track of a hitbox, and the hitbox is used to calculate intersections. So there's no need to read through that terrible glob of text closely, but it's essentially a very simple check for doing intersection of two objects in 2D space given rectangular hitboxes, right? So if I want to do collision detection, say in the case of Pong, if I want to know that the paddles and the ball are going to run into each other, which is relevant information, given that we want the pad to hit the ball, right? Simply can check to see, are any of the points inside this 2D rectangular shape that represents either the pallet or the ball will a point in one be contained within the bounds of another? And this is just a very sort of brain dead simple check for that. But there are some things to think about. In this case, this is kind of illustrating that a simple 2D rectangular shape for a hitbox, also known as a collision mapping, might not actually lead to good results. Like in your particular game, if the shape, given the shape of your object and hitbox of the object are going to be different, and there's significant incongruity, then the player might see the visual discrepancy, oh, he didn't actually hit me, right? So this is kind of this drawing taken from a very nice discussion on hitboxes in general. It's kind of illustrating that, right? You've got a touche, and yet there's actually no contact. So for more complex, so a nice library to handle, let's jump back real quick. So this could be a concern. However, in Pong, in a very simple bare bones version of it, all of your shapes are rectangles and squares, right? So actually there is congruence between the bounding box and the shape, so you don't have this particular issue. So to that end, and the extent, when I implemented Pong as a client game as something you could play, just hand rolled bounding boxes and shapes and intersection logic, because it's so simple. But for more complex games, you might look at a library called Chipmunk, which again, if you've heard of Gosu, you've probably heard of Chipmunk in conjunction with it, which if you can't tell that image, that's a Star Wars scout trooper writing on the back of a Chipmunk, which I think is pretty spectacular. But as is the Chipmunk library itself. So it provides more advanced features, things that are fairly sophisticated algorithms for collision detection, in particular of large amounts of objects. So it is 2D collision-based, but it provides primitives, instead of a simple rectangular bounding box, it has circles, complex polygons. You can assign multiple bounding boxes to the same object, so you can have different and overlaid collision areas. And it's implemented in C, it's very fast. It's much faster than the native Ruby implementation would be. It uses a spatial hashing algorithm. So if I wanna run collision detection against in Pong, it's pretty simple. I've got a ball, I've got two paddles, they may hit, they may not on any particular iteration of the game loop. If I'm doing something more complex, let's say a game like this, right? This would be Galaxy, wait, Geometry Wars, thank you, which is awesome. But there's a lot, if you've ever played Geometry Wars, I don't know why I'm saying Galaxy Wars. There's a lot going on at any given time on the screen. There's just a much, much larger number of potential entities. And to check for collisions, technically, a naive approach is you simply, you have to actually check each individual element against others and say, do these two items intersect. And obviously the number of comparisons you need to do blows up very quickly as the number of elements increases. So Chipmunk uses a basically spatial hashing algorithm which is a first high level pass that can kind of rule out. If I know that this object is down at the lower left and I know I don't need to do any comparisons against things, they're at the upper right quadrant of the screen, right? Because they're not going to collide. So Chipmunk provides for things like that. A sort of a point related on this particular topic. So when writing, in particular, writing a 2D game or games in general, you're writing a game, not a simulation. Like yes, complex physics is simulated and you are simulating interactions at certain levels, but anytime you can do optimizations, anytime you can take a less complex route, do so. It doesn't actually need to correspond to the physical reality of what would underlie a real system. So this is just a very simple example of that. Unfortunately, I ran the Cardinal sin, I've run the text up against the left here, but the gist of it is saying it could have taken, and again, in a Pong implementation, it's not a big deal really, but it could have taken the route of, say, drawing bounding boxes around the top and bottom of the screen, for example, or something along those lines. And on every iteration, you could just check and see, because naively or just immediately you could think, what's the question I'm trying to answer? Oh, did the pallor run to the top of the screen or the board area, right? I don't want to let it run off. And so because you're thinking in terms of doing this collision detection, you might try to do that. Well, but you don't need to do that, right? This is again, this is a naive example, but all you have to do is check has the pallor exceeded what I know to be the upper bound to be, then I can move it back down, right? As opposed to actually doing some sort of collision and having it bounce off of or something like that, there's no need in this case to do that. Very simple example, but generally valid principle. So if we're actually talking about client server, some related issues to implementing a game over a network, right? So the goal of wrong someday here soon is to allow me to play a game of pong with you and feeling slightly fuzzy and happy about it because it's implemented in Ruby, but we can be in different locations where we can be across the team room or what have you, right? So some different ways, some issues that are gonna come up in that. So this, oh thankfully this one's not too far off the screen here. This is a very simple start at if I want to write on the server side, right? So if I wanted to write the server half of my client server implementation, some very fundamental socket programming stuff going on here, if I open up in this case and who actually, let me ask real quick, who in the room has done socket programming in Ruby? And of those that have who's done socket programming in C or C++ or Java, right? So there's a very high correspondence between the API and Ruby of doing fundamental socket programming as there is to the underlying C implementation, right? The underlying system calls, which is a good thing, right? I mean, sockets are not, they're about as abstract as you can want them to be given the performance characteristics and the low level details that you're dealing with, right? So here we just see that they're opening up a new socket and in this case we're binding to the socket loop back address and just doing a listen. So we're at that point open up, we've basically opened up a port, we've chosen this case, it's ports 7664 and we're listening for incoming connections. Now in this case, I've set the acceptable number of concurrent connections fairly low because this would be the naive case of I have a server but I'm really only looking to play sort of one game simultaneously at a time. The more interesting and eventual approach would be if you wanna choose to host two dozen games of Pong at the same time because there's just such this desperate need in your office to be playing Pong, you could do so. But right here, we're simply waiting to see that we've got two accepted connections. At that point, we're gonna kind of move on into a game loop, right? At that point, you've got two clients connected to you and you can start up a game, start passing game data back and forth. Similarly on the client side, and of course unfortunately this one's a little bit worse, but you're gonna connect on the same port to the server so this is gonna be the client reaching out and start receiving packets from the server. And in this case, if you could see a little closer. So we'll be just pushing these messages, these receive messages into some sort of buffer, right? And that buffer in this case will probably be something like a ring buffer. So ring buffer is just an interesting and useful data structure. It's fairly simple but it winds up being very useful in network programming and client server, programming in general and also client server games. So in this case, the ring buffer is a data structure that works effectively like this. It's basically, it's just like a linked list but of finite size or a, basically a queue of finite size, right? So if I can push cat on, I can push dog on, push boy on, if I go to push on fox, then we'll see that cat has been sort of bumped off the end, right? And why would this be relevant? Of course, yes, that's hard to see unfortunately, but what kind of, how is this useful? What's the underlying principle here? As messages are coming from a server for example, let's say you're getting continued updates of position data. So let me pause and ask a question. So between a client and server implementation of a game, which side of that does the game run on? It's a slightly trick question, but which of those two actually runs the game? Server, right, yeah. And for amongst multiple reasons, why might that be, one of those of course. The same principle that applies to web development, right? You can never trust user input, sure. You can never trust client input from your game because any enterprising gamer that wants to perform well might can just go, you know, might be sending malicious data, right? If, and in particular when it comes to Ruby, that's much easier task to be doing than it is say in a compiled C-based game, right? A large number of us would raise the hand on, yes, we've played Counter-Strike before, so we probably remember, you know, aim bots and wall hacks and all that, the good stuff back in the day that I never used, but everyone that played against me must have been using. So anyway, so that sort of provides the context. So if the server is continually pushing information up to the client, in the case of Pong, they're pushing it, right, well, paddles are here and the ball is here and they're moving at these speeds, right? And the client is spinning there and processing this input. Well, if something occurs such that, you know, the server is sending more information than the client is processing quickly enough, it's gonna start to get backed up. Well, you don't necessarily care. I mean, information expires and comes stale very quickly, right, you want the most recent position-based information, you want it to reflect, you want the client representation to reflect as closely as possible, the server representation. So a ring buffer is useful as a useful data structure or something like that because automatically, you basically get automatic expires, it's like cash expiration, okay? Related to these things, so TCP versus UDP, right? If you're gonna be talking over the network, you're obviously gonna be using a networking protocol of some kind and one may or may not be more well-suited than the other. So TCP, just high-level, you know, review for I'm sure most all of us are familiar, but you know, TCP is connection-oriented. There are guarantees, right, you know, message reliability and ordering in particular, right? So networks are unreliable by nature, right? And nodes go down, time-outs occur, we all have experienced this in various ways. But TCP as a protocol works to preserve, you know, packet ordering. And not only that, but it actually breaks down your message into discrete packets for you. The API for a TCP socket is a stream, and it looks and operates at a high level in ways that just look very similar to writing to a file, right, as a streaming API. So whatever messages you're passing into it, it will automatically handle breaking those messages up into distinct and discrete packets, ordering them, sending them off, and verifying that they all arrive and they arrive in the correct order. UDP, by contrast, does not do that. It's basically a fire hose that you shove information into and it gets sprayed out across the wire, but there's none of this control and reliability built into it. So in fact, there's no concept of even a connection, right? You're simply sending a datagram to an IP and port, right? And the listening socket on the other end that doesn't acknowledge you as a particular sender, it just sees data coming in. You have to actually manually break data into packets of yourself. So, you know, I might choose to make that 256 bytes. So I'm going to break my, you know, what would be a data stream into chunks of 256 bytes and shove them each across the wire. And I'm going to be guaranteed on the other side that I'll pull down a 256 byte chunk, but I don't know if I missed one, if they arrived or if they're arriving out of order, if it was dropped, I don't know who it came from. So essentially, for your application, you wind up having to recreate as much of the TCP features as your application needs. And this can be really useful for something like a first person shooter where all I want is absolutely the most up to date information about where all the positions, who's firing, who's doing what, as quickly as possible because it's this very fast paced, you know, Twitch gaming, right? And if I lose a few packets along the way, that's okay, as long as I'm kept up, you know, as up to speed as quickly as possible. But still that's going to imply that if you're writing, you know, you're networking in terms of UDP for your game, you're going to have to do things like simulating a connection, right? Because you need to keep track of which client is which and things like that. So that's kind of come back to that in a few moments, but that brings us to this concept of latency versus rewind. If anyone played the original version of, well, so, of Quake, the original networked version of Quake, right? So there was a big difference between Quake and Quake World, which is the next version that came out. And, well, multiple differences, but the biggest networking difference was that they switched between these two models. So the latency model is basically that, you know, the server is entirely canonical. The entire simulation, the entire execution of the game occurs on server side. And I, as a client, tell the server, oh, I've just moved forward, right? And then the server runs, you know, the next iteration of its simulation and calculation, and then broadcasts it back out to the client. And even I, as the client, if, you know, the one who, you know, had just sent this I moved forward message, doesn't actually respond to that until after it gets the response back, right? So what you have there is a significant latency between user action and the response and the reaction of the game itself. And you can perceive that, right? Depending on the game and how it's, and depending on the actual, you know, network latency and whatnot, it's gonna be more or less noticeable. This rewind or its approach is, is, is family different. You basically will have two, or up to end, concurrent simulations. So the client actually is running the simulation as well. It's a full-fledged version of the game, and it basically is doing predictive movement. You know, if it detects that you've told the game that, you know, you're moving forward, it's gonna go ahead and do that, and you're good to go. The problem is, you know, all of these actions are going on simultaneously and they all need to be processed. This still need to make the server, the canonical version of what's going on. So the server might find out, okay, well, player A was moving forward, but player B was just detecting an action, you know, in this case, let's say a first person shooter. So player B has fired at player A and in fact hits them and they've been killed there. So their character is dead this round. So now the client, you know, for player A, for me, has to be told this has happened. And now I need to drop the, what I've, you know, I had assumed that I'd gotten to walk these three steps forward. But in fact, I only got one step forward and I was hit, I'm done. And so now we're gonna need to do basically rewind what happened, process these new events that come from the server, coming from externally, and then rerun the simulation up to that point. And there's some really cool, I've got some links in here later, but Valve software has some cool white papers on how to handle things like this and actual interesting timing algorithms and how to compare deltas in time. But effectively, the better job you have this rewind out, you do have implementing this sort of rewind logic, the less you're gonna notice its effects, but you're still gonna be acceptable to the snap. It's kind of the term for it, which is basically when the player, instead of when basically events get rewound and you replay back forth, it's either you're gonna manifest in jumping or skips or you're seeing basically replaying of activities. But again, it's just a fundamental aspect that's a trade off of a network-based game. So this relates back to before that it's much easier to implement client server physics based off of a delta time algorithm because then you can compare timestamps and you can do this rewinding and things like that. So in practice, all serious real world client server games are gonna use that approach. All the things related to this, you're gonna need to implement some sort of custom protocol for your game. You're gonna need to do things like tracking positions, transmitting actions, simple control protocol, like I've joined the server, the game is starting, someone scored, we've met a win condition, right? All of these communications, you're gonna wind up with a custom protocol of some kind. And there's a couple of approaches you can take. Basically, and we've seen this before and it's no different than XML versus proprietary binary formats or what have you. The same sort of trade-offs exist. And historically, binary pack data is the more common approach of the two. And still, for most performing games, you're gonna wanna do that, but text-based approaches have some nice of these two of them, particularly when you're looking at debugging your own game and you're in the process of implementing it. It's great to be able to see a human readable packet and look, okay, well, I've seen what the state is. I've seen the x, y's of my various components and things like that. So a couple of approaches, there's a couple of good tools used to do this.  Ragle or Ragell or however pronounce it is a nice, basically a text parser. It's a parser, grammar that is used in such software that you probably use or have used all the time, such as Mongrel or Thin or H-Percot used generated Ragle grammars to parse either the HTTP protocol in the former cases or actually parsing XML in the latter. The nice thing about it is that it's both very fast because the parsers and generates are very fast and it can target multiple languages. So an initial goal of wrong and one that it will meet eventually was to be cross-platform, right? So if I had a parser for C Ruby, for MRI, or sorry, if I'm targeting MRI or I'm targeting JRuby, could actually use Ragle to generate a C-based parser. This is essentially a native extension for C or generate a Java-based parser that's effectively a native extension for JRuby, right? But in the meantime, you could just decide to have it target an output Ruby, which is gonna run on the other side, right? And still be fast, but not necessarily be as fast as if you were targeting the underlying architecture. An entire alternative to that, which is very recent and just much, much simpler is this notion of tight net strings, which both of these things, I came across both of these things because I was paying attention what Zed Shah was saying, which he's obviously a very bright guy if we have different opinions on things or whatnot, but tight net strings are a much simpler text-based format that are sort of a combination of the two. It's sitting a compacted string over the wire, but a much simpler format. And it's worth checking out as a recently emerging idea for doing client sort of network communications, which obviously something Zed's been doing a lot of. So there's a list of resources that you're not expected to be able to read here. These slides will exist and are able to be downloaded so you can get there. You can ping me on Twitter if you so choose. So this talk was meant to be about wrong initially. It was the idea and did not deliver to the extent that I wanted to, but will continue to implement and we'll get out there. But what is the state of it currently? You can play it. You can gem install wrong and you can play to player on your machine. So please feel free to do so. And you can play back and forth and give me feedback. The physics as far as intersection and doing collision detection will not, that's not, it's not in a final state, but it's enough that if you get bored between talks at some point the next day or so, you can play the game and then feel free to give me plenty of critical feedback because it is very early. Yeah, so gem and stroll wrong, it is there. The future, in the future, which I guess roughly means like 1978 because Pong's been around for quite some time. One thing that, the goal on toward world domination of the Ruby gaming community, one of those things is to be able to do built-in server detection. So we'll actually write a service and have a canonical service out there that will be a listing of any different servers that are running. If you wanna have a local server running and in your office and you can pop up the client and people can play during coffee break or whatever. Do I necessarily, for the record, do I necessarily think that it's gonna take the world by storm and everyone's gonna be playing Pong and Ruby? No, but to me it's an interesting intellectual exercise. So in addition to that, in addition to server lookup facility, built-in leaderboards, right? So you can have a leaderboard in your office. You could have a, there'll be a canonical service with which you can register some name and you can play against each other across, you know, on different servers across the world ideally. But, of course, aside from simply being Pong, it's Ruby and, you know, Valve's, for example, let's say Valve Software writes Counter Strike in Half-Life and very successful and awesome, amazing 3D games. And they're very, very brilliant people and they spend a lot of money doing a lot of work to lock down cheating in their games, right? Well, even if I were that bright, I'm not gonna be investing the effort into locking down wrong from cheaters. So I was also thinking that at some point in the future have a bot division, you know, officially recognized bot division. So if you really care enough that you wanna hack wrong, well, just, you know, write your bot and it can play against someone else's bot. I don't know. That time may come, it may not. But the goal is to at least have actual, have the ability for people to, you know, play against each other across, you know, geographically disparate locations, you know, by August, why August? It may happen sooner, but there'll be a lovely Ruby conference in Madison coming up in August and I think I'm gonna get to go talk there too. So I have between now and then so I actually get the client, or sorry, the server half of the client server reputation. But other than that, so that's all I've got. So, you know, thank you. If you have any questions or slurs. What's that? Sure. Now the irony, well, assuming this doesn't blow up with you forever. No, it shouldn't. I'm actually really, really bad at Pong. So there's there. You can theory play. Thank you. Oops. Yeah, so I need to fix that one. Either way, I win. Thank you. If you want to see the code, it's github-mat-yo-ho-wrong. And right, that's a great question that I was started to avoid. When I started the initial version of it, I started TDDing and actually, I think this is a valid point. So I was TDDing and there's a goal. The project's broken up into a few different sections. There's a client, a server, and this intermediate of things that can kind of go back and forth because I was trying to take the approach of simulating it on the server and sorry, having it in both. And so that middle section where you're doing the physics and whatnot, that's very easy to test. Now it's test driving, but I found, I mean, I'll be honest, a lot of stuff was pretty new to me. So a lot of it was spiking and I kind of wound up dropping tests for the first run. So my intention is to kind of do another pass and to do more TDD on things that I can. As far as like integration testing on the clients, I don't have good answers for that one. I might try to find some sort of intermediate format that could easily be tested, like some sort of text-based format to just run iterations, which I think I didn't approach similar to that one. I did a Conway that I TDDed, right? So yeah, we'll see. Check the repo a month from now and see what's going on. I had hoped initially, but like three or four other talks came up between then and then. I don't think it even necessarily was more or less hard. It was just something, like part of the reason I wanted to do it was because there were several things I was curious about, but had never done. And I think it was just, it was more about spending a lot of upfront time wrapping my head and doing a lot of reading and research before diving in. So that took longer than I'd hoped. And I think that's it. So thank you.