Uncategorized – Kyle R. Conway

Quick-Design Quotes @ VirtualCoffee

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

How to draw a circle!!! [EASY BEGINNER TUTORIAL]

a black and white circle

My Rejected 2021 !!CON Talk Accepted PyOhio Application



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!


  • (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.

Singing the praises of gdu

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.

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.

Bottom line: highly recommended.

The Server that might be TrueNAS Scale

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:

  1. My virtual machines
    • Currently running on a mix of desktop computers with KVM and a hobbled together machine running XCP-ng.
  2. My NAS
    • Currently a dedicated old desktop computer with the sides off.
  3. My Docker Containers
  4. 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.

Jenkins + Ubuntu Server: Change Default Port

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)

You can see a video here: https://youtu.be/XVei-AeXLLo

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

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?

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…

Built with online pixel-editor.

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.


  • G: 59 = 33 + 26
  • T: 43 = 43
  • K: 131 = 24 + 62 + 45

a quick drawing

instead of hand-drawing the stripes I’ve matched them up with a digital tool after the original hand-drawn outline. not certain I like this (in fact―pretty certain I don’t) but it’s clear that I’m going to move somewhere here to progress. we’ll see what happens there. At any rate―behold something new.



White keyboard layout

This is a pretty amazing use of programming and personal data to create a custom keyboard layout for yourself. Great read.

This scoring method is then evaluated on a collection of text that is representative of all text I’ve typed in the last five years, which produces a number representing the objective function. Specifically, I take all of my code, IMs, emails, and articles over that time period, remove any non-ASCII characters, and create a long word frequency list to be used in scoring layouts. Lastly I throw out any words that were not used more than 20 times over 5 years, for the sake of efficiency.


Your Personal Archiving Project: Where Do You Start?


Pretty great, low-key article about not losing your mind organizing things. I suspect this is easier when it’s not your stuff. Never really thought about how archivists archive and it’s interesting. Wish they’d addressed long-term digital storage formats. Would assume you’d use free software if possible.

The Secrets of Surveillance Capitalism

So it is for me and perhaps for you: The bare facts of surveillance capitalism necessarily arouse my indignation because they demean human dignity. The future of this narrative will depend upon the indignant scholars and journalists drawn to this frontier project, indignant elected officials and policy makers who understand that their authority originates in the foundational values of democratic communities, and indignant citizens who act in the knowledge that effectiveness without autonomy is not effective, dependency-induced compliance is no social contract, and freedom from uncertainty is no freedom.


The question

The key question isn’t, “what’s the answer?”

The key question is, “what’s the question?”