diff --git a/_data/projects.json b/_data/projects.json deleted file mode 100644 index 11aaa2e..0000000 --- a/_data/projects.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "featured": { - "name": "DeepSpace Offseason Codebase", - "description": "This is the code behind @frc5024's robot for the 2019 offseason. I have spent a large amount of my free time adding every feature that I wished we had during the season as a way to familiarize myself with the WPIlib Java API.", - "url": "https://github.com/frc5024/DeepSpace-SWI", - "image": "https://i.ytimg.com/vi/aifZLWQ_N7U/maxresdefault.jpg" - }, - "other": { - "rows": [ - [ - { - "name": "ThriftyField", - "description": "ThriftyField is an open source replacement for the FIRST FMS software. This tool allows mass control over robots, along with real-time scoring and an audience display.", - "url": "https://github.com/frc5024/ThriftyField", - "image": "" - }, - { - "name": "DevDNS", - "description": "DevDNS is a devRant bot for resolving DNS queries send via devRant’s comments system.", - "url": "https://github.com/Ewpratten/devDNS", - "image": "" - } - ], - [ - { - "name": "Dirobium", - "description": "Dirobium is a fantasy CPU emulator that I built to teach myself basic low-level programming", - "url": "https://github.com/Ewpratten/Dirobium", - "image": "" - }, - { - "name": "devCredits", - "description": "My first community project, a tool help people credit contributors on their devRant community projects", - "url": "https://github.com/Ewpratten/devCredits", - "image": "" - } - ] - ] - } -} \ No newline at end of file diff --git a/_drafts/2019-05-27-Building-Safe-Vision-Comms.md b/_drafts/2019-05-27-Building-Safe-Vision-Comms.md deleted file mode 100644 index ec8ec86..0000000 --- a/_drafts/2019-05-27-Building-Safe-Vision-Comms.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: post -title: "Building a safe and easy system for sending computer vision data from a raspberry pi to a roborio" -date: 2019-05-27 09:22:00+0000 -categories: frc ---- - -Computer vision on an FRC robot has some problems. - - RoboRIO is not powerfull enough - - NetworkTables is not fast enough - - A TCP connection is great until you lose connection - - mDNS discovery is not reliable on the field - - UDP can skip frames - -## Needs -These are the things I need to have. - - Send data from any device - - Recive data on RoboRIO at any time - - Data rate faster than period time - -## Wants -These are the things I would like to have. - - Easy discovery - - Threaded - - Simple interface for new programmers - - Fallback in case of UDP issues - - FMS network firewall compliant - -I am currently working on a protocol for solving this problem, nad will post an update here once it has been tested. Feel free to let me know your thoughts and ideas. \ No newline at end of file diff --git a/_drafts/2019-06-17-AMM2M1-release.md b/_drafts/2019-06-17-AMM2M1-release.md deleted file mode 100644 index bb4666a..0000000 --- a/_drafts/2019-06-17-AMM2M1-release.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: post -title: "I made a new song!" -description: "Releasing a new song with friends at school" -date: 2019-06-17 10:20:00 -categories: music ---- - -I am currently taking a class in school called [Music and computers (AMM2M)](https://www.facebook.com/studio225beal/), where as part of the class, whe get together into bands, and produce a song. After taking a break from music production for over a year, we have released our song for the class (we do two songs, but the second is not finished yet). - -## My contribution -My main contribution to the project was a mix of live drumming, and most of the song's MIDI work. The song is far from perfect, but pretty good for the time we had to produce it. - -## Just give me the song! -Ok. Ok. Here is the song: - - \ No newline at end of file diff --git a/_drafts/2019-06-27-PWNlink.md b/_drafts/2019-06-27-PWNlink.md deleted file mode 100644 index 4f2b33e..0000000 --- a/_drafts/2019-06-27-PWNlink.md +++ /dev/null @@ -1,46 +0,0 @@ ---- -layout: post -title: "I had some fun with a router" -description: "cleartext passwords + external management = death wish" -date: 2019-06-27 17:16:00 -categories: projects -tag: projects ---- - -I was playing around with some D-link routers today and remembered an [ExploitDB Entry](https://www.exploit-db.com/exploits/33520) I read a while ago. Many D-link routers have a great feature that allows remote management and configuration queries. Interestingly, this cannot be disabled, and one of the pages contains a cleartext version of the admin password (yay!). - -## How to get yourself an admin password -On any supported router, make an HTTP request to `http://your.router.ip.addr/tools_admin.asp/`. This will return a pretty large XML file containing information about your router's hardware and configuration. - -Notice the fact that you did not have to log in. This is due to the fact that this file seems to be used by a remote management service of some sort. - -The important thing to note here is that, when parsed with the regex pattern: `name="user_password_tmp" value="(.*)">`, you get a single string. This string is the admin password of the device. - -## Supported routers -This is supported by many D-link routers. The ones I know about are: - - DIR-835 - - DIR-855L - - DGL-5500 - -Some routers have this XML file, but it is restricted... By a user without a password. These are: - - DHP-1565 - - DIR-652 - -## PWNlink -Like everything I play with, I made a script to do this all for me (and spent a large amount of time adding colours to the text). - -My script is called PWNlink (PWN + D-link), It automatically finds a router on your network by looking for a specific DNS entry created by many D-link routers, then checking your gateway. Next, PWNlink reads you router's `hnap1` config to find it's model number. If supported, the script will read and parse the appropriate configs to give you the admin credentials for your router. - -PWNlink can be installed on any *nix computer that has both `python3.7` and `python3-pip` installed. To install PWNlink, run: -``` -pip3 install pwnlink -``` - -Run the script without any arguments for automatic detection, or pass any IP address to use manual detection. - -## Disclamier thingy -I don't see much point to these, but I should probably put one anyways. - -**Don't be dumb with this script.** - -I have only used it on my own (or 5024's) routers, and did not create PWNlink with any malicious intent. \ No newline at end of file diff --git a/_drafts/2019-07-08-PI3D.md b/_drafts/2019-07-08-PI3D.md deleted file mode 100644 index 5b697e3..0000000 --- a/_drafts/2019-07-08-PI3D.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: post -title: "Project In 3 Days: 1 year recap" -description: "The never ending stream of projects" -date: 2019-07-08 18:22:00 -categories: projects ---- - -## What is PI3D? -Project In 3 Days (PI3D) is a project I started in July of 2018 (1 year ago). The goal was simple: - - Start a project - - Finish it within the next three days - - Take a two or three day break - - Repeat - -## Why? -I started PI3D because I had a large number of small ideas that I wanted to try out, but did not want feel the need to continue supporting said projects in the long term. - -PI3D quickly became a great learning tool for me, and I rapidly improved my prototyping, research, efficiency, and programming skills. I get many comments from other people I work with about how quickly I take an idea and turn it into a program, a skill which I can confidently attribute to the time spent working on my PI3D projects. - -At this point, I would not be surprised if I am more fluent in Python than English. - -## My favorite projects -Here are the projects I enjoyed working on and using the most: - - [ThriftyField](https://github.com/frc5024/ThriftyField) - - [Dirobium](https://github.com/Ewpratten/Dirobium) - - [DevDNS](https://github.com/Ewpratten/devDNS) - - [PWNLink](https://github.com/Ewpratten/PWNlink) - - [BashSmash](https://github.com/Ewpratten/BashSmash) - - [FlippyCat](https://github.com/Ewpratten/FlippyCat) - - [Give Me A Distro](https://retrylife.ca/gmad/) - -## Things I have learned - -## The downside - -## What's next? - - Counter - - project badge - - other people? - -## Will I keep doing PI3D? \ No newline at end of file diff --git a/_drafts/2019-08-01-Email-Upgrade.md b/_drafts/2019-08-01-Email-Upgrade.md deleted file mode 100644 index c3db133..0000000 --- a/_drafts/2019-08-01-Email-Upgrade.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -layout: post -title: "My new email setup" -description: "It's finally almost fixed!" -date: 2019-08-01 17:53:00 -categories: email configuration ---- - -Over the past year, I have been having issues with my retrylife.ca email addresses, but have finally fixed them. This post is mostly a reminder to myself for the next time I have to do this. - -## DNS settings - -## Setting up with Gmail - -## Improvements -To finish this up, Im looking to add catch-all, and suffix support to my email addresses. This would allow me to do something like: send all email from snapchat to `spam+snapchat@__domain__.ca`. \ No newline at end of file diff --git a/_drafts/2019-08-25-Crypto-my-thoughts.md b/_drafts/2019-08-25-Crypto-my-thoughts.md deleted file mode 100644 index 13f105a..0000000 --- a/_drafts/2019-08-25-Crypto-my-thoughts.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: post -title: "Never roll your own crypto!" -description: "My thoughts on this statement" -date: 2019-08-25 22:36:00 -categories: random ---- - -https://security.stackexchange.com/questions/62699/what-if-i-develop-my-own-hash-algorithm-to-create-strong-passwords-from-easy-one \ No newline at end of file diff --git a/_drafts/2019-09-09-fstrings.md b/_drafts/2019-09-09-fstrings.md deleted file mode 100644 index be6f4c1..0000000 --- a/_drafts/2019-09-09-fstrings.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -layout: post -title: "What the fstring?" #"PEP 498: Literal String Interpolation" -description: "Every language should have this feature" -date: 2019-09-09 14:09:00 -categories: python ---- - -If you haven't notices by now, I love Python. diff --git a/_drafts/2019-09-19-I-want-to-build-a-sat.md b/_drafts/2019-09-19-I-want-to-build-a-sat.md deleted file mode 100644 index 751c38b..0000000 --- a/_drafts/2019-09-19-I-want-to-build-a-sat.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -layout: post -title: "I want to build a satellite" -description: "For under $100" -date: 2019-09-19 21:13:00 -categories: idea -redirect_from: - - /post/e9gb3490/ - - /e9gb3490/ ---- - -I like learning and trying new things. Most recently, I have been working with radios, and have obtained a licence to operate some [RPAs](https://en.wikipedia.org/wiki/Unmanned_aerial_vehicle). So, obviously the next step is *space*, right? As I am entering this with near 0 experience, I'm going to start simple. - -## Design -My first satellite project (named [Spike](https://github.com/Ewpratten/Spike)) is designed to do the following: - - Be deployed in [LEO](https://en.wikipedia.org/wiki/Low_Earth_orbit) by a [cubesat launcher](https://en.wikipedia.org/wiki/CubeSat#Launch_and_deployment) - - Be solar powered - - 24/7 data is not required, so the device may go dark - - I may look into an on-board [LCB](https://en.wikipedia.org/wiki/Solid-state_battery) for night operation - - Record temperature, and light levels - - Stream data down to earth - - Burn up in the atmosphere - -I am currently working with the following parts to build a grounded test device. - - [Arduino pro mini](https://www.ebay.com/itm/New-Pro-Micro-ATmega32U4-5V-16MHz-Replace-ATmega328-Arduino-Pro-Mini-/221891843710) - - [315mhz transmitter](https://www.sparkfun.com/products/10535) (This will be replaced) - - [A photocell](https://www.sparkfun.com/products/9088) - - [A TMP102 sensor](https://www.sparkfun.com/products/13314) - -My goal for the grounded test device is for it to survive ~14 weeks of un-attended operation, and some temperature tests. - -## Current progress -Currently, My testing setup consists of the following components that I had lying around: - - Arduino pro mini - - Photocell - - [lm35 sensor](http://www.ti.com/product/LM35) - - Buzzer (To emulate a radio) - -![Current Test Board](/assets/images/satv1.jpg) - -The board has been "transmitting" telemetry data for over a week now, and is operating as expected. - -## Project on hold -I am currently waiting for [SparkFun](https://www.sparkfun.com/) to send me some new components to work with.. A new post will come eventually. diff --git a/_drafts/2019-09-28-Offseason1.md b/_drafts/2019-09-28-Offseason1.md deleted file mode 100644 index 889c1d0..0000000 --- a/_drafts/2019-09-28-Offseason1.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: post -title: "5024's first offseason event of 2019" -description: "A 120lb headless chicken that doesn't understand the word \"stop\"" -date: 2019-09-28 24:00:00 -categories: frc recap -redirect_from: - - /post/e9g9d6s90/ - - /e9g9d6s90/ ---- - - - -*Before we start, I will point out that the content of this post does not reflect the views of [5024](https://www.thebluealliance.com/team/5024), or the [programming team](https://frc5024.github.io/).* -*My views, my opinions, my website.* - -This weekend, a few of us brought our robot down to [team 4525](https://www.thebluealliance.com/team/4525)'s yearly community robotics showcase / outreach event. We had a lot of fun, and this post will outline some things I learned while working with the bot, and some problems we encountered while competing. - -

The robots are painting! The robots are painting! Upstairs at the @CoventMarket in #ldnont come see the spectacle that is #FIRSTrobotics + @ONCultureDays until 2pm!!! #techartfusion #omgrobots #artmeetstech #creativekids @CANFIRST pic.twitter.com/VVdgXES9Gt

— Renaissance Robotics (@4525FRC) September 28, 2019
- -## Robot issues - -### Wifi - -### Always test code before deployment - -## Preparing for our next event \ No newline at end of file diff --git a/_drafts/2019-11-09-easyshell.md b/_drafts/2019-11-09-easyshell.md deleted file mode 100644 index 87e7918..0000000 --- a/_drafts/2019-11-09-easyshell.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -layout: post -title: "Turning a web IDE into a disposable linux environment" -description: "My Python code keeps popping shells" -date: 2019-11-09 24:00:00 -categories: random -redirect_from: - - /post/e9g9dfs90/ - - /e9g9dfs90/ ---- - - - -## Getting a token - -Layer1 -``` -ZXlKamNtVmhkR1ZrSWpveE5UY3pOVEV5TVRJM09EYzNMQ0p6WVd4MElqb2libmw1YTJGelpEQmtlR1VpTENKdVpYUWlPblJ5ZFdVc0ltbGtJam9pTWpReE1UWTNPV0l0TnpnNFpTMDBaRFl5TFRnMU0ySXRORGt4WVdNeU1tUmhaall6SWl3aWNHRjBhQ0k2SWxOMFpXVnNZbXgxWlV0b1lXdHBRMnhoYzNObGN5SXNJbTkzYm1WeUlqcDBjblZsTENKc1lXNW5kV0ZuWlNJNkluQjVkR2h2YmpNaUxDSjFjMlZ5SWpvaVptbDJaUzF1YVc1bElpd2lZblZqYTJWMElqb2ljbVZ3YkdsMExYSmxjR3h6SWl3aWNIVnNiRVpwYkdWeklqcDBjblZsTENKd2IyeDVaMjkwZENJNlptRnNjMlVzSW1GMGRHRmphQ0k2ZEhKMVpTd2labTl5YldGMElqb2ljR0oxWmlJc0ltWnNZV2R6SWpwN2ZYMD06Tk5aRVFFSGErSXU5RHU1TUZUblNDODFTT2docFN2WUc4bkwrcTFKSXB4cz0= -``` - -Layer2 -``` -eyJjcmVhdGVkIjoxNTczNTEyMTI3ODc3LCJzYWx0Ijoibnl5a2FzZDBkeGUiLCJuZXQiOnRydWUsImlkIjoiMjQxMTY3OWItNzg4ZS00ZDYyLTg1M2ItNDkxYWMyMmRhZjYzIiwicGF0aCI6IlN0ZWVsYmx1ZUtoYWtpQ2xhc3NlcyIsIm93bmVyIjp0cnVlLCJsYW5ndWFnZSI6InB5dGhvbjMiLCJ1c2VyIjoiZml2ZS1uaW5lIiwiYnVja2V0IjoicmVwbGl0LXJlcGxzIiwicHVsbEZpbGVzIjp0cnVlLCJwb2x5Z290dCI6ZmFsc2UsImF0dGFjaCI6dHJ1ZSwiZm9ybWF0IjoicGJ1ZiIsImZsYWdzIjp7fX0=:NNZEQEHa+Iu9Du5MFTnSC81SOghpSvYG8nL+q1JIpxs= -``` - - -output -``` -{"created":1573512127877,"salt":"nyykasd0dxe","net":true,"id":"2411679b-788e-4d62-853b-491ac22daf63","path":"SteelblueKhakiClasses","owner":true,"language":"python3","user":"five-nine","bucket":"replit-repls","pullFiles":true,"polygott":false,"attach":true,"format":"pbuf","flags":{}} -5v"CNtTR) -``` - - double Base64 encoded (ASCII) \ No newline at end of file diff --git a/_drafts/2019-12-2-FRC2020PreseasonNotes.md b/_drafts/2019-12-2-FRC2020PreseasonNotes.md deleted file mode 100644 index c2e8d47..0000000 --- a/_drafts/2019-12-2-FRC2020PreseasonNotes.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -layout: post -title: "Notes from the 2020 FRC preseason" -description: "A little kid ran over my foot with a robot" -date: 2019-12-02 21:44:00 -categories: frc -redirect_from: - - /post/vcd99dfs90/ - - /vcd99dfs90/ ---- - - -As we near 2020 kickoff, I should probably make note of the things I have done with FRC team [5024]() throughout the offseason. So, here are said notes. - -## New members - -## New language(s) - -## Computer vision - -## Team management - -### GitHub Projects - -### GitHub Issues \ No newline at end of file diff --git a/_drafts/2020-01-07-RobotSimGUI.md b/_drafts/2020-01-07-RobotSimGUI.md deleted file mode 100644 index 1a66675..0000000 --- a/_drafts/2020-01-07-RobotSimGUI.md +++ /dev/null @@ -1,54 +0,0 @@ ---- -layout: post -title: "Graphical drivebase simulation for FRC robots" -description: "Showcasing part of the frc5024 codebase" -date: 2020-01-07 22:13:00 -categories: frc -redirect_from: - - /post/vcv4101s90/ - - /vcv4101s90/ ---- - -The 2020 FRC season has kicked off, and the @frc5024 software team is already hard at work developing the software that will power this year's robot. Throughout the season, I'm hoping to showcase cool things we work on. - -Today, I built a little tool to provide a graphical simulation of our robot's drivebase in 2D space. This post will outline how I did it. - -## Robot simulation - -As our code is developed with [WPILib](https://github.com/wpilibsuite/allwpilib), we make use of [HALSIM](https://github.com/wpilibsuite/allwpilib/tree/master/simulation/halsim_gui) to test out code before pushing to real hardware. This tool is great for checking for null pointer exceptions, and ensuring telemetry data is correctly pushed, but has some limitations. Mainly, we use a fair amount of un-supported hardware, and our own robotics library does not integrate with WPILib's "Sendable" system. - -### Faking HAL device support - -To give HALSIM support to our custom devices, we use WPILib's [SimDevice](https://github.com/wpilibsuite/allwpilib/blob/master/hal/src/main/java/edu/wpi/first/hal/SimDevice.java) wrapper. @PeterJohnson explained to me how to do this [in this thread](https://www.chiefdelphi.com/t/ctre-halsim/370106/2?u=ewpratten). - -### Simulating sensors - -For drivebase simulation, we need to simulate two devices. Our [encoders](https://www.usdigital.com/products/encoders/incremental/kit/E4T), and our [gyroscope](https://pdocs.kauailabs.com/navx-mxp/). Neither of these devices have HALSIM support, so I added my own [[1](https://github.com/frc5024/InfiniteRecharge/commit/837e9f571a03917c72b2df83d4e19650bab4ad66)] [[2](https://github.com/frc5024/InfiniteRecharge/commit/78c501a4bbaeee1d05e95a3c1ba07a897bc78a80)]. - -Now that the device I/O has been simulated, we need to simulate sensor readings. - -#### Encoders - -Encoder readings can be estimated, assuming we know these properties: - - - Current motor speed (percent output) - - Max motor speed (RPM) - - Encoder Pulses per Revolution - - Gearing ratio between simulated motor and sensor - -Inside a quickly-updating loop, I used this pseudocode to determine the reading for an encoder: -```java -double current_time = getSeconds(); - -double dt = current_time - last_time; -last_time = current_time; - - -double rpm = (getMotorSpeed() * max_rpm) / gearbox_ratio; -double revs = (rpm / 60.0) * dt; - -encoder_ticks += (revs * tpr); -``` - -#### Gyroscope - diff --git a/_drafts/2020-01-14-ZEBRA-Darts.md b/_drafts/2020-01-14-ZEBRA-Darts.md deleted file mode 100644 index 40e3c1e..0000000 --- a/_drafts/2020-01-14-ZEBRA-Darts.md +++ /dev/null @@ -1,89 +0,0 @@ ---- -layout: post -title: "Interpolating motor control commands from Dart data" -description: "And other weird things to do with XY datasets" -date: 2020-01-14 20:13:00 -categories: frc data -redirect_from: - - /post/eb3v140d/ - - /eb3v140d/ ---- - -At some FRC events, [ZEBRA Technologies](https://www.zebra.com/us/en.html) places dart trackers for their [MotionWorks](https://www.zebra.com/us/en/solutions/intelligent-edge-solutions/rtls.html) system on robots. They then provide real-time motion tracking data for all bots on the field. I got my hands on a few data archives from various events in 2019 that used the darts. Here is a little post about what I have been able to do with this data. - -## The data -For this post, I will be working with data from [Chezy Champs 2019](https://chezychamps.com/). I recived the tracking data in the following CSV format: - -```csv -X position (Feet), Y position (Feet), UNIX epoch time (UTC) -``` - -## Data analysis - -I wrote a little parser that converts the CSV data to pose data. A pose is a vector containing the following field-absolute components: - -```c++ -struct Pose { - double x; - double y; - double theta; -} -``` - -While we are at it, Ill define a "Transpose", which is like a pose, but relative to other poses, and a "ChassisSpeed" vector: - -```c++ -struct ChassisSpeed { - double left; - double right; -} - -class Transpose { - private: - double x; - double y; - double theta; - - public: - ChassisSpeed fromTranspose(); -} -``` - -### Converting a difference to a Transpose - -The only data we can directly read from the Dart data is poses over time (all poses have an angle of 0 degrees). To convert these to Transposes, we need to do a little math. Basically, we can take two poses, then calculate their differences: - -```python -# Find the differences in coords -dx: float = now.x - last.x -dy: float = now.y - last.y - -# Calculate a heading from translation -theta: float = atan2(dx, dy) -``` - -Now, with this data, we can build a Transpose out of any pair of data points. - -### Converting a transpose to a ChassisSpeed - -To be completely honest, I originally had no idea what I was going to use this data for, but ended up deciding to try to reconstruct motor data from the position data. This is just a form of [Inverse Kinematics](https://en.wikipedia.org/wiki/Inverse_kinematics). - -To do this, all we need is a little math: - -```java -ChassisSpeed fromTranspose(){ - double delta = TRACK_WIDTH * this.theta / 2 * 1.0469745223; - return (new ChassisSpeed(this.x - deltaV, this.x + deltaV); -} -``` - -This will calculate the heading difference between 0,0 and the transpose, then apply that to the X vector as a wheel velocity. `TRACK_WIDTH` is the width of the robot drivebase in inches (I used `25.4` because that is team [254](https://www.thebluealliance.com/team/254)'s track width) - -#### Chassis speeds over time - -Here is a little graph of the calculated chassis speeds over time. (Keeping in mind that inaccuracies in the Dart system cause some "drift") - -![Chassis Speeds](/assets/images/chassis-speeds.png) - -### Extrapolating further - diff --git a/_drafts/2020-02-25-Dead-Reckon.md b/_drafts/2020-02-25-Dead-Reckon.md deleted file mode 100644 index 6a99c77..0000000 --- a/_drafts/2020-02-25-Dead-Reckon.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: post -title: "A small introduction to drivebase kinematics" -description: "Using a 4 century old technique to tell a robot where it is" -date: 2020-02-12 20:12:00 -categories: frc -redirect_from: - - /post/eb3sdf9d/ - - /eb3sdf9d/ ---- - -In my work with @frc5024's robots, I have been spending a lot of time with drivebase kinematics. \ No newline at end of file diff --git a/_drafts/2020-03-01-Corona-src.md b/_drafts/2020-03-01-Corona-src.md deleted file mode 100644 index e3bd5f3..0000000 --- a/_drafts/2020-03-01-Corona-src.md +++ /dev/null @@ -1,399 +0,0 @@ ---- -layout: post -title: "The Coronavirus source code" -description: "Compile yourself an unstoppable virus from under 8KB of source" -date: 2020-03-01 10:57:00 -categories: random -redirect_from: - - /post/eb3cvo9d/ - - /eb3cvo9d/ ---- - -## Features - - Remote exploitation - - Persistance - - Cross-platform - -## Source -Here it is, the official leaked Coronavirus source code: -``` -attaaaggtttataccttcccaggtaacaaaccaaccaactttcgatctcttgtagatctgttctctaaacgaactttaa -aatctgtgtggctgtcactcggctgcatgcttagtgcactcacgcagtataattaataactaattactgtcgttgacagg -acacgagtaactcgtctatcttctgcaggctgcttacggtttcgtccgtgttgcagccgatcatcagcacatctaggttt -cgtccgggtgtgaccgaaaggtaagatggagagccttgtccctggtttcaacgagaaaacacacgtccaactcagtttgc -ctgttttacaggttcgcgacgtgctcgtacgtggctttggagactccgtggaggaggtcttatcagaggcacgtcaacat -cttaaagatggcacttgtggcttagtagaagttgaaaaaggcgttttgcctcaacttgaacagccctatgtgttcatcaa -acgttcggatgctcgaactgcacctcatggtcatgttatggttgagctggtagcagaactcgaaggcattcagtacggtc -gtagtggtgagacacttggtgtccttgtccctcatgtgggcgaaataccagtggcttaccgcaaggttcttcttcgtaag -aacggtaataaaggagctggtggccatagttacggcgccgatctaaagtcatttgacttaggcgacgagcttggcactga -tccttatgaagattttcaagaaaactggaacactaaacatagcagtggtgttacccgtgaactcatgcgtgagcttaacg -gaggggcatacactcgctatgtcgataacaacttctgtggccctgatggctaccctcttgagtgcattaaagaccttcta -gcacgtgctggtaaagcttcatgcactttgtccgaacaactggactttattgacactaagaggggtgtatactgctgccg -tgaacatgagcatgaaattgcttggtacacggaacgttctgaaaagagctatgaattgcagacaccttttgaaattaaat -tggcaaagaaatttgacaccttcaatggggaatgtccaaattttgtatttcccttaaattccataatcaagactattcaa -ccaagggttgaaaagaaaaagcttgatggctttatgggtagaattcgatctgtctatccagttgcgtcaccaaatgaatg -caaccaaatgtgcctttcaactctcatgaagtgtgatcattgtggtgaaacttcatggcagacgggcgattttgttaaag -ccacttgcgaattttgtggcactgagaatttgactaaagaaggtgccactacttgtggttacttaccccaaaatgctgtt -gttaaaatttattgtccagcatgtcacaattcagaagtaggacctgagcatagtcttgccgaataccataatgaatctgg -cttgaaaaccattcttcgtaagggtggtcgcactattgcctttggaggctgtgtgttctcttatgttggttgccataaca -agtgtgcctattgggttccacgtgctagcgctaacataggttgtaaccatacaggtgttgttggagaaggttccgaaggt -cttaatgacaaccttcttgaaatactccaaaaagagaaagtcaacatcaatattgttggtgactttaaacttaatgaaga -gatcgccattattttggcatctttttctgcttccacaagtgcttttgtggaaactgtgaaaggtttggattataaagcat -tcaaacaaattgttgaatcctgtggtaattttaaagttacaaaaggaaaagctaaaaaaggtgcctggaatattggtgaa -cagaaatcaatactgagtcctctttatgcatttgcatcagaggctgctcgtgttgtacgatcaattttctcccgcactct -tgaaactgctcaaaattctgtgcgtgttttacagaaggccgctataacaatactagatggaatttcacagtattcactga -gactcattgatgctatgatgttcacatctgatttggctactaacaatctagttgtaatggcctacattacaggtggtgtt -gttcagttgacttcgcagtggctaactaacatctttggcactgtttatgaaaaactcaaacccgtccttgattggcttga -agagaagtttaaggaaggtgtagagtttcttagagacggttgggaaattgttaaatttatctcaacctgtgcttgtgaaa -ttgtcggtggacaaattgtcacctgtgcaaaggaaattaaggagagtgttcagacattctttaagcttgtaaataaattt -ttggctttgtgtgctgactctatcattattggtggagctaaacttaaagccttgaatttaggtgaaacatttgtcacgca -ctcaaagggattgtacagaaagtgtgttaaatccagagaagaaactggcctactcatgcctctaaaagccccaaaagaaa -ttatcttcttagagggagaaacacttcccacagaagtgttaacagaggaagttgtcttgaaaactggtgatttacaacca -ttagaacaacctactagtgaagctgttgaagctccattggttggtacaccagtttgtattaacgggcttatgttgctcga -aatcaaagacacagaaaagtactgtgcccttgcacctaatatgatggtaacaaacaataccttcacactcaaaggcggtg -caccaacaaaggttacttttggtgatgacactgtgatagaagtgcaaggttacaagagtgtgaatatcacttttgaactt -gatgaaaggattgataaagtacttaatgagaagtgctctgcctatacagttgaactcggtacagaagtaaatgagttcgc -ctgtgttgtggcagatgctgtcataaaaactttgcaaccagtatctgaattacttacaccactgggcattgatttagatg -agtggagtatggctacatactacttatttgatgagtctggtgagtttaaattggcttcacatatgtattgttctttctac -cctccagatgaggatgaagaagaaggtgattgtgaagaagaagagtttgagccatcaactcaatatgagtatggtactga -agatgattaccaaggtaaacctttggaatttggtgccacttctgctgctcttcaacctgaagaagagcaagaagaagatt -ggttagatgatgatagtcaacaaactgttggtcaacaagacggcagtgaggacaatcagacaactactattcaaacaatt -gttgaggttcaacctcaattagagatggaacttacaccagttgttcagactattgaagtgaatagttttagtggttattt -aaaacttactgacaatgtatacattaaaaatgcagacattgtggaagaagctaaaaaggtaaaaccaacagtggttgtta -atgcagccaatgtttaccttaaacatggaggaggtgttgcaggagccttaaataaggctactaacaatgccatgcaagtt -gaatctgatgattacatagctactaatggaccacttaaagtgggtggtagttgtgttttaagcggacacaatcttgctaa -acactgtcttcatgttgtcggcccaaatgttaacaaaggtgaagacattcaacttcttaagagtgcttatgaaaatttta -atcagcacgaagttctacttgcaccattattatcagctggtatttttggtgctgaccctatacattctttaagagtttgt -gtagatactgttcgcacaaatgtctacttagctgtctttgataaaaatctctatgacaaacttgtttcaagctttttgga -aatgaagagtgaaaagcaagttgaacaaaagatcgctgagattcctaaagaggaagttaagccatttataactgaaagta -aaccttcagttgaacagagaaaacaagatgataagaaaatcaaagcttgtgttgaagaagttacaacaactctggaagaa -actaagttcctcacagaaaacttgttactttatattgacattaatggcaatcttcatccagattctgccactcttgttag -tgacattgacatcactttcttaaagaaagatgctccatatatagtgggtgatgttgttcaagagggtgttttaactgctg -tggttatacctactaaaaaggctggtggcactactgaaatgctagcgaaagctttgagaaaagtgccaacagacaattat -ataaccacttacccgggtcagggtttaaatggttacactgtagaggaggcaaagacagtgcttaaaaagtgtaaaagtgc -cttttacattctaccatctattatctctaatgagaagcaagaaattcttggaactgtttcttggaatttgcgagaaatgc -ttgcacatgcagaagaaacacgcaaattaatgcctgtctgtgtggaaactaaagccatagtttcaactatacagcgtaaa -tataagggtattaaaatacaagagggtgtggttgattatggtgctagattttacttttacaccagtaaaacaactgtagc -gtcacttatcaacacacttaacgatctaaatgaaactcttgttacaatgccacttggctatgtaacacatggcttaaatt -tggaagaagctgctcggtatatgagatctctcaaagtgccagctacagtttctgtttcttcacctgatgctgttacagcg -tataatggttatcttacttcttcttctaaaacacctgaagaacattttattgaaaccatctcacttgctggttcctataa -agattggtcctattctggacaatctacacaactaggtatagaatttcttaagagaggtgataaaagtgtatattacacta -gtaatcctaccacattccacctagatggtgaagttatcacctttgacaatcttaagacacttctttctttgagagaagtg -aggactattaaggtgtttacaacagtagacaacattaacctccacacgcaagttgtggacatgtcaatgacatatggaca -acagtttggtccaacttatttggatggagctgatgttactaaaataaaacctcataattcacatgaaggtaaaacatttt -atgttttacctaatgatgacactctacgtgttgaggcttttgagtactaccacacaactgatcctagttttctgggtagg -tacatgtcagcattaaatcacactaaaaagtggaaatacccacaagttaatggtttaacttctattaaatgggcagataa -caactgttatcttgccactgcattgttaacactccaacaaatagagttgaagtttaatccacctgctctacaagatgctt -attacagagcaagggctggtgaagctgctaacttttgtgcacttatcttagcctactgtaataagacagtaggtgagtta -ggtgatgttagagaaacaatgagttacttgtttcaacatgccaatttagattcttgcaaaagagtcttgaacgtggtgtg -taaaacttgtggacaacagcagacaacccttaagggtgtagaagctgttatgtacatgggcacactttcttatgaacaat -ttaagaaaggtgttcagataccttgtacgtgtggtaaacaagctacaaaatatctagtacaacaggagtcaccttttgtt -atgatgtcagcaccacctgctcagtatgaacttaagcatggtacatttacttgtgctagtgagtacactggtaattacca -gtgtggtcactataaacatataacttctaaagaaactttgtattgcatagacggtgctttacttacaaagtcctcagaat -acaaaggtcctattacggatgttttctacaaagaaaacagttacacaacaaccataaaaccagttacttataaattggat -ggtgttgtttgtacagaaattgaccctaagttggacaattattataagaaagacaattcttatttcacagagcaaccaat -tgatcttgtaccaaaccaaccatatccaaacgcaagcttcgataattttaagtttgtatgtgataatatcaaatttgctg -atgatttaaaccagttaactggttataagaaacctgcttcaagagagcttaaagttacatttttccctgacttaaatggt -gatgtggtggctattgattataaacactacacaccctcttttaagaaaggagctaaattgttacataaacctattgtttg -gcatgttaacaatgcaactaataaagccacgtataaaccaaatacctggtgtatacgttgtctttggagcacaaaaccag -ttgaaacatcaaattcgtttgatgtactgaagtcagaggacgcgcagggaatggataatcttgcctgcgaagatctaaaa -ccagtctctgaagaagtagtggaaaatcctaccatacagaaagacgttcttgagtgtaatgtgaaaactaccgaagttgt -aggagacattatacttaaaccagcaaataatagtttaaaaattacagaagaggttggccacacagatctaatggctgctt -atgtagacaattctagtcttactattaagaaacctaatgaattatctagagtattaggtttgaaaacccttgctactcat -ggtttagctgctgttaatagtgtcccttgggatactatagctaattatgctaagccttttcttaacaaagttgttagtac -aactactaacatagttacacggtgtttaaaccgtgtttgtactaattatatgccttatttctttactttattgctacaat -tgtgtacttttactagaagtacaaattctagaattaaagcatctatgccgactactatagcaaagaatactgttaagagt -gtcggtaaattttgtctagaggcttcatttaattatttgaagtcacctaatttttctaaactgataaatattataatttg -gtttttactattaagtgtttgcctaggttctttaatctactcaaccgctgctttaggtgttttaatgtctaatttaggca -tgccttcttactgtactggttacagagaaggctatttgaactctactaatgtcactattgcaacctactgtactggttct -ataccttgtagtgtttgtcttagtggtttagattctttagacacctatccttctttagaaactatacaaattaccatttc -atcttttaaatgggatttaactgcttttggcttagttgcagagtggtttttggcatatattcttttcactaggtttttct -atgtacttggattggctgcaatcatgcaattgtttttcagctattttgcagtacattttattagtaattcttggcttatg -tggttaataattaatcttgtacaaatggccccgatttcagctatggttagaatgtacatcttctttgcatcattttatta -tgtatggaaaagttatgtgcatgttgtagacggttgtaattcatcaacttgtatgatgtgttacaaacgtaatagagcaa -caagagtcgaatgtacaactattgttaatggtgttagaaggtccttttatgtctatgctaatggaggtaaaggcttttgc -aaactacacaattggaattgtgttaattgtgatacattctgtgctggtagtacatttattagtgatgaagttgcgagaga -cttgtcactacagtttaaaagaccaataaatcctactgaccagtcttcttacatcgttgatagtgttacagtgaagaatg -gttccatccatctttactttgataaagctggtcaaaagacttatgaaagacattctctctctcattttgttaacttagac -aacctgagagctaataacactaaaggttcattgcctattaatgttatagtttttgatggtaaatcaaaatgtgaagaatc -atctgcaaaatcagcgtctgtttactacagtcagcttatgtgtcaacctatactgttactagatcaggcattagtgtctg -atgttggtgatagtgcggaagttgcagttaaaatgtttgatgcttacgttaatacgttttcatcaacttttaacgtacca -atggaaaaactcaaaacactagttgcaactgcagaagctgaacttgcaaagaatgtgtccttagacaatgtcttatctac -ttttatttcagcagctcggcaagggtttgttgattcagatgtagaaactaaagatgttgttgaatgtcttaaattgtcac -atcaatctgacatagaagttactggcgatagttgtaataactatatgctcacctataacaaagttgaaaacatgacaccc -cgtgaccttggtgcttgtattgactgtagtgcgcgtcatattaatgcgcaggtagcaaaaagtcacaacattgctttgat -atggaacgttaaagatttcatgtcattgtctgaacaactacgaaaacaaatacgtagtgctgctaaaaagaataacttac -cttttaagttgacatgtgcaactactagacaagttgttaatgttgtaacaacaaagatagcacttaagggtggtaaaatt -gttaataattggttgaagcagttaattaaagttacacttgtgttcctttttgttgctgctattttctatttaataacacc -tgttcatgtcatgtctaaacatactgacttttcaagtgaaatcataggatacaaggctattgatggtggtgtcactcgtg -acatagcatctacagatacttgttttgctaacaaacatgctgattttgacacatggtttagccagcgtggtggtagttat -actaatgacaaagcttgcccattgattgctgcagtcataacaagagaagtgggttttgtcgtgcctggtttgcctggcac -gatattacgcacaactaatggtgactttttgcatttcttacctagagtttttagtgcagttggtaacatctgttacacac -catcaaaacttatagagtacactgactttgcaacatcagcttgtgttttggctgctgaatgtacaatttttaaagatgct -tctggtaagccagtaccatattgttatgataccaatgtactagaaggttctgttgcttatgaaagtttacgccctgacac -acgttatgtgctcatggatggctctattattcaatttcctaacacctaccttgaaggttctgttagagtggtaacaactt -ttgattctgagtactgtaggcacggcacttgtgaaagatcagaagctggtgtttgtgtatctactagtggtagatgggta -cttaacaatgattattacagatctttaccaggagttttctgtggtgtagatgctgtaaatttacttactaatatgtttac -accactaattcaacctattggtgctttggacatatcagcatctatagtagctggtggtattgtagctatcgtagtaacat -gccttgcctactattttatgaggtttagaagagcttttggtgaatacagtcatgtagttgcctttaatactttactattc -cttatgtcattcactgtactctgtttaacaccagtttactcattcttacctggtgtttattctgttatttacttgtactt -gacattttatcttactaatgatgtttcttttttagcacatattcagtggatggttatgttcacacctttagtacctttct -ggataacaattgcttatatcatttgtatttccacaaagcatttctattggttctttagtaattacctaaagagacgtgta -gtctttaatggtgtttcctttagtacttttgaagaagctgcgctgtgcacctttttgttaaataaagaaatgtatctaaa -gttgcgtagtgatgtgctattacctcttacgcaatataatagatacttagctctttataataagtacaagtattttagtg -gagcaatggatacaactagctacagagaagctgcttgttgtcatctcgcaaaggctctcaatgacttcagtaactcaggt -tctgatgttctttaccaaccaccacaaacctctatcacctcagctgttttgcagagtggttttagaaaaatggcattccc -atctggtaaagttgagggttgtatggtacaagtaacttgtggtacaactacacttaacggtctttggcttgatgacgtag -tttactgtccaagacatgtgatctgcacctctgaagacatgcttaaccctaattatgaagatttactcattcgtaagtct -aatcataatttcttggtacaggctggtaatgttcaactcagggttattggacattctatgcaaaattgtgtacttaagct -taaggttgatacagccaatcctaagacacctaagtataagtttgttcgcattcaaccaggacagactttttcagtgttag -cttgttacaatggttcaccatctggtgtttaccaatgtgctatgaggcccaatttcactattaagggttcattccttaat -ggttcatgtggtagtgttggttttaacatagattatgactgtgtctctttttgttacatgcaccatatggaattaccaac -tggagttcatgctggcacagacttagaaggtaacttttatggaccttttgttgacaggcaaacagcacaagcagctggta -cggacacaactattacagttaatgttttagcttggttgtacgctgctgttataaatggagacaggtggtttctcaatcga -tttaccacaactcttaatgactttaaccttgtggctatgaagtacaattatgaacctctaacacaagaccatgttgacat -actaggacctctttctgctcaaactggaattgccgttttagatatgtgtgcttcattaaaagaattactgcaaaatggta -tgaatggacgtaccatattgggtagtgctttattagaagatgaatttacaccttttgatgttgttagacaatgctcaggt -gttactttccaaagtgcagtgaaaagaacaatcaagggtacacaccactggttgttactcacaattttgacttcactttt -agttttagtccagagtactcaatggtctttgttcttttttttgtatgaaaatgcctttttaccttttgctatgggtatta -ttgctatgtctgcttttgcaatgatgtttgtcaaacataagcatgcatttctctgtttgtttttgttaccttctcttgcc -actgtagcttattttaatatggtctatatgcctgctagttgggtgatgcgtattatgacatggttggatatggttgatac -tagtttgtctggttttaagctaaaagactgtgttatgtatgcatcagctgtagtgttactaatccttatgacagcaagaa -ctgtgtatgatgatggtgctaggagagtgtggacacttatgaatgtcttgacactcgtttataaagtttattatggtaat -gctttagatcaagccatttccatgtgggctcttataatctctgttacttctaactactcaggtgtagttacaactgtcat -gtttttggccagaggtattgtttttatgtgtgttgagtattgccctattttcttcataactggtaatacacttcagtgta -taatgctagtttattgtttcttaggctatttttgtacttgttactttggcctcttttgtttactcaaccgctactttaga -ctgactcttggtgtttatgattacttagtttctacacaggagtttagatatatgaattcacagggactactcccacccaa -gaatagcatagatgccttcaaactcaacattaaattgttgggtgttggtggcaaaccttgtatcaaagtagccactgtac -agtctaaaatgtcagatgtaaagtgcacatcagtagtcttactctcagttttgcaacaactcagagtagaatcatcatct -aaattgtgggctcaatgtgtccagttacacaatgacattctcttagctaaagatactactgaagcctttgaaaaaatggt -ttcactactttctgttttgctttccatgcagggtgctgtagacataaacaagctttgtgaagaaatgctggacaacaggg -caaccttacaagctatagcctcagagtttagttcccttccatcatatgcagcttttgctactgctcaagaagcttatgag -caggctgttgctaatggtgattctgaagttgttcttaaaaagttgaagaagtctttgaatgtggctaaatctgaatttga -ccgtgatgcagccatgcaacgtaagttggaaaagatggctgatcaagctatgacccaaatgtataaacaggctagatctg -aggacaagagggcaaaagttactagtgctatgcagacaatgcttttcactatgcttagaaagttggataatgatgcactc -aacaacattatcaacaatgcaagagatggttgtgttcccttgaacataatacctcttacaacagcagccaaactaatggt -tgtcataccagactataacacatataaaaatacgtgtgatggtacaacatttacttatgcatcagcattgtgggaaatcc -aacaggttgtagatgcagatagtaaaattgttcaacttagtgaaattagtatggacaattcacctaatttagcatggcct -cttattgtaacagctttaagggccaattctgctgtcaaattacagaataatgagcttagtcctgttgcactacgacagat -gtcttgtgctgccggtactacacaaactgcttgcactgatgacaatgcgttagcttactacaacacaacaaagggaggta -ggtttgtacttgcactgttatccgatttacaggatttgaaatgggctagattccctaagagtgatggaactggtactatc -tatacagaactggaaccaccttgtaggtttgttacagacacacctaaaggtcctaaagtgaagtatttatactttattaa -aggattaaacaacctaaatagaggtatggtacttggtagtttagctgccacagtacgtctacaagctggtaatgcaacag -aagtgcctgccaattcaactgtattatctttctgtgcttttgctgtagatgctgctaaagcttacaaagattatctagct -agtgggggacaaccaatcactaattgtgttaagatgttgtgtacacacactggtactggtcaggcaataacagttacacc -ggaagccaatatggatcaagaatcctttggtggtgcatcgtgttgtctgtactgccgttgccacatagatcatccaaatc -ctaaaggattttgtgacttaaaaggtaagtatgtacaaatacctacaacttgtgctaatgaccctgtgggttttacactt -aaaaacacagtctgtaccgtctgcggtatgtggaaaggttatggctgtagttgtgatcaactccgcgaacccatgcttca -gtcagctgatgcacaatcgtttttaaacgggtttgcggtgtaagtgcagcccgtcttacaccgtgcggcacaggcactag -tactgatgtcgtatacagggcttttgacatctacaatgataaagtagctggttttgctaaattcctaaaaactaattgtt -gtcgcttccaagaaaaggacgaagatgacaatttaattgattcttactttgtagttaagagacacactttctctaactac -caacatgaagaaacaatttataatttacttaaggattgtccagctgttgctaaacatgacttctttaagtttagaataga -cggtgacatggtaccacatatatcacgtcaacgtcttactaaatacacaatggcagacctcgtctatgctttaaggcatt -ttgatgaaggtaattgtgacacattaaaagaaatacttgtcacatacaattgttgtgatgatgattatttcaataaaaag -gactggtatgattttgtagaaaacccagatatattacgcgtatacgccaacttaggtgaacgtgtacgccaagctttgtt -aaaaacagtacaattctgtgatgccatgcgaaatgctggtattgttggtgtactgacattagataatcaagatctcaatg -gtaactggtatgatttcggtgatttcatacaaaccacgccaggtagtggagttcctgttgtagattcttattattcattg -ttaatgcctatattaaccttgaccagggctttaactgcagagtcacatgttgacactgacttaacaaagccttacattaa -gtgggatttgttaaaatatgacttcacggaagagaggttaaaactctttgaccgttattttaaatattgggatcagacat -accacccaaattgtgttaactgtttggatgacagatgcattctgcattgtgcaaactttaatgttttattctctacagtg -ttcccacctacaagttttggaccactagtgagaaaaatatttgttgatggtgttccatttgtagtttcaactggatacca -cttcagagagctaggtgttgtacataatcaggatgtaaacttacatagctctagacttagttttaaggaattacttgtgt -atgctgctgaccctgctatgcacgctgcttctggtaatctattactagataaacgcactacgtgcttttcagtagctgca -cttactaacaatgttgcttttcaaactgtcaaacccggtaattttaacaaagacttctatgactttgctgtgtctaaggg -tttctttaaggaaggaagttctgttgaattaaaacacttcttctttgctcaggatggtaatgctgctatcagcgattatg -actactatcgttataatctaccaacaatgtgtgatatcagacaactactatttgtagttgaagttgttgataagtacttt -gattgttacgatggtggctgtattaatgctaaccaagtcatcgtcaacaacctagacaaatcagctggttttccatttaa -taaatggggtaaggctagactttattatgattcaatgagttatgaggatcaagatgcacttttcgcatatacaaaacgta -atgtcatccctactataactcaaatgaatcttaagtatgccattagtgcaaagaatagagctcgcaccgtagctggtgtc -tctatctgtagtactatgaccaatagacagtttcatcaaaaattattgaaatcaatagccgccactagaggagctactgt -agtaattggaacaagcaaattctatggtggttggcacaacatgttaaaaactgtttatagtgatgtagaaaaccctcacc -ttatgggttgggattatcctaaatgtgatagagccatgcctaacatgcttagaattatggcctcacttgttcttgctcgc -aaacatacaacgtgttgtagcttgtcacaccgtttctatagattagctaatgagtgtgctcaagtattgagtgaaatggt -catgtgtggcggttcactatatgttaaaccaggtggaacctcatcaggagatgccacaactgcttatgctaatagtgttt -ttaacatttgtcaagctgtcacggccaatgttaatgcacttttatctactgatggtaacaaaattgccgataagtatgtc -cgcaatttacaacacagactttatgagtgtctctatagaaatagagatgttgacacagactttgtgaatgagttttacgc -atatttgcgtaaacatttctcaatgatgatactctctgacgatgctgttgtgtgtttcaatagcacttatgcatctcaag -gtctagtggctagcataaagaactttaagtcagttctttattatcaaaacaatgtttttatgtctgaagcaaaatgttgg -actgagactgaccttactaaaggacctcatgaattttgctctcaacatacaatgctagttaaacagggtgatgattatgt -gtaccttccttacccagatccatcaagaatcctaggggccggctgttttgtagatgatatcgtaaaaacagatggtacac -ttatgattgaacggttcgtgtctttagctatagatgcttacccacttactaaacatcctaatcaggagtatgctgatgtc -tttcatttgtacttacaatacataagaaagctacatgatgagttaacaggacacatgttagacatgtattctgttatgct -tactaatgataacacttcaaggtattgggaacctgagttttatgaggctatgtacacaccgcatacagtcttacaggctg -ttggggcttgtgttctttgcaattcacagacttcattaagatgtggtgcttgcatacgtagaccattcttatgttgtaaa -tgctgttacgaccatgtcatatcaacatcacataaattagtcttgtctgttaatccgtatgtttgcaatgctccaggttg -tgatgtcacagatgtgactcaactttacttaggaggtatgagctattattgtaaatcacataaaccacccattagttttc -cattgtgtgctaatggacaagtttttggtttatataaaaatacatgtgttggtagcgataatgttactgactttaatgca -attgcaacatgtgactggacaaatgctggtgattacattttagctaacacctgtactgaaagactcaagctttttgcagc -agaaacgctcaaagctactgaggagacatttaaactgtcttatggtattgctactgtacgtgaagtgctgtctgacagag -aattacatctttcatgggaagttggtaaacctagaccaccacttaaccgaaattatgtctttactggttatcgtgtaact -aaaaacagtaaagtacaaataggagagtacacctttgaaaaaggtgactatggtgatgctgttgtttaccgaggtacaac -aacttacaaattaaatgttggtgattattttgtgctgacatcacatacagtaatgccattaagtgcacctacactagtgc -cacaagagcactatgttagaattactggcttatacccaacactcaatatctcagatgagttttctagcaatgttgcaaat -tatcaaaaggttggtatgcaaaagtattctacactccagggaccacctggtactggtaagagtcattttgctattggcct -agctctctactacccttctgctcgcatagtgtatacagcttgctctcatgccgctgttgatgcactatgtgagaaggcat -taaaatatttgcctatagataaatgtagtagaattatacctgcacgtgctcgtgtagagtgttttgataaattcaaagtg -aattcaacattagaacagtatgtcttttgtactgtaaatgcattgcctgagacgacagcagatatagttgtctttgatga -aatttcaatggccacaaattatgatttgagtgttgtcaatgccagattacgtgctaagcactatgtgtacattggcgacc -ctgctcaattacctgcaccacgcacattgctaactaagggcacactagaaccagaatatttcaattcagtgtgtagactt -atgaaaactataggtccagacatgttcctcggaacttgtcggcgttgtcctgctgaaattgttgacactgtgagtgcttt -ggtttatgataataagcttaaagcacataaagacaaatcagctcaatgctttaaaatgttttataagggtgttatcacgc -atgatgtttcatctgcaattaacaggccacaaataggcgtggtaagagaattccttacacgtaaccctgcttggagaaaa -gctgtctttatttcaccttataattcacagaatgctgtagcctcaaagattttgggactaccaactcaaactgttgattc -atcacagggctcagaatatgactatgtcatattcactcaaaccactgaaacagctcactcttgtaatgtaaacagattta -atgttgctattaccagagcaaaagtaggcatactttgcataatgtctgatagagacctttatgacaagttgcaatttaca -agtcttgaaattccacgtaggaatgtggcaactttacaagctgaaaatgtaacaggactctttaaagattgtagtaaggt -aatcactgggttacatcctacacaggcacctacacacctcagtgttgacactaaattcaaaactgaaggtttatgtgttg -acatacctggcatacctaaggacatgacctatagaagactcatctctatgatgggttttaaaatgaattatcaagttaat -ggttaccctaacatgtttatcacccgcgaagaagctataagacatgtacgtgcatggattggcttcgatgtcgaggggtg -tcatgctactagagaagctgttggtaccaatttacctttacagctaggtttttctacaggtgttaacctagttgctgtac -ctacaggttatgttgatacacctaataatacagatttttccagagttagtgctaaaccaccgcctggagatcaatttaaa -cacctcataccacttatgtacaaaggacttccttggaatgtagtgcgtataaagattgtacaaatgttaagtgacacact -taaaaatctctctgacagagtcgtatttgtcttatgggcacatggctttgagttgacatctatgaagtattttgtgaaaa -taggacctgagcgcacctgttgtctatgtgatagacgtgccacatgcttttccactgcttcagacacttatgcctgttgg -catcattctattggatttgattacgtctataatccgtttatgattgatgttcaacaatggggttttacaggtaacctaca -aagcaaccatgatctgtattgtcaagtccatggtaatgcacatgtagctagttgtgatgcaatcatgactaggtgtctag -ctgtccacgagtgctttgttaagcgtgttgactggactattgaatatcctataattggtgatgaactgaagattaatgcg -gcttgtagaaaggttcaacacatggttgttaaagctgcattattagcagacaaattcccagttcttcacgacattggtaa -ccctaaagctattaagtgtgtacctcaagctgatgtagaatggaagttctatgatgcacagccttgtagtgacaaagctt -ataaaatagaagaattattctattcttatgccacacattctgacaaattcacagatggtgtatgcctattttggaattgc -aatgtcgatagatatcctgctaattccattgtttgtagatttgacactagagtgctatctaaccttaacttgcctggttg -tgatggtggcagtttgtatgtaaataaacatgcattccacacaccagcttttgataaaagtgcttttgttaatttaaaac -aattaccatttttctattactctgacagtccatgtgagtctcatggaaaacaagtagtgtcagatatagattatgtacca -ctaaagtctgctacgtgtataacacgttgcaatttaggtggtgctgtctgtagacatcatgctaatgagtacagattgta -tctcgatgcttataacatgatgatctcagctggctttagcttgtgggtttacaaacaatttgatacttataacctctgga -acacttttacaagacttcagagtttagaaaatgtggcttttaatgttgtaaataagggacactttgatggacaacagggt -gaagtaccagtttctatcattaataacactgtttacacaaaagttgatggtgttgatgtagaattgtttgaaaataaaac -aacattacctgttaatgtagcatttgagctttgggctaagcgcaacattaaaccagtaccagaggtgaaaatactcaata -atttgggtgtggacattgctgctaatactgtgatctgggactacaaaagagatgctccagcacatatatctactattggt -gtttgttctatgactgacatagccaagaaaccaactgaaacgatttgtgcaccactcactgtcttttttgatggtagagt -tgatggtcaagtagacttatttagaaatgcccgtaatggtgttcttattacagaaggtagtgttaaaggtttacaaccat -ctgtaggtcccaaacaagctagtcttaatggagtcacattaattggagaagccgtaaaaacacagttcaattattataag -aaagttgatggtgttgtccaacaattacctgaaacttactttactcagagtagaaatttacaagaatttaaacccaggag -tcaaatggaaattgatttcttagaattagctatggatgaattcattgaacggtataaattagaaggctatgccttcgaac -atatcgtttatggagattttagtcatagtcagttaggtggtttacatctactgattggactagctaaacgttttaaggaa -tcaccttttgaattagaagattttattcctatggacagtacagttaaaaactatttcataacagatgcgcaaacaggttc -atctaagtgtgtgtgttctgttattgatttattacttgatgattttgttgaaataataaaatcccaagatttatctgtag -tttctaaggttgtcaaagtgactattgactatacagaaatttcatttatgctttggtgtaaagatggccatgtagaaaca -ttttacccaaaattacaatctagtcaagcgtggcaaccgggtgttgctatgcctaatctttacaaaatgcaaagaatgct -attagaaaagtgtgaccttcaaaattatggtgatagtgcaacattacctaaaggcataatgatgaatgtcgcaaaatata -ctcaactgtgtcaatatttaaacacattaacattagctgtaccctataatatgagagttatacattttggtgctggttct -gataaaggagttgcaccaggtacagctgttttaagacagtggttgcctacgggtacgctgcttgtcgattcagatcttaa -tgactttgtctctgatgcagattcaactttgattggtgattgtgcaactgtacatacagctaataaatgggatctcatta -ttagtgatatgtacgaccctaagactaaaaatgttacaaaagaaaatgactctaaagagggttttttcacttacatttgt -gggtttatacaacaaaagctagctcttggaggttccgtggctataaagataacagaacattcttggaatgctgatcttta -taagctcatgggacacttcgcatggtggacagcctttgttactaatgtgaatgcgtcatcatctgaagcatttttaattg -gatgtaattatcttggcaaaccacgcgaacaaatagatggttatgtcatgcatgcaaattacatattttggaggaataca -aatccaattcagttgtcttcctattctttatttgacatgagtaaatttccccttaaattaaggggtactgctgttatgtc -tttaaaagaaggtcaaatcaatgatatgattttatctcttcttagtaaaggtagacttataattagagaaaacaacagag -ttgttatttctagtgatgttcttgttaacaactaaacgaacaatgtttgtttttcttgttttattgccactagtctctag -tcagtgtgttaatcttacaaccagaactcaattaccccctgcatacactaattctttcacacgtggtgtttattaccctg -acaaagttttcagatcctcagttttacattcaactcaggacttgttcttacctttcttttccaatgttacttggttccat -gctatacatgtctctgggaccaatggtactaagaggtttgataaccctgtcctaccatttaatgatggtgtttattttgc -ttccactgagaagtctaacataataagaggctggatttttggtactactttagattcgaagacccagtccctacttattg -ttaataacgctactaatgttgttattaaagtctgtgaatttcaattttgtaatgatccatttttgggtgtttattaccac -aaaaacaacaaaagttggatggaaagtgagttcagagtttattctagtgcgaataattgcacttttgaatatgtctctca -gccttttcttatggaccttgaaggaaaacagggtaatttcaaaaatcttagggaatttgtgtttaagaatattgatggtt -attttaaaatatattctaagcacacgcctattaatttagtgcgtgatctccctcagggtttttcggctttagaaccattg -gtagatttgccaataggtattaacatcactaggtttcaaactttacttgctttacatagaagttatttgactcctggtga -ttcttcttcaggttggacagctggtgctgcagcttattatgtgggttatcttcaacctaggacttttctattaaaatata -atgaaaatggaaccattacagatgctgtagactgtgcacttgaccctctctcagaaacaaagtgtacgttgaaatccttc -actgtagaaaaaggaatctatcaaacttctaactttagagtccaaccaacagaatctattgttagatttcctaatattac -aaacttgtgcccttttggtgaagtttttaacgccaccagatttgcatctgtttatgcttggaacaggaagagaatcagca -actgtgttgctgattattctgtcctatataattccgcatcattttccacttttaagtgttatggagtgtctcctactaaa -ttaaatgatctctgctttactaatgtctatgcagattcatttgtaattagaggtgatgaagtcagacaaatcgctccagg -gcaaactggaaagattgctgattataattataaattaccagatgattttacaggctgcgttatagcttggaattctaaca -atcttgattctaaggttggtggtaattataattacctgtatagattgtttaggaagtctaatctcaaaccttttgagaga -gatatttcaactgaaatctatcaggccggtagcacaccttgtaatggtgttgaaggttttaattgttactttcctttaca -atcatatggtttccaacccactaatggtgttggttaccaaccatacagagtagtagtactttcttttgaacttctacatg -caccagcaactgtttgtggacctaaaaagtctactaatttggttaaaaacaaatgtgtcaatttcaacttcaatggttta -acaggcacaggtgttcttactgagtctaacaaaaagtttctgcctttccaacaatttggcagagacattgctgacactac -tgatgctgtccgtgatccacagacacttgagattcttgacattacaccatgttcttttggtggtgtcagtgttataacac -caggaacaaatacttctaaccaggttgctgttctttatcaggatgttaactgcacagaagtccctgttgctattcatgca -gatcaacttactcctacttggcgtgtttattctacaggttctaatgtttttcaaacacgtgcaggctgtttaataggggc -tgaacatgtcaacaactcatatgagtgtgacatacccattggtgcaggtatatgcgctagttatcagactcagactaatt -ctcctcggcgggcacgtagtgtagctagtcaatccatcattgcctacactatgtcacttggtgcagaaaattcagttgct -tactctaataactctattgccatacccacaaattttactattagtgttaccacagaaattctaccagtgtctatgaccaa -gacatcagtagattgtacaatgtacatttgtggtgattcaactgaatgcagcaatcttttgttgcaatatggcagttttt -gtacacaattaaaccgtgctttaactggaatagctgttgaacaagacaaaaacacccaagaagtttttgcacaagtcaaa -caaatttacaaaacaccaccaattaaagattttggtggttttaatttttcacaaatattaccagatccatcaaaaccaag -caagaggtcatttattgaagatctacttttcaacaaagtgacacttgcagatgctggcttcatcaaacaatatggtgatt -gccttggtgatattgctgctagagacctcatttgtgcacaaaagtttaacggccttactgttttgccacctttgctcaca -gatgaaatgattgctcaatacacttctgcactgttagcgggtacaatcacttctggttggacctttggtgcaggtgctgc -attacaaataccatttgctatgcaaatggcttataggtttaatggtattggagttacacagaatgttctctatgagaacc -aaaaattgattgccaaccaatttaatagtgctattggcaaaattcaagactcactttcttccacagcaagtgcacttgga -aaacttcaagatgtggtcaaccaaaatgcacaagctttaaacacgcttgttaaacaacttagctccaattttggtgcaat -ttcaagtgttttaaatgatatcctttcacgtcttgacaaagttgaggctgaagtgcaaattgataggttgatcacaggca -gacttcaaagtttgcagacatatgtgactcaacaattaattagagctgcagaaatcagagcttctgctaatcttgctgct -actaaaatgtcagagtgtgtacttggacaatcaaaaagagttgatttttgtggaaagggctatcatcttatgtccttccc -tcagtcagcacctcatggtgtagtcttcttgcatgtgacttatgtccctgcacaagaaaagaacttcacaactgctcctg -ccatttgtcatgatggaaaagcacactttcctcgtgaaggtgtctttgtttcaaatggcacacactggtttgtaacacaa -aggaatttttatgaaccacaaatcattactacagacaacacatttgtgtctggtaactgtgatgttgtaataggaattgt -caacaacacagtttatgatcctttgcaacctgaattagactcattcaaggaggagttagataaatattttaagaatcata -catcaccagatgttgatttaggtgacatctctggcattaatgcttcagttgtaaacattcaaaaagaaattgaccgcctc -aatgaggttgccaagaatttaaatgaatctctcatcgatctccaagaacttggaaagtatgagcagtatataaaatggcc -atggtacatttggctaggttttatagctggcttgattgccatagtaatggtgacaattatgctttgctgtatgaccagtt -gctgtagttgtctcaagggctgttgttcttgtggatcctgctgcaaatttgatgaagacgactctgagccagtgctcaaa -ggagtcaaattacattacacataaacgaacttatggatttgtttatgagaatcttcacaattggaactgtaactttgaag -caaggtgaaatcaaggatgctactccttcagattttgttcgcgctactgcaacgataccgatacaagcctcactcccttt -cggatggcttattgttggcgttgcacttcttgctgtttttcagagcgcttccaaaatcataaccctcaaaaagagatggc -aactagcactctccaagggtgttcactttgtttgcaacttgctgttgttgtttgtaacagtttactcacaccttttgctc -gttgctgctggccttgaagccccttttctctatctttatgctttagtctacttcttgcagagtataaactttgtaagaat -aataatgaggctttggctttgctggaaatgccgttccaaaaacccattactttatgatgccaactattttctttgctggc -atactaattgttacgactattgtataccttacaatagtgtaacttcttcaattgtcattacttcaggtgatggcacaaca -agtcctatttctgaacatgactaccagattggtggttatactgaaaaatgggaatctggagtaaaagactgtgttgtatt -acacagttacttcacttcagactattaccagctgtactcaactcaattgagtacagacactggtgttgaacatgttacct -tcttcatctacaataaaattgttgatgagcctgaagaacatgtccaaattcacacaatcgacggttcatccggagttgtt -aatccagtaatggaaccaatttatgatgaaccgacgacgactactagcgtgcctttgtaagcacaagctgatgagtacga -acttatgtactcattcgtttcggaagagacaggtacgttaatagttaatagcgtacttctttttcttgctttcgtggtat -tcttgctagttacactagccatccttactgcgcttcgattgtgtgcgtactgctgcaatattgttaacgtgagtcttgta -aaaccttctttttacgtttactctcgtgttaaaaatctgaattcttctagagttcctgatcttctggtctaaacgaacta -aatattatattagtttttctgtttggaactttaattttagccatggcagattccaacggtactattaccgttgaagagct -taaaaagctccttgaacaatggaacctagtaataggtttcctattccttacatggatttgtcttctacaatttgcctatg -ccaacaggaataggtttttgtatataattaagttaattttcctctggctgttatggccagtaactttagcttgttttgtg -cttgctgctgtttacagaataaattggatcaccggtggaattgctatcgcaatggcttgtcttgtaggcttgatgtggct -cagctacttcattgcttctttcagactgtttgcgcgtacgcgttccatgtggtcattcaatccagaaactaacattcttc -tcaacgtgccactccatggcactattctgaccagaccgcttctagaaagtgaactcgtaatcggagctgtgatccttcgt -ggacatcttcgtattgctggacaccatctaggacgctgtgacatcaaggacctgcctaaagaaatcactgttgctacatc -acgaacgctttcttattacaaattgggagcttcgcagcgtgtagcaggtgactcaggttttgctgcatacagtcgctaca -ggattggcaactataaattaaacacagaccattccagtagcagtgacaatattgctttgcttgtacagtaagtgacaaca -gatgtttcatctcgttgactttcaggttactatagcagagatattactaattattatgaggacttttaaagtttccattt -ggaatcttgattacatcataaacctcataattaaaaatttatctaagtcactaactgagaataaatattctcaattagat -gaagagcaaccaatggagattgattaaacgaacatgaaaattattcttttcttggcactgataacactcgctacttgtga -gctttatcactaccaagagtgtgttagaggtacaacagtacttttaaaagaaccttgctcttctggaacatacgagggca -attcaccatttcatcctctagctgataacaaatttgcactgacttgctttagcactcaatttgcttttgcttgtcctgac -ggcgtaaaacacgtctatcagttacgtgccagatcagtttcacctaaactgttcatcagacaagaggaagttcaagaact -ttactctccaatttttcttattgttgcggcaatagtgtttataacactttgcttcacactcaaaagaaagacagaatgat -tgaactttcattaattgacttctatttgtgctttttagcctttctgctattccttgttttaattatgcttattatctttt -ggttctcacttgaactgcaagatcataatgaaacttgtcacgcctaaacgaacatgaaatttcttgttttcttaggaatc -atcacaactgtagctgcatttcaccaagaatgtagtttacagtcatgtactcaacatcaaccatatgtagttgatgaccc -gtgtcctattcacttctattctaaatggtatattagagtaggagctagaaaatcagcacctttaattgaattgtgcgtgg -atgaggctggttctaaatcacccattcagtacatcgatatcggtaattatacagtttcctgtttaccttttacaattaat -tgccaggaacctaaattgggtagtcttgtagtgcgttgttcgttctatgaagactttttagagtatcatgacgttcgtgt -tgttttagatttcatctaaacgaacaaactaaaatgtctgataatggaccccaaaatcagcgaaatgcaccccgcattac -gtttggtggaccctcagattcaactggcagtaaccagaatggagaacgcagtggggcgcgatcaaaacaacgtcggcccc -aaggtttacccaataatactgcgtcttggttcaccgctctcactcaacatggcaaggaagaccttaaattccctcgagga -caaggcgttccaattaacaccaatagcagtccagatgaccaaattggctactaccgaagagctaccagacgaattcgtgg -tggtgacggtaaaatgaaagatctcagtccaagatggtatttctactacctaggaactgggccagaagctggacttccct -atggtgctaacaaagacggcatcatatgggttgcaactgagggagccttgaatacaccaaaagatcacattggcacccgc -aatcctgctaacaatgctgcaatcgtgctacaacttcctcaaggaacaacattgccaaaaggcttctacgcagaagggag -cagaggcggcagtcaagcctcttctcgttcctcatcacgtagtcgcaacagttcaagaaattcaactccaggcagcagta -ggggaacttctcctgctagaatggctggcaatggcggtgatgctgctcttgctttgctgctgcttgacagattgaaccag -cttgagagcaaaatgtctggtaaaggccaacaacaacaaggccaaactgtcactaagaaatctgctgctgaggcttctaa -gaagcctcggcaaaaacgtactgccactaaagcatacaatgtaacacaagctttcggcagacgtggtccagaacaaaccc -aaggaaattttggggaccaggaactaatcagacaaggaactgattacaaacattggccgcaaattgcacaatttgccccc -agcgcttcagcgttcttcggaatgtcgcgcattggcatggaagtcacaccttcgggaacgtggttgacctacacaggtgc -catcaaattggatgacaaagatccaaatttcaaagatcaagtcattttgctgaataagcatattgacgcatacaaaacat -tcccaccaacagagcctaaaaaggacaaaaagaagaaggctgatgaaactcaagccttaccgcagagacagaagaaacag -caaactgtgactcttcttcctgctgcagatttggatgatttctccaaacaattgcaacaatccatgagcagtgctgactc -aactcaggcctaaactcatgcagaccacacaaggcagatgggctatataaacgttttcgcttttccgtttacgatatata -gtctactcttgtgcagaatgaattctcgtaactacatagcacaagtagatgtagttaactttaatctcacatagcaatct -ttaatcagtgtgtaacattagggaggacttgaaagagccaccacattttcaccgaggccacgcggagtacgatcgagtgt -acagtgaacaatgctagggagagctgcctatatggaagagccctaatgtgtaaaattaattttagtagtgctatccccat -gtgattttaatagcttcttaggagaatgacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -``` - - - -### Credits -This post was inspired by [a Tweet](https://twitter.com/ortegaalfredo/status/1233360209181061120) posted by @ortegaalfredo. \ No newline at end of file diff --git a/_drafts/2020-04-05-Learn-To-Drive.md b/_drafts/2020-04-05-Learn-To-Drive.md deleted file mode 100644 index c4904d8..0000000 --- a/_drafts/2020-04-05-Learn-To-Drive.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: post -title: "Learn to drive an FRC robot" -description: "Commentary from someone who has never actually been on drive team" -date: 2020-04-05 12:25:00 -categories: frc -redirect_from: - - /post/eb3sltd9/ - - /eb3sltd9/ ---- - diff --git a/_drafts/2020-04-18-OBS-UDP-Streaming.md b/_drafts/2020-04-18-OBS-UDP-Streaming.md deleted file mode 100644 index 23c46fb..0000000 --- a/_drafts/2020-04-18-OBS-UDP-Streaming.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -layout: post -title: "Livestreaming a secondary computer without a capture card" -description: "If your network is anything under Gigabit, don't even bother" -date: 2020-04-18 22:00:00 -categories: random livestreaming obs -redirect_from: - - /post/ebd92td9/ - - /ebd92td9/ ---- - -I occasionally stream to [Twitch](https://www.twitch.tv/retrylife), and every time, I wish I had an HDMI capture card. The other day, I was streaming some [Warface](https://www.warface.com/en/) as a test, and devised this system for capturing my desktop, and combining it with my laptop audio & webcam feeds. \ No newline at end of file diff --git a/_drafts/2020-04-28-How-i-hacked-together-vr.md b/_drafts/2020-04-28-How-i-hacked-together-vr.md deleted file mode 100644 index 079cbda..0000000 --- a/_drafts/2020-04-28-How-i-hacked-together-vr.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: post -title: "How I hacked together a VR streaming setup without a VR rig" -description: "Probably one of the least cost-effective methods possible" -date: 2020-04-28 11:00:00 -categories: vr game livestream -redirect_from: - - /post/65sdjls4/ - - /65sdjls4/ ---- - diff --git a/_drafts/2020-05-29-VSBRO.md b/_drafts/2020-05-29-VSBRO.md deleted file mode 100644 index 9579ea0..0000000 --- a/_drafts/2020-05-29-VSBRO.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: post -title: "Reverse-engineering an IOS app and porting it to Android in under 24 hours" -description: "And accidentally wiping my profile while I'm at it" -date: 2020-05-29 22:40:00 -categories: random app flutter api -redirect_from: - - /post/65sasls4/ - - /65sasls4/ ---- - diff --git a/_drafts/2020-06-07-32u4-usart.md b/_drafts/2020-06-07-32u4-usart.md deleted file mode 100644 index fa22728..0000000 --- a/_drafts/2020-06-07-32u4-usart.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -layout: post -title: "Giving an ATmega32u4 UART capability" -description: "Sometimes a CPU has too many extra features" -date: 2020-06-07 14:15:00 -categories: avr 32u4 usart lowlevel -redirect_from: - - /post/61f9kjlf/ - - /61f9kjlf/ ---- - diff --git a/_includes/head.html b/_includes/head.html index a864a89..fabd06a 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -25,7 +25,7 @@ rel="stylesheet"> - + \ No newline at end of file diff --git a/_layouts/raw.txt b/_layouts/raw.txt deleted file mode 100644 index 59245f0..0000000 --- a/_layouts/raw.txt +++ /dev/null @@ -1 +0,0 @@ -{{content}} \ No newline at end of file diff --git a/assets/css/navigation.css b/assets/css/navigation.css index 240e185..e3404d9 100644 --- a/assets/css/navigation.css +++ b/assets/css/navigation.css @@ -2,7 +2,7 @@ --- .custom-navbar { - {% if header_red %} + {% if page.header_red %} background-color: var(--color-red)!important; {% else %} background-color: var(--color-purple)!important; diff --git a/assets/css/page.css b/assets/css/page.css index e5c802a..522ec51 100644 --- a/assets/css/page.css +++ b/assets/css/page.css @@ -4,7 +4,7 @@ .color-space{ height:40vh; - {% if header_red %} + {% if page.header_red %} background-color: var(--color-red)!important; {% else %} background-color: var(--color-purple)!important; diff --git a/blog/index.md b/blog/index.md index ddc0f48..abe64f2 100644 --- a/blog/index.md +++ b/blog/index.md @@ -1,6 +1,7 @@ --- title: Blog Posts layout: page +header_red: true ---