<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kyle R. Conway</title>
    <description>The latest articles on DEV Community by Kyle R. Conway (@kylerconway).</description>
    <link>https://dev.to/kylerconway</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F61166%2F710fa376-1846-4cd5-85b9-80a47db7d2eb.png</url>
      <title>DEV Community: Kyle R. Conway</title>
      <link>https://dev.to/kylerconway</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kylerconway"/>
    <language>en</language>
    <item>
      <title>How to draw a circle!!! [EASY BEGINNER TUTORIAL]</title>
      <dc:creator>Kyle R. Conway</dc:creator>
      <pubDate>Tue, 20 Apr 2021 20:44:09 +0000</pubDate>
      <link>https://dev.to/kylerconway/how-to-draw-a-circle-easy-beginner-tutorial-3973</link>
      <guid>https://dev.to/kylerconway/how-to-draw-a-circle-easy-beginner-tutorial-3973</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WjXGTbe4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/883457df54bqrlpn7thz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WjXGTbe4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/883457df54bqrlpn7thz.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My Rejected 2021 !!Con Talk Application
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Abstract
&lt;/h3&gt;

&lt;p&gt;Everyone knows that &lt;del&gt;writing code&lt;/del&gt; making art is easy! There are so many &lt;strong&gt;free&lt;/strong&gt; resources available on the internet that becoming &lt;del&gt;a programmer&lt;/del&gt; an artist has never been easier! In this talk I’ll demo several ways to &lt;del&gt;make a todo list&lt;/del&gt; draw a circle! We’ll go through a variety of mediums to get you up-to-speed with new &lt;del&gt;languages and frameworks&lt;/del&gt; mediums and methods in no time like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Types of paper and surfaces&lt;/li&gt;
&lt;li&gt;Overview of mediums (graphite, inks, acrylics, oils, and more!)&lt;/li&gt;
&lt;li&gt;Performance Art (Dance, Theater, and Song!)&lt;/li&gt;
&lt;li&gt;Digital Applications with live demo circles including:

&lt;ul&gt;
&lt;li&gt;Inkscape&lt;/li&gt;
&lt;li&gt;Gnu Image Manipulation Program&lt;/li&gt;
&lt;li&gt;Blender&lt;/li&gt;
&lt;li&gt;p5.js&lt;/li&gt;
&lt;li&gt;Krita&lt;/li&gt;
&lt;li&gt;HTML &amp;amp; CSS&lt;/li&gt;
&lt;li&gt;and whatever came out between this blurb and the event!&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;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 &lt;del&gt;a programmer&lt;/del&gt; an artist in 2021!&lt;/p&gt;

&lt;h3&gt;
  
  
  Timeline
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;(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.)&lt;/li&gt;
&lt;li&gt;(3-7 Minute mark): The bulk of the presentation will &lt;em&gt;literally&lt;/em&gt; be demonstrating a multitude of ways to “simply” draw a circle.

&lt;ul&gt;
&lt;li&gt;I will &lt;em&gt;actually&lt;/em&gt; have relevant asides about perfect circles (using a drafting compass) vs. sufficient circles (freehand strategies)&lt;/li&gt;
&lt;li&gt;We’ll talk about these strategies in a variety of mediums (pen, paper, ink, etc.)&lt;/li&gt;
&lt;li&gt;We’ll discuss the actual effect that different physical papers may have on the resulting shape (printer paper, canvas, etc.).&lt;/li&gt;
&lt;li&gt;I’ll &lt;em&gt;live demo&lt;/em&gt; 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 &lt;strong&gt;not&lt;/strong&gt; be showing how to install these applications on your machines.&lt;/li&gt;
&lt;li&gt;I’ll also discuss how to make these &lt;em&gt;actually perfect&lt;/em&gt; circles created by software &lt;em&gt;less perfect&lt;/em&gt; for artistic reasons (and show how to do that in each application).&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;(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.&lt;/li&gt;
&lt;li&gt;(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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Intended audience
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Learning to Code:&lt;/strong&gt; 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.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actively Coding / Coding Mentors / Tech Bloggers, etc.:&lt;/strong&gt; 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).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Others&lt;/strong&gt; : 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 &lt;em&gt;worst&lt;/em&gt; outcome.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Short Bio
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

</description>
      <category>rejection</category>
      <category>proposal</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Singing the praises of gdu</title>
      <dc:creator>Kyle R. Conway</dc:creator>
      <pubDate>Sun, 28 Mar 2021 15:52:12 +0000</pubDate>
      <link>https://dev.to/kylerconway/singing-the-praises-of-gdu-56n7</link>
      <guid>https://dev.to/kylerconway/singing-the-praises-of-gdu-56n7</guid>
      <description>&lt;p&gt;I’m a long-term &lt;em&gt;&lt;a href="https://dev.yorhel.nl/ncdu"&gt;ncdu&lt;/a&gt;&lt;/em&gt; user, but I recently discovered &lt;em&gt;&lt;a href="https://github.com/dundee/gdu"&gt;gdu&lt;/a&gt;&lt;/em&gt; which is much faster. This isn’t to say ncdu is bad or undesirable anymore, but for most cases I’ll be replacing &lt;em&gt;ncdu&lt;/em&gt; with &lt;em&gt;gdu&lt;/em&gt; moving forward for the speed advances alone.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kylerconway.com/wp-content/uploads/2021/03/Screenshot-from-2021-03-28-10-42-43.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fhaOp-n3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2021/03/Screenshot-from-2021-03-28-10-42-43-1024x169.png" alt=""&gt;&lt;/a&gt;&lt;em&gt;A sample output looking in a home directory (gdu is shown).&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can navigate into and out of sub-directories that are also calculated and use keyboard shortcuts for all relevant actions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kylerconway.com/wp-content/uploads/2021/03/Screenshot-from-2021-03-28-10-42-56.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oN7wqB8c--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2021/03/Screenshot-from-2021-03-28-10-42-56-1024x531.png" alt=""&gt;&lt;/a&gt;&lt;em&gt;gdu keyboard shortcuts — accessible from the application by pressing “?”&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I’ve shown &lt;em&gt;gdu&lt;/em&gt; here because I’m newly enamored by it, but &lt;em&gt;ncdu&lt;/em&gt; still has more features even though it is truly slower.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://kylerconway.com/wp-content/uploads/2021/03/Screenshot-from-2021-03-28-10-46-23-1024x524.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nkwxB3a2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2021/03/Screenshot-from-2021-03-28-10-46-23-1024x524.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://kylerconway.com/wp-content/uploads/2021/03/Screenshot-from-2021-03-28-10-46-33-1.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DwReWEdh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2021/03/Screenshot-from-2021-03-28-10-46-33-1-1024x523.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;em&gt;note the extra options in ncdu&lt;/em&gt;



&lt;p&gt;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 &lt;a href="https://kylerconway.com/2021/03/24/the-server-that-might-be-truenas-scale/"&gt;TrueNAS SCALE (Linux)&lt;/a&gt; to generally sort out some erroneous backup strategies I tried over the years.&lt;/p&gt;

&lt;p&gt;Bottom line: highly recommended.&lt;/p&gt;

</description>
      <category>gdu</category>
      <category>ncdu</category>
      <category>tools</category>
      <category>linux</category>
    </item>
    <item>
      <title>The Server that might be TrueNAS Scale</title>
      <dc:creator>Kyle R. Conway</dc:creator>
      <pubDate>Wed, 24 Mar 2021 21:56:31 +0000</pubDate>
      <link>https://dev.to/kylerconway/the-server-that-might-be-truenas-scale-42ij</link>
      <guid>https://dev.to/kylerconway/the-server-that-might-be-truenas-scale-42ij</guid>
      <description>&lt;p&gt;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 &lt;a href="https://linux.die.net/man/8/memtester" rel="noopener noreferrer"&gt;memtester&lt;/a&gt; on a &lt;a href="https://www.system-rescue.org/" rel="noopener noreferrer"&gt;System Rescue CD&lt;/a&gt; running off of a bootable USB drive. What I &lt;em&gt;do&lt;/em&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kylerconway.com/wp-content/uploads/2021/03/memtester.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkylerconway.com%2Fwp-content%2Fuploads%2F2021%2F03%2Fmemtester.png"&gt;&lt;/a&gt;&lt;em&gt;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”.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;After generally confirming the memory was working as intended I ran a CPU &lt;a href="https://packages.debian.org/buster/stress" rel="noopener noreferrer"&gt;stress&lt;/a&gt; test for an hour or so a few times. Watching all 24 cores light up in &lt;a href="https://htop.dev/" rel="noopener noreferrer"&gt;htop&lt;/a&gt; was thrilling.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kylerconway.com/wp-content/uploads/2021/03/htop.png" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkylerconway.com%2Fwp-content%2Fuploads%2F2021%2F03%2Fhtop.png"&gt;&lt;/a&gt;&lt;em&gt;Everything seems to be humming along just fine…&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;My general plan here is to consolidate other computers that were providing FreeNAS (now &lt;a href="https://www.truenas.com/" rel="noopener noreferrer"&gt;TrueNAS&lt;/a&gt;), &lt;a href="https://xcp-ng.org/" rel="noopener noreferrer"&gt;XCP-ng&lt;/a&gt;, and other functions into a single unit using the now alpha_―should I be scared?―_&lt;a href="https://www.truenas.com/truenas-scale/" rel="noopener noreferrer"&gt;TrueNAS Scale&lt;/a&gt;. 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&lt;a href="https://bhyve.org/" rel="noopener noreferrer"&gt;, bhyve&lt;/a&gt;, is both not what I’m familiar with &lt;strong&gt;and&lt;/strong&gt; 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:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Built on Debian Linux&lt;/li&gt;
&lt;li&gt;Maintains ZFS for file system&lt;/li&gt;
&lt;li&gt;Integrates the more familiar KVM for virtual machines&lt;/li&gt;
&lt;li&gt;Adds Docker for containers&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Basically, it should allow me to consolidate:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;My virtual machines

&lt;ul&gt;
&lt;li&gt;Currently running on a mix of desktop computers with KVM and a hobbled together machine running XCP-ng.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;My NAS

&lt;ul&gt;
&lt;li&gt;Currently a dedicated old desktop computer with the sides off.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;My Docker Containers

&lt;ul&gt;
&lt;li&gt;Running everything from &lt;a href="https://nextcloud.com/" rel="noopener noreferrer"&gt;Nextcloud&lt;/a&gt; to &lt;a href="https://www.minetest.net/" rel="noopener noreferrer"&gt;Minetest&lt;/a&gt; and &lt;a href="https://veloren.net/" rel="noopener noreferrer"&gt;Veloren&lt;/a&gt; servers (and increasingly other things).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Maybe PFSense (dare I virtualize this?)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://kylerconway.com/wp-content/uploads/2021/03/inside-1.jpg" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fkylerconway.com%2Fwp-content%2Fuploads%2F2021%2F03%2Finside-1-1024x630.jpg"&gt;&lt;/a&gt;&lt;em&gt;Inside a bigger computer.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I’m have some trepidation about using the alpha TrueNAS Scale on this system that I actually intend to use &lt;em&gt;for real&lt;/em&gt;, but I’ve also been very &lt;em&gt;very&lt;/em&gt; 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?).&lt;/p&gt;

&lt;h2&gt;
  
  
  End of post update
&lt;/h2&gt;

&lt;p&gt;Since I started writing this post I’ve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;generally validated the hardware is working&lt;/li&gt;
&lt;li&gt;added an internal SSD to directly to the SATA ports&lt;/li&gt;
&lt;li&gt;installed a fresh copy of TrueNAS Scale alpha&lt;/li&gt;
&lt;li&gt;Setup a single-disk pool (pool?) to test things&lt;/li&gt;
&lt;li&gt;installed a docker version of Nextcloud that works well&lt;/li&gt;
&lt;li&gt;created a working VM of Debian 10 Linux and accessed via included VNC&lt;/li&gt;
&lt;li&gt;happily played in the shell with my known panoply of Linux terminal commands (so much less context switching!)&lt;/li&gt;
&lt;li&gt;and generally explored the new web-based GUI (I’m liking it).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I’m not sure exactly when I’m going to &lt;em&gt;fully&lt;/em&gt; 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 &lt;a href="https://www.truenas.com/docs/hub/scale/releasenotes/21.02-alpha.1/" rel="noopener noreferrer"&gt;release notes&lt;/a&gt; indicate a certain stability in many of the elements independently (though when you bring things together who knows), but it looks good.&lt;/p&gt;

&lt;p&gt;I’ll likely update here as I encounter problems or move additional items to the server.&lt;/p&gt;

</description>
      <category>nas</category>
      <category>linux</category>
      <category>server</category>
      <category>docker</category>
    </item>
    <item>
      <title>Jenkins + Ubuntu Server: Change Default Port</title>
      <dc:creator>Kyle R. Conway</dc:creator>
      <pubDate>Sun, 28 Feb 2021 18:35:44 +0000</pubDate>
      <link>https://dev.to/kylerconway/jenkins-ubuntu-server-change-default-port-44oj</link>
      <guid>https://dev.to/kylerconway/jenkins-ubuntu-server-change-default-port-44oj</guid>
      <description>&lt;p&gt;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.   &lt;/p&gt;

&lt;p&gt;If you happen to select &lt;a href="https://wekan.github.io/"&gt;Wekan&lt;/a&gt; it will default to port 8080.  &lt;/p&gt;

&lt;p&gt;If you &lt;em&gt;then&lt;/em&gt; happen to want to &lt;a href="https://www.jenkins.io/doc/book/installing/linux/#debianubuntu"&gt;install Jenkins via their Debian/Ubuntu&lt;/a&gt; method it will fail to fully install at the &lt;code&gt;sudo apt-get install jenkins&lt;/code&gt; section due to the port 8080 already being occupied.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://kylerconway.com/wp-content/uploads/2021/02/Screenshot-from-2021-02-28-12-07-31.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--D1Nqz3Wj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2021/02/Screenshot-from-2021-02-28-12-07-31-1024x257.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After running the above command you can edit port in the following file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nano /etc/default/jenkins
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Edit the numbers of the identified port to something other than “8080”&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# port for HTTP connector (default 8080; disable with -1)
HTTP_PORT=8090
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can see a video here: &lt;a href="https://youtu.be/XVei-AeXLLo"&gt;https://youtu.be/XVei-AeXLLo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>uncategorized</category>
    </item>
    <item>
      <title>@dicewarebot, the solution I needed that no one asked for</title>
      <dc:creator>Kyle R. Conway</dc:creator>
      <pubDate>Fri, 21 Aug 2020 23:25:00 +0000</pubDate>
      <link>https://dev.to/kylerconway/dicewarebot-the-solution-i-needed-that-no-one-asked-for-3mkb</link>
      <guid>https://dev.to/kylerconway/dicewarebot-the-solution-i-needed-that-no-one-asked-for-3mkb</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Originally published @ &lt;a href="https://kylerconway.com/2020/08/21/dicewarebot-the-solution-i-needed-that-no-one-asked-for/"&gt;https://kylerconway.com/2020/08/21/dicewarebot-the-solution-i-needed-that-no-one-asked-for/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;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). &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qak7irm1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2020/08/Screenshot-from-2020-08-21-17-54-13.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qak7irm1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2020/08/Screenshot-from-2020-08-21-17-54-13.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A user named &lt;a href="https://twitter.com/context_ing/status/1293313076268118019"&gt;@context_ing tweeted&lt;/a&gt;: “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.”&lt;/p&gt;

&lt;p&gt;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).”&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;To remove almost all complexity from this story: I needed passwords; lots of random, unique, and strong passwords.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;I had the program roll digital dice and lookup words from the &lt;a href="https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases"&gt;EFF’s Diceware password list&lt;/a&gt; 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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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?).&lt;/p&gt;

&lt;p&gt;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 &lt;a href="https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases"&gt;EFF’s site.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lastly, there are infinitely better versions of this if you’re looking to generate a password. I’d recommend the much more easily installed &lt;a href="https://github.com/micahflee/passphraseme"&gt;passphraseme by Micah Lee.&lt;/a&gt;&lt;/p&gt;


&lt;blockquote class="twitter-tweet"&gt;
&lt;p&gt;&lt;a href="https://twitter.com/hashtag/letsroll?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#letsroll&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/muggles?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#muggles&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/d20?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#d20&lt;/a&gt;&lt;br&gt;&lt;br&gt;18-18-14 → &lt;a href="https://twitter.com/hashtag/england?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#england&lt;/a&gt;&lt;br&gt;20-4-1 → &lt;a href="https://twitter.com/hashtag/representative?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#representative&lt;/a&gt;&lt;br&gt;3-9-13 → &lt;a href="https://twitter.com/hashtag/greeted?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#greeted&lt;/a&gt;&lt;br&gt;14-16-17 → &lt;a href="https://twitter.com/hashtag/disappeared?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#disappeared&lt;/a&gt;&lt;br&gt;14-7-6 → &lt;a href="https://twitter.com/hashtag/transported?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#transported&lt;/a&gt;&lt;br&gt;3-4-2 → &lt;a href="https://twitter.com/hashtag/strong?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#strong&lt;/a&gt;&lt;br&gt;&lt;br&gt;england-representative-greeted-disappeared-transported-strong&lt;br&gt;&lt;br&gt;Roll your own @ &lt;a href="https://t.co/q1skhcu0sG"&gt;&lt;/a&gt;&lt;a href="https://t.co/q1skhcu0sG"&gt;https://t.co/q1skhcu0sG&lt;/a&gt;&lt;/p&gt;— dicewarebot (@dicewarebot) &lt;a href="https://twitter.com/dicewarebot/status/1296937698037567491?ref_src=twsrc%5Etfw"&gt;August 21, 2020&lt;/a&gt;
&lt;/blockquote&gt;  


&lt;blockquote class="twitter-tweet"&gt;
&lt;p&gt;&lt;a href="https://twitter.com/hashtag/letsroll?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#letsroll&lt;/a&gt;&lt;br&gt;&lt;br&gt;⚄ ⚅ ⚁ ⚅ ⚁→&lt;a href="https://twitter.com/hashtag/steed?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#steed&lt;/a&gt;&lt;br&gt;⚄ ⚀ ⚄ ⚁ ⚀→&lt;a href="https://twitter.com/hashtag/require?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#require&lt;/a&gt;&lt;br&gt;⚁ ⚀ ⚀ ⚅ ⚂→&lt;a href="https://twitter.com/hashtag/cosmetics?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#cosmetics&lt;/a&gt;&lt;br&gt;⚀ ⚄ ⚃ ⚅ ⚂→&lt;a href="https://twitter.com/hashtag/chevy?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#chevy&lt;/a&gt;&lt;br&gt;⚁ ⚃ ⚀ ⚂ ⚀→&lt;a href="https://twitter.com/hashtag/doze?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#doze&lt;/a&gt;&lt;br&gt;⚅ ⚁ ⚅ ⚄ ⚁→&lt;a href="https://twitter.com/hashtag/truffle?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#truffle&lt;/a&gt;&lt;br&gt;&lt;br&gt;steed-require-cosmetics-chevy-doze-truffle&lt;br&gt;&lt;br&gt;Roll your own @ &lt;a href="https://t.co/vIw88QUBey"&gt;&lt;/a&gt;&lt;a href="https://t.co/vIw88QUBey"&gt;https://t.co/vIw88QUBey&lt;/a&gt;&lt;/p&gt;— dicewarebot (@dicewarebot) &lt;a href="https://twitter.com/dicewarebot/status/1296930425739325444?ref_src=twsrc%5Etfw"&gt;August 21, 2020&lt;/a&gt;
&lt;/blockquote&gt;  

&lt;p&gt;At any rate, I hope you enjoyed my PSA.&lt;/p&gt;

</description>
      <category>python</category>
      <category>random</category>
      <category>problem</category>
      <category>twitter</category>
    </item>
    <item>
      <title>Fedora 32 Wallpaper</title>
      <dc:creator>Kyle R. Conway</dc:creator>
      <pubDate>Mon, 17 Aug 2020 19:26:48 +0000</pubDate>
      <link>https://dev.to/kylerconway/fedora-32-wallpaper-aic</link>
      <guid>https://dev.to/kylerconway/fedora-32-wallpaper-aic</guid>
      <description>&lt;p&gt;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 &lt;a href="https://kylerconway.com/2017/08/27/squeak/"&gt;Fedora 26 wallpaper&lt;/a&gt; as well which featured a treeline that followed a sound wave of my voice saying the word “Fedora.”&lt;/p&gt;

&lt;p&gt;I was recently able to attend the &lt;em&gt;Nest with Fedora&lt;/em&gt; event (an online, from home, mid-pandemic version of &lt;em&gt;Flock&lt;/em&gt; 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.&lt;/p&gt;

&lt;p&gt;Fedora’s design process is open but not many find their way to the ticket thread to follow along (&lt;a href="https://pagure.io/design/issue/669"&gt;here’s a link the above wallpaper’s thread&lt;/a&gt;). 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.&lt;/p&gt;

&lt;p&gt;Lastly, if you want to get involved on the next wallpapers check out the discussions about &lt;a href="https://pagure.io/design/issue/687"&gt;Fedora 33&lt;/a&gt; and &lt;a href="https://pagure.io/design/issue/688"&gt;Fedora 34&lt;/a&gt; on pagure at the links.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X10EFVoP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2020/08/F32-Dark-01-1024x576.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X10EFVoP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2020/08/F32-Dark-01-1024x576.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--a3omYf9W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2020/08/f32-on-02-1024x576.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--a3omYf9W--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2020/08/f32-on-02-1024x576.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4gsDtY6M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2020/08/f32-grit-mask-1024x576.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4gsDtY6M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2020/08/f32-grit-mask-1024x576.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WIwI7p9K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2020/08/middle-f32-1024x576.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WIwI7p9K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://kylerconway.com/wp-content/uploads/2020/08/middle-f32-1024x576.png" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>fedora</category>
      <category>linux</category>
      <category>opensource</category>
    </item>
    <item>
      <title>One True Thing #PyCon2020</title>
      <dc:creator>Kyle R. Conway</dc:creator>
      <pubDate>Fri, 28 Feb 2020 17:50:34 +0000</pubDate>
      <link>https://dev.to/kylerconway/one-true-thing-pycon2020-36h9</link>
      <guid>https://dev.to/kylerconway/one-true-thing-pycon2020-36h9</guid>
      <description>&lt;h3&gt;
  
  
  TL;DR
&lt;/h3&gt;

&lt;p&gt;I'm asking you to submit a single sentence that tells your own &lt;em&gt;One True Thing&lt;/em&gt; about working in tech for a unique performance at this year's PyCon conference. Please &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSdCs3Q8ABl0NByW0BRjcbVonCabiwQGe-cWIPhdoFBJuuDqxg/viewform"&gt;&lt;strong&gt;click here to submit&lt;/strong&gt;&lt;/a&gt; (takes less than a minute!).&lt;/p&gt;

&lt;p&gt;Or, if you're up for something more involved, to submit a &lt;a href="https://artofpython.herokuapp.com/"&gt;longer proposal&lt;/a&gt; for the larger event.&lt;/p&gt;

&lt;h3&gt;
  
  
  Last Year
&lt;/h3&gt;

&lt;p&gt;At last year's PyCon I was one of several writers and performers at a Hatchery event called &lt;a href="https://us.pycon.org/2019/hatchery/artofpython/#!"&gt;&lt;em&gt;The Art of Python&lt;/em&gt;&lt;/a&gt;, 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 &lt;em&gt;Hello!!! ... World?&lt;/em&gt; 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 &lt;em&gt;on submitting a question to stack overflow&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  This Year
&lt;/h3&gt;

&lt;p&gt;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, &lt;strong&gt;and&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;The Zeitgeist is teeming with moral and ethical issues both in and brought about by computer technology―be it &lt;a href="https://www.zdnet.com/article/you-cant-open-source-license-morality/"&gt;developers challenging companies' practices that conflict with personal values&lt;/a&gt;, software licenses trying to &lt;a href="https://firstdonoharm.dev/"&gt;append morality clauses&lt;/a&gt;, the increasing omnipresence of technology that enables &lt;a href="https://www.nytimes.com/2020/01/18/technology/clearview-privacy-facial-recognition.html"&gt;controversial surveillance&lt;/a&gt;, or the seemingly endless push toward &lt;a href="https://www.darkpatterns.org/"&gt;dark patterns&lt;/a&gt; in design.&lt;/p&gt;

&lt;p&gt;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?&lt;/p&gt;

&lt;p&gt;These questions take time to answer and are difficult to dramatize successfully to honor their truth.&lt;/p&gt;

&lt;h4&gt;
  
  
  An Old Technology
&lt;/h4&gt;

&lt;p&gt;Storytelling is an old technology―a powerful medium―through which we gain empathetic understanding.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h4&gt;
  
  
  From Audience to Creator
&lt;/h4&gt;

&lt;p&gt;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. &lt;/p&gt;

&lt;h3&gt;
  
  
  One True Thing
&lt;/h3&gt;

&lt;p&gt;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 &lt;em&gt;One True Thing&lt;/em&gt; 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.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;One True Thing&lt;/em&gt; 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.&lt;/p&gt;

&lt;h4&gt;
  
  
  Examples
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; 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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Here are some example statements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Racism struggle does not belong to one race." - @LambyTech&lt;/li&gt;
&lt;li&gt;"Mentors are incredibly important for succeeding in tech" - &lt;a class="comment-mentioned-user" href="https://dev.to/js_tut"&gt;@js_tut&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;"I always joke that someday I will quit the tech industry so I can code all day" - &lt;a class="comment-mentioned-user" href="https://dev.to/sarah_edo"&gt;@sarah_edo&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;"Moral and political issues of tech aren’t moral and political issues because they are tech." - @dingstweets&lt;/li&gt;
&lt;li&gt;"A women in tech recently asked me if I had any advice &amp;amp; all I could think of was: have the patience to prove people wrong the rest of your career." - @jessfraz&lt;/li&gt;
&lt;li&gt;"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&lt;/li&gt;
&lt;li&gt;"you tech people need to hang out with artists and creative folks more, seriously." - &lt;a class="comment-mentioned-user" href="https://dev.to/noopkat"&gt;@noopkat&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;"algorithms reflect the biases of the people who make them." - @evacide&lt;/li&gt;
&lt;li&gt;"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&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Share your &lt;em&gt;One True Thing&lt;/em&gt;
&lt;/h4&gt;

&lt;p&gt;Please &lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSdCs3Q8ABl0NByW0BRjcbVonCabiwQGe-cWIPhdoFBJuuDqxg/viewform"&gt;click here&lt;/a&gt; to submit your &lt;em&gt;One True Thing&lt;/em&gt; (it takes less than a minute!).&lt;/p&gt;

&lt;p&gt;Thanks for reading and for sharing your truth.&lt;/p&gt;

</description>
      <category>pycon</category>
      <category>python</category>
      <category>programming</category>
      <category>art</category>
    </item>
    <item>
      <title>Fixing ThinkPad X1 Yoga (3rd Gen) Sleep and Trackpad Issues on Fedora Linux</title>
      <dc:creator>Kyle R. Conway</dc:creator>
      <pubDate>Mon, 20 Aug 2018 23:52:21 +0000</pubDate>
      <link>https://dev.to/kylerconway/fixing-thinkpad-x1-yoga-3rd-gen-sleep-and-trackpad-issues-on-fedora-linux-703</link>
      <guid>https://dev.to/kylerconway/fixing-thinkpad-x1-yoga-3rd-gen-sleep-and-trackpad-issues-on-fedora-linux-703</guid>
      <description>&lt;p&gt;So your Lenovo X1 Yoga 3rd Gen has some problems with Linux (&lt;a href="https://getfedora.org/"&gt;Fedora 28&lt;/a&gt; Workstation in particular, though this might work elsewhere). The problems are as follows:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;You can't get it to sleep and unsleep properly when the lid closes and&lt;br&gt;
When it wakes up from this non-sleep, the trackpad behaves badly and is unusable.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Here's the two-step process I used (thanks to the investigative work of many others) to test and correct the problem.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Test Parameters
&lt;/h2&gt;

&lt;p&gt;While booting press 'e' to edit the kernel boot parameters. Then enter the following after the line that starts "linux16" (&lt;a href="https://docs.fedoraproject.org/f28/system-administrators-guide/kernel-module-driver-configuration/Working_with_the_GRUB_2_Boot_Loader.html#sec-Making_Temporary_Changes_to_a_GRUB_2_Menu"&gt;source&lt;/a&gt;):&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;acpi.ec_no_wakeup=1 psmouse.synaptics_intertouch=1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
  
  
  Boot and test the modified kernel parameters
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Boot up.&lt;/li&gt;
&lt;li&gt;Log in.&lt;/li&gt;
&lt;li&gt;Close the laptop lid.&lt;/li&gt;
&lt;li&gt;Wait until you enter sleep.&lt;/li&gt;
&lt;li&gt;Open the lid.&lt;/li&gt;
&lt;li&gt;Test the mouse.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If it works―congrats! You should move to the next step to make the changes persist across boots!&lt;/p&gt;
&lt;h2&gt;
  
  
  Make Permanent
&lt;/h2&gt;

&lt;p&gt;I did this manually (per the below), but the guides (&lt;a href="https://docs.fedoraproject.org/f28/system-administrators-guide/kernel-module-driver-configuration/Working_with_the_GRUB_2_Boot_Loader.html#bh-Adding_and_Removing_Arguments_from_a_GRUB_Menu_Entry"&gt;source&lt;/a&gt;) allow for a commandline entry. What I did is below:&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo gedit /etc/sysconfig/grub
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Find the line that starts with:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;GRUB_CMDLINE_LINUX
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Then Insert the following before the final double-quote mark (") on the line:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;acpi.ec_no_wakeup=1 psmouse.synaptics_intertouch=1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Run the following command in the terminal to make permanent:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;You should be good to go!&lt;/p&gt;

&lt;p&gt;I've noticed only one remaining oddity―when I open my laptop from sleep the keyboard won't start working until I hit the "left ALT" key on the keyboard (weird, I know). Small concession. I'm very happy to have this working well!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>thinkpad</category>
      <category>yoga</category>
      <category>fedora</category>
    </item>
  </channel>
</rss>
