<?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: Megan Speir</title>
    <description>The latest articles on DEV Community by Megan Speir (@meganspeir).</description>
    <link>https://dev.to/meganspeir</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%2F47339%2F41239dfd-caa3-4e77-9d81-1e62d280384c.jpeg</url>
      <title>DEV Community: Megan Speir</title>
      <link>https://dev.to/meganspeir</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/meganspeir"/>
    <language>en</language>
    <item>
      <title>Riddikulus Passwords: Celebrate Passwords Every Day</title>
      <dc:creator>Megan Speir</dc:creator>
      <pubDate>Wed, 13 May 2020 21:45:13 +0000</pubDate>
      <link>https://dev.to/twilio/riddikulus-passwords-celebrate-passwords-every-day-3en4</link>
      <guid>https://dev.to/twilio/riddikulus-passwords-celebrate-passwords-every-day-3en4</guid>
      <description>&lt;p&gt;Apparently, the first Thursday in May is World Password Day. I'm not sure how I missed it as &lt;a href="http://www.holidayscalendar.com/months/may/" rel="noopener noreferrer"&gt;arbitrary holidays&lt;/a&gt; have been somewhat of a hot topic on my team of late. It's one way to pass the time in our collective quarantine.&lt;/p&gt;

&lt;p&gt;But if we're being honest, every day should be World Password Day! Practicing password hygiene is a worthy endeavor indeed. This is especially true as more of our lives are being lived online during the COVID-19 crisis. Reusing passwords is an especially risky, though widely used practice that makes you susceptible to breaches. When's the last time you checked to see if you'd been &lt;a href="https://www.twilio.com/blog/2018/06/round-up-libraries-for-checking-pwned-passwords-in-your-7-favorite-languages.html" rel="noopener noreferrer"&gt;Pwned&lt;/a&gt;? If your guard wasn't already up, there's no time like the present to start taking your passwords more seriously.&lt;/p&gt;

&lt;p&gt;This post is for people who want to secure their personal identities. Companies should help keep their customers secure by offering &lt;a href="https://www.twilio.com/verify" rel="noopener noreferrer"&gt;2FA&lt;/a&gt; and creating sensible password policies. I am especially passionate about strong password practices because it's one of the easiest ways to defend your digital identity.&lt;/p&gt;

&lt;p&gt;So, what makes a good password? There are many factors to consider but, for the average individual, focusing on using a unique password of a certain length is a great place to start. Password managers are of course a useful tool to help solve this problem.&lt;/p&gt;

&lt;p&gt;I presented the following idea for a poster topic at Pycon 2018 to explore creating a password management system - which I am by no means endorsing as there are plenty of good ones on the market - to generate strong passwords using a technique called Diceware and &lt;a href="https://www.twilio.com/docs/sms" rel="noopener noreferrer"&gt;Twilio SMS&lt;/a&gt; to send and receive data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Python for Riddikulus Passwords
&lt;/h2&gt;

&lt;p&gt;Thanks to a mild Harry Potter obsession and a designer at my disposal, I explored the topic of passwords through a literary lens before digging into the science and math. I was surprised to find the extensive and important role that passwords played in the harrowing adventures of our favorite young wizards against certain evil forces.&lt;/p&gt;

&lt;p&gt;I studied the general password practices displayed by each of the four Hogwarts houses throughout the duration of the series. I am particularly proud that my own house of Hufflepuff uses physical gesture rather than the incredulous same simple password used by Slytherin.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwkctpo5eqx5egl0z8092.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwkctpo5eqx5egl0z8092.png" alt="Alt Text" width="800" height="552"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As it turns out, we "Muggles" are not as random as we think. The ways in which we've often been told to create passwords makes them kind of predictable and even harder to remember. All of those capital letters, numbers, and special characters are &lt;a href="https://www.twilio.com/blog/2018/05/encourage-stronger-passwords-stop-using-bad-password-rules.html" rel="noopener noreferrer"&gt;not actually making your passwords as strong as you think&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Take the following password for example. Was it diagonally? No, Diagon Alley. But substitute a one and zero. And there was a symbol...at the beginning or the end? Was it before or after the number? Admit that you've made similar substitutions to make your passwords more "secure".&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffyd5jj4p6ihoqoid7ssw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Ffyd5jj4p6ihoqoid7ssw.png" alt="Alt Text" width="562" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I set out to solve the problem of our lack of creative, secure passwords with a little help from the Diceware method for generating passwords and Python. You can learn more about the Diceware method from &lt;a href="https://theworld.com/~reinhold/diceware.html" rel="noopener noreferrer"&gt;this website&lt;/a&gt;, but it is described as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A method for picking passphrases that uses ordinary dice to select words at random from a special list called the Diceware Word List. Each word in the list is preceded by a five digit number. All the digits are between one and six, allowing you to use the outcomes of five dice rolls to select a word from the list.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There's a lot of discussion around what makes this effective and if you're interested, I suggest you dig into the &lt;a href="https://www.schneier.com/academic/paperfiles/paper-keylength.pdf" rel="noopener noreferrer"&gt;research&lt;/a&gt;. But for our purposes, it is enough to know that dice are non-deterministic and considered random so they deliver a result that one could not have guessed. Entropy is a measure (&lt;a href="https://en.wikipedia.org/wiki/Bit" rel="noopener noreferrer"&gt;in bits&lt;/a&gt;) of uncertainty or randomness within a system and this increases with every additional word we add to our passphrase with the Diceware method. There are of course systems that are built to hack even this and so this chart suggests an Ordinary Wizarding Level or O.W.L. score for passwords of varying lengths. Seven words, for example, has approximately 90 bits of entropy, and is considered to be "unbreakable with any known technology, but may be within the range of large organizations by around 2030."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxo56o93xaynzrz8xf04i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fxo56o93xaynzrz8xf04i.png" alt="Alt Text" width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There's a &lt;a href="https://xkcd.com/936/" rel="noopener noreferrer"&gt;popular meme&lt;/a&gt; in the security and programming community where the resulting passphrase is "correct horse battery staple", which, now because of its infamy, would be a terrible passphrase despite reasonable length given it's ubiquity. But the point is to emphasize how easily one can visualize a passphrase to remember it. I reimagined this within the context of The Boy Who Lived performing the Riddikulus charm against Boggarts in his Defense Against the Dark Arts class. Too much? Anyway, I came up with "impossible skate spider moon balloon box clown"!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fby6b87oic0m0maz6edw7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fby6b87oic0m0maz6edw7.png" alt="Alt Text" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Are you ready to cast the spell?
&lt;/h3&gt;

&lt;p&gt;Dedicated witches and wizards with some dice on hand can cast rolls in multiples of 5 (e.g. 52621) and let the magic lookup and return a passphrase. The more rolls (e.g. 52621 16326 14443 62226 13431), the more secure your passphrase will be.&lt;/p&gt;

&lt;p&gt;You may find that this is impractical for every single password you need, but it is often suggested to follow this stringent method of physically rolling the dice for those "keys to the castle" scenarios like password to your password manager or your computer for example.&lt;/p&gt;

&lt;p&gt;The lazy among us may instead send the word "riddikulus" and let the pseudo-random magic of the &lt;a href="https://pypi.org/project/diceware/" rel="noopener noreferrer"&gt;Python Diceware Library&lt;/a&gt; generate an amusing passphrase.&lt;/p&gt;

&lt;h3&gt;
  
  
  Text (216) 208-5958 yourself to try it out!
&lt;/h3&gt;

&lt;p&gt;Go ahead, roll the dice.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwjgj5ss9zzxzbl1cj7qy.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fwjgj5ss9zzxzbl1cj7qy.PNG" alt="Alt Text" width="635" height="542"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Questions about making the magic happen?&lt;/strong&gt; Feel free to leave comments and issues on &lt;a href="https://github.com/meganspeir/riddikulus-dice/" rel="noopener noreferrer"&gt;the Github repo&lt;/a&gt; or find me on &lt;a href="https://twitter.com/meganspeir" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Questions about Twilio?&lt;/strong&gt; &lt;a href="https://www.twilio.com/try-twilio?promo=vRflUa" rel="noopener noreferrer"&gt;Sign up for an account&lt;/a&gt; to build for yourself!&lt;/p&gt;

&lt;p&gt;About the Author:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fuqj4apd3fm1vr0drxrmq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fuqj4apd3fm1vr0drxrmq.png" alt="Alt Text" width="800" height="410"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>security</category>
      <category>twilio</category>
    </item>
    <item>
      <title>What do folks use for programming window management?</title>
      <dc:creator>Megan Speir</dc:creator>
      <pubDate>Thu, 12 Jul 2018 22:32:14 +0000</pubDate>
      <link>https://dev.to/meganspeir/what-do-folks-use-for-programming-window-management-3ha5</link>
      <guid>https://dev.to/meganspeir/what-do-folks-use-for-programming-window-management-3ha5</guid>
      <description>&lt;p&gt;I'm looking for a window management solution and curious what you're using. Any suggestions?&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
  </channel>
</rss>
