Author: Kyle Conway

  • python & pipenv & direnv

    #Install pipenv:
    pip install --user pipenv
    
    #Create and enter project folder:
    mkdir myproject
    cd myproject
    
    #Install software for your project (while in project folder):
    pipenv install django
    
    #Enter pipenv shell:
    pipenv shell

    (bonus points)

    #Install direnv:
    sudo dnf install direnv
    
    #Automate entering the pipenv environment (while in project folder):
    echo layout pipenv >> .envrc

    Now every time you enter or exit the folder you enter the pipenv environment seamlessly. 🙂

    Bonus Bonus…

    Check out https://kellner.io/direnv.html for advice on how to setup the environment to display in the bash prompt.

  • marketing me

    marketing me

    I’m a fairly good marketer because of three things:

    1. I seek the truth like a good journalist.
    2. I have a doctorate in Fine Arts (emphasis essentially in storytelling).
    3. 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.

    https://twitter.com/zenaldehyde/status/1283704908869447681

    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).

    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.

    ¯\_(ツ)_/¯

  • @dicewarebot, the solution I needed that no one asked for

    @dicewarebot, the solution I needed that no one asked for

    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.

    At any rate, I hope you enjoyed my PSA.

  • Fedora 32 Wallpaper

    Fedora 32 Wallpaper

    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.

  • Goodbye, Quote Cards

    Goodbye, Quote Cards

    A 3x5 index card with a quote from a book.
    Quote card from Creativity by Mihaly Csikszentmihalyi

    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?

  • Constant.

    Constant.

    The Poster Elements

    This poster is comprised of the following primary elements:

    1. Partial phrase: “constant pressure, constant activism” uttered by Noam Chomsky in a recent interview.
    2. Two Works Progress Administration (WPA) posters:
    3. Font: Blackout by The League of Movable Type
    4. Grit: Manipulated grittiness (me) from a photo by Yeon Li on Unsplash.

    The Creation of Fire

    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.

    The Spark

    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.

    – Noam Chomsky on Democracy Now

    US

    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 a Not 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.

  • Sonnet #011

    By Kyle R. Conway on 2020-04-15 in GNU Emacs

    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.

  • Sonnet #001

    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!

  • pandas, COVID-19, and plotting

    # 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()

    It outputs something that looks like this.

  • hello!!! … World?

    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.)

    (slide reads, slowly, word-by-word: “what. can. you. do. to. make. this. journey. easier. for. others?)

    (slide reads: “end”. )

    (ding sound.)

  • Honestly Blending

    Honestly Blending

    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.

  • One True Thing

    One True Thing


    TL;DR

    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.

    The Zeitgeist is teeming with moral and ethical issues both in and brought about by computer technology―be it developers challenging companies’ practices that conflict with personal values, software licenses trying to append morality clauses, the increasing omnipresence of technology that enables controversial surveillance, or the seemingly endless push toward dark patterns in design.

    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!).

    Thanks for reading and for sharing your truth.

  • Download Issue of MagPi with python from Raspberry Pi 3 Model B+

    # MagPi Issue Downloader
    
    ## Import 
    import urllib.request
    import shutil
    import requests
    import os
    from bs4 import BeautifulSoup
    
    # Identify URL to parse
    url = 'https://www.raspberrypi.org/magpi-issues/'
    
    # soup it
    Link = requests.get(url)
    soup = BeautifulSoup(Link.content,"html5lib")
    
    # get all link tags
    tags = soup('a')
    
    # loop tags
    for hlink in tags:
    	
    	# create variable for full url
    	issue = hlink.get('href', None)
    	
    	# only follow hlinks with PDF in the url
    	if 'pdf' in issue:
    		
    		# download files with wget to current directory
    		print("Downloading: " + issue)
    		issue_link = url + issue
    		os.system('wget %s'%issue_link)
  • Can’t decide…

    Can’t decide…

    I’ve been playing around with other blogging platforms for a while now… Ghost, Hugo, Django, and others. Is WordPress what I continue to use? Something else? I wish this wasn’t such a struggle, but I’m keenly aware of what drives this indecision.

    1. Nostalgia

    I am, first and foremost, driven by a nostalgia for a time I remember more than participated in, where websites were closer to https://motherfuckingwebsite.com/, devoid of most types of styling and thus:

    • uncomplicated
    • fast
    • easily understood (from a technical perspective)
    • and thus… hackable.

    It’s not particularly mysterious why these things appeal. However, they’re simultaneously conflicting with the following.

    2. Design

    I’m a sucker for good design. You’ll note that this is mostly in direct opposition to the simple, text-based, monospaced font aesthetic in #1. Yes, I have a couple advanced degrees in art. Yes, I’ve worked in marketing and design for a number of years. Yes, I care about how things look and my eyes are drawn toward minimalistic, but chic, so-called content.

    *le sigh*

    3. Fun

    I actually find it great fun to play around with other platforms and I find myself doing this frequently. It’s honestly one of the reasons I ended up finally getting a domain and a shared hosting server. I like messing about with things to learn new things.

    The Slow Learn — running Ghost 2.0
    Little — running Hugo

    Devlog — running Bludit

    A selection of some of the many site platforms I’ve setup and used to write on in the interest of good-old-fashioned curiosity and general interest.

    New WordPress

    And so, wordpress just updated it’s blogging platform and this somewhat older site got upgraded is well. It’s substantially more pleasant to write in than the previous iteration―but it lacks the simplicity of something like Hugo (especially if I were to set it up to use emacs’ org-mode as the base as I’ve been planning). We’re not there yet.

    For the moment I’m going to ignore this inner conflict about what to use as a platform. Perhaps that will allow me to focus on the projects themselves. At any rate, if you’re interested in checking out what I’ve written at those other projects do click the images above to visit wholly different pages.

  • Mike Godwin’s First Essay On Encryption And The Constitution

    https://www.techdirt.com/articles/20180304/23373739356/mike-godwins-first-essay-encryption-constitution.shtml

    In in 1993, when Mike Goodwin originally wrote this essay, I was a very young boy and I find it startling how similar the arguments are for encryption with respect to constitutional considerations 25 years later. My thanks to the people who fought the first crypto Wars.