I have always loved this poem. This year I love it differently.
Mary Conway – 2020-04-01
This was sent during the earliest days of social distancing amidst the COVID-19 pandemic to me by my sister Mary. She included the following poem:
"Spring" by Edna St. Vincent MillayTo what purpose, April, do you return again?
Beauty is not enough.
You can no longer quiet me with the redness
Of little leaves opening stickily.
I know what I know.
The sun is hot on my neck as I observe
The spikes of the crocus.
The smell of the earth is good.
It is apparent that there is no death.
But what does that signify?
Not only under ground are the brains of men
Eaten by maggots.
Life in itself
Is nothing,
An empty cup, a flight of uncarpeted stairs.
It is not enough that yearly, down this hill,
April
Comes like an idiot, babbling and strewing flowers.
Even though I’d never encountered this poem before, even when reading it at the time ― within the context of this strange new reality at the beginning of the pandemic ― I also knew that I loved it differently than I would have even a month earlier.
At the time my response was to tell her that she should also write a poem, but one titled: This year I love it differently. I don’t think she has yet so I’m still waiting.
I also felt the urge to contemplate artistically the reality that for most forms of art it is not the art that changes, but ourselves. This is not a unique observation, but a very human one that is always surprising and enthralling.
Now nearly 4 years on, no meaningful end to the pandemic in sight, I “love it differently” still, and again, and anew.
It’s now 9 months after I wrote the above draft and didn’t finish posting it.
It’s now long after that. I suppose it’s time to post the post. I still love it differently.
I conceived of an idea for an interactive performance that could take place in the context of The Art of Python at PyCon2020―the latter was graciously accepted to their hatchery program―and would have led directly into a collaborative workshop designed to encourage more original dramatic works from the lived experiences of technologists had the COVID-19 pandemic not shut down all things.
I have a longer post that went into the details at the time―and there were many―but the short description is that I was interested in collecting short statements of truth, particularly from the tech community about aspects of their work and life in tech to become a part of a live performance at PyCon2020 that sadly failed to happen. (Some things, like theater, really do benefit from being in-person).
At the time, tech twitter was filled with such wondrous quotes of knowledge. It was sometimes funny, sometimes sad, often woefully accurate―but almost always resulting in gained knowledge about some sort of lived experience shared with the broader community.
In order to write about the project I needed to demonstrate the types of quotes I expected to receive, and years of following some wonderful technologists had provided many examples of the incisive wisdom I hoped to receive in my own survey (which you can see here).
At the time we’d only received a few responses:
Learning on your own is hard.
I don’t work in tech, but I make tech work for me.
End-users are incapable of following simple instructions or describing accurately what is on their screen.
All the free snacks didn’t make up for being fired by a boss who couldn’t tell me what my job was.
When you say only 1% and mostly vulnerable people will die, the disabled community is preparing to mourn the loss of many in their community.
I want to be a minimalist, but can’t afford it
our work and world are tiring and the best thing we can do is do good for one another
Ignore Gatekeepers. There’s no one perfect background or degree or experience that makes you a “real developer.”
Many of our tools are not convivial because the corporations that design and sell them Don’t have our interests in mind, only profit.
I thought visual examples might be helpful. Finding nuggets of wisdom from public tech twitter was not very difficult. I combined these with public domain art.
It never resulted in much beyond the above because the pandemic dramatically changed everyone’s plans. Some of these images have been sitting for so long unused that when I came across them again over the new year I felt compelled to share. I have to admit that I’d occasionally remember them and look for them on my blog and not find them. (Future historians take note: the pandemic and lock down and everything was really weird with respect to memory and the perception of the passage of time, among so many other things).
To be honest, I’m not even sure I could find or link to the original tweets anymore considering the incredible changes over at Twitter/X. After so much upheaval I’m not going to try. You’ll just have to trust me that these handles said these words at some point in a tweet and I thought they were worthy of enshrining with public domain art to encourage participation in a live performance art project at a tech conference.
– Winnie-the-Pooh (now, this next morning, gloriously in the public domain)
It recently occurred to me that whatever might happen in the future ― (?) and whatever has happened is in the past ― (!) that the present moment is magic
I find myself sitting in the final hours of 2021 waiting
I'm waiting for things to settle down I'm waiting for things to catch up I'm waiting for Winnie-the-Pooh to enter the public domain (Finally!)
I'm waiting for the future that isn't here yet
And when I found myself waiting I started typing about waiting but not just typing
first I had to decide which application to use and then to adjust the background color of the application and then search for ways to increase the font size on my 4k monitor
and all of this after removing a corroded battery from a long forgotten Bluetooth trackpad that had been discarded by my father earlier in the day and delivered safely into the hands of the tech junkie whose fingers now type this sad tale of woe
Or maybe not...
I took a break made root beer floats ate crackers and weird cheese laughed
I came back here to write about what happened back then a few minutes ago back when a few minutes ago was the present
it was nice.
And I'm still excited for Winnie-the-Pooh and "Someone to Watch Over Me" and others I don't know about yet
I look forward to the future because I look forward to my presence there
but I have to remember that I'm present here now
is there a simpler way to say this? why write it at all? what's the point?
To remind present me and future me (and present you) to stop waiting and reminiscing (at least do it less) and start existing right here and right now
Why write it down? maybe someday a future version of me will heed the current words of now present me cobbled from the thoughts and experiences of past me and exist
...or maybe not.
Either way, Happy New Year!
May the past be past the future bright and the present go ever to the fore!
PyOhio took place today. You can see the abstract I presented here, but the final video is embedded below. It was a great event and all the videos are up now on the PyOhio page.
VirtualCoffee had a great Brownbag talk this morning called How to Promote Yourself to Potential Employers by Abbey Perini. I suspect it will be posted at some point because it was recorded, but there were a number of stellar quotes and I decided to quickly mock up a few of them in Inkscape (initially) and then eventually put one into Blender as well (for fun).
Everyone knows that writing code making art is easy! There are so many free resources available on the internet that becoming a programmer an artist has never been easier! In this talk I’ll demo several ways to make a todo list draw a circle! We’ll go through a variety of mediums to get you up-to-speed with new languages and frameworks mediums and methods in no time like:
Types of paper and surfaces
Overview of mediums (graphite, inks, acrylics, oils, and more!)
Performance Art (Dance, Theater, and Song!)
Digital Applications with live demo circles including:
Inkscape
Gnu Image Manipulation Program
Blender
p5.js
Krita
HTML & CSS
and whatever came out between this blurb and the event!
By the end of this talk you’ll be more confident than ever (and not at all overwhelmed!) by the prospect of how easy it is to become a programmer an artist in 2021!
Timeline
(1-2 Minute mark): The first 1-2 minutes will be spent parodying the language/syntax/and visual style of several landing pages/blogs/paid courses etc. of non-free and free “learn to code” resources. This should be light and funny – the parody will be obvious – but we’re going to take this more seriously than mere parody (i.e. how hard can it be to draw a circle? We’ll take this seriously, though still in a playful/in-character way.)
(3-7 Minute mark): The bulk of the presentation will literally be demonstrating a multitude of ways to “simply” draw a circle.
I will actually have relevant asides about perfect circles (using a drafting compass) vs. sufficient circles (freehand strategies)
We’ll talk about these strategies in a variety of mediums (pen, paper, ink, etc.)
We’ll discuss the actual effect that different physical papers may have on the resulting shape (printer paper, canvas, etc.).
I’ll live demo the creation of a “simple” circle in a variety of free-software tools including Inkscape, Gimp, Krita, and Blender (and more as in the abstract). I will note that I will not be showing how to install these applications on your machines.
I’ll also discuss how to make these actually perfect circles created by software less perfect for artistic reasons (and show how to do that in each application).
(8-9 Minute mark): I’ll conclude with the same platitudes about how drawing a circle is easy and how the learning resources available to you today pale in comparison to what I had when I was learning to draw a circle decades ago.
(9-10 Minute mark): Break the fourth wall / drop character: I have a PhD in Fine Arts and I’m working on learning coding. I’ll close by noting that coding (like drawing a circle) can both be “easy” and “hopelessly confusing” based on previous knowledge and experience, and it’s important to regularly remind ourselves of this fact when working with, encouraging, and speaking to others. I hope this will help everyone consider this more strongly moving forward.
Intended audience
Learning to Code: If someone is learning to code (i.e. starting out) they’ve likely come across enough material to both understand and be painfully aware of the parody I’m doing and recognize the specific challenge can exist outside of the tech space too.
Actively Coding / Coding Mentors / Tech Bloggers, etc.: This group will, I hope, laugh at the title, laugh at the intro, and in the middle demo section realize that what they thought was easy (drawing a circle) has much more complexity too it then they thought, and have the parody hit home in a different way that changes their approach to new learners (and also themselves as tech is always changing).
Others: I think this is a balanced talk for everyone of all knowledge levels. At absolute worst, people will have a primer on how to draw a circle in a multitude of ways. That’s a pretty good worst outcome.
Short Bio
Kyle R. Conway has a PhD in Fine Arts, an MA in Theater, and experience at successful startup/incubators. He is a 10+ year Linux Desktop user (by choice) and Fedora Linux contributor. He likes tea.
I’m a long-term ncdu user, but I recently discovered gdu which is much faster. This isn’t to say ncdu is bad or undesirable anymore, but for most cases I’ll be replacing ncdu with gdu moving forward for the speed advances alone.
If you haven’t seen either of these tools I suggest you check them out. They’re fantastic for quickly identifying directories and files that are taking up the most space on your hard disks via the command line in a more visual way that makes it easy to both find and delete unneeded files and directories.
A sample output looking in a home directory (gdu is shown).
You can navigate into and out of sub-directories that are also calculated and use keyboard shortcuts for all relevant actions.
gdu keyboard shortcuts — accessible from the application by pressing “?”
I’ve shown gdu here because I’m newly enamored by it, but ncdu still has more features even though it is truly slower.
note the extra options in ncdu
At any rate, these are both highly recommended applications. I’ve used them on local computers, remote computers via ssh, mounted drives locally (nfs, smb, etc) and on Linux and BSD. I’m currently using this on TrueNAS Core (FreeBSD) and TrueNAS SCALE (Linux) to generally sort out some erroneous backup strategies I tried over the years.
What happens when you just get frustrated and buy an old server on ebay? Well… I don’t know yet because at the moment I’m checking the RAM with memtester on a System Rescue CD running off of a bootable USB drive. What I do know is that this computer has 64G of ECC RAM, 2 Intel xeon processors with a combined 24 cores, and 8 3.5″ drive bays.
It seems to have completed successfully. If you’re wondering what steps it processes through it seems to start on “stuck address” and end on “16-bit Writes”.
After generally confirming the memory was working as intended I ran a CPU stress test for an hour or so a few times. Watching all 24 cores light up in htop was thrilling.
Everything seems to be humming along just fine…
My general plan here is to consolidate other computers that were providing FreeNAS (now TrueNAS), XCP-ng, and other functions into a single unit using the now alpha―should I be scared?―TrueNAS Scale. I’m not switching because TrueNAS is lacking in general as a NAS because it’s been great. It’s just that the VM solution, bhyve, is both not what I’m familiar with and seems generally less good for the virtualization I do. Additionally, TrueNAS is based on BSD, and while BSD is great, I’m far more experienced with Linux having used it for 10 years, and Scale is:
Built on Debian Linux
Maintains ZFS for file system
Integrates the more familiar KVM for virtual machines
Adds Docker for containers
Basically, it should allow me to consolidate:
My virtual machines
Currently running on a mix of desktop computers with KVM and a hobbled together machine running XCP-ng.
My NAS
Currently a dedicated old desktop computer with the sides off.
My Docker Containers
Running everything from Nextcloud to Minetest and Veloren servers (and increasingly other things).
Maybe PFSense (dare I virtualize this?)
Inside a bigger computer.
I’m have some trepidation about using the alpha TrueNAS Scale on this system that I actually intend to use for real, but I’ve also been very very interested in using this particular iteration of the Free and Open Source project TrueNAS since I heard about it sometime last year (or was it 2019?―what actually is time?).
End of post update
Since I started writing this post I’ve:
generally validated the hardware is working
added an internal SSD to directly to the SATA ports
installed a fresh copy of TrueNAS Scale alpha
Setup a single-disk pool (pool?) to test things
installed a docker version of Nextcloud that works well
created a working VM of Debian 10 Linux and accessed via included VNC
happily played in the shell with my known panoply of Linux terminal commands (so much less context switching!)
and generally explored the new web-based GUI (I’m liking it).
I’m not sure exactly when I’m going to fully fully commit to moving all of my day-to-day data over to the new machine (need to add non-test disks for non-test pools), but I suspect in the coming weeks I’ll gain an amount of trust to do so. The release notes indicate a certain stability in many of the elements independently (though when you bring things together who knows), but it looks good.
I’ll likely update here as I encounter problems or move additional items to the server.
Ubuntu server has a nice installation up-front that allows you to pre-select some tools and services at install you might want to have running on your new server.
If you happen to select Wekan it will default to port 8080.
If you then happen to want to install Jenkins via their Debian/Ubuntu method it will fail to fully install at the `sudo apt-get install jenkins` section due to the port 8080 already being occupied.
After running the above command you can edit port in the following file:
sudo nano /etc/default/jenkins
Edit the numbers of the identified port to something other than “8080”
# port for HTTP connector (default 8080; disable with -1)
HTTP_PORT=8090
You can see a video here: https://youtu.be/XVei-AeXLLo
I’m a fairly good marketer because of three things:
I seek the truth like a good journalist.
I have a doctorate in Fine Arts (emphasis essentially in storytelling).
and from an ethical perspective I want to ensure that the story I tell is true (not just technically, but perceptually).
I think it matters that the impression you create in a story actually rings true in reality, and not just in some small, narrow, legal-definitional sense. I strive for that in all the work I do because the story isn’t worth telling if it’s a lie or someone will feel had post-transaction. I’m in it for the truth and the long-term.
But the thing I hate most is marketing myself. It’s not that I’m incapable, but any reduction of a human person is inherently untrue. All human beings contain multitudes―so too do I.
However, the below tweet has reminded me of the importance of at least sharing things I’ve done more publicly.
It’s not that I’ve tried to hide things, but spending the past nearly decade at startup/incubators in the healthcare space and more recently a non-profit have been situations where the work I’ve done has been huge in scope, fast by necessity, and in most cases private by default.
That’s a far cry from the work I did as an artist/educator which was able to be vibrantly public (see #2510s project, for example, and the accompanying exercises). I’ve since done much other work, but I’ve neglected to organize it in a single location and in some fashion as to make it digestible for others. You’d be forgiven for not knowing about my visual art/graphic design showings at some coffee shops (because I mostly didn’t mention them), and my 3×5 project (which is probably somewhere online), and my photo manipulation project of soft squares (which I just found yesterday while cleaning up some photo files).
Brushes
Aqua
Serpent
Robot
Part of the Manipulated Photography Squares Series
You probably didn’t know about a brief series I did on the negative space between bicycle frames.
Or my flat, cartoonish, object series (some below).
None of this includes the work I’ve done writing code, parsing data, researching, or any other number of things. It’s missing the work I’ve put in learning blender and creating new and interesting things there, often for the Fedora Linux project as a designer.
Self-Referential Multi-plane Camera Patent #2
Self-Referential Multi-plane Camera Patent #1
You can’t know if I don’t tell you.
So I’m going to try to take some time to arrange these things in a singular location in categories that make sense. And, honestly, not just for you―but for me. I honestly forget most things I work on, because I work on so many things.
The trick, as always, with art is to know when something is finished.
A number of years ago I was trying to learn python. Random numbers have always amused me (as I was recently reminded by a twitter nod to the weird usage of spreadsheets).
A user named @context_ing tweeted: “I love finding the ways in which people use spreadsheets. Personally, I use them for mostly budgeting, workout tracking and travel planning. Here’s a few in the wild I’ve found. Would love to see more! Please share if you’ve come across any or have any yourself.”
I felt compelled to reply with my own little story. “Reminds me of a decade old excel project. A playwriting book said something like “I guess it would be a play if you cut up words from a dictionary and pulled them out one-by-one, arranging them into lines of 10 words under character names, but it wouldn’t be a very good one.” So I took the entire public domain text of Oscar Wilde’s classic and had Excel recreate the play on every reopen of the file by randomly selecting words and character names I think using a vlookup and random. The result was interesting (and likely bad theatre).”
The text in question (blasted tweet limits!) was Oscar Wilde’s The Importance of Being Earnest. The resulting play was garbage, but that random interger generation was magical. When combined with other functions it really could do wonderful things for art.
Fast forward some (10?) years and I had a different problem to deal with: I needed to seamlessly transition all staff and clients from one grouping of technology services at one company to a different group of technology services at a new and different non-profit that was going to just continue doing basically the same work for basically the same people.
To remove almost all complexity from this story: I needed passwords; lots of random, unique, and strong passwords.
I once again turned to my friend the random number generator, but this time in python rather than excel. I coded up a script that would allow me to specify the number of words I wanted, unique separator I desired, and―importantly―how many of these unique passwords I wanted to be generated in one go.
I had the program roll digital dice and lookup words from the EFF’s Diceware password list and then spit them out. People would get their passwords and privately think I was just very adept at coming up with wacky sounding passwords, but I did not deserve this misconception as random integers were to blame for everything.
Eventually I thought it would be a good idea to create a sort of Public Service Announcement on the web about the odd truth that a list of words obtained by rolling dice really can be unique.
The end result is a Twitter bot and a Mastodon bot that very frequently tweet out unique passwords they’ve generated (though you probably shouldn’t use them). More people follow on Mastodon than Twitter, and Twitter relatively frequently blocks my bot’s tweets makes me unnecessarily prove that there’s a human behind the bot to get things going again (anyone at Twitter can explain this?).
At any rate, here’s some examples embedded below. Note that I also added the Harry Potter wordlist as well. There are others for your enjoyment on EFF’s site.
Lastly, there are infinitely better versions of this if you’re looking to generate a password. I’d recommend the much more easily installed passphraseme by Micah Lee.
This time around I was a late adopter (very late) and only recently upgraded my laptop to Fedora 32. It’s great to install a free and open OS and see a wallpaper you worked on greeting you (as I did with Fedora 32). I was involved in creating the Fedora 26 wallpaper as well which featured a treeline that followed a sound wave of my voice saying the word “Fedora.”
I was recently able to attend the Nest with Fedora event (an online, from home, mid-pandemic version of Flock that was wonderful as I was able to “meet” many of the screen names I’d seen in forum posts and email lists for years.
Fedora’s design process is open but not many find their way to the ticket thread to follow along (here’s a link the above wallpaper’s thread). I figured I’d share some of the other angles and shades of the above that I had been using as my background until my recent upgrade―initially for testing but then they just kind of stuck. They’re much too dark for a default Fedora release, but I figured I’d share them here. My favorite is the lone object, floating in the void.
Lastly, if you want to get involved on the next wallpapers check out the discussions about Fedora 33 and Fedora 34 on pagure at the links.
I’ve been cleaning up some items and came across a series of index cards I was using for note-taking during my doctoral dissertation. This one is on the subject of creativity, freedom, attention, and rules.
While this was a preferred method of mine years ago I’ve since migrated to Emacs’ org-mode. I happily typed these in and can say goodbye to the cards themselves and more formally the process.
At any rate, I have some older quotes in a more quickly parsable medium now. I may revisit some of the great ideas in that book in the future here or elsewhere. Mostly I am writing this to say: once I took notes like this. Future self, do you remember this?
The WPA has long been a source of inspiration, awe, and and envy for me. With an extensive background in the arts and theater, the very concept of the government directly investing in the arts in a profound way that leaves a deep impact not only at the time but nearly a century later is something akin to the creation of fire―and the arts was only a part of that wonderful project.
The recent centrality of the Green New Deal―with it’s framing firmly and clearly recalling the New Deal, from which the WPA emerged―has allowed that previous envy to turn to a weird nostalgic hope that my own lifetime might have such a force of art unleashed on the nation.
And if you haven’t read the Green New Deal take the below, easily accessible links, as me encouraging you to read it. I highly recommend the attractively formatted 14-page PDF version, but here are both: [html] [pdf]
So entwined is this national history of art (even the stylistic components) that as the Green New Deal has continued to grasp the imagination of climate activists it was even promoted by commissioned artwork recalling that distant past.
Surprise!✨I am thrilled to announce the launch of our #GreenNewDeal art series with custom Bronx & Queens GND posters.
The Bronx edition poster will be given for free as a limited release to the public at our Pelham Bay Nature Day & Backpack Giveaway in the Bronx tomorrow.
I’ve long been musing and meandering internally about somehow contributing artistically to this Green New Deal reality that I would like to exist. Sanders’ movement was and is a part of that reality and seemed the most obvious conduit through which to achieve it.
It still is.
Noam Chomsky’s musing on the Sanders campaign―notably distinct from the movement―was instructive for me:
It’s common to say now that the Sanders campaign failed. I think that’s a mistake. I think it was an extraordinary success, completely shifted the arena of debate and discussion. Issues that were unthinkable a couple years ago are now right in the middle of attention.
The worst crime he committed, in the eyes of the establishment, is not the policy he’s proposing; it’s the fact that he was able to inspire popular movements, which had already been developing — Occupy, Black Lives Matter, many others — and turn them into an activist movement, which doesn’t just show up every couple years to push a leader and then go home, but applies constant pressure, constant activism and so on. That could affect a Biden administration.
So in addition to the nice quote and concept of “constant pressure, constant activism,” this comment helped me to contemplate what Sanders’ Not me. Us. movement might look like without the Not me part―just Us, graphically.
The movement without the man.
Yes, it is extremely basic, and no, I can’t say I thought about everything fully here from a design and/or marketing perspective as I was just making a poster with a nice quote, but the simplicity of US being on the bottom center of an otherwise empty sign for many reasons felt right.
Underdog: Us isn’t on the top… yet.
True Center: Us isn’t even really on the left―Us is center.
Young/Small: Us isn’t big enough… yet.
Acronym: Us is also the U.S.
Sans Sanders: Us doesn’t have a Me that it’s not anymore―it’s just Us.
On the last bullet point: I did briefly contemplate having aNot me on top of the Us, but it’s not needed and it’s not the point. There’s a beautiful simplicity and solidarity in the lone US on a sign, especially when it’s held by characters drawn between 1936 and 1940 as part of the WPA, which was part of the original New Deal, originally to promote books (and presumably the scary socialist libraries that house them). You can see artist Arlington Gregg’s other WPA poster work at the Library of Congress.
Let me know what you think of this thing. And, as the Sanders yard sign was recently stolen from my font yard I’m thinking of replacing it with an “US” yard sign. It might look nice for a minute before it disappears, but it’s meaning would live on.
Note: This was written with the purpose of being less detectable as a structured poem if the line breaks are removed. I’ve placed that version immediately above the formatted sonnet.
(Secret) Sonnet #011
In quarantine I have been writing thoughts down in my org-mode notebook to preserve the things I’m thinking as the world’s distraught with stay-at-home’s and flattening the curve. I realize I have been trying to hide the simple joys of language from myself with self-imposed busyness I tried ignoring simple keys to mental health.
So once again I’m writing like I did before I found myself sheltering in place and now I’m so embarrassed that I hid the writing I should otherwise showcase. At any rate, I thought I’d write and share this secret sonnet of which you’re now aware.
Sonnet #011
In quarantine I have been writing thoughts down in my org-mode notebook to preserve the things I’m thinking as the world’s distraught with stay-at-home’s and flattening the curve.
I realize I have been trying to hide the simple joys of language from myself with self-imposed busyness I tried ignoring simple keys to mental health.
So once again I’m writing like I did before I found myself sheltering in place and now I’m so embarrassed that I hid the writing I should otherwise showcase At any rate, I thought I’d write and share This secret sonnet of which you’re now aware.
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
import matplotlib
# Magic Code for Inline Display
# in Jupyter Notebook (if you're using that)
%matplotlib inline
# 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[1]
# 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.
iowa_testing.plot.bar(stacked=True).invert_xaxis()
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.
The Void
(slide reads: “THE VOID”)
(the stage is empty. We can make out one person, a figure, front and center.)
Kyle
(staring, wide-eyed, excited, past the audience – beat * 3)
Hello!!!
(slide reads: “This is Kyle –”)
(beat * 3)
Hello?
(slide reads: “he’s learning the new skill of –”)
Hello?!
(Terrified / heavy breathing / beat * 1)
(slide reads: “computer programming –”)
Hello, World?
(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”)
Kyle
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.
(beat.)
I’m sorry, what?
(beat.)
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”)
Kyle
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:)
Learn Javascript because it pairs well with my graphic design background for web development.
(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!?
(beat.)
… and HTML and CSS?
stack overflow
(slide reads: “submitting a question to stack overflow”)
Kyle
(Kyle appears frustrated, staring straight ahead and typing in furious bursts.)
Python. Sort. Array. Count. Items. … Search.
(beat. scrolling:)
No. No. No way! What? No.
(beat. scrolling:)
And… no.
(loud sigh. lowered head. stretch neck. he tries again:)
Python. Array. Group-by-count.
(beat.)
No… no…
(beat. tilts head:)
Sort of?
(clicks. beat.)
Oh. No. No, no, no. Not that, kind of…
(beat. types again)
SQL group by with python?
(beat. smiles/excited:)
Hey! That’s kind of it…
(face drops.)
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.
(beat.)
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.
(beat.)
Submit to stack overflow? Submit?
(resolve. clicks enter confidently:)
SUB. MIT.
(transition. later:)
An answer!―that does basically what I need―and they think I asked a good question―and I got fake internet points!
(beat.)
Okay then. Maybe I can do this.
(smile.)
Meetup
(slide reads: “on going to a meetup”)
Kyle
(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.
(beat.)
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.
(beat.)
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!
(beat. walking:)
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.
(beat.)
They were just people.
(beat.)
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.
(beat.)
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”)
Kyle
(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.
(beat.)
’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:)
Howdy!
(ding sound. beat. Irish:)
Dia duit!
(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.
Figure
(A figure stands alone in the darkness.)
(The figure shouts with naive confidence into the void a single word:)
“Hello!!!”
(and… waits…)
(The figure finishes the phrase―now a question:)
“World?”
(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.
Look at how easily you can change color… and perspective!
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).
My shading “node” for the marble shown above.
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.
I’m asking you to submit a single sentence that tells your own One True Thing about working in tech for a unique performance at this year’s PyCon conference. Please click here to submit (takes less than a minute!).
Or, if you’re up for something more involved, to submit a longer proposal for the larger event.
Last Year
At last year’s PyCon I was one of several writers and performers at a Hatchery event called The Art of Python, which sought to encourage and showcase novel performance art that aimed to help technologists share their emotionally charged experiences of programming. I wrote and performed an original show titled Hello!!! … World? which outlined my own trials and tribulations in a series of vignettes on trying to get into programming without being around or knowing anyone personally who was a part of those communities. As a small taste, one vignette was titled on submitting a question to stack overflow.
This Year
This year I’m part of the team that’s organizing the event again. We are aiming to create a dramatic narrative around programming and programming culture that shapes so much of all of our daily lives (from our smart phone interactions to surfing the web to banking and even reading this post). We are interested in how fictional narrative, visual and performance art, and different presentation formats can lead to a new sort of self-consciousness and reflection on culture. All society is permeated by technology, whether or not someone is a programmer, and most people have had positive, neutral, and adverse interactions with technology (whether building, consuming, or indirectly being impacted). In short, technology is not a black or white issue, but instead a collection of frustratingly similar shades of gray.
Technologists face many ethical and moral decisions in computer science and software development. What was the situation? What was the ethical and/or moral discord? What decision was made? How did you come to that decision? What was the outcome for all stakeholders? How do you feel about it now? What might you do differently in the future? Why?
These questions take time to answer and are difficult to dramatize successfully to honor their truth.
An Old Technology
Storytelling is an old technology―a powerful medium―through which we gain empathetic understanding.
All culture is now technological culture to some extent. We believe it is important to integrate the stories of those making this technology to broaden their lexicon and ours. We must highlight their ethical struggles to bring greater transparency and self-consciousness to both technology industry professionals and the public at large. Hopefully this also inspires empathy for all people, and urgency for any obvious changes that result from our workshops and the resulting art.
From Audience to Creator
While our event this year will have unique and pre-rehearsed performances as we did last year, we will also have a workshop following the scheduled performances. During our workshop we will discuss collaboratively how a variety of issues have cropped up in the lives of the programmers participating, as well as the end-users who experienced the technologies. Everyone will have a chance to work with the other directors and playwrights in order to take these insights and begin to turn these stories into dramatic narratives highlighting the personal struggles of these developers that are building the technology that ends up on the front pages of our papers and the billions of tiny-screened pocket computers.
One True Thing
As a part of the planned performances we want to transition into our workshop with a series of real issues crowdsourced from the broader tech community. To that end, we’re asking you to share One True Thing with us so that we can share your truth at PyCon this year (and elsewhere) in a collaborative performance that we hope will inspire more art from technologists.
One True Thing is a performance comprised of single-sentence statements of truth crowd-sourced and eventually read out loud by members of a live audience as statements of someone else’s truth to be publicly shared and communally experienced.
Examples
Note: At the moment I’ve sourced these from technologists on Twitter. Obviously every group would provide their own unique takes, so these should serve only as an example.
Here are some example statements:
“Racism struggle does not belong to one race.” – @LambyTech
“Mentors are incredibly important for succeeding in tech” – @js_tut
“I always joke that someday I will quit the tech industry so I can code all day” – @sarah_edo
“Moral and political issues of tech aren’t moral and political issues because they are tech.” – @dingstweets
“A women in tech recently asked me if I had any advice & all I could think of was: have the patience to prove people wrong the rest of your career.” – @jessfraz
“When you ask a Deaf person if they can read lips, you are asking if you can put the burden of communication solely on them.” – @csano
“you tech people need to hang out with artists and creative folks more, seriously.” – @noopkat
“algorithms reflect the biases of the people who make them.” – @evacide
“So many of the concerns raised about tech today seem to conflate societal issues with the technology that makes those societal issues more visible.” – @mmasnick
Share your One True Thing
Please click here to submit your One True Thing (it takes less than a minute!).