Submind YouTube summaries
Thumbnail for Lightning Talks

Lightning Talks

Watch on YouTube

Video summary

The first segment of the event focuses on community engagement within the Chicago Python Users Group, known as "Chippy." Organized by Elise FG, this initiative aims to foster a vibrant tech-focused environment through various special interest groups covering niches like data science, DevOps, and finance. To enhance member interaction beyond standard meetings, Chippy has launched open-source sprints with specific tracks for collaborative programming and individual project work, alongside a renowned mentorship program that culminates in lightning talks at their main gatherings. Recognizing the need for better tools to track community activity on platforms like GitHub and Twitter, the group developed "Busy Beaver," a custom Slack integration designed specifically for their workspace. This bot automatically summarizes daily public contributions from registered members' GitHub accounts into dedicated channels and reshapes tweets within Slack, thereby increasing visibility of member projects and encouraging broader participation in open-source efforts under an MIT license. Following this, Veronica addresses the challenge of documenting code effectively by advocating for visual aids over traditional comments or man pages. Drawing on her background as a geologist who relies heavily on rock orientations for documentation, she emphasizes that developers should build tools tailored to their specific workflows rather than relying solely on standard commands like Git's time-travel features which can be confusing when dealing with small visual changes. Her solution involves creating dashboards and utilizing screenshots to track project evolution over time, a practice often overlooked by the industry but crucial for self-taught or second-career developers navigating new languages. She highlights that effective documentation should solve immediate problems encountered during development, suggesting that creators build custom solutions when existing methods fall short of their needs. The subsequent talks cover diverse topics including education outreach and technical deep dives. Mason discusses "Teals," a national program pairing industry professionals with high school teachers to improve computer science education, noting the significant gap between parental desire for CS courses and current availability in schools like those in Texas. He outlines various volunteer roles ranging from co-teaching full classes to remote lab assistance, emphasizing that even limited time commitments can make a difference. Later, Karl demonstrates how simple Python scripts using Circuit Playground Express boards can instantly engage beginners by turning physical lights on and off via code, bypassing complex setup processes like virtual environments or project management tools. James shares his journey from learning Python through online resources to building personal websites, illustrating that high-quality tutorials exist for free while encouraging learners to document their own glossaries in OneNote for offline reference. The final portion of the summary addresses testing strategies and community infrastructure. A speaker compares `unittest` and `pytest`, recommending `pytest` for its functional style, powerful fixtures, extensive plugin ecosystem, and cleaner syntax compared to class-based structures found in standard library tests. Another presentation details common pitfalls with Python's Unicode handling, explaining how ASCII defaults can cause crashes even in Python 3 if terminal encoding variables like `LC_ALL` are misconfigured, urging developers to rely on built-in Unicode objects and let the interpreter manage conversions unless manual intervention is necessary. The event concludes with an update from PyTexas organizers about their transition to a nonprofit foundation structure supported by the Python Software Foundation, inviting community members to join committees or attend meetings to help sustain regional conferences. Finally, a speaker showcases running Emacs and developing Morse code applications directly on Android devices using Termux, proving that robust development environments are accessible anywhere without needing dedicated hardware.
Read the full video transcript
okay all right first landing talk is a lease ng he's gonna talk about busy beaver the Chicago Python community engagement slack let's give her a round of applause hi everybody my name is Elise FG I'm one of the organizers of the Chicago Python users group and I'm here to talk to you about this community engagement initiative I've been working on for the past few months called busy beaver so we're really fortunate to have a fantastic community of Python East as in the Windy City and at the heart of this community is the Chicago Python users group or chippy with over 4,600 members chief he's one of the largest tech focus communities inside the United States we've been around for 15 years and in that time we've had around 150 plus monthly meetings in addition to our general meeting that happens once a month we have a lot of special interest groups for more niche interests so we have one for data web development slash DevOps finance we recently started one on algorithms and coding interviews to help people whiteboard oh we have one for a lunch well some people that can't make our evening meetups can attend that one and we recently started doing some open source spreads so last month we sported on chicken org we also have a monthly project now and this project mat has two tracks there's a challenge project night track and here there's a group of four people they mod program on an assignment together and we also have a BYO bring your own project on track where people just work on projects and they get help if they need it we also have a world-famous Metro fit program this is a 13 week one-on-one project-based mentorship there's two cohorts a year there's around 20 to 30 people every single 20 to 30 pairs every single cohort and at the end the top 10 mentees present their lightning talks at a chippy main meeting the next one could be on may May 9th in Chicago so if you're around please come on by it's gonna be a lot lot of fun so like most organizations slack is our primary means of communication and its really become ingrained within our community so we have a lot of channels focused on different conversations some of my favorites include book club there's one for advent of code and code review is always a lot of fun too slack has a lot of plugins and we use these plugins quite extensively but they don't really solve the specific problem that we have we're trying to build a tech focused community and we have a different set of problems so try to foster conversations around technology to keep people coming back so our slack is only as good as our integrations only as good as a community so nothing really spit off in our specific use case so we got a team together and we all let them loose on the problem after a little bit design and a lot of hard work the end result was busy beaver and it's a slack thought built specifically for the chicago python workspace so the bots mission is to increase engagement within the chicago Python community that's a pretty broad scope so what does it really mean what are some ways we can engage the community giddup seems like a good place to start it's a social coding platform a lot of developers use github but as an organization we didn't really have a lot of insight into what our community was working on what projects they were doing what open source contributions they were making what things were they starring so working with github seemed like a good place to start so the first feature we created was uh was a github summary bot and so what this did was if you register love with a spot every day at 2:00 o'clock it goes out to get up collects all your public activity in the last day and it posts it within a channel it got a lot of great publicity mostly for me so we decided to add another feature over the past few months that Chicago Python at Chicago Python Twitter channel it's becoming a little bit more popular we're sharing more content so we decided to integrate this within our within our slacker space so the second feature we built was since not everybody on Twitter on slack follows us on Twitter we just reshare our tweets inside of that one channel so if we were released in January so far we only have Q features but we are an open source project released under the MIT license we have a lot of documentation showing how to get started contributing we also have a project board with a lot of issues I've been tagging them with a good first issue how hard they are how much effort they're gonna take there's also a CIC teapot a pipeline built in so if you get a feature out there write some tests we can get it shipped into production really so if you want to start getting contributing look at her read me join the chippy slack I'm gonna be sprinting on this project Monday if anybody's around I have stickers so if anyone wants to get stickers so it could be something out there find me if you make a PR I will give you a button so there's a sign up there also thanks for your time but before I go I just want to acknowledge all my chippy organizers couldn't be up here without all their hard work and also to everybody on the busier teams thank you everybody okay why was it going oops computers are really hard yeah we knew about computers okay that's a preview of slide number five you all alright alright yeah thank all right Veronica is going to give us a talk about get hooked on images and up your documentation let's give her a round of applause hold on to your hats all right so how many of you use get and get hug for your programming files almost all of you that's fabulous okay so how many of you have explored different ways of documenting your projects could be creative use of comments man pages images anything maybe some hands so we talked a little bit about this earlier today remember our cat we gotta label our cat so you could have ASCII to explain where you are in a particular piece of code you could create a home and pages describing sections of your code but it's possible that some of these obvious comments aren't so obvious to you so the best Doc's are the ones that help you you need to learn to solve the problems that you have and your problem solving is going to be with you throughout your careers certainly longer than you know any particular flavor of JavaScript and I'm a self-taught second career developer and manage try on a lot of different hats so today I'm going to talk about a problem that I encountered as I started to shift from scripting to front-end roles how I developed a solution and you know how we can learn to build the tools that we wish we had so this talk well it's about tools is really about opening yourself up to making the software you need to make your get workflow work for you so not everyone uses get the same way so before I talk about my get venture I should tell you where I was when I got started so when I learned get I you learned it the way many people do a kind and loving friend told me there are these five commands okay don't ask me again it's been 72 times that you've asked just write down the five commands okay okay so maybe I got a little bit into that person's hair um I never did a get intensive and everything that I've learned since then I've learned as I've needed to do it so as you can guess when I started to work on my own projects I was a little uncomfortable with the whole get time travel thing um so I tried to keep things linear it's like a push-pull checkout but anything fancier than that didn't feel like it you know it kind of felt out of the question um however there's a lot of things you can do with good and I made a partial list right here so at the time I was relying as I started to move to more visual work I was continuing to rely on commit messages to guide this time travel and I researched how to write good commit messages but because I was making these small visual changes sometimes just color changes do I add in hex values my commits and I was making small changes experimenting and so I had a lot of trouble finding the right commit to make I started to wonder if there was a better way so I'm a super visual person I've always been a super visual person I this is my second career I used to be a geologist we look at rocks rocks have orientations and we take years of them and we use these a documentation so as I was shifting I started to look for ways that that visual documentation would show up one of my first open-source projects was I was applying to outreach E and I was trying to create a dashboard and I found myself really wishing as I was looking at these requests to know where the dashboard had been in the past because I was not only trying to learn a new language yes I tried to apply to outreaching using the language I hadn't worked in before so I was trying to learn that new language but I was also trying to kind of see where the dashboard had been and so I talked to the Vella pers and said do we have screenshots of this I'd really love to see it they said well no one does that and I said oh wow you know like there's a whole industry that doesn't think like me how amusing does that feel so you know I could have felt kind of bad about that but I realized that I wanted to make something in his a five minutes already it really is yeah the full version of that talk is online so you can also very good opposite next up Mason okay we do have raffle prizes we are plenty of Python scripts a rap on top it's not the irony there is not lost on anybody anyone hear me talk right close to the mic alright so Mason's going to talk about Gil's program computer science in every high school I love it let's give them a round of applause okay so in my talk earlier today I mentioned that I am a volunteer for Till's and I'm gonna take this quick time to do a five minutes feel on what Till's is so Till's is a nationwide program that aims to pair industry professionals with teachers who do not have the experience that they need to be teaching computer science in high schools but are being forced into these situations because of the demand for computer science educators a lot of these statistics that I'm going to views and put out here are gonna be mostly strictly based on Texas because I gave this talk at home away with my regional manager literally yesterday and I have all of those staffs that I guarantee you these apply across the nation from what we've actually heard Texas is actually doing a little bit better on the computer science education than most so I think a couple years ago there was a poll that came out that 85% of parents want their children to be learning computer science in high school or in some form of primary education currently today in Texas as it stands 60% of schools do not offer a single computer science course through their entire primary school curricula all the way through secondary school and all that so no CS whatsoever you get a typing course and how to use word but you don't get any sort of programming and what ends up happening and I give this I give a similar talk at Texas State University my alma mater where I usually pull who's a math major and I tell them graduations you're now a computer science educator because you're gonna take this class in college and you're going to know computer science and you're gonna be asked to teach this they basically pick a random teacher who has had some sort of programming experience in their in their collegiate career and they go oh you know how to teach AP Computer Science a which is the advanced Java course that basically covers all the way through data structures in object-oriented programming and oh you only get one year to teach it it's extremely difficult I'm currently doing that right now at a school about 20 miles that way an idea Montopolis and I will tell you right now I came out of a program from a high school that did this and we're talking getting from HelloWorld in Java to abstract classes and interfaces and being able to implement them in a timed test by the end of the school year it's insanely difficult so what we need is we need educators are we are what we need is we need professionals to pair with these educators who have the professional experience that can teach and help us teach not only the students but the main goal is to help educate the teachers so that way after a couple of years the teachers would be able to teach this class on their own without our help anymore I guess the example that we use is imagine that you had a single ap French class or you had a single French class in college and then you are told you are gonna you're gonna be given ten weeks over the summer to learn French and now you're gonna be teaching French ap next semester oh and I hope all your students pass that test that's the reality of what's happening but what if we also said well also what we're gonna do at the same time we're going to put four native French speakers in your classroom and they're going to help you not only teach the course but they're also going to the course makes it a little bit easier right so that's what teals aims to be so there are varying levels of volunteers ship that you can do I myself went in you know deepen with the I teach three times a week a from eight to nine o'clock before I go to work every day you can be a teaching assistant and that's kind of at the same level that's at the co-teach model if you don't have that kind of time to develop to dedicate that's awesome you know I understand we all have busy lives you could also do what's known as the lab assistant which is where you know maybe the teacher has a little bit of experience in the classroom teaching this but doesn't need like a full-on co-teach environment to learn how to teach those courses so what we end up doing is you'll just be it to a lab assistant two times a week you come in the teacher teaches the course and you're there to answer questions during lab maybe help with some of the other stuff if that's still too much and you don't have like you have very little time they offer things a classroom and retreat program which basically turns into a guest lecture program where you go in every other week maybe once a semester and enrich the class with your experience any level of time you can get they will find a place to put you and this is not also only in person they have a amazingly built remote classroom system that they demoed for me yesterday at my talk at home away and it's like unbelievable this is where education is going to go in the future with remote educators and they're gonna be leading the way with this tech cuz it's really cool so if you don't have a school in your local area and you still want to dedicate and you have this time to dedicate that's fine if you can get a webcam and a microphone they can set you up and you were in your home and you can you know teach remotely so the main thing that we need here is we need people to sign up if you are interested I would say go to Till's 12k org slash volunteers or just check out the website teal swell k it has been worth everything is really been worth it for me to get back in the classroom I came out of an extremely strong high school computer science program three years in high school computer science high school got all the way through computer science four and three years and did multiple competitive programming things I have more medals that say I know Java than I care to admit also this curriculum is not all all Java there are multiple classes Java is kind of like the end course it's the top level ap there's a computer science principles ap course which teaches more about what the Internet is and stuff and there's an intro course that they're piloting that they're starting just in Python and they need Python developers to help with it and I'm out of time I believe in for him already since they are there you're gonna be the prop in the next talk okay so our next talk is Karl Karl is our videographer so let's get Karl around the poster my answer to Papa complaint I used to hate that question now I love it because not enough hands whip one of these out with one of those out of my backpack I hand it to the person they say wow how'd it do that no it did it well it blades yeah we did not rehearse this at all I helped them plug it in it's a USB thumb drive oh by the way it's I had a fruit product three three three three circuit playground Express and then their file manager comes up it's a thumb drive they open code dot pie with an editor that's it so if you can right click and pick open with editor yeah well you didn't over there oh well that that makes sense yeah if we would just got done rehearsal this would have worked we're rehearsing huh and there you've got some Python code and you can show them if you touch the things lights turn on and if they say how do you make it turn off you can talk to them about Python code and within five minutes they're engaged in programming no virtual environments no downloading no project management none of that boring stuff like you know hello world as boring compared to hey how did that do that so there you go I'm done [Music] there you go alright so next up is Oh and what's your talking talk about custom argument types with our car so we're gonna fix your mic first a little closer to you now custom R that's pipes without question okay customers getting around the block so the last time I gave a lightning talk I went for 45 minutes so I wrote a wrote a script I hope I can get it done in five this time so I learned to use our parse last few months at my job and we needed to do some custom types who uses our parse in here right CLI scripts with command line arguments great so you can see I have some sample code here showing a simple as a simple parser I'm just going to run that and there's actually several arguments that are defined both let's just look at a few of them so the first one is name and if I put in a name Alice we can see that unrecognized arguments Alice oh because I didn't do - - I know why this is be honoree okay so we see I put in Alice it's a default argument it comes out as a string no big deal pretty basic if I want to say the type of go be an integer then I can add and now if I see the party is not in quotes it's actually the tuberculin and I can use it as an int I can also define other custom arguments argument types if I write a method that takes a string and will return we'll check the contents so here's a case where I want to have a percent type so in my case I want to a percent type and it's going to be so sometimes we want to give 110% or our managers do sorry 110 must be in the range of 0 to 100 so that's the first taste test we have let's make it 50% and so now percent has been validated to be 0 100 and also converted to a float so that I can now just do direct multiplication within my function but the the big interesting one is that we have a lot of enums in our test environment large small medium brief and testing for these arguments we test for the name and then we have the test for the string of the enum and so forth and then I thought that was very clunky I like testing using is for testing enum values so I wrote a mixin to go with our enum class that allows me to use it directly or almost directly as a argument type and in this type we define a methods going to take our string it's a class methods gonna take a string and sort of try to actually use the index access on an emu to give me back the enum that matches if not I got a key error in this case I'll return not valid I also have the stream because what I want leave you notice here that if there's no color provided we're actually getting the list of the valid colors so I can say and say color is some bad color when I say sorry that's not a valid color if I can say red then what I got was actually not the string red I actually got the enum color dot red and then if I want to when I use that in my code I can treat it as an enum so here I've got parse the arguments and now I'm gonna say if the Cairo color is color got gold I wanna print pretty oh I'm still gonna hard 10% that's not so good colors gold and we're pretty that's and so that little mixin is sufficient to take any EMU and it as a mix in for art typing and then I can treat it as an argument saying type is colored of art type and the choices are color and that's all I need to do to make that genome work as a valid archetype for art person and this is a gist on github just github.com /p tfcg so you can pull it down from there thank you forty minutes titles not there so i need to look up over here okay so James gonna give us to talk building and deploying a site for beginners let's give them a round of applause okay so my journey with the coding has really started in 2012 Elizabeth this 2014 with this only programming class called team treehouse so who here is encoding with Python for about a year or less okay we made someone that they want to tell pathan that hey this is a good programming language you can learn about for a complete newbie we got I've got some people right so how would you two do set to them there's some blue cancer can take in different areas in different cities but what if you're really remote somewhere so my dreams started like with here it isn't it end here actually but what I love about the system it's with tree house they have so many different languages I was actually on effectively program of theirs this is a subscription-based model this one $4 a month first I was actually trying to be a full stack with JavaScript but I like how python is typed and how I was reading it actually switched over to there and I was actually learning how to build my own website so I'll show it to you right now and it was it was it started with this program but I turned to Sue's YouTube videos which helps you in just a moment but this is what I built this is just I built this as blast I'm running this on sequel Lite server deployed on the note so then I also use bootstrap to design the interface it's very simple but I have an account reset my email if I don't remember it I can change my code any time so for someone who you who you want to show if I thought to and say hey you can build your own website so who here has their own website who here has designed it and built it on their own good yeah so that's the power of Python and if this if you know someone who wants to demonstrate their work this could be the place for it so what ended up happening was I didn't teach Houston treehouse actually there's this guy I think he's the best as far as step-by-step tutorials on YouTube it's free okay he does he starts actually with a lot of basic Python language concepts and in his videos it's kind of a private home like for example what is a closure before that he talks about what is a first-class function and before they talks about what is the decorator there's something like that in that word so he has this amazing class tutorial series and there's also a Django tutorial series that it's about maybe five six hours total but I mean I love to dive into things deep when I'm looking at them so it ended up being maybe 10 hours from total but this will get you from zero to knowing how to access Linux well that's a sage encrypt and make your site secure because that's kind of a complicated process this should not be so but it was well that's okay I also have so so with that what I learned along the way just for someone like me who's learning you know Python really on my own I am been using OneNote to pull the glossary I know there's a glossary and there's documentation online or read or these different packages but what I've done is sometimes I just see things my own words so for example you see here I was trying to learn about plastic welcoming before that I actually was reading just about see quality in itself so this is why we use that's rock prints because instead of having talks as the website can do this offline and like I said it's in my own words also putting on procedures there so that was a lot of color next this is I don't fit nobody uses this but at least for Windows this is a great command-line interface called commander you could have multiple tabs open this is in Paris shell we can just also add another one let's say it's command commander so that could be there as well can all these tabs open and available and I've been using github for my code and apart from that I just have to say I did a lot of this on my own in my house in coffee shops so if you're if you know someone wants to learn this language they can learn it online and actually do it pretty much for free at the start but eventually you want to get to know people and that's what I did so that's why I'm here I just don't know about this convention two days ago so that is all for me [Applause] hello again everybody this would be a quick talk I get this question a lot of times being a test guy and I gave the whole talk about egad how to wear a go test so which one is better unit tests or PI tests what should we pick for writing our tests before I give my personal opinion of answer I want to just compare the two and just kind of shake out things so has everyone seen the Python developer survey from 2018 Yes No maybe yeah yeah if you haven't just google it it gives a whole bunch of cool statistics on the Python developer community that was done in collaboration with the Python Software Foundation as well as JetBrains if you look at that survey it's interesting of the people who are using test frameworks of Python 46% use PI test whereas only 32% use unit test unit test is pretty nice though the best thing about unit test is that it comes with the standard library you don't need to install anything extra it's there from the get-go there is nothing wrong or particularly bad about unit tests however when you look at PI test PI test is a little bit more powerful and a little bit cleaner when you write your tests and PI tests you can write them as functions whereas in unit tests they shoehorn tune to a class structure personally I prefer the functional style of writing test functions some other things with PI tests you get those fixtures that are more reusable you also can scope fixtures to it individual test level versus module level it's really nice and PI test also has plugins galore if there's a plugin for something you want if PI test probably has it if you want parallel execution PI test Exodus if you want code coverage PI test code if you want integrations with Django or flask it's there and also just want to shout out in case you missed it knows it's dead I strongly recommend not using the newest framework so now my opinions overall I think Python is one of the best languages for test automation period it's because it's pythonic it's easy to pick up for beginners it powerful for power users I also personally think pi test is one of the best frameworks in ending language particularly because it has test functions because of its plugins and also because of its fixtures it's a very very nifty way of handling things personally I also like my test BDD to buy BDD behavior driven development if you don't know what that is I recommend you look it up it's a really cool way to write tests and so with all that to say personally I prefer PI test over unit tests thank you because strong and beautiful I also worked for the Python Software Foundation if you're not aware with what the Python Software Foundation is we're gonna do that really quickly first off it is a legal entity that takes Co the copyright trademark an intellectual property for the Python programming language we also support the Python community of the infrastructure both technical and fiscal for technical perspective it's things like python.org and i.org from a fiscal perspective we can support any project that aligns with our mission by letting them sort of hang out on at the umbrella of our 501c3 status we also provide grants worldwide over $300,000 in Counting and sort of going up with time and 75% of those grants are distributed outside of the u.s. those grants go to things like the Django girls tilings workshops meetups and regional Python conferences like like there's one in Texas what's it called yeah Ojai Texas right uh-huh additionally the PSF puts on pike on every year if you're not aware of what pike on is pike on is a conference that happens in that I think it's Cleveland Texas so it's only it's only three hours from here I'm sorry it's actually in Cleveland Arkansas so it's eight nine hours from here Oh Tennessee Cleveland Tennessee which is 14 hours from here sixteen oh here we go okay so Cleveland Ohio so it's a it's a 20 hour drive and it's not too late to come and as a matter of fact if you want you could just like caravan with me I'm heading back that way in my car after pie Texas so you can just get in your car and come along with me but sincerely there are some tickets left for PyCon if you haven't made arrangements yet and in prepare in preparation for this lightning talk I realized that next time I do a road trip there are a lot of Cleveland's I could my title not my talks title I was going to another I thought you'd want to know what the talk was about - so I went back to edited and there was no other field so anyway that's who I alright so the talk is actually it's not how good no it isn't it's Python Unicode attention system applause so spoiler alert this talk is recycled and also you're getting the five-minute version of a 30-minute talk but anyway this is about Unicode and the problems that I've had with it and just the simple fact first of all not doing live coding demo here these are kinds of problems that you run into trying to deal with Unicode versus ASCII in Python the long and short of it is that back in the day we all used ASCII and Python was built back in the day and it still wants to use asking most of the time the hilarious thing about this particular error is that the program crashes while trying to print a unicode character and then successfully prints the unicode character in the stack trace now you may have noticed you may have noticed that the problem here is that I'm using Python 2 now if you're like me and you have to maintain some legacy code it's a fact of life you have to live with it and at least not break things that we're already working but assuming that you switch over to Python 3 that should fix all of your problems right because python 3 uses Unicode by default instead of ASCII so it's a lot simpler we just print and we get the same crash and now in Python 3 it fails to print the stack trace correctly so I'm not sure that I have time to get through all of the reasons why this is a problem and continues to be a problem in 2019 so let me see if I can give you the short version ASCII was nice because it skipped a lot of steps we had a direct mapping of characters to numbers and those numbers were all one byte with Unicode though things get a little more complicated we have direct mappings of characters to numbers but those numbers are not mapped directly to bytes there are actually a lot of different types of encoding that you can get for you some of them represent all characters well not all characters some of them represent more characters and others and the one that you're going to be using most of the time is going to be utf-8 which will what's going on here and some probably got some unique ideas you know what explain it so anyway when you're working in Python specifically Unicode is a type it's a type of variable although if you're on Python 3 skipping over a bunch of stuff here this is a nice little disambiguation table that you should use basically in Python 3 strings by default are representations of Unicode code points so they don't map directly to bytes until they have to in other words until you're outputting them to something outside of the Python language like a file or your terminal or the network and at the point where you have to convert a Python Unicode object into some bytes you have to go through your encoding and you have to basically settle on what how that character should be represented in bytes according to the official Python how-to on how to use Unicode in your code basically don't care about encoding as much as possible just use the built-in Unicode objects that the language gives you internally and let the interpreter handle the encoding when it needs to talk to something else but as I saw earlier that actually doesn't work a lot of times you can handle the encoding yourself manually by using encode or decode on your string objects to make a long story short Python does its best to detect the preferred encoding of the file it's writing to so when you're running a script in a terminal it's going to actually ask for the terminal hey terminal what kind of encoding do you want and so the reason that the reason we can still get this crash even on Python 3 is that it's possible to miss configure your terminal if any of you have worked inside a you know like docker containers for example if you just build like the default Debian docker container and you go in there and you try to use Unicode you may get a crash because out of the box it doesn't have a lot of environment variables set up and there's one in particular here we go LCC type is an environment variable that is going to signal to not only Python but to a lot of programs what type of encoding they should use when they're talking to the system and so if you explicitly tell it that it should use ASCII then it's gonna try to use ASCII and it's gonna fail to print this multi byte number in one bite so yeah that's that's kind of long and short of my talk I guess the shorter my talk by minute version anyway and there are further problems if you try to do this in SSH okay all right cool so you some of you may have been coming to my textures for a while we might be the oldest regional Python conference in the u.s. at least apparently the question is whether hi Ohio happened earlier or later in the year in 2007 that's like the the question about who is actually that the first regional anyway so we started out as high camp Texans and then two years later adopted the name PI Texas and then for a few years we carried along and then in until 2012 the important thing to note is there was one person running this group running the whole thing okay which is okay because it was actually only a couple dozen people that would come to each year each one I think I started coming in 2010 and there were like 30 or 40 of us in Waco and then as we grew it became more and more difficult for people to for what this one person to do it was Sheila Allen if you if you know her so in 2013 Sheila kind of backed away and we had a group I organized it for the first time ever and that group also decided to start charging because we would have people say yeah sure I'm coming and then they wouldn't come and that by the way it's the primary reason why people pay to go to the conference and so I that led to a problem right if we're gonna take money I including sponsor dollars how do we do that all right well as earnest just mentioned the PSF jumped in and helped us out with funding we could send our funds to the PSF and then they would reimburse us for charges and that worked out really well except it took a while and everybody had to put dollars like you know like we you know we would get reimbursed know that so and also the logistics have improved greatly in the last five years in the last two years but it just took it was kind of a problematic process for us so we thought it would be easy and we decided to just do it ourselves so in 2014 we founded the PI Texas Foundation which is a registered nonprofit corporation here in Texas and the next year we got the Department of the Treasury to agree that we're a 501 C 3 because if we ever go under any profits that we make will actually go to another nonprofit I guess which one it would go to and then we even got come on that's actually I don't know why that would be challenging cool uh well you can see it here I don't know why you can't see it up there but we got a logo it's blue and it's yellow and it's in the shape of Texas and we actually talked to the Python the PSF logo committee because they have very good reasons to protect their trademarks i and they actually said they like this one so that's nice so anyway here's here's the world since then we were in College Station again in 2014 to get our 501 C 3 and we're in 2019 now so what's the governance of the the pipe Texas foundation there's a Board of Directors currently there are three of us I there are four officer ships that are sort of mandated by our bylaws interestingly if you think that if you note that there are three three directors and four officers that means that one person is doing to people's jobs and the good news is we can grow our board so we have some committees for example for the conference semi annual meetings that's all so we're interested in building support for the foundation it is not you know that much work it's mostly coming to meetings and making sure that you sign things I so if you're at all interested in the foundation and I'm talking to some of you who've been around in the community for a while and also some of you who are brand new we could bring new ideas to the to it we're really interested in hearing from you I can't promise a board seat but I can promise that we will find a way to to let you contribute to the community and so let us know show up at meetings throwing Google Hangouts it's not hard and really that's it and then one last thing that I think is important but Google doesn't is I mean it really doesn't like so the the foundation is not the conference every year kind of a new group of people could work on the conference there's there's a standing committee that that has worked on it but but they're not on all the same so I think Dustin tomorrow is going to be talking about how to contribute to the conference which is a much more immediate need every year and but that's the foundation the conference are not saying I'm really glad you took the picture of the broken slide okay all right and that's it that's it for me [Music] try it we're gonna get this done this is gonna be really awkward but it's gonna work no it'll be on those things to be afraid the supreme cast did work like the moment I sat down all right this is gonna be hard you're gonna see something everyone turn your heads this is good it's gonna get all right there we go okay so when I showed up today I wasn't exactly planning on getting a lightning talk but over lunch I was talking to alloy and I was showing this really cool terminal any oil in her program and he was like oh you should you should present on this there are a lot of guys that like hacking with Python and I go oh that's that's fair and I know when you're not surrounded by other people who are enthusiastic about Python or actually developing on your own computers that you might kind of get the itch to develop a Python well but this can kind of scratch that here we have our handy-dandy rebel boom there we are we are at home on your Android device using term ox on our phone I mean we can do simple things you want to do some minor subtraction there it is here I go that's pretty cool Sorenson but what if I want to develop on my phone like I really want to develop mice and I I hear you okay so here we are we're running a team up session so I can just simply transfer over to another window then I go okay I want to write something so I'm gonna pull up my faithful Emacs client and I'm gonna open my little Python development project and this I cobbled together over lunch it's a small script that takes in a user input oh is this mirrored oh God well it takes in a user input and translates it to Morse code and then vibrates the phone and does a little system os call in Morse code just because home and so I'm like I'm not gonna do any of this live so we'll switch over to another team bucks window and go and call our little more senator through Python well that's that's pretty cool there we go now it's running and it's asking for our input well let's see what I can spell sideways let's see if there's a PI Texas and PI works whatever and then we run it and you can't feel it but I can my phone's vibrating and it's punching out the Morse code there so if you're ever just needing developing public there you go [Music] okay so I'm gonna I'm gonna wrap off to the speakers I'm gonna give to one of the speakers a lot so one of the speakers I'm gonna give this lovely water bottle that is our speakers gift by the way so if if next year you become a speaker gonna talk except at the conference submit a CFP you might win maybe not this exact water bottle but something quite nice like it as our appreciation for all speakers they've done really excellent job giving a talk today we don't have enough for all the Lightning talk speakers we have one for one of them so we're just gonna watch twice we're just gonna random that choice this right now and see who it is [Applause] okay so thank you to all the Lightning talks of yours nice Rolla talks today we [Music]