<head> <title>Evan Pratten</title> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" /> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <link rel="stylesheet" href="/assets/css/main.css"> <link rel="stylesheet" href="/assets/css/github-syntax.css"> <link href="https://fonts.googleapis.com/css?family=IBM+Plex+Mono:400,400i|IBM+Plex+Sans:100,100i,400,400i,700,700i" rel="stylesheet"> <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"> </head> <body> <div class="site-ctr"> <!-- Navbar --> <nav class="navbar navbar-dark sticky-top bg-dark navbar-expand-lg"> <!-- Navbar content --> <!-- <div class="container"> --> <a class="navbar-brand" href="/">Evan Pratten</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNavAltMarkup"> <div class="navbar-nav ml-auto"> <a class="nav-item nav-link" href="/blog">Blog</a> <a class="nav-item nav-link" href="/projects">Projects</a> <!-- <a class="nav-item nav-link" href="/documentation">Documentation</a> --> <a class="nav-item nav-link" href="/about">About</a> </div> <!-- </div> --> </div> </nav> <!-- <div style="height:5vh"></div> --> <!-- Header --> <!-- <div class="header"> <div class="container"> <div class="content"> </div> </div> <div class="header-gap"></div> </div> --> <div class="reactive-bg"> <div class="post container"> <h1>Blog Posts</h1> <hr> <div class="list-group" id="posts"> <a href="#posts" class="list-group-item list-group-item-action list-group-item-dark">Featured Post</a> <!-- <div class="post-preview"> <div class="card"> <div class="card-header"> Featured Post </div> <div class="card-body"> <h5 class="card-title">I did some cleaning </h5> <p class="card-text">Spring cleaning is fun when it isn't spring, and a computer does all the work</p> <a href="/blog/2019/08/27/github-cleanup" class="btn btn-primary">View</a> </div> </div> </div> --> <a href="/blog/2019/08/27/github-cleanup" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <div class="card-body"> <h5 class="mb-1">I did some cleaning </h5> <p class="card-text">Spring cleaning is fun when it isn't spring, and a computer does all the work</p> </div> </div> </a> <a href="/blog/2019/08/24/shift2" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">Keyed data encoding with Python</h5> <!-- <small>2019-08-24 09:13:00 -0400</small> --> </div> <p class="card-text">XOR is pretty cool</p> </a> <a href="/blog/2019/08/12/setting-up-ja" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">How I set up ひらがな input on my laptop</h5> <!-- <small>2019-08-12 15:40:00 -0400</small> --> </div> <p class="card-text">I3wm makes everything 10x harder than it should be</p> </a> <a href="/blog/2019/08/10/why-i-carry-nfc" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">My weird piece of EDC</h5> <!-- <small>2019-08-10 16:57:00 -0400</small> --> </div> <p class="card-text">Reasons why I always carry NFC cards with me</p> </a> <a href="/blog/2019/07/15/mindmap" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">Mind map generation with Python</h5> <!-- <small>2019-07-15 14:38:00 -0400</small> --> </div> <p class="card-text">Step 1</p> </a> <a href="/blog/2019/07/13/lookback-gmad" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">Taking a look back at GMAD</h5> <!-- <small>2019-07-13 10:43:00 -0400</small> --> </div> <p class="card-text">Fun, Simple, and Quick</p> </a> <a href="/blog/2019/07/06/scrapingfrcgithub" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">Scraping FRC team's GitHub accounts to gather large amounts of data</h5> <!-- <small>2019-07-06 11:08:00 -0400</small> --> </div> <p class="card-text">There are a lot of teams...</p> </a> <a href="/blog/2019/07/01/devdns" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">devDNS</h5> <!-- <small>2019-07-01 18:13:00 -0400</small> --> </div> <p class="card-text">The DNS over devRant service</p> </a> <a href="/blog/2019/06/27/pwnlink" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">I had some fun with a router</h5> <!-- <small>2019-06-27 13:16:00 -0400</small> --> </div> <p class="card-text">cleartext passwords + external management = death wish</p> </a> <a href="/blog/2019/06/27/python" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">Hunting snakes with a shotgun</h5> <!-- <small>2019-06-27 03:00:00 -0400</small> --> </div> <p class="card-text">Python is a little too forgiving</p> </a> <a href="/blog/2019/06/26/bashsmash" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">BashSmash</h5> <!-- <small>2019-06-26 11:48:00 -0400</small> --> </div> <p class="card-text">A tool for driving people crazy</p> </a> <a href="/blog/2019/06/24/languagehunt2" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">The language hunt: Part 2</h5> <!-- <small>2019-06-24 17:36:00 -0400</small> --> </div> <p class="card-text">A quick followup</p> </a> <a href="/blog/2019/06/23/googlectf" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">I gave Google's CTF a short try and learned a thing or two</h5> <!-- <small>2019-06-23 18:04:00 -0400</small> --> </div> <p class="card-text">But exams got in the way and took all the fun</p> </a> <a href="/blog/2019/06/21/robot-experiences" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">What I have learned from 2 years of FRC programming</h5> <!-- <small>2019-06-21 11:14:00 -0400</small> --> </div> <p class="card-text">Robots are pretty cool</p> </a> <a href="/blog/2019/06/17/amm2m1-release" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">I made a new song!</h5> <!-- <small>2019-06-17 06:20:00 -0400</small> --> </div> <p class="card-text">Releasing a new song with friends at school</p> </a> <a href="/blog/2019/06/16/graphing-w2a" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">Graphing the relation between wheels and awards for FRC</h5> <!-- <small>2019-06-16 11:51:00 -0400</small> --> </div> <p class="card-text">AKA. Why programmer + reddit + matplotlib is a bad idea.</p> </a> <a href="/blog/2019/06/12/styiling-github" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">GitHub's CSS is boring. So I refreshed the design</h5> <!-- <small>2019-06-12 09:09:00 -0400</small> --> </div> <p class="card-text"></p> </a> <a href="/blog/2019/05/27/building-safe-vision-comms" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">Building a safe and easy system for sending computer vision data from a raspberry pi to a roborio</h5> <!-- <small>2019-05-27 05:22:00 -0400</small> --> </div> <p class="card-text"></p> </a> <a href="/blog/2019/04/30/frc-languages" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">The language hunt</h5> <!-- <small>2019-04-30 14:32:00 -0400</small> --> </div> <p class="card-text"></p> </a> <a href="/blog/2018/06/27/becomeranter" class="list-group-item list-group-item-action"> <div class="d-flex w-100 justify-content-between"> <h5 class="mb-1">Using a python script to create devRant posts based on the style and content of another user</h5> <!-- <small>2018-06-27 14:32:00 -0400</small> --> </div> <p class="card-text">if/else ++</p> </a> </div> </div> </div> </div> <!-- <div id="particles-js"></div> --> <div class="container foot" style="text-align:center;"> <br> <span class="site-info"> Site design by: <a href="https://retrylife.ca">Evan Pratten</a> | This site was last updated at: 2019-09-02 13:18:26 -0400 </span> </div> <!-- Brython --> <script src="/assets/js/brython.js"></script> <script src="/assets/js/brython_stdlib.js"></script> <script> function startPY(){ brython(); console.log("Started Python") } window.onload = startPY; </script> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> <!-- Offsets for links --> <script> (function ($, window) { var adjustAnchor = function () { var $anchor = $(':target'), fixedElementHeight = 100; if ($anchor.length > 0) { window.scrollTo(0, $anchor.offset().top - fixedElementHeight); } }; $(window).on('hashchange load', function () { adjustAnchor(); }); })(jQuery, window); </script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-74118570-2"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-74118570-2'); </script> <!-- particles --> <script> var body = document.body var particles = document.getElementById("particles-js") particles.style.height = body.scrollHeight + "px" console.log(body.scrollHeight) </script> <script src="/assets/js/particles.min.js"></script> <script> particlesJS.load('particles-js', '/assets/js/particles.json', function () { console.log('callback - particles.js config loaded'); }); </script> </body>