By Kyle R. Conway on 2020-03-22 Sunday in GNU Emacs
When stuck in time between a tunnel’s light and each escape obscured by mortal dread from whence shall solace torch a flame so bright alleviating anxiousness in head?
Must nothing happen as all sit and watch such silent and invisible true foes encroach so quietly and cut each notch by stealing life breath underneath each nose
Uncertainty―uncertain though it seems― may be a sort of blessing so disguised to see beyond collective, fevered dreams and poems composed in fear soliloquized. By writing I will quell my anxious mind: immortalized anxiety enshrined!
# Import Libraries
import pandas as pd
# Magic Code for Inline Display
# in Jupyter Notebook (if you're using that)
# Create Dataframe from tables at URL for Iowa COVID-19 Testing
url = 'https://covidtracking.com/data/state/iowa/#history'
df = pd.read_html(url)
# There are multiple tables on the page,
# and they are saved in a list.
# Choose the 2nd table and rename to 'df'
df = df
# Set the type for the column 'Date' as a datetime type.
df['Date'] = pd.to_datetime(df['Date'])
# Set the newly typed "Date" column as the index.
df.index = df['Date']
# Create a new dataframe from the original with only
# the 'Pending','Negative', and 'Positive' columns
iowa_testing = df[['Pending','Negative','Positive']]
# Plot this new dataframe as a stacked bar graph
# Invert the axis so time moves forward.
This is the original playscript I wrote for The Art of Python that took place at PyCon U.S. in 2019. I additionally performed the piece at PyCon with the directorial help of Sumana Harihareswara and the stage management work and acting performance as the Figure by Mel Chua.
There were some changes to this script for the live performance. I created slides for the event and they were displayed behind me during the performance and are presented throughout the script below as images.
(slide reads: “THE VOID”)
(the stage is empty. We can make out one person, a figure, front and center.)
(staring, wide-eyed, excited, past the audience – beat * 3)
(slide reads: “This is Kyle –”)
(beat * 3)
(slide reads: “he’s learning the new skill of –”)
(Terrified / heavy breathing / beat * 1)
(slide reads: “computer programming –”)
(Covers his eyes with one hand, twists away from the audience as if what he is about to do might blind him, and clicks a single finger down on an imaginary ENTER key. Bright lights up full. Beat * 3 – he peaks through his fingers.)
It worked? It worked! Ha ha! Yes! Look at that. There it is: “Hello, World!” (Hand on hips – power pose) And you thought this programming thing would be hard.
(slide reads: “but Kyle was in for – “)
(Red lights, loud, blaring sirens)
(Kyle freezes in a macabre, horrific expression and body position)
(slide reads: “– a rude awakening.”)
Not a Programmer
(slide reads: “on not being a programmer”)
No, I’m not a programmer, I’m just better than you are at excel spreadsheets.
(click sound. beat.)
No, I’m not a programmer, I just figured out how to use this query-like syntax with your data in Google’s spreadsheets.
(click sound. beat.)
No, I’m not a programmer. It’s just a little bash script I wrote that helps me journal better from my phone, laptop, and desktop.
(click sound. beat.)
Ha! I wouldn’t say I’m a programmer, I just needed to batch download a really big list of files from a service we were using and python seemed easiest after a google search.
I’m sorry, what?
No, yeah―it did work―ran for about 80 hours straight before finishing. Lots of files.
(click sound. beat.)
Okay―fine―I’m doing some programming: but I’m not really a programmer…
Picking a Language
(slide reads: “on picking a programming language”)
Hi. My name is Kyle and I’ve decided to become a programmer. Several blog posts, books, and twitter surveys have lead me to believe that it is of the utmost importance that I:
(the next sequence is rapid-fire)
(between each beat are quick head, body, and vocal tone adjustments)
(very short beat. matter-of-fact:)
Learn Visual Basic, because my high school teacher gave me a book one time and I can probably find that in my basement if I look hard enough.
(very short beat. sarcastic:)
Learn Bash, because it’s already installed on the self-inflicted torture device known as my Linux Desktop.
(very short beat. in jest:)
Learn emacs lisp, because you’ve already invested the time into memorizing emacs keybindings and you’ve heard it could use a good text editor.
(very short beat. whatever:)
Learn Go because people talk about it on twitter a lot and it was created by Google.
(very short beat. haughty:)
Learn COBOL because it’ll always need maintaining, and it pays the best in my geographic location.
(very short beat. overheard/whisper:)
Learn Python because it’s the “second best language at everything.”
(very short beat. honest:)
(very short beat. snooty:)
Learn R, because it’s the best language at data analysis and graphical representation.
(very short beat. authoritative:)
Learn HTML and CSS because you can make things on the internet―oh, wait―nevermind―there’s disagreement as to whether or not these are programming languages?
(beat. drop all pretense. speak directly to audience―with pure, sincere, exasperation:)
Am I really learning programming if I just know something like “hello, world!” in 10 programming languages!?
… and HTML and CSS?
(slide reads: “submitting a question to stack overflow”)
(Kyle appears frustrated, staring straight ahead and typing in furious bursts.)
Python. Sort. Array. Count. Items. … Search.
No. No. No way! What? No.
(loud sigh. lowered head. stretch neck. he tries again:)
Python. Array. Group-by-count.
(beat. tilts head:)
Oh. No. No, no, no. Not that, kind of…
(beat. types again)
SQL group by with python?
Hey! That’s kind of it…
Oh! Rude! That’s not a helpful or kind response. Do I even want to submit the question here?―mean!―I already don’t know what to ask or how to ask it and apparently that’s a reason to say that you shouldn’t even ask the question.
Maybe I’ll just figure it out myself…>
(a transition. Kyle is holding a rubber duck.)
I’ve heard talking to you helps…
(slide reads: “Kyle works.”)
(duck is gone. cracking knuckles and stretching:)
Done―well, an example anyway, explaining exactly what I want to do and suffers the same problem as my actual work. But I still don’t know how to solve it.
Submit to stack overflow? Submit?
(resolve. clicks enter confidently:)
An answer!―that does basically what I need―and they think I asked a good question―and I got fake internet points!
Okay then. Maybe I can do this.
(slide reads: “on going to a meetup”)
(hands in pockets. kicking dirt. retelling:)
So, I was sick of trying to learn things on my own―by myself, in my basement―and I found a meetup online. It was at a chain soup and sandwich place on a Saturday.
I clicked “attending” and went.
(miming what’s described.)
I got my laptop charged up, threw it in my laptop bag along with a notebook, a pen, and my charger, and slung it over my shoulder and headed in.
I guess I didn’t know what I was expecting? When I walked in and scanned the room looking for more than like four college students with their laptops open over coffee. There they were―I think. Play it cool!
I headed to the counter and ordered a coffee―maybe I’d get thirsty―and walked up: “Is this the python group?”
(uncomfortable smile, holding breath and upright―more uncomfortable long beat…)
It was. That’s what it felt like―forever. They were nice. Young. Old. Macs, Linuxes, and Windows. Qwerty, Colemak, and Dvorak. Gnome and i3. Emacs and Vim and VSCode and Sublime. Working in finance, consulting, healthcare, insurance, startups, and going to college.
They were just people.
I didn’t learn much about programming that day―I did learn that there are real people in real life who care about some of the things I do.
I needed to reach out to more of them.
(break fourth wall. wink.)
Sending an email to a stranger in tech.
(slide reads: “on sending an email to a stranger in tech”)
(straight to audience. single light.)
(like an awkward introduction at a job interview. exasperated:)
Hi. I’m Kyle. I’m new here. I want to get better at this technology thing. Can you help me? You seem like you could help me.
’cause I need a lot of help.
(ding sound. beat. overly formal:)
Hello. My name is Kyle R. Conway. I have a PhD … in Fine Arts … and you do art … and so do I … but you also do tech things … tech things with art. I would like to do what you do. May I join you?
(extends hand for handshake. beat. wide eyes. beat. more intense.)
(ding sound. beat. casual:)
Hey, tech blogger. I really liked your post about unpackaged fonts with permissive licenses. I think that’s really cool.
(ding sound. beat. rapid-fire round. cheeky:)
(ding sound. beat. Irish:)
(ding sound. beat. concerned:)
I promise I’m not a creepy stranger.
(ding sound. beat. intense:)
I. Am. Your. Biggest. Fan.
(gong sound. rubbing eyes. honest:)
This is never going to work.
(quick fade. slide reads: “Kyle’s actual first email to a stranger in tech.”)
Thu, Mar 17, 2011 at 11:36 PM> Máirín, Would the “Nina” font meet the criteria for inclusion? http://www.archive.org/details/NinaPaleyFonts Thanks, KYLE
(slide reads: “Thanks for writing back, Máirín”)
The Figure and the Void.
(A figure stands alone in the darkness.)
(The figure shouts with naive confidence into the void a single word:)
(The figure finishes the phrase―now a question:)
(figure stands awkwardly, concerned, awaitang a response with growing insecurity.)
If you’ve not messed about with Blender 2.8 yet you’re truly missing out. I’d previously taken some cracks at getting into this 3D software before and quickly found myself returning to the more familiar world of pen and ink or the 2D Inkscape for my artistic needs. But, just look at this procedural marble that I built that changes colors with ease―and also changes perspective (i.e. 3D).
It’s kind of incredible.
Below is a screenshot of the node setup I used for the marble. I’m not entirely sure that all of those connections are necessary, but the leftmost node is a texture, then I color it, and have the color connect to both the color of the Principled BSDF shader and to the roughness (which more or less affects how much it reflects the light; or how shiny it is).
I definitely do not understand what I’m doing well enough at this point to be said to have any idea at all of what’s going on, but I’m having a great deal of fun with it. More, certainly, to come.