re-tagging things
This commit is contained in:
parent
1be5d60e26
commit
45581fdc8c
7
content/.obsidian/app.json
vendored
Normal file
7
content/.obsidian/app.json
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"newFileLocation": "folder",
|
||||
"newFileFolderPath": "blog",
|
||||
"newLinkFormat": "absolute",
|
||||
"useMarkdownLinks": true,
|
||||
"attachmentFolderPath": "./images"
|
||||
}
|
3
content/.obsidian/appearance.json
vendored
Normal file
3
content/.obsidian/appearance.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"accentColor": ""
|
||||
}
|
30
content/.obsidian/core-plugins-migration.json
vendored
Normal file
30
content/.obsidian/core-plugins-migration.json
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
{
|
||||
"file-explorer": true,
|
||||
"global-search": true,
|
||||
"switcher": true,
|
||||
"graph": true,
|
||||
"backlink": true,
|
||||
"canvas": true,
|
||||
"outgoing-link": true,
|
||||
"tag-pane": true,
|
||||
"properties": true,
|
||||
"page-preview": true,
|
||||
"daily-notes": true,
|
||||
"templates": true,
|
||||
"note-composer": true,
|
||||
"command-palette": true,
|
||||
"slash-command": true,
|
||||
"editor-status": true,
|
||||
"bookmarks": true,
|
||||
"markdown-importer": false,
|
||||
"zk-prefixer": false,
|
||||
"random-note": false,
|
||||
"outline": true,
|
||||
"word-count": true,
|
||||
"slides": false,
|
||||
"audio-recorder": false,
|
||||
"workspaces": false,
|
||||
"file-recovery": true,
|
||||
"publish": false,
|
||||
"sync": false
|
||||
}
|
22
content/.obsidian/core-plugins.json
vendored
Normal file
22
content/.obsidian/core-plugins.json
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
[
|
||||
"file-explorer",
|
||||
"global-search",
|
||||
"switcher",
|
||||
"graph",
|
||||
"backlink",
|
||||
"canvas",
|
||||
"outgoing-link",
|
||||
"tag-pane",
|
||||
"properties",
|
||||
"page-preview",
|
||||
"daily-notes",
|
||||
"templates",
|
||||
"note-composer",
|
||||
"command-palette",
|
||||
"slash-command",
|
||||
"editor-status",
|
||||
"bookmarks",
|
||||
"outline",
|
||||
"word-count",
|
||||
"file-recovery"
|
||||
]
|
3
content/.obsidian/daily-notes.json
vendored
Normal file
3
content/.obsidian/daily-notes.json
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"folder": "dailies"
|
||||
}
|
37
content/.obsidian/graph.json
vendored
Normal file
37
content/.obsidian/graph.json
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
{
|
||||
"collapse-filter": false,
|
||||
"search": "",
|
||||
"showTags": true,
|
||||
"showAttachments": true,
|
||||
"hideUnresolved": false,
|
||||
"showOrphans": true,
|
||||
"collapse-color-groups": false,
|
||||
"colorGroups": [
|
||||
{
|
||||
"query": "/draft: true/",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 14701138
|
||||
}
|
||||
},
|
||||
{
|
||||
"query": "path:blog ",
|
||||
"color": {
|
||||
"a": 1,
|
||||
"rgb": 5419488
|
||||
}
|
||||
}
|
||||
],
|
||||
"collapse-display": false,
|
||||
"showArrow": false,
|
||||
"textFadeMultiplier": 0,
|
||||
"nodeSizeMultiplier": 1.42708333333333,
|
||||
"lineSizeMultiplier": 1.171875,
|
||||
"collapse-forces": false,
|
||||
"centerStrength": 0.328125,
|
||||
"repelStrength": 14.1666666666667,
|
||||
"linkStrength": 1,
|
||||
"linkDistance": 250,
|
||||
"scale": 0.0681389455779584,
|
||||
"close": false
|
||||
}
|
1
content/.obsidian/hotkeys.json
vendored
Normal file
1
content/.obsidian/hotkeys.json
vendored
Normal file
@ -0,0 +1 @@
|
||||
{}
|
8
content/.obsidian/types.json
vendored
Normal file
8
content/.obsidian/types.json
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
{
|
||||
"types": {
|
||||
"aliases": "aliases",
|
||||
"cssclasses": "multitext",
|
||||
"tags": "tags",
|
||||
"extra": "text"
|
||||
}
|
||||
}
|
202
content/.obsidian/workspace.json
vendored
Normal file
202
content/.obsidian/workspace.json
vendored
Normal file
@ -0,0 +1,202 @@
|
||||
{
|
||||
"main": {
|
||||
"id": "4a13bd73c32bf62e",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "25944f6d53cf89cd",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "c474e8cb1cc7c081",
|
||||
"type": "leaf",
|
||||
"pinned": true,
|
||||
"state": {
|
||||
"type": "graph",
|
||||
"state": {},
|
||||
"pinned": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
},
|
||||
"left": {
|
||||
"id": "87f9bd498148ccd6",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "a077c4fabaa61c8e",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "70056c1e180364d0",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "file-explorer",
|
||||
"state": {
|
||||
"sortOrder": "alphabetical"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "b880cd0de0ca2e44",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "969926847ef967a5",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "bookmarks",
|
||||
"state": {}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 300
|
||||
},
|
||||
"right": {
|
||||
"id": "c55fe0c2b46e0688",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "286b27f5f9e3b7b8",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "1f55bef5370bc227",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "87cb3e652da1f725",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "abe62b0e033de1c8",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "tag",
|
||||
"state": {
|
||||
"sortOrder": "frequency",
|
||||
"useHierarchy": true
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "1e3a6a4ee78010f3",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {}
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "7c5365d6b7a3ba04",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "all-properties",
|
||||
"state": {
|
||||
"sortOrder": "frequency"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 300,
|
||||
"collapsed": true
|
||||
},
|
||||
"left-ribbon": {
|
||||
"hiddenItems": {
|
||||
"switcher:Open quick switcher": false,
|
||||
"graph:Open graph view": false,
|
||||
"canvas:Create new canvas": true,
|
||||
"daily-notes:Open today's daily note": true,
|
||||
"templates:Insert template": true,
|
||||
"command-palette:Open command palette": false
|
||||
}
|
||||
},
|
||||
"active": "c474e8cb1cc7c081",
|
||||
"lastOpenFiles": [
|
||||
"blog/2022-06-13-fedora-36-vp.md",
|
||||
"blog/2020-12-31-Year-wrapup.md",
|
||||
"blog/2021-09-28-frc-tech-reference.md",
|
||||
"blog/2021-12-03-quaternions.md",
|
||||
"blog/2021-07-06-Windows-SSH.md",
|
||||
"blog/2021-11-14-amprnet-bgp.md",
|
||||
"blog/2022-06-26-rickrolling-the-internet.md",
|
||||
"blog/2022-05-21-nanovna.md",
|
||||
"blog/2019-12-11-Cron.md",
|
||||
"blog/2019-08-10-Why-I-Carry-NFC.md",
|
||||
"blog/2022-01-06-unfinished-projects.md",
|
||||
"blog/2022-04-06-udm-fan.md",
|
||||
"blog/2022-06-23-steam-controller-switch.md",
|
||||
"blog/2022-01-19-monocular-blender.md",
|
||||
"blog/2023-03-21-hackernews-block-ai.md",
|
||||
"blog/2019-06-27-Python.md",
|
||||
"blog/2023-02-15-wireguard-options.md",
|
||||
"blog/2020-01-20-BrainFuckInBash.md",
|
||||
"blog/2022-05-18-commit-sync.md",
|
||||
"blog/2023-05-01-mouse-button-swap.md",
|
||||
"blog/2019-08-27-GitHub-cleanup.md",
|
||||
"blog/2020-11-6-Vortex-Core.md",
|
||||
"blog/2021-03-14-QMK-Vortex-Core.md",
|
||||
"blog/2023-03-23-aprs-usage.md",
|
||||
"blog/2022-09-09-new-domain.md",
|
||||
"blog/2020-04-20-LudumDare46.md",
|
||||
"images/posts/mouse-button-swap/PXL_20230501_234325200.jpg",
|
||||
"images/hobbies/software/games/slate_map.jpg",
|
||||
"images/hobbies/software/games/flippycat.png",
|
||||
"images/hobbies/software/games/deep_breath.png",
|
||||
"images/hobbies/robotics/robots/qbert.png",
|
||||
"images/hobbies/robotics/robots/minibot.jpg",
|
||||
"images/hobbies/robotics/robots/hatchfield.jpg",
|
||||
"images/hobbies/robotics/robots/darthraider.png",
|
||||
"images/hobbies/arts/photos/raider_names.jpg",
|
||||
"images/hobbies/arts/photos/mother_stairs.jpg",
|
||||
"images/posts/unfinished-projects/privates.json",
|
||||
"images/posts/unfinished-projects/private_to_md.py",
|
||||
"images/posts/rainbow-keyboard/kayboard.xcf",
|
||||
"images/posts/personal-pbx/phone_internet.dot",
|
||||
"images/posts/personal-pbx/my_trunks.dot",
|
||||
"images/posts/personal-pbx/magic_phones.dot",
|
||||
"images/posts/monocular-blender/demo_render.mp4",
|
||||
"images/posts/aprs-usage/igate_graphic.dot",
|
||||
"images/posts/amprnet-bgp-announce/internet_1.drawio",
|
||||
"images/hobbies/software/games"
|
||||
]
|
||||
}
|
@ -1,8 +1,10 @@
|
||||
---
|
||||
title: "Robot reveal: HATCHField"
|
||||
description: "What I have been working on for the past few months"
|
||||
title: "Robot reveal: HATCHField"
|
||||
description: What I have been working on for the past few months
|
||||
date: 2019-02-20
|
||||
tags: video
|
||||
tags:
|
||||
- video
|
||||
- frc
|
||||
draft: false
|
||||
extra:
|
||||
excerpt: HATCHField is a competitive robot built by Raider Robotics.
|
||||
|
@ -1,10 +1,13 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Hunting snakes with a shotgun"
|
||||
description: "Python is a little too forgiving"
|
||||
date: 2019-06-27
|
||||
tags: random
|
||||
alises: [https://retrylife.ca/blog/2019/06/27/python]
|
||||
title: Hunting snakes with a shotgun
|
||||
description: Python is a little too forgiving
|
||||
date: 2019-06-27
|
||||
tags:
|
||||
- random
|
||||
- python
|
||||
alises:
|
||||
- https://retrylife.ca/blog/2019/06/27/python
|
||||
---
|
||||
|
||||
A rather large number of people know me as "the guy who does weird things with python". I would object to this title, but it is quite accurate. So, here are some of the things I like playing with in python. None of these are actually breaking the language, just little known facts and syntax. At some point I will share about actually breaking the language. For now, enjoy the weird things I have found over the past 6 years.
|
||||
|
@ -1,10 +1,13 @@
|
||||
---
|
||||
layout: page
|
||||
title: "I did some cleaning"
|
||||
description: "Spring cleaning is fun when it isn't spring, and a computer does all the work"
|
||||
date: 2019-08-27
|
||||
tags: random
|
||||
aliases: [/blog/2019/08/27/github-cleanup]
|
||||
title: I did some cleaning
|
||||
description: Spring cleaning is fun when it isn't spring, and a computer does all the work
|
||||
date: 2019-08-27
|
||||
tags:
|
||||
- random
|
||||
- github
|
||||
aliases:
|
||||
- /blog/2019/08/27/github-cleanup
|
||||
---
|
||||
|
||||
As I am continuing to check items off my TODO list before school starts, I have come to an item I have been putting off for a while. **Clean up GitHub Account**. Luckily, I discovered a little trick to make the process of deleting unused repos a little easier!
|
||||
|
@ -1,15 +1,20 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Building images from binary data"
|
||||
description: "Simple, yet fun"
|
||||
date: 2019-09-11
|
||||
tags: python images
|
||||
redirect_from:
|
||||
- /post/ef7b3166/
|
||||
- /ef7b3166/
|
||||
aliases: [/blog/2019/09/11/buildingimgfrombin]
|
||||
title: Building images from binary data
|
||||
description: Simple, yet fun
|
||||
date: 2019-09-11
|
||||
tags:
|
||||
- python
|
||||
- images
|
||||
- project
|
||||
redirect_from:
|
||||
- /post/ef7b3166/
|
||||
- /ef7b3166/
|
||||
aliases:
|
||||
- /blog/2019/09/11/buildingimgfrombin
|
||||
extra:
|
||||
uses: [twitter]
|
||||
uses:
|
||||
- twitter
|
||||
---
|
||||
|
||||
During a computer science class today, we were talking about embedding code and metadata in *jpg* and *bmp* files. @exvacuum was showing off a program he wrote that watched a directory for new image files, and would display them on a canvas. He then showed us a special image. In this image, he had injected some metadata into the last few pixels, which were not rendered, but told his program where to position the image on the canvas, and it's size.
|
||||
|
@ -1,13 +1,16 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Compiling BrainFuck with a shell script"
|
||||
description: "That was easy"
|
||||
date: 2020-01-20
|
||||
tags: random
|
||||
redirect_from:
|
||||
- /post/es3v140d/
|
||||
- /es3v140d/
|
||||
aliases: [/blog/2020/01/20/brainfuckinbash]
|
||||
title: Compiling BrainFuck with a shell script
|
||||
description: That was easy
|
||||
date: 2020-01-20
|
||||
tags:
|
||||
- random
|
||||
- bash
|
||||
redirect_from:
|
||||
- /post/es3v140d/
|
||||
- /es3v140d/
|
||||
aliases:
|
||||
- /blog/2020/01/20/brainfuckinbash
|
||||
---
|
||||
|
||||
[BrainFuck](https://en.wikipedia.org/wiki/Brainfuck) is an [esoteric programming language](https://en.wikipedia.org/wiki/Esoteric_programming_language) that is surprisingly easy to implement. It is almost on the same level as "Hello, world!", but for compilers and interpreters. In this post, ill share my new little BrainFuck compiler I built with a bash script.
|
||||
|
@ -1,8 +1,10 @@
|
||||
---
|
||||
title: "Robot reveal: Darth Raider"
|
||||
description: "What I have been working on for the past few months"
|
||||
title: "Robot reveal: Darth Raider"
|
||||
description: What I have been working on for the past few months
|
||||
date: 2020-02-21
|
||||
tags: video
|
||||
tags:
|
||||
- video
|
||||
- frc
|
||||
draft: false
|
||||
extra:
|
||||
excerpt: Darth Raider is a competitive robot built by Raider Robotics.
|
||||
|
@ -1,16 +1,22 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Ludum Dare 46: Jamming with friends"
|
||||
description: "Recapping the development of *Micromanaged Mike*"
|
||||
date: 2020-04-20
|
||||
tags: gamedev gamejam team ldjam javascript
|
||||
redirect_from:
|
||||
- /post/ebsdjtd9/
|
||||
- /ebsdjtd9/
|
||||
aliases: [/blog/2020/04/20/ludumdare46]
|
||||
title: "Ludum Dare 46: Jamming with friends"
|
||||
description: Recapping the development of *Micromanaged Mike*
|
||||
date: 2020-04-20
|
||||
tags:
|
||||
- gamejam
|
||||
- ldjam
|
||||
- javascript
|
||||
- project
|
||||
redirect_from:
|
||||
- /post/ebsdjtd9/
|
||||
- /ebsdjtd9/
|
||||
aliases:
|
||||
- /blog/2020/04/20/ludumdare46
|
||||
extra:
|
||||
uses: [twitter]
|
||||
excerpt: A look back at the development of Micromanaged Mike
|
||||
uses:
|
||||
- twitter
|
||||
excerpt: A look back at the development of Micromanaged Mike
|
||||
---
|
||||
|
||||
Over the past weekend I teamed up with @rsninja722, @wm-c, @exvacuum, @marshmarlow, and our friends Sally and Matt to participate in the [LudumDare46](https://ldjam.com/events/ludum-dare/46) game jam. This post will outline the game development process.
|
||||
|
@ -1,15 +1,18 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Flashing code to a 32u4 chip"
|
||||
description: "Notes for my future self"
|
||||
date: 2020-06-05
|
||||
tags: avr 32u4 lowlevel
|
||||
redirect_from:
|
||||
- /post/65f9kjl4/
|
||||
- /65f9kjl4/
|
||||
aliases: [/blog/2020/06/05/32u4-upload]
|
||||
title: Flashing code to a 32u4 chip
|
||||
description: Notes for my future self
|
||||
date: 2020-06-05
|
||||
tags:
|
||||
- avr
|
||||
- walkthrough
|
||||
redirect_from:
|
||||
- /post/65f9kjl4/
|
||||
- /65f9kjl4/
|
||||
aliases:
|
||||
- /blog/2020/06/05/32u4-upload
|
||||
extra:
|
||||
excerpt: A reference post that explains how to flash new software to an atmega32u4 chip
|
||||
excerpt: A reference post that explains how to flash new software to an atmega32u4 chip
|
||||
---
|
||||
|
||||
The [ATmega32u4](http://ww1.microchip.com/downloads/en/devicedoc/atmel-7766-8-bit-avr-atmega16u4-32u4_datasheet.pdf) (aka. 32u4) chip is one of my favorite microcontrollers to work with. It is a low power, 8-bit, [AVR](https://en.wikipedia.org/wiki/AVR_microcontrollers)-based system developed by [Atmel](https://en.wikipedia.org/wiki/Atmel). They are commonly used in [Arduino Leonardo](https://www.arduino.cc/en/Main/Arduino_BoardLeonardo) development boards and programmed via the [Arduino IDE](https://www.arduino.cc/en/Main/Software), but I prefer having as much control over the device as I can. So I choose to program these chips directly in [AVRASM](http://ww1.microchip.com/downloads/en/devicedoc/40001917a.pdf) and [AVR-C](https://www.nongnu.org/avr-libc/user-manual/).
|
||||
|
@ -1,17 +1,20 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Compiling AVR-C code with a modern build system"
|
||||
description: "Bringing Bazel to 8-bit microcontrollers"
|
||||
date: 2020-09-03
|
||||
tags: avr embedded bazel
|
||||
title: Compiling AVR-C code with a modern build system
|
||||
description: Bringing Bazel to 8-bit microcontrollers
|
||||
date: 2020-09-03
|
||||
tags:
|
||||
- avr
|
||||
- embedded
|
||||
- bazel
|
||||
- walkthrough
|
||||
extra:
|
||||
excerpt: >-
|
||||
In this post, I cover my process of combining low level
|
||||
programming with a very high level buildsystem.
|
||||
redirect_from:
|
||||
- /post/68dk02l4/
|
||||
- /68dk02l4/
|
||||
aliases: [/blog/2020/09/03/bazel-and-avr]
|
||||
excerpt: In this post, I cover my process of combining low level programming with a very high level buildsystem.
|
||||
redirect_from:
|
||||
- /post/68dk02l4/
|
||||
- /68dk02l4/
|
||||
aliases:
|
||||
- /blog/2020/09/03/bazel-and-avr
|
||||
---
|
||||
|
||||
*The GitHub repository for everything in this post can be found [here](https://github.com/Ewpratten/avr-for-bazel-demo)*
|
||||
|
@ -1,15 +1,16 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Integrating GitHub Codespaces with FRC"
|
||||
description: "Robotics software development in your browser"
|
||||
date: 2020-09-10
|
||||
tags: github codespaces
|
||||
title: Integrating GitHub Codespaces with FRC
|
||||
description: Robotics software development in your browser
|
||||
date: 2020-09-10
|
||||
tags:
|
||||
- github
|
||||
- frc
|
||||
- project
|
||||
extra:
|
||||
excerpt: >-
|
||||
I was recently accepted into the GitHub Codespaces beta test program
|
||||
and decided to try it out on the largest open source project I am
|
||||
currently involved with.
|
||||
aliases: [/blog/2020/09/10/codespaces-for-frc]
|
||||
excerpt: "I was recently accepted into the GitHub Codespaces beta test program and decided to try it out on the largest open source project I am currently involved with. "
|
||||
aliases:
|
||||
- /blog/2020/09/10/codespaces-for-frc
|
||||
---
|
||||
|
||||
I was recently accepted into the [GitHub Codespaces](https://github.com/features/codespaces) beta test program. After reading through the documentation, I wanted to find a good use for this new tool, and decided to try it out on the largest open source project I am currently involved with. At *Raider Robotics* (@frc5024), we maintain a fairly large robotics software library called [Lib5K](https://github.com/frc5024/lib5k). The goal of this library is to provide an easy-to-use framework for new programmers to use when writing control systems code. As this library has become more complex, we have recently forked it into its own GitHub repository, and completely reworked our dependency system to match that of any other large OSS project. I figured that setting this repository up to use Codespaces might make it easier for other developers at Raider Robotics to make small changes to the library without needing to pull in the nearly 5GB of dependencies needed just to compile the codebase.
|
||||
|
@ -1,19 +1,21 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Mounting Google Drive accounts as network drives"
|
||||
description: "Easy-to-use Google Drive integration for Linux using rclone"
|
||||
date: 2020-10-15
|
||||
title: Mounting Google Drive accounts as network drives
|
||||
description: Easy-to-use Google Drive integration for Linux using rclone
|
||||
date: 2020-10-15
|
||||
written: 2020-09-22
|
||||
tags: linux workflow google
|
||||
tags:
|
||||
- linux
|
||||
- workflow
|
||||
- google
|
||||
- walkthrough
|
||||
extra:
|
||||
excerpt: >-
|
||||
I can never get the Google Drive webapp to load quickly when I need it
|
||||
to. My solution: use some command-line magic to mount my drives directly
|
||||
to my laptop's filesystem.
|
||||
redirect_from:
|
||||
- /post/XcaM0k24/
|
||||
- /XcaM0k24/
|
||||
aliases: [/blog/2020/10/15/mounting-google-drives]
|
||||
excerpt: "I can never get the Google Drive webapp to load quickly when I need it to. My solution: use some command-line magic to mount my drives directly to my laptop's filesystem."
|
||||
redirect_from:
|
||||
- /post/XcaM0k24/
|
||||
- /XcaM0k24/
|
||||
aliases:
|
||||
- /blog/2020/10/15/mounting-google-drives
|
||||
---
|
||||
|
||||
When sharing files, I use three main services. I use [Firefox Send](https://en.wikipedia.org/wiki/Firefox_Send) and [KeybaseFS](https://book.keybase.io/docs/files) to share one-off and large files with friends, and I use [Google Drive](https://drive.google.com) to store some personal files, and for everything school-related (I don't get a choice about this). For the first two services, sharing a file is as simple as calling [`ffsend`](https://github.com/timvisee/ffsend) or moving a local file into my kbfs mountpoint, and I am done. Google Drive, on the other hand, the process isn't as easy. While some Linux distributions have Google Drive integration out of the box (I miss daily-driving [ChromiumOS](https://www.chromium.org/chromium-os)), Linux users generally have to go to `drive.google.com`, and deal with the Google Drive webapp. Not sure if this is an "only me" problem, but whenever I need to quickly make a change to a document through the webapp, It decides to stop working.
|
||||
|
@ -1,17 +1,20 @@
|
||||
---
|
||||
layout: page
|
||||
title: "My first mechanical keyboard: The Vortex Core"
|
||||
description: "Just the right amount of obscure"
|
||||
date: 2020-11-06
|
||||
title: "My first mechanical keyboard: The Vortex Core"
|
||||
description: Just the right amount of obscure
|
||||
date: 2020-11-06
|
||||
written: 2020-09-28
|
||||
tags: keyboards workflow
|
||||
tags:
|
||||
- keyboards
|
||||
- workflow
|
||||
- product
|
||||
extra:
|
||||
excerpt: >-
|
||||
I recently purchased my first mechanical keyboard, and decided to go "all in" with a 40% layout.
|
||||
redirect_from:
|
||||
- /post/XlPl0k24/
|
||||
- /XlPl0k24/
|
||||
aliases: [/blog/2020/11/06/vortex-core]
|
||||
excerpt: I recently purchased my first mechanical keyboard, and decided to go "all in" with a 40% layout.
|
||||
redirect_from:
|
||||
- /post/XlPl0k24/
|
||||
- /XlPl0k24/
|
||||
aliases:
|
||||
- /blog/2020/11/06/vortex-core
|
||||
---
|
||||
|
||||
About a month ago, I decided to buy myself a mechanical keyboard. I have always been a huge fan of membrane / laptop keyboards. My current laptop (the Lenovo T480) has a very nice feel to its keyboard, and my previous laptop (the Acer R11) had the best keyboard I have ever used. The switch to mechanical wasn't my first choice, although I was open to trying something new, so didn't see it as a negative. Ever since adding another monitor to my setup, I haven't had enough room on my desk to fit a keyboard. This generally is not a problem since I mainly use my laptop, but I occasionally need to use my desktop for rendering work, which requires a separate keyboard.
|
||||
|
@ -1,17 +1,19 @@
|
||||
---
|
||||
layout: page
|
||||
title: "How I have tweaked my Minecraft client to be 'just right'"
|
||||
description: "Pushing the boundaries of a vanilla game, while being able to play on un-modified servers"
|
||||
date: 2020-12-19
|
||||
title: How I have tweaked my Minecraft client to be 'just right'
|
||||
description: Pushing the boundaries of a vanilla game, while being able to play on un-modified servers
|
||||
date: 2020-12-19
|
||||
written: 2020-12-04
|
||||
tags: project python short
|
||||
tags:
|
||||
- project
|
||||
- minecraft
|
||||
extra:
|
||||
excerpt: >-
|
||||
Over the past 10 years, I have been building the perfect Minecraft experience for myself. This post shares the collection of mods I run, and why I use them.
|
||||
redirect_from:
|
||||
- /post/gas49g43/
|
||||
- /gas49g43/
|
||||
aliases: [/blog/2020/12/19/vanilla-plus-mods]
|
||||
excerpt: Over the past 10 years, I have been building the perfect Minecraft experience for myself. This post shares the collection of mods I run, and why I use them.
|
||||
redirect_from:
|
||||
- /post/gas49g43/
|
||||
- /gas49g43/
|
||||
aliases:
|
||||
- /blog/2020/12/19/vanilla-plus-mods
|
||||
---
|
||||
|
||||
|
||||
|
@ -1,17 +1,19 @@
|
||||
---
|
||||
layout: page
|
||||
title: "2020 Wrap-Up"
|
||||
description: "I wrote a lot of code this year. This post looks back on it all"
|
||||
date: 2020-12-31
|
||||
title: 2020 Wrap-Up
|
||||
description: I wrote a lot of code this year. This post looks back on it all
|
||||
date: 2020-12-31
|
||||
written: 2020-12-09
|
||||
tags: writeup review project
|
||||
tags:
|
||||
- project
|
||||
- frc
|
||||
extra:
|
||||
excerpt: >-
|
||||
2020 has been my most productive year so far in terms of software development. This post looks back at the year
|
||||
redirect_from:
|
||||
- /post/g494l5j3/
|
||||
- /g494l5j3/
|
||||
aliases: [/blog/2020/12/31/year-wrapup]
|
||||
excerpt: 2020 has been my most productive year so far in terms of software development. This post looks back at the year
|
||||
redirect_from:
|
||||
- /post/g494l5j3/
|
||||
- /g494l5j3/
|
||||
aliases:
|
||||
- /blog/2020/12/31/year-wrapup
|
||||
---
|
||||
|
||||
*So, whats up with 2020?* For readers who do not know me personally, here is a quick overview:
|
||||
|
@ -1,17 +1,19 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Tunneling a printer from a home network to a VPN"
|
||||
description: "Using socat to port-forward between network interfaces"
|
||||
date: 2021-01-16
|
||||
title: Tunneling a printer from a home network to a VPN
|
||||
description: Using socat to port-forward between network interfaces
|
||||
date: 2021-01-16
|
||||
written: 2020-12-19
|
||||
tags: project tutorial snippet
|
||||
tags:
|
||||
- project
|
||||
- tutorial
|
||||
extra:
|
||||
excerpt: >-
|
||||
I use a self-hosted VPN to access all my devices at all times, and to deal with my school's aggressive firewall. This post explains the process I use for exposing my home printer to the VPN.
|
||||
redirect_from:
|
||||
- /post/g494ld99/
|
||||
- /g494ld99/
|
||||
aliases: [/blog/2021/01/16/printer-tunneling]
|
||||
excerpt: I use a self-hosted VPN to access all my devices at all times, and to deal with my school's aggressive firewall. This post explains the process I use for exposing my home printer to the VPN.
|
||||
redirect_from:
|
||||
- /post/g494ld99/
|
||||
- /g494ld99/
|
||||
aliases:
|
||||
- /blog/2021/01/16/printer-tunneling
|
||||
---
|
||||
|
||||
For the past few years, I have been using a self-hosted VPN to bring all my personal devices into the same "network" even though many of them are spread across various locations and physical networks. This system never gives me problems, but there was one thing I wished I could do: access non-VPN devices on other networks using one of my VPN devices as a gateway.
|
||||
|
@ -1,17 +1,19 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Using KBFS as a makeshift maven server"
|
||||
description: "A free and secure way to host personal Java libraries and applications"
|
||||
date: 2021-02-25
|
||||
title: Using KBFS as a makeshift maven server
|
||||
description: A free and secure way to host personal Java libraries and applications
|
||||
date: 2021-02-25
|
||||
written: 2021-02-22
|
||||
tags: writeup maven project
|
||||
tags:
|
||||
- maven
|
||||
- project
|
||||
extra:
|
||||
excerpt: >-
|
||||
In my never-ending hunt for a suitable solution for hosting Java libraries, I take a stop to try out Keybase Filesystem (KBFS)
|
||||
redirect_from:
|
||||
- /post/g4lk45j3/
|
||||
- /g4lk45j3/
|
||||
aliases: [/blog/2021/02/25/kbfs-maven]
|
||||
excerpt: In my never-ending hunt for a suitable solution for hosting Java libraries, I take a stop to try out Keybase Filesystem (KBFS)
|
||||
redirect_from:
|
||||
- /post/g4lk45j3/
|
||||
- /g4lk45j3/
|
||||
aliases:
|
||||
- /blog/2021/02/25/kbfs-maven
|
||||
---
|
||||
|
||||
As I continue to write more and more Java libraries for personal and public use, I keep finding myself limited by my library hosting solutions. Maven servers are currently my go-to way of storing and organizing all things Java. I have gone through a solid handful of servers over the past few years, here are my comments on each:
|
||||
|
@ -1,17 +1,21 @@
|
||||
---
|
||||
layout: page
|
||||
title: "How I flashed QMK to my Vortex Core"
|
||||
description: "Open-source firmware on a closed-source keyboard"
|
||||
title: How I flashed QMK to my Vortex Core
|
||||
description: Open-source firmware on a closed-source keyboard
|
||||
date: 2021-03-14
|
||||
written: 2021-03-14
|
||||
tags: project keyboards qmk firmware
|
||||
tags:
|
||||
- project
|
||||
- keyboards
|
||||
- firmware
|
||||
- walkthrough
|
||||
extra:
|
||||
excerpt: >-
|
||||
After having some issues with the factory firmware on my 40% keyboard, I decided to replace it with the widely used QMK firmware instead.
|
||||
redirect_from:
|
||||
- /post/gkedkd93/
|
||||
- /gkedkd93/
|
||||
aliases: [/blog/2021/03/14/qmk-vortex-core]
|
||||
excerpt: After having some issues with the factory firmware on my 40% keyboard, I decided to replace it with the widely used QMK firmware instead.
|
||||
redirect_from:
|
||||
- /post/gkedkd93/
|
||||
- /gkedkd93/
|
||||
aliases:
|
||||
- /blog/2021/03/14/qmk-vortex-core
|
||||
---
|
||||
|
||||
Last fall, I [purchased my first mechanical keyboard](/blog/2020/11/06/vortex-core), the [Vortex Core](https://mechanicalkeyboards.com/shop/index.php?l=product_detail&p=3550), and have been loving it ever since. Well, almost loving it. There are a few "quirks" of the keyboard that I wasn't super fond of, like: occasionally not sending `KEY_UP` commands back to the computer, or the badly documented and maintained system for building custom layouts.
|
||||
|
@ -1,17 +1,22 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Building a cheap APRS digipeater"
|
||||
description: "How I set up my feature-packed APRS digipeater for under $100"
|
||||
date: 2021-04-20
|
||||
title: Building a cheap APRS digipeater
|
||||
description: How I set up my feature-packed APRS digipeater for under $100
|
||||
date: 2021-04-20
|
||||
written: 2021-04-20
|
||||
tags: project raspberrypi hamradio aprs
|
||||
tags:
|
||||
- project
|
||||
- raspberrypi
|
||||
- hamradio
|
||||
- aprs
|
||||
- walkthrough
|
||||
extra:
|
||||
excerpt: >-
|
||||
Using an extra radio and some spare parts, I set up an APRS/APRS-IS/APRStt digipeater. This post covers some of the details.
|
||||
redirect_from:
|
||||
- /post/eb0klDd9/
|
||||
- /eb0klDd9/
|
||||
aliases: [/blog/2021/04/20/direwolf-aprs]
|
||||
excerpt: Using an extra radio and some spare parts, I set up an APRS/APRS-IS/APRStt digipeater. This post covers some of the details.
|
||||
redirect_from:
|
||||
- /post/eb0klDd9/
|
||||
- /eb0klDd9/
|
||||
aliases:
|
||||
- /blog/2021/04/20/direwolf-aprs
|
||||
---
|
||||
|
||||
***WARNING:** To replicate this project, you **must** be the holder of an amateur radio license in your country*
|
||||
|
@ -1,13 +1,16 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Configuring a native SSH server on Windows 10"
|
||||
description: "A tutorial for future me"
|
||||
date: 2021-07-07
|
||||
written: 2021-07-07
|
||||
tags: reference
|
||||
title: Configuring a native SSH server on Windows 10
|
||||
description: A tutorial for future me
|
||||
date: 2021-07-07
|
||||
written: 2021-07-07
|
||||
tags:
|
||||
- reference
|
||||
- tutorial
|
||||
extra:
|
||||
excerpt: I commonly need to configure SSH servers on remote Windows 10 boxes. This post covers the whole process.
|
||||
aliases: [/blog/2021/07/07/windows-ssh]
|
||||
excerpt: I commonly need to configure SSH servers on remote Windows 10 boxes. This post covers the whole process.
|
||||
aliases:
|
||||
- /blog/2021/07/07/windows-ssh
|
||||
---
|
||||
|
||||
Between work, school, and just helping various people out with things, I end up needing to quickly spin up SSH servers on windows machines *a lot*. Despite what you might think, this functionality is actually built right in to Windows 10, and fairly easy to enable.
|
||||
|
@ -1,12 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "An overview of the tech on a complex FRC robot"
|
||||
description: "Reference material for my friends"
|
||||
date: 2021-09-28
|
||||
title: An overview of the tech on a complex FRC robot
|
||||
description: Reference material for my friends
|
||||
date: 2021-09-28
|
||||
written: 2021-09-28
|
||||
tags: reference
|
||||
tags:
|
||||
- reference
|
||||
- frc
|
||||
- hardware
|
||||
extra:
|
||||
excerpt: This document is aimed at a small handful of people, but published publicly as reference material for anyone that needs it. All contents are highly specific to the FRC robotics electrical and programming environments.
|
||||
excerpt: This document is aimed at a small handful of people, but published publicly as reference material for anyone that needs it. All contents are highly specific to the FRC robotics electrical and programming environments.
|
||||
---
|
||||
|
||||
This document is aimed at a small handful of people, but published publicly as reference material for anyone that needs it. All contents are highly specific to the FRC robotics electrical and programming environments.
|
||||
|
@ -1,11 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Adventures in BGP: routing my own public IPv4 address space"
|
||||
description: "A college student, playing with the \"big boys\""
|
||||
date: 2021-11-14
|
||||
tags: reference as398057
|
||||
title: "Adventures in BGP: routing my own public IPv4 address space"
|
||||
description: A college student, playing with the "big boys"
|
||||
date: 2021-11-14
|
||||
tags:
|
||||
- reference
|
||||
- amprnet
|
||||
- bgp
|
||||
- networking
|
||||
extra:
|
||||
excerpt: This post covers the process I went through to publicly route my own /24 block of IP addresses with low-cost hardware.
|
||||
excerpt: This post covers the process I went through to publicly route my own /24 block of IP addresses with low-cost hardware.
|
||||
---
|
||||
|
||||
Your first, and possibly only question is likely: *"what?"*, and I forgive you for asking such a thing. As probably any reader of my posts knows very well, IPv4 address blocks are practically impossible to get, and more than impossible to get for personal use. To quickly clear things up, my address block is *not* for personal use, but in comparison to the majority of the internet's existing address block owners, I am basically a single person holding on to a `/24` subnet for dear life while the giants of large internet corporations are eating up everything around me.
|
||||
|
@ -1,12 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "A rusty guide to quaternions"
|
||||
description: "Fast and efficient 3D object manipulation"
|
||||
date: 2021-12-03
|
||||
tags: reference
|
||||
title: A rusty guide to quaternions
|
||||
description: Fast and efficient 3D object manipulation
|
||||
date: 2021-12-03
|
||||
tags:
|
||||
- reference
|
||||
- math
|
||||
draft: false
|
||||
extra:
|
||||
uses: [katex]
|
||||
uses:
|
||||
- katex
|
||||
excerpt: This post is an overview of Quaternions for Rust programmers, and anyone willing to learn.
|
||||
---
|
||||
|
||||
|
@ -1,12 +1,14 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Monocular depth mapping in Blender"
|
||||
description: "My 3D pipeline is backed by neural networks"
|
||||
date: 2022-01-19
|
||||
tags: random 3d-pipeline
|
||||
title: Monocular depth mapping in Blender
|
||||
description: My 3D pipeline is backed by neural networks
|
||||
date: 2022-01-19
|
||||
tags:
|
||||
- random
|
||||
- 3d-pipeline
|
||||
- python
|
||||
draft: false
|
||||
extra:
|
||||
|
||||
excerpt: This post covers the process I went through to write a Neural-Network-assisted Blender plugin for converting monocular images into 3D textured meshes.
|
||||
---
|
||||
|
||||
|
@ -1,12 +1,13 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Making my UDM-Pro scream"
|
||||
description: "Remote fan control for the Unifi Dream Machine Pro"
|
||||
title: Making my UDM-Pro scream
|
||||
description: Remote fan control for the Unifi Dream Machine Pro
|
||||
date: 2022-04-06
|
||||
tags: random
|
||||
tags:
|
||||
- random
|
||||
- hardware
|
||||
draft: false
|
||||
extra:
|
||||
|
||||
excerpt: A project review post covering my work on remote-control for the UDM-Pro cooling system
|
||||
---
|
||||
|
||||
|
@ -1,12 +1,14 @@
|
||||
---
|
||||
layout: page
|
||||
title: "The angle problem"
|
||||
description: "A look at a slightly infuriating robotics problem"
|
||||
date: 2022-04-11
|
||||
tags: robotics
|
||||
title: The angle problem
|
||||
description: A look at a slightly infuriating robotics problem
|
||||
date: 2022-04-11
|
||||
tags:
|
||||
- frc
|
||||
draft: true
|
||||
extra:
|
||||
uses: [katex]
|
||||
uses:
|
||||
- katex
|
||||
excerpt: In this post, I take a look at a mathematical problem commonly encountered with relative rotation offset calculation in robotics.
|
||||
---
|
||||
|
||||
|
@ -1,12 +1,13 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Commit syncing across hosted GIT instances"
|
||||
description: "How I keep my commit graph alive"
|
||||
title: Commit syncing across hosted GIT instances
|
||||
description: How I keep my commit graph alive
|
||||
date: 2022-05-18
|
||||
tags: random
|
||||
tags:
|
||||
- random
|
||||
- git
|
||||
draft: false
|
||||
extra:
|
||||
|
||||
auto_center_images: true
|
||||
excerpt: This post covers how to keep your commit graph alive across multiple GIT instances by syncing your commit history to magic repos.
|
||||
---
|
||||
|
@ -1,12 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Field Log: First look at the NanoVNA"
|
||||
description: "Weekends are prime radio time"
|
||||
title: "Field Log: First look at the NanoVNA"
|
||||
description: Weekends are prime radio time
|
||||
date: 2022-05-21
|
||||
tags: radio random nanovna
|
||||
tags:
|
||||
- radio
|
||||
- random
|
||||
- nanovna
|
||||
- product
|
||||
draft: false
|
||||
extra:
|
||||
|
||||
auto_center_images: true
|
||||
excerpt: I went out in the field and tried out my brand new NanoVNA.
|
||||
---
|
||||
|
@ -1,12 +1,14 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Getting Visual Paradigm to launch on Fedora 36"
|
||||
description: "Bundle your libraries correctly, kids"
|
||||
title: Getting Visual Paradigm to launch on Fedora 36
|
||||
description: Bundle your libraries correctly, kids
|
||||
date: 2022-06-13
|
||||
tags: random
|
||||
tags:
|
||||
- random
|
||||
- tutorial
|
||||
- reference
|
||||
draft: false
|
||||
extra:
|
||||
|
||||
auto_center_images: true
|
||||
excerpt: A quick guide on launching Visual Paradigm on Fedora 36
|
||||
---
|
||||
|
@ -1,12 +1,13 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Using a Steam Controller with the Nintendo Switch"
|
||||
description: "An unreasonably cursed setup for zero gain"
|
||||
title: Using a Steam Controller with the Nintendo Switch
|
||||
description: An unreasonably cursed setup for zero gain
|
||||
date: 2022-06-23
|
||||
tags: random
|
||||
tags:
|
||||
- random
|
||||
- hardware
|
||||
draft: false
|
||||
extra:
|
||||
|
||||
auto_center_images: true
|
||||
excerpt: How to flash custom firmware to the Steam Controller, allowing it to connect to the Nintendo Switch
|
||||
---
|
||||
|
@ -1,12 +1,13 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Rickrolling the internet"
|
||||
description: "Abusing ICMPv6 to inject lyrics into public routes"
|
||||
title: Rickrolling the internet
|
||||
description: Abusing ICMPv6 to inject lyrics into public routes
|
||||
date: 2022-06-26
|
||||
tags: random as398057
|
||||
tags:
|
||||
- random
|
||||
- networking
|
||||
draft: false
|
||||
extra:
|
||||
|
||||
auto_center_images: true
|
||||
excerpt: This post covers some of the logistics behind rickrolling the internet with some clever routing tricks.
|
||||
---
|
||||
|
@ -1,12 +1,13 @@
|
||||
---
|
||||
layout: page
|
||||
title: "I am my own ISP"
|
||||
description: "The next stage in my hobby network"
|
||||
title: I am my own ISP
|
||||
description: The next stage in my hobby network
|
||||
date: 2022-08-17
|
||||
tags: networking
|
||||
tags:
|
||||
- networking
|
||||
- bgp
|
||||
draft: true
|
||||
extra:
|
||||
|
||||
auto_center_images: true
|
||||
excerpt: I recently started AS398057, a low cost Autonomous System. This post talks about how its going
|
||||
---
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Website updates"
|
||||
description: "Changing a few things in the background"
|
||||
title: Website updates
|
||||
description: Changing a few things in the background
|
||||
date: 2022-09-09
|
||||
tags: website
|
||||
tags:
|
||||
- meta
|
||||
draft: false
|
||||
extra:
|
||||
|
||||
auto_center_images: true
|
||||
excerpt: A small update post about some website changes
|
||||
---
|
||||
|
@ -1,12 +1,14 @@
|
||||
---
|
||||
layout: page
|
||||
title: "An analysis of personal ASNs in the wild"
|
||||
description: "You can get a surprising amount of info from bulk whois"
|
||||
title: An analysis of personal ASNs in the wild
|
||||
description: You can get a surprising amount of info from bulk whois
|
||||
date: 2022-10-02
|
||||
tags: website network
|
||||
tags:
|
||||
- project
|
||||
- networking
|
||||
- bgp
|
||||
draft: false
|
||||
extra:
|
||||
|
||||
auto_center_images: true
|
||||
excerpt: A look at the usage of personal ASNs based on freely available data
|
||||
---
|
||||
|
@ -1,12 +1,14 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Announcing your AMPRNet prefix to Vultr with BGP"
|
||||
description: "That how-to guide everyone keeps asking me to make"
|
||||
title: Announcing your AMPRNet prefix to Vultr with BGP
|
||||
description: That how-to guide everyone keeps asking me to make
|
||||
date: 2022-10-17
|
||||
tags: amprnet network
|
||||
tags:
|
||||
- amprnet
|
||||
- networking
|
||||
- bgp
|
||||
draft: true
|
||||
extra:
|
||||
|
||||
auto_center_images: true
|
||||
excerpt: A tutorial for AMPRNet operators who are BGP announcing their first prefix to Vultr
|
||||
---
|
||||
|
@ -2,4 +2,7 @@
|
||||
title: BGP peering over a WireGuard tunnel
|
||||
description: Some notes on getting Bird and WireGuard to play nice
|
||||
draft: true
|
||||
---
|
||||
tags:
|
||||
- networking
|
||||
- bgp
|
||||
---
|
||||
|
@ -1,12 +1,14 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Announcing your AMPRNet prefix to Vultr with BGP"
|
||||
description: "That how-to guide everyone keeps asking me to make"
|
||||
title: Announcing your AMPRNet prefix to Vultr with BGP
|
||||
description: That how-to guide everyone keeps asking me to make
|
||||
date: 2022-10-17
|
||||
tags: amprnet network
|
||||
tags:
|
||||
- amprnet
|
||||
- networking
|
||||
- bgp
|
||||
draft: true
|
||||
extra:
|
||||
|
||||
auto_center_images: true
|
||||
excerpt: A tutorial for AMPRNet operators who are BGP announcing their first prefix to Vultr
|
||||
---
|
||||
|
@ -1,13 +1,14 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Crudely geo-filtering internet routes"
|
||||
description: "How I make routers drop traffic for certain countries"
|
||||
title: Crudely geo-filtering internet routes
|
||||
description: How I make routers drop traffic for certain countries
|
||||
date: 2022-11-04
|
||||
tags: network
|
||||
tags:
|
||||
- networking
|
||||
draft: true
|
||||
extra:
|
||||
auto_center_images: true
|
||||
excerpt:
|
||||
excerpt:
|
||||
---
|
||||
|
||||
Sometimes I find the need to filter internet traffic traversing my networks based on country of origin. Commonly, I find that dropping certain countries (*cough Russia*) decreases the amount of scans and attacks I see to nearly zero. Sometimes its also nice to ignore routes that pass through countries with heavy surveillance policies too.
|
||||
|
@ -1,13 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Some lesser known WireGuard settings"
|
||||
description: "Things I will probably forget in an important moment"
|
||||
title: Some lesser known WireGuard settings
|
||||
description: Things I will probably forget in an important moment
|
||||
date: 2023-02-15
|
||||
tags: random
|
||||
tags:
|
||||
- random
|
||||
- networking
|
||||
draft: false
|
||||
extra:
|
||||
auto_center_images: true
|
||||
excerpt: "This post covers some lesser known WireGuard configuration options that I have found useful"
|
||||
excerpt: This post covers some lesser known WireGuard configuration options that I have found useful
|
||||
discuss:
|
||||
reddit: https://www.reddit.com/r/ewpratten/comments/12xzvun/some_lesser_known_wireguard_settings/
|
||||
---
|
||||
|
@ -1,13 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "A script that hides AI topics from Hacker News"
|
||||
description: "Sometimes I want to read about something different"
|
||||
title: A script that hides AI topics from Hacker News
|
||||
description: Sometimes I want to read about something different
|
||||
date: 2023-03-21
|
||||
tags: random
|
||||
tags:
|
||||
- random
|
||||
- javascript
|
||||
draft: false
|
||||
extra:
|
||||
auto_center_images: true
|
||||
excerpt: "This post shows off a userscript I built that hides AI topics from Hacker News."
|
||||
excerpt: This post shows off a userscript I built that hides AI topics from Hacker News.
|
||||
discuss:
|
||||
reddit: https://www.reddit.com/r/ewpratten/comments/12xzw5x/a_script_that_hides_ai_topics_from_hacker_news/
|
||||
hacker_news: https://news.ycombinator.com/item?id=35252186
|
||||
|
@ -1,13 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "What are people actually doing with APRS?"
|
||||
description: "An analysis of worldwide APRS data"
|
||||
title: What are people actually doing with APRS?
|
||||
description: An analysis of worldwide APRS data
|
||||
date: 2023-03-23
|
||||
tags: radio
|
||||
tags:
|
||||
- radio
|
||||
- aprs
|
||||
draft: true
|
||||
extra:
|
||||
auto_center_images: true
|
||||
excerpt: "This post looks in to what radio operators are actually doing with the APRS network"
|
||||
excerpt: This post looks in to what radio operators are actually doing with the APRS network
|
||||
---
|
||||
|
||||
Sometimes I wonder how many people really use the amateur radio services I hear about.
|
||||
|
@ -1,13 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "I performed a button swap on my mouse"
|
||||
description: "This had better not be my gateway drug into custom mice"
|
||||
title: I performed a button swap on my mouse
|
||||
description: This had better not be my gateway drug into custom mice
|
||||
date: 2023-05-01
|
||||
tags: random
|
||||
tags:
|
||||
- random
|
||||
- hardware
|
||||
draft: false
|
||||
extra:
|
||||
auto_center_images: true
|
||||
excerpt: "Some photos and notes on how I swapped the middle button on my mouse"
|
||||
excerpt: Some photos and notes on how I swapped the middle button on my mouse
|
||||
discuss:
|
||||
reddit: https://www.reddit.com/r/ewpratten/comments/1356u1t/i_performed_a_button_swap_on_my_mouse/
|
||||
hacker_news: https://news.ycombinator.com/item?id=35781662
|
||||
|
@ -1,16 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Rainbow keyboard"
|
||||
description: "Game-specific keyboard layouts are really handy"
|
||||
title: Rainbow keyboard
|
||||
description: Game-specific keyboard layouts are really handy
|
||||
date: 2023-06-15
|
||||
tags: keyboards
|
||||
tags:
|
||||
- keyboards
|
||||
- random
|
||||
draft: false
|
||||
extra:
|
||||
auto_center_images: true
|
||||
excerpt: "This post shows off my custom keyboard layout for playing Rainbow Six Siege"
|
||||
# discuss:
|
||||
# reddit: https://www.reddit.com/r/ewpratten/comments/1356u1t/i_performed_a_button_swap_on_my_mouse/
|
||||
# hacker_news: https://news.ycombinator.com/item?id=35781662
|
||||
excerpt: This post shows off my custom keyboard layout for playing Rainbow Six Siege
|
||||
---
|
||||
|
||||
In my ever-continuing quest to do interesting things with custom keyboards, I recently had the idea to take the left half of my [Ferris sweep](https://github.com/davidphilipbarr/Sweep) and configure it specifically for use in the game [Rainbow Six Siege](https://en.wikipedia.org/wiki/Tom_Clancy%27s_Rainbow_Six).
|
||||
|
@ -1,16 +1,15 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Setting up a static DNF repository"
|
||||
description: "Hosting RPMs is less painful than I expected"
|
||||
title: Setting up a static DNF repository
|
||||
description: Hosting RPMs is less painful than I expected
|
||||
date: 2023-07-05
|
||||
tags: linux
|
||||
tags:
|
||||
- linux
|
||||
- walkthrough
|
||||
draft: false
|
||||
extra:
|
||||
auto_center_images: true
|
||||
excerpt: "Information on how I set up dist.ewpratten.com, my DNF repository"
|
||||
# discuss:
|
||||
# reddit: https://www.reddit.com/r/ewpratten/comments/1356u1t/i_performed_a_button_swap_on_my_mouse/
|
||||
# hacker_news: https://news.ycombinator.com/item?id=35781662
|
||||
excerpt: Information on how I set up dist.ewpratten.com, my DNF repository
|
||||
---
|
||||
|
||||
<!-- I regularly find myself bouncing between wanting to *self-host all the things* (because it is fun), and use well-known hosting services (because I generally have better things to do with my time). I doubt I'll ever actually pick one side or the other, but I have found that the back-and-fourth of `hosted, diy, hosted` leads me to learn a lot about the tools I use. -->
|
||||
|
@ -1,17 +1,21 @@
|
||||
---
|
||||
layout: page
|
||||
title: "Building a VPN with an AMPRNet BGP allocation"
|
||||
description: "A quick guide on using your shiny new AMPRNet allocation"
|
||||
title: Building a VPN with an AMPRNet BGP allocation
|
||||
description: A quick guide on using your shiny new AMPRNet allocation
|
||||
date: 2023-07-07
|
||||
tags: networking
|
||||
tags:
|
||||
- networking
|
||||
- amprnet
|
||||
- bgp
|
||||
draft: false
|
||||
extra:
|
||||
auto_center_images: true
|
||||
excerpt: "A guide on setting up a VPS, announcing a prefix over BGP, and using it as a VPN server"
|
||||
excerpt: A guide on setting up a VPS, announcing a prefix over BGP, and using it as a VPN server
|
||||
discuss:
|
||||
reddit: https://www.reddit.com/r/ewpratten/comments/14tdltu/building_a_vpn_with_an_amprnet_bgp_allocation/
|
||||
hacker_news: https://news.ycombinator.com/item?id=36635146
|
||||
uses: [mermaid]
|
||||
uses:
|
||||
- mermaid
|
||||
---
|
||||
|
||||
One of the most common emails I receive from readers of this website generally starts with:
|
||||
|
24
content/blog/2023-10-20-obsidian-blogging.md
Normal file
24
content/blog/2023-10-20-obsidian-blogging.md
Normal file
@ -0,0 +1,24 @@
|
||||
---
|
||||
layout: page
|
||||
title: Authoring Blog Posts with Obsidian
|
||||
description: Trying a new way to write for this site
|
||||
date: 2023-10-20
|
||||
tags:
|
||||
- meta
|
||||
draft: true
|
||||
extra:
|
||||
auto_center_images: true
|
||||
excerpt: A post about authoring blog posts with Obsidian
|
||||
uses:
|
||||
- mermaid
|
||||
---
|
||||
It recently occurred to me that [Obsidian](https://obsidian.md) is capable of editing *any* type of markdown document store, not just its own note "Vaults". So, as a test I've been using it to interface with the source files that make up this website.
|
||||
|
||||
This post largely exists for the sake of figuring out how Obsidian behaves when forced into an environment that doesn't entirely agree with the "obsidian way of doing things".
|
||||
|
||||
---
|
||||
- Editing extra field is hard
|
||||
- Hot reload works very nicely (with auto-save when typing!)
|
||||
- Editing properties is pretty nice
|
||||
- Graph is very good
|
||||
-
|
1
content/images
Symbolic link
1
content/images
Symbolic link
@ -0,0 +1 @@
|
||||
../static/images
|
Loading…
x
Reference in New Issue
Block a user