1
ewpratten.com/search_index.en.js
2022-12-18 17:12:33 +00:00

1 line
1.7 MiB
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

window.searchIndex = {"fields":["title","body"],"pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5","index":{"body":{"root":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":17,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951}},"df":1},"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"6":{"docs":{},"df":0,"+":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"2":{"docs":{},"df":0,"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"+":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"9":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"0":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1},"1":{"docs":{},"df":0,"9":{"docs":{},"df":0,"9":{"docs":{},"df":0,"2":{"docs":{},"df":0,"9":{"docs":{},"df":0,"1":{"docs":{},"df":0,"2":{"docs":{},"df":0,"9":{"docs":{},"df":0,"5":{"docs":{},"df":0,"1":{"docs":{},"df":0,"d":{"docs":{},"df":0,"8":{"docs":{},"df":0,"0":{"docs":{},"df":0,"6":{"docs":{},"df":0,"3":{"docs":{},"df":0,"1":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"6":{"docs":{},"df":0,"9":{"docs":{},"df":0,"f":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"7":{"docs":{},"df":0,"d":{"docs":{},"df":0,"9":{"docs":{},"df":0,"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"5":{"docs":{},"df":0,"9":{"docs":{},"df":0,"3":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{},"df":0,"3":{"docs":{},"df":0,"9":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"2":{"docs":{"https://ewpratten.com/music/retrylife/xmas-02/":{"tf":1.0}},"df":1},"\\":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"{":{"docs":{},"df":0,"b":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772}},"df":2}}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}}}},"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}}}}}},"4":{"docs":{},"df":0,"a":{"docs":{},"df":0,"1":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1,"/":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}},"x":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}},"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}},"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}}}},"1":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.449489742783178},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":2.23606797749979},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.4142135623730951}},"df":22,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0}},"df":1,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}},"4":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}},"1":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1},"6":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1},"4":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1}}}},"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}},"6":{"docs":{},"df":0,"7":{"docs":{},"df":0,"6":{"docs":{},"df":0,"5":{"docs":{},"df":0,"4":{"docs":{},"df":0,"2":{"docs":{},"df":0,"e":{"docs":{},"df":0,"+":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}}}}}}}},"6":{"docs":{},"df":0,".":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}},"8":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}},"9":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2},"c":{"docs":{},"df":0,"f":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}},"0":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":7,".":{"docs":{},"df":0,"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{},"df":0,"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,"/":{"docs":{},"df":0,"2":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}},"2":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}},"/":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1,"0":{"docs":{},"df":0,"/":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"/":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"0":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951}},"df":5},"4":{"docs":{},"df":0,"8":{"docs":{},"df":0,"5":{"docs":{},"df":0,"7":{"docs":{},"df":0,"9":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}},"5":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}},"7":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}},"8":{"docs":{},"df":0,"0":{"docs":{},"df":0,"p":{"docs":{},"df":0,"/":{"docs":{},"df":0,"6":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3}}},"1":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":5,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}},"8":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}},"1":{"docs":{},"df":0,"1":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0}},"df":1}}}}}}},"4":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}},":":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}},"2":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":3.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":4,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"b":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}},"3":{"docs":{},"df":0,"4":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}},"8":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":3},"9":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}},":":{"docs":{},"df":0,"5":{"docs":{},"df":0,"9":{"docs":{},"df":0,":":{"docs":{},"df":0,"5":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}},"\\":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"{":{"docs":{},"df":0,"b":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"{":{"docs":{},"df":0,"(":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"{":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}}},"3":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}},"4":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951}},"df":2,"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"3":{"docs":{},"df":0,"9":{"docs":{},"df":0,"m":{"docs":{},"df":0,"h":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}}}}},"5":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}},"5":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":5,"0":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1,"\\":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{},"df":0,"5":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"1":{"docs":{},"df":0,"5":{"docs":{},"df":0,"4":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"1":{"docs":{},"df":0,"5":{"docs":{},"df":0,"4":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"1":{"docs":{},"df":0,"5":{"docs":{},"df":0,"7":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":2.0}},"df":1}}}}}}}}}}}}}}}}},"3":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951}},"df":1},"6":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}}},"6":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}},"7":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1,"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}},"1":{"docs":{},"df":0,"6":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}}}}}}},"2":{"docs":{},"df":0,"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}},":":{"docs":{},"df":0,"5":{"docs":{},"df":0,"3":{"docs":{},"df":0,":":{"docs":{},"df":0,"4":{"docs":{},"df":0,"6":{"docs":{},"df":0,":":{"docs":{},"df":0,"4":{"docs":{},"df":0,"7":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1},"3":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0}},"df":1},"4":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}},"9":{"docs":{},"df":0,"7":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1},"8":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}},"8":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"0":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.4142135623730951}},"df":1}}}},"4":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}},"5":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"9":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":2,"8":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}},":":{"docs":{},"df":0,"$":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}},"\\":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}},"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"6":{"docs":{},"df":0,"5":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}},"a":{"docs":{},"df":0,"a":{"docs":{},"df":0,"5":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.7320508075688772}},"df":1}}}}},"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}},"2":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":17,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":1},"4":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}},"5":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":2.23606797749979}},"df":1},"m":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}},"7":{"docs":{},"df":0,"k":{"docs":{},"df":0,"/":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}}},"0":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951}},"df":1,"0":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1,"8":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}},"1":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/music/":{"tf":1.4142135623730951}},"df":1},"1":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1},"2":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.7320508075688772}},"df":2},"3":{"docs":{"https://ewpratten.com/music/":{"tf":1.4142135623730951}},"df":1},"4":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":2},"5":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.7320508075688772}},"df":2},"6":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.7320508075688772}},"df":4,"0":{"docs":{},"df":0,"5":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}},"7":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":3},"8":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":2.23606797749979}},"df":7,"/":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{},"df":0,"9":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}}}}},"9":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":2.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":11,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}},"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951}},"df":1}}},"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"1":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}},"2":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":8,".":{"docs":{},"df":0,"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}}}}}},"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}},"1":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":5},"2":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":5}},"5":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}},":":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}},"m":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1,"5":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}},"4":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":3},"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"g":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}},"4":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":2},"5":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951}},"df":2},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}},"6":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1},"4":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}},"7":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1},"9":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":2,"5":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}},"\\":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"{":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"0":{"docs":{},"df":0,"6":{"docs":{},"df":0,":":{"docs":{},"df":0,"a":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"5":{"docs":{},"df":0,":":{"docs":{},"df":0,"d":{"docs":{},"df":0,"2":{"docs":{},"df":0,"b":{"docs":{},"df":0,":":{"docs":{},"df":0,"c":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{},"df":0,":":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}},"3":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"7":{"docs":{},"df":0,":":{"docs":{},"df":0,"5":{"docs":{},"df":0,"4":{"docs":{},"df":0,"c":{"docs":{},"df":0,"2":{"docs":{},"df":0,":":{"docs":{},"df":0,"b":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"b":{"docs":{},"df":0,":":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"4":{"docs":{},"df":0,"8":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}},"b":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"b":{"docs":{},"df":0,":":{"docs":{},"df":0,"b":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"b":{"docs":{},"df":0,":":{"docs":{},"df":0,"b":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"b":{"docs":{},"df":0,":":{"docs":{},"df":0,"b":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"b":{"docs":{},"df":0,":":{"docs":{},"df":0,"b":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"df":0,"8":{"docs":{},"df":0,"7":{"docs":{},"df":0,"9":{"docs":{},"df":0,"7":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"6":{"docs":{},"df":0,"1":{"docs":{},"df":0,"6":{"docs":{},"df":0,"5":{"docs":{},"df":0,"4":{"docs":{},"df":0,"5":{"docs":{},"df":0,"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"d":{"docs":{},"df":0,"9":{"docs":{},"df":0,"9":{"docs":{},"df":0,"5":{"docs":{},"df":0,"a":{"docs":{},"df":0,"a":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"6":{"docs":{},"df":0,"7":{"docs":{},"df":0,"b":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"8":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{},"df":0,"1":{"docs":{},"df":0,"c":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.8284271247461903}},"df":3},"m":{"docs":{},"df":0,"0":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}},"x":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}},"3":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.23606797749979},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":13,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1},"1":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}},"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772}},"df":1}}},"6":{"docs":{},"df":0,".":{"docs":{},"df":0,"8":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}},"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772}},"df":2},"2":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}},"2":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}},"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":2.449489742783178}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}},"4":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1},"6":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1},"7":{"docs":{},"df":0,"8":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}},"9":{"docs":{"https://ewpratten.com/music/retrylife/project-39/":{"tf":1.0}},"df":1},"\\":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"{":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":2},"d":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":3.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178}},"df":2,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}},"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}},"4":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":7,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"x":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}},"0":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":3,"0":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1},"k":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}},"m":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}},"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"b":{"docs":{},"df":0,"3":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"4":{"docs":{},"df":0,"a":{"docs":{},"df":0,"9":{"docs":{},"df":0,"d":{"docs":{},"df":0,"6":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"4":{"docs":{},"df":0,"e":{"docs":{},"df":0,"0":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"6":{"docs":{},"df":0,"c":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"b":{"docs":{},"df":0,"5":{"docs":{},"df":0,"7":{"docs":{},"df":0,"2":{"docs":{},"df":0,"4":{"docs":{},"df":0,"4":{"docs":{},"df":0,"d":{"docs":{},"df":0,"0":{"docs":{},"df":0,"9":{"docs":{},"df":0,"4":{"docs":{},"df":0,"3":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,"/":{"docs":{},"df":0,"8":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}}},"3":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,"/":{"docs":{},"df":0,"1":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}}}}},"6":{"docs":{},"df":0,"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"7":{"docs":{},"df":0,".":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"/":{"docs":{},"df":0,"2":{"docs":{},"df":0,"9":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}}}}}}},"/":{"docs":{},"df":0,"8":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951}},"df":1}},"4":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"6":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2,"8":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}},"7":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"8":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}},"4":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}},"9":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1,"2":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}},"\\":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"{":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"6":{"docs":{},"df":0,"8":{"docs":{},"df":0,"4":{"docs":{},"df":0,"5":{"docs":{},"df":0,"6":{"docs":{},"df":0,"c":{"docs":{},"df":0,"7":{"docs":{},"df":0,"a":{"docs":{},"df":0,"5":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{},"df":0,"6":{"docs":{},"df":0,"9":{"docs":{},"df":0,"9":{"docs":{},"df":0,"b":{"docs":{},"df":0,"c":{"docs":{},"df":0,"7":{"docs":{},"df":0,"6":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"c":{"docs":{},"df":0,"9":{"docs":{},"df":0,"2":{"docs":{},"df":0,"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"b":{"docs":{},"df":0,"7":{"docs":{},"df":0,"a":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{},"df":0,"a":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"5":{"docs":{},"df":0,"b":{"docs":{},"df":0,"d":{"docs":{},"df":0,"3":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"7":{"docs":{},"df":0,"9":{"docs":{},"df":0,"a":{"docs":{},"df":0,"8":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}},"5":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/music/":{"tf":1.0}},"df":7,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2,"m":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}},"2":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951}},"df":5,"'":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":4}}}},"4":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1,"0":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}},"4":{"docs":{},"df":0,"7":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}},"8":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}},"a":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{},"df":0,"7":{"docs":{},"df":0,"8":{"docs":{},"df":0,"8":{"docs":{},"df":0,"3":{"docs":{},"df":0,"3":{"docs":{},"df":0,"9":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"d":{"docs":{},"df":0,"7":{"docs":{},"df":0,"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"c":{"docs":{},"df":0,"3":{"docs":{},"df":0,"8":{"docs":{},"df":0,"5":{"docs":{},"df":0,"3":{"docs":{},"df":0,"4":{"docs":{},"df":0,"6":{"docs":{},"df":0,"8":{"docs":{},"df":0,"f":{"docs":{},"df":0,"8":{"docs":{},"df":0,"9":{"docs":{},"df":0,"d":{"docs":{},"df":0,"2":{"docs":{},"df":0,"7":{"docs":{},"df":0,"5":{"docs":{},"df":0,"c":{"docs":{},"df":0,"f":{"docs":{},"df":0,"8":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"4":{"docs":{},"df":0,"9":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1},"h":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"/":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":2},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}},"6":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3,"0":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":2,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}},"2":{"docs":{},"df":0,"d":{"docs":{},"df":0,"0":{"docs":{},"df":0,"c":{"docs":{},"df":0,"4":{"docs":{},"df":0,"8":{"docs":{},"df":0,"3":{"docs":{},"df":0,"3":{"docs":{},"df":0,"7":{"docs":{},"df":0,"6":{"docs":{},"df":0,"6":{"docs":{},"df":0,"6":{"docs":{},"df":0,"7":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{},"df":0,"8":{"docs":{},"df":0,"2":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"0":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"7":{"docs":{},"df":0,"6":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"1":{"docs":{},"df":0,"6":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"3":{"docs":{},"df":0,"f":{"docs":{},"df":0,"3":{"docs":{},"df":0,"5":{"docs":{},"df":0,"1":{"docs":{},"df":0,"7":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"3":{"docs":{},"df":0,"6":{"docs":{},"df":0,"6":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}}}}},"4":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1},"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,",":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}}}},"2":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}},"7":{"docs":{},"df":0,"0":{"docs":{},"df":0,"6":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}},"8":{"docs":{},"df":0,"7":{"docs":{},"df":0,"2":{"docs":{},"df":0,"8":{"docs":{},"df":0,"9":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":1}}}}},"9":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1,"1":{"docs":{},"df":0,"7":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"x":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}},"7":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":7,"0":{"docs":{},"df":0,"3":{"docs":{},"df":0,"7":{"docs":{},"df":0,"k":{"docs":{},"df":0,"h":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}}},"1":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1},"2":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1,"5":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}},"5":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1},"5":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}},"7":{"docs":{},"df":0,"7":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"8":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":11,"\"":{"docs":{},"df":0,"?":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}},".":{"docs":{},"df":0,"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}},"3":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}},"4":{"docs":{},"df":0,"d":{"docs":{},"df":0,"8":{"docs":{},"df":0,"4":{"docs":{},"df":0,"3":{"docs":{},"df":0,"8":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}}},"5":{"docs":{},"df":0,"5":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":2}}},"9":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":7,"0":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.4142135623730951}},"df":3,")":{"docs":{},"df":0,"}":{"docs":{},"df":0,"{":{"docs":{},"df":0,"9":{"docs":{},"df":0,"0":{"docs":{},"df":0,"}":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}}}}},".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}}},"\\":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"{":{"docs":{},"df":0,"b":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}}}}}}},"^":{"docs":{},"df":0,"{":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}},"5":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":2},"6":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951}},"df":1},"7":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1},"9":{"docs":{},"df":0,"1":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"9":{"docs":{},"df":0,"7":{"docs":{},"df":0,"9":{"docs":{},"df":0,"a":{"docs":{},"df":0,"1":{"docs":{},"df":0,"7":{"docs":{},"df":0,"f":{"docs":{},"df":0,"0":{"docs":{},"df":0,"d":{"docs":{},"df":0,"5":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"f":{"docs":{},"df":0,"9":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"8":{"docs":{},"df":0,"d":{"docs":{},"df":0,"4":{"docs":{},"df":0,"7":{"docs":{},"df":0,"7":{"docs":{},"df":0,"8":{"docs":{},"df":0,"1":{"docs":{},"df":0,"5":{"docs":{},"df":0,"2":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"0":{"docs":{},"df":0,"7":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"1":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":2}}},"_":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":1,"*":{"docs":{},"df":0,"*":{"docs":{},"df":0,"4":{"docs":{},"df":0,"%":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}},"=":{"docs":{},"df":0,"[":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"(":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"z":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"z":{"docs":{},"df":0,"z":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"[":{"docs":{},"df":0,"_":{"docs":{},"df":0,"*":{"docs":{},"df":0,"_":{"docs":{},"df":0,"%":{"docs":{},"df":0,"3":{"docs":{},"df":0,"*":{"docs":{},"df":0,"4":{"docs":{},"df":0,":":{"docs":{},"df":0,"8":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":11.269427669584644}},"df":1,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"u":{"docs":{},"df":0,"4":{"docs":{},"df":0,"_":{"docs":{},"df":0,"_":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"_":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":1,"(":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":2}}}}}}}}}}},"p":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"_":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}}}}}}}}}},"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1,"(":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"(":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"r":{"docs":{},"df":0,"x":{"docs":{},"df":0,"(":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1},"2":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"df":0,"0":{"docs":{},"df":0,"]":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"(":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"1":{"docs":{},"df":0,"]":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"(":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"]":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"(":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"(":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}}}},"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1,"(":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"(":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"(":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"*":{"docs":{},"df":0,"b":{"docs":{},"df":0,"^":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/python/":{"tf":2.0}},"df":1}}}},"+":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951}},"df":1}},",":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}},".":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}},"/":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"c":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":8}},"o":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":15,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"(":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0}},"df":1,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.8284271247461903}},"df":1}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":2}}},"r":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":2}}},"c":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951}},"df":1,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":4}},"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":14,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":2}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":3.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":17,"(":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}},"r":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":2}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951}},"df":2}},"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"y":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":7,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":6,"_":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":5}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.23606797749979},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":29}}}}},"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.23606797749979},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":13,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}},"d":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":2.23606797749979},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":16,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951}},"df":1,"1":{"docs":{},"df":0,"(":{"docs":{},"df":0,"a":{"docs":{},"df":0,":":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}}}}}}},"2":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":4}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}},"r":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":4.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":2.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":3.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":12}}}}},"j":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":2.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":6,"@":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{},"df":0,"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1,"r":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}}}}}}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951}},"df":1}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.7320508075688772}},"df":3},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":6}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":2}}}}}}}},"g":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":2,"6":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":15,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2}}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"o":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":11}},"i":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"0":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":3},"r":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.7320508075688772}},"df":4}},"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"k":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":3}},"l":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/music/":{"tf":1.7320508075688772}},"df":1}}},"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":5}}}}}}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"w":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":3.7416573867739413},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":4},"w":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":2.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.449489742783178},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":33,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2,"g":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":18,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":3}}}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":12}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":4}}}}},"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":9}}}}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":11}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.449489742783178},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.7320508075688772}},"df":7}}},"u":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}},"z":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":6,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":4}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":11}}}},"p":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.4142135623730951},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":10,";":{"docs":{},"df":0,"&":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":3.0}},"df":3}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"w":{"docs":{},"df":0,".":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":3.872983346207417}},"df":1}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0}},"df":2},"z":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}},"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0}},"df":1}}}}},"g":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":3}},"i":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/vfx/":{"tf":1.0}},"df":7}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":3.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":3}}},"y":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":3}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":14}}},"s":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":4}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":2.23606797749979},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":2}}}},"i":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":2}}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":14}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":11}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":5}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":6}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}},"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":2.23606797749979},"https://ewpratten.com/blog/cron/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/devdns/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gamels/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":2.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.7416573867739413},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":12,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"3":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{},"df":0,"9":{"docs":{},"df":0,"1":{"docs":{},"df":0,"7":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}},"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951}},"df":8,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1},"r":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":5}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951}},"df":2,"i":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.4142135623730951},"https://ewpratten.com/music/evan-pratten/channels/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/festive-duality/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/radioactive/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/scale-hop/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"tf":1.0},"https://ewpratten.com/music/retrylife/bring-the-onslaught/":{"tf":1.0},"https://ewpratten.com/music/retrylife/death-among-us/":{"tf":1.0},"https://ewpratten.com/music/retrylife/explosive-xmas/":{"tf":1.0},"https://ewpratten.com/music/retrylife/flare/":{"tf":1.0},"https://ewpratten.com/music/retrylife/gifted/":{"tf":1.0},"https://ewpratten.com/music/retrylife/hidden-forest/":{"tf":1.0},"https://ewpratten.com/music/retrylife/hypernova/":{"tf":1.0},"https://ewpratten.com/music/retrylife/insanitorium/":{"tf":1.0},"https://ewpratten.com/music/retrylife/intergalactic-swirlz/":{"tf":1.0},"https://ewpratten.com/music/retrylife/lemons/":{"tf":1.0},"https://ewpratten.com/music/retrylife/memories/":{"tf":1.0},"https://ewpratten.com/music/retrylife/reborn/":{"tf":1.0},"https://ewpratten.com/music/retrylife/the-eternal/":{"tf":1.0},"https://ewpratten.com/music/retrylife/xmas-02/":{"tf":1.0}},"df":24,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":6,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":12,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"x":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951}},"df":2}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":4}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":4}}}}}},"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":4,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.0}},"df":1}}},"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.23606797749979},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":5}},"r":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":3}}}}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}},"h":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.4142135623730951}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":5}}}}}},"v":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"(":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}}}}}},"d":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772}},"df":1},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":6}}}}},"e":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":4},"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2}},"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"g":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772}},"df":2,"1":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":2.6457513110645907}},"df":1},"c":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":10}}}}},"v":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":2}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951}},"df":1}},"m":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":3,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1},"7":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":2}},"8":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.7320508075688772},"https://ewpratten.com/products/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":30}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":3}},"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":5}}},"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/music/":{"tf":1.0}},"df":5,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":2.0}},"df":2}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":2.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":3.7416573867739413}},"df":5,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"'":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":1},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1,"(":{"docs":{},"df":0,"[":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":1}}},".":{"docs":{},"df":0,".":{"docs":{},"df":0,".":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,".":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"1":{"docs":{},"df":0,"5":{"docs":{},"df":0,"5":{"docs":{},"df":0,"6":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}},"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{},"df":0,"4":{"docs":{},"df":0,"6":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}},"5":{"docs":{},"df":0,"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.4142135623730951}},"df":2}}}},"9":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}},"d":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":6}},"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":2.23606797749979},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":9},"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.0},"https://ewpratten.com/blog/personal-ases/":{"tf":3.605551275463989},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.4142135623730951}},"df":3},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":2}}},"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.449489742783178},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":5}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772}},"df":4}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":6}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":10}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951}},"df":1}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"u":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":5}}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":6}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"y":{"docs":{},"df":0,"8":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":2,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"(":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"(":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}},"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"(":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"(":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"(":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.449489742783178},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":7}}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":4}}}},"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":3.3166247903554}},"df":2,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0}},"df":1}}}}},"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"=":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.23606797749979},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":5}}},"m":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0}},"df":3,"=":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"@":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}},"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"@":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":8,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}}}}}}}},"b":{"docs":{},"df":0,"c":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"m":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951}},"df":6,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.7320508075688772},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/timeline/":{"tf":1.0}},"df":16}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.449489742783178},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.23606797749979},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":9}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/channels/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/festive-duality/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/radioactive/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/scale-hop/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"tf":1.0},"https://ewpratten.com/music/retrylife/bring-the-onslaught/":{"tf":1.0},"https://ewpratten.com/music/retrylife/death-among-us/":{"tf":1.0},"https://ewpratten.com/music/retrylife/explosive-xmas/":{"tf":1.0},"https://ewpratten.com/music/retrylife/flare/":{"tf":1.0},"https://ewpratten.com/music/retrylife/gifted/":{"tf":1.0},"https://ewpratten.com/music/retrylife/hidden-forest/":{"tf":1.0},"https://ewpratten.com/music/retrylife/hypernova/":{"tf":1.0},"https://ewpratten.com/music/retrylife/insanitorium/":{"tf":1.0},"https://ewpratten.com/music/retrylife/intergalactic-swirlz/":{"tf":1.0},"https://ewpratten.com/music/retrylife/lemons/":{"tf":1.0},"https://ewpratten.com/music/retrylife/memories/":{"tf":1.0},"https://ewpratten.com/music/retrylife/reborn/":{"tf":1.0},"https://ewpratten.com/music/retrylife/the-eternal/":{"tf":1.0},"https://ewpratten.com/music/retrylife/xmas-02/":{"tf":1.0},"https://ewpratten.com/timeline/":{"tf":1.0}},"df":29}},"l":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}},"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"r":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":3.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":4.358898943540674},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951}},"df":4,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"z":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772}},"df":1}}}},"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}},"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":2}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951}},"df":1,"d":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":3,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"y":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":7}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":1}}}}},"x":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":1,"i":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":2.8284271247461903}},"df":2}}},"b":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.8284271247461903},"https://ewpratten.com/music/":{"tf":1.4142135623730951}},"df":4,"2":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1},"5":{"docs":{},"df":0,"7":{"docs":{},"df":0,"6":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}}},"9":{"docs":{},"df":0,"d":{"docs":{},"df":0,"7":{"docs":{},"df":0,"5":{"docs":{},"df":0,"8":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}}},":":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}}}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":2.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":27,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"z":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":2.23606797749979}},"df":5}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":2.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":2.449489742783178},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":5}}}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":3}}}},"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":4,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}}},"g":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951}},"df":1},"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":2.0}},"df":1,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":2.0},"https://ewpratten.com/photography/weatherballoon/":{"tf":1.0}},"df":2,"":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.7320508075688772}},"df":5}},"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.23606797749979},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":2}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}},"r":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":4,"e":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.449489742783178},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.605551275463989},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.23606797749979},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":26,"6":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}},"8":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":2.449489742783178}},"df":1}},"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}},"h":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":2.23606797749979}},"df":6,"'":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":2.6457513110645907}},"df":1}}}}}},"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1,"c":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":19}},"s":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}}},"z":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":2.0}},"df":1,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":4.242640687119285},"https://ewpratten.com/blog/corepack-development/":{"tf":2.449489742783178},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":2.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772}},"df":5,"'":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":2},"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772}},"df":1}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,":":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"z":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0}},"df":1}}}}}},"b":{"docs":{},"df":0,"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.23606797749979},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":27,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3}}},"d":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1},"l":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/photography/weatherballoon/":{"tf":1.0}},"df":3},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/music/":{"tf":1.0}},"df":7,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":25,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":4}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2,"{":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":1}}}}},"b":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":2,"}":{"docs":{},"df":0,"(":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}},"0":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951}},"df":1},"\\":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951}},"df":1}}}}}},"m":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":3}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":10}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}},"w":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":8}}},"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2,"'":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":4}},"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":3}},"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"a":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.23606797749979},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":13,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}},"f":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":19}}}}},"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.7320508075688772}},"df":1,"c":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":4.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":2,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772}},"df":1,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":1}}}}}},"g":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":8,"[":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"{":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":2},"1":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772}},"df":1},"3":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1},"\\":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.7320508075688772}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.7320508075688772}},"df":1}}},"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":2,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":2}}}}},"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":3.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":7}}},"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0}},"df":1},"f":{"docs":{},"df":0,"m":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}},"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":26,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":3.872983346207417}},"df":2}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951}},"df":1,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":2}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1},"k":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":4,"i":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772}},"df":1}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":3.3166247903554},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":11}},"g":{"docs":{"https://ewpratten.com/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/notes/":{"tf":1.0}},"df":7},"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":1}},"w":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}},"m":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1,"p":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":6}}},"d":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":5,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/32u4-upload/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951}},"df":3}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":3}}}}}}},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951}},"df":3}}},"e":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":4},"n":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}},"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":5,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":31,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":7}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/":{"tf":1.0}},"df":1},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}},"x":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.23606797749979}},"df":3,"'":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":2.449489742783178}},"df":1}}}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.7320508075688772}},"df":2}},"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":4}},"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":1},"k":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951}},"df":8,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":2.23606797749979}},"df":3}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951}},"df":1}},"d":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":3}},"e":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/music/retrylife/bring-the-onslaught/":{"tf":1.0}},"df":10}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":2}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":5}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":3}}}},"w":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1},"s":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951}},"df":5}}}}}},"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1,"=":{"docs":{},"df":0,"5":{"docs":{},"df":0,"1":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}},"d":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":2.449489742783178}},"df":1,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}}}},":":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951}},"df":1,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.7320508075688772}},"df":2}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951}},"df":1}}}},"g":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":2.23606797749979},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":3.605551275463989},"https://ewpratten.com/blog/billwurtz/":{"tf":2.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":2.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":4.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.449489742783178},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.6457513110645907},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/":{"tf":1.0}},"df":31,":":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772}},"df":1}}}}}}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.23606797749979},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":5}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":21}}},"l":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.4142135623730951}},"df":7}},"d":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":2},"s":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":5}}}},"y":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":4,"b":{"docs":{},"df":0,"y":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951}},"df":1}}}}}}},"c":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":2.449489742783178},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/commit-sync/":{"tf":2.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":20,"/":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}},"0":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1,":":{"docs":{},"df":0,":":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"8":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1},"9":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1},"a":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1},"b":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1},"c":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1},"d":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}},"4":{"docs":{},"df":0,"d":{"docs":{},"df":0,"9":{"docs":{},"df":0,"7":{"docs":{},"df":0,"8":{"docs":{},"df":0,"c":{"docs":{},"df":0,"5":{"docs":{},"df":0,"d":{"docs":{},"df":0,"0":{"docs":{},"df":0,"9":{"docs":{},"df":0,"8":{"docs":{},"df":0,"8":{"docs":{},"df":0,"4":{"docs":{},"df":0,"6":{"docs":{},"df":0,"b":{"docs":{},"df":0,"8":{"docs":{},"df":0,"a":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"5":{"docs":{},"df":0,"c":{"docs":{},"df":0,"5":{"docs":{},"df":0,"b":{"docs":{},"df":0,"6":{"docs":{},"df":0,"d":{"docs":{},"df":0,"3":{"docs":{},"df":0,"f":{"docs":{},"df":0,"4":{"docs":{},"df":0,"2":{"docs":{},"df":0,"b":{"docs":{},"df":0,"3":{"docs":{},"df":0,"8":{"docs":{},"df":0,"9":{"docs":{},"df":0,"c":{"docs":{},"df":0,"6":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"7":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"\\":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,":":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,":":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":4}},"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":7}},"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0}},"df":2}}},"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":2.23606797749979},"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":2.0},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.449489742783178},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":2.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":2.23606797749979},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":39,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":2}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":12,"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":7,"'":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951}},"df":1}}}},"p":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1,"u":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":6}},"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":3},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951}},"df":1}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951}},"df":1}}},"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951}},"df":5}},"c":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951}},"df":1}}},"e":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.7320508075688772}},"df":2},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.8284271247461903}},"df":2}}}},"r":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":3.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":3.3166247903554},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":8,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":7},"i":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951}},"df":1}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":2.8284271247461903},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":12},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}},"s":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":10}},"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2},"r":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"9":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}}}},"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772}},"df":1}}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1,"(":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.449489742783178},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":4,"n":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951}},"df":2}}},"e":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":2}},"r":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":1}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":5}}}}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/becomeranter/":{"tf":2.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":18},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":2.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/channels/":{"tf":1.4142135623730951}},"df":7}}}},"o":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.449489742783178}},"df":1}}}}}}}}}}},"r":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":5,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}}},"g":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":2},"t":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":4}},"t":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/contact/":{"tf":1.0}},"df":5,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951}},"df":1}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":2.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":22}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951}},"df":1,"'":{"docs":{"https://ewpratten.com/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}},"p":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.0}},"df":2}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":12}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":10}},"s":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":7,"n":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/music/retrylife/explosive-xmas/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":2,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":2.0}},"df":3}},"x":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.7320508075688772}},"df":2}}}},"o":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772}},"df":1,"s":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":1,"o":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":2}}}}},"n":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/timeline/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":3}}}},"i":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"~":{"docs":{},"df":0,"8":{"docs":{},"df":0,"9":{"docs":{},"df":0,"y":{"docs":{},"df":0,"f":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"w":{"docs":{},"df":0,"1":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"b":{"docs":{},"df":0,"j":{"docs":{},"df":0,"q":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"*":{"docs":{},"df":0,"w":{"docs":{},"df":0,"6":{"docs":{},"df":0,"$":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"7":{"docs":{},"df":0,"#":{"docs":{},"df":0,"$":{"docs":{},"df":0,"z":{"docs":{},"df":0,"u":{"docs":{},"df":0,"9":{"docs":{},"df":0,"u":{"docs":{},"df":0,"2":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"5":{"docs":{},"df":0,"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"8":{"docs":{},"df":0,"n":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"}":{"docs":{},"df":0,"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"j":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":4}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":3.872983346207417},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":12,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":2}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}}},"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":2}}}},"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":2,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/donate/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/network/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.0}},"df":9,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.23606797749979},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.449489742783178},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":14,"'":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}},"j":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.449489742783178},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":7}},"s":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":6,"r":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":1}},"u":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}},"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1},"e":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}}},"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0}},"df":1}}},"c":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}},"o":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1,"d":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":2.0}},"df":1,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/billwurtz/":{"tf":2.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":2.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":2.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.23606797749979},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.23606797749979},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":2.449489742783178},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":38,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951}},"df":3}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":3.1622776601683795}},"df":1}}},"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}}}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}}}}}}}},"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/music/":{"tf":1.0},"https://ewpratten.com/photography/":{"tf":1.0}},"df":7}},"g":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":3}},"i":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":2},"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.23606797749979},"https://ewpratten.com/blog/styiling-github/":{"tf":2.23606797749979},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":6,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"#":{"docs":{},"df":0,"7":{"docs":{},"df":0,"a":{"docs":{},"df":0,"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"e":{"docs":{},"df":0,"5":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"7":{"docs":{},"df":0,"e":{"docs":{},"df":0,"5":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}},"8":{"docs":{},"df":0,"2":{"docs":{},"df":0,"a":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"7":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}},"b":{"docs":{},"df":0,"4":{"docs":{},"df":0,"b":{"docs":{},"df":0,"4":{"docs":{},"df":0,"b":{"docs":{},"df":0,"4":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,":":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,":":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":3}}},"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":23,"d":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":2}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":3.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":2.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":22,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":3}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":3}}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":4.58257569495584},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":4,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951}},"df":1}}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":9,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":5}}}},"u":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":5,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772}},"df":4}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":6}},"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/music/":{"tf":1.0}},"df":5}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":3.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":2.23606797749979},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":2.449489742783178},"https://ewpratten.com/blog/python/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.23606797749979},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":17,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951}},"df":16},"x":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":5}},"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":5}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":5},"s":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.449489742783178},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":28,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"(":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0}},"df":1}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}},"n":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":2}}}},"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":8}},"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1},"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":5}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}},"e":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1},"f":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772}},"df":1}},"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772}},"df":7,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951}},"df":1,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772}},"df":1}}}}}}}},"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"3":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}}}}}}}},"=":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}},"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.23606797749979},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":2.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.7320508075688772}},"df":21}}},"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":3}}},"j":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":1}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.449489742783178},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.23606797749979},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":15,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772}},"df":1}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}},"q":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":5}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":4}},"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":2}}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":4,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":1}}}}}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.7320508075688772},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":8,"@":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":3.605551275463989},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.4142135623730951}},"df":22,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":17}},"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951}},"df":2}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":13}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":3,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.7320508075688772}},"df":3}}}}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.449489742783178},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.449489742783178},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":4.123105625617661},"https://ewpratten.com/blog/udm-fan/":{"tf":2.23606797749979},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":24}}}},"v":{"docs":{},"df":0,"=":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,",":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":7},"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":2},"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":12}}}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":10},"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":7}}}}},"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.449489742783178},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":10},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0}},"df":1}}}}}}}},"y":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":3.872983346207417},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":12,"'":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951}},"df":2},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":5,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":3}}}}}}}},"s":{"docs":{},"df":0,"(":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"{":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"}":{"docs":{},"df":0,"{":{"docs":{},"df":0,"1":{"docs":{},"df":0,"8":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951}},"df":3}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951}},"df":2}},"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.7320508075688772}},"df":3},"y":{"docs":{},"df":0,"=":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":12}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":6,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1}}},"x":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}},"p":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1},"u":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.23606797749979}},"df":3,"=":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}},"q":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":2},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":4}},"w":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"z":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":6}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.449489742783178},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":24,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"f":{"docs":{},"df":0,"d":{"docs":{},"df":0,"5":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":2}},"v":{"docs":{"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0}},"df":2}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":3}}},"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}},"i":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":2}}}},"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{"https://ewpratten.com/projects/chromebooks/":{"tf":1.7320508075688772}},"df":1,"n":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":2.449489742783178},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":4,"'":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1},"(":{"docs":{},"df":0,"8":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.7320508075688772}},"df":1,"(":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":4,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"=":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,":":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}}}}},"p":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772}},"df":1,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1,"}":{"docs":{},"df":0,"/":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"s":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":2.0}},"df":4,"+":{"docs":{},"df":0,"j":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"3":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.7320508075688772}},"df":1},"r":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.449489742783178}},"df":1,"e":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.23606797749979},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":3},"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951}},"df":6}},"x":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"(":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1},"u":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":4}}},"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":6},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":1},"t":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":2.23606797749979},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":18}}}},"s":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":2.6457513110645907}},"df":1,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,":":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":2.0}},"df":1}}}}}},"v":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.6457513110645907}},"df":1}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.449489742783178},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.449489742783178},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":21,"i":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1}}}}}},"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":2}},"v":{"docs":{},"df":0,"6":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"w":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":2},"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"df":0,"k":{"docs":{},"df":0,"b":{"docs":{},"df":0,"1":{"docs":{},"df":0,"7":{"docs":{},"df":0,"5":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"0":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}}}},"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/pwnlink/":{"tf":2.23606797749979},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":7,"8":{"docs":{},"df":0,"9":{"docs":{},"df":0,"4":{"docs":{},"df":0,"3":{"docs":{},"df":0,"8":{"docs":{},"df":0,"7":{"docs":{},"df":0,"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{},"df":0,"5":{"docs":{},"df":0,"8":{"docs":{},"df":0,"d":{"docs":{},"df":0,"2":{"docs":{},"df":0,"3":{"docs":{},"df":0,"1":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"6":{"docs":{},"df":0,"5":{"docs":{},"df":0,"5":{"docs":{},"df":0,"9":{"docs":{},"df":0,"6":{"docs":{},"df":0,"3":{"docs":{},"df":0,"6":{"docs":{},"df":0,"1":{"docs":{},"df":0,"6":{"docs":{},"df":0,"9":{"docs":{},"df":0,"f":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"6":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3}},"s":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":2.23606797749979}},"df":3},"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2,"d":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951}},"df":2,"h":{"docs":{"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.7320508075688772}},"df":4}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":2}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":2.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":2.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":2.449489742783178},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":3.7416573867739413},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":3.605551275463989},"https://ewpratten.com/blog/shift2/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":2.23606797749979},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":23,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951}},"df":1}}}}},":":{"docs":{},"df":0,":":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":2.23606797749979}},"df":2}}}}}},"_":{"docs":{},"df":0,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":3}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951}},"df":1}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"e":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":6,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"$":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}},"y":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":3.3166247903554},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":21}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"=":{"docs":{},"df":0,"9":{"docs":{},"df":0,"6":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}}}}}}},"c":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":2}},"d":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"0":{"docs":{},"df":0,"8":{"docs":{},"df":0,"2":{"docs":{},"df":0,"6":{"docs":{},"df":0,"1":{"docs":{},"df":0,"8":{"docs":{},"df":0,"7":{"docs":{},"df":0,"2":{"docs":{},"df":0,"d":{"docs":{},"df":0,"3":{"docs":{},"df":0,"c":{"docs":{},"df":0,"2":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"8":{"docs":{},"df":0,"c":{"docs":{},"df":0,"0":{"docs":{},"df":0,"f":{"docs":{},"df":0,"4":{"docs":{},"df":0,"6":{"docs":{},"df":0,"6":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951}},"df":1},"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":9},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/music/retrylife/death-among-us/":{"tf":1.0}},"df":1}}},"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}}},"u":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.23606797749979},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":8,"g":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.8284271247461903}},"df":1}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":3}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.449489742783178},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":21}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":2.0}},"df":2}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":2.23606797749979},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":4},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2}}}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":3}}},"e":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":2.0}},"df":3}},"f":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.23606797749979},"https://ewpratten.com/blog/wrong-python/":{"tf":2.0}},"df":10,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":10,"=":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}}}},"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":11,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4}}}}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":1}}},"l":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1},"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":2.23606797749979},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":4}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":3.4641016151377544}},"df":1,"\\":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.0}},"df":1,"\\":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"{":{"docs":{},"df":0,"b":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"{":{"docs":{},"df":0,"b":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"k":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":6,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":2}}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":4}},"s":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":12,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":8}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.4142135623730951}},"df":1}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":4.123105625617661},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":6},"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/":{"tf":1.0}},"df":3}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/darth-raider/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":26}},"r":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":2}},"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951}},"df":2,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":3}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":6}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":5}},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":4}}}}}},"v":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":2,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"y":{"docs":{},"df":0,"=":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"b":{"docs":{},"df":0,"=":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}}}}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":3.0}},"df":1}},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.23606797749979},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.8284271247461903},"https://ewpratten.com/hobbies/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":2.0},"https://ewpratten.com/hobbies/software/games/":{"tf":2.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":24}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":3.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":2.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/udm-fan/":{"tf":2.23606797749979},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178},"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":15,"e":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.7320508075688772}},"df":2,"'":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0}},"df":1}}}}}}},"f":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"=":{"docs":{},"df":0,"1":{"docs":{},"df":0,"6":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}},"u":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1},"z":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}},"h":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1}}},"l":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":2,"o":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":2}}}},"b":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772}},"df":1},"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951}},"df":1}},"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":7}},"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}},"e":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2,"g":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":16}}}},"g":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.449489742783178}},"df":1}}}},"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":2}}}}}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951}},"df":3,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}}},"r":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.7320508075688772}},"df":1,"e":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.23606797749979}},"df":1,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":7,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":8}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gamels/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.23606797749979},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":12}}}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951}},"df":1}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":8,"d":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}},"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}}},"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"y":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":5}},"v":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"i":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772}},"df":1},"y":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":8,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":8,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"o":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":2.0}},"df":2}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":2},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1}},"n":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.23606797749979},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":4,"4":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"y":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":16,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"k":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.23606797749979},"https://ewpratten.com/blog/running-roborio-native/":{"tf":5.0990195135927845},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/projects/":{"tf":2.0}},"df":7,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772}},"df":2}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.449489742783178},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.449489742783178},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":18}}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}},"":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}}}},"m":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/new-domain/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":5}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":22}},"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/donate/":{"tf":1.0}},"df":2}},"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":17},"g":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951}},"df":1}},"":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}}}}},"w":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951}},"df":1,"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":13,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.0}},"df":12}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":3}}}}},"x":{"docs":{},"df":0,"y":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":2}},"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}},"w":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":2}}}},"n":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":4.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":4.242640687119285},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":2.0}},"df":8,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}}}}}}}}},"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":2},"r":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":4,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":2}}}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":5,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/music/":{"tf":1.4142135623730951}},"df":1,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772}},"df":1}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/music/evan-pratten/festive-duality/":{"tf":1.4142135623730951}},"df":1}}}}},"e":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":19},"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":2},"p":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"(":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.23606797749979},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.7320508075688772}},"df":12}}},"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.0}},"df":5}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":2.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979}},"df":2,"_":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"e":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.4142135623730951}},"df":3,".":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":23,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":2}}}}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":6}}}}},"s":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/":{"tf":1.0}},"df":21,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":7}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":8}}}},"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}},"b":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/udm-fan/":{"tf":2.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":6,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":3}}}}}}},"d":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951}},"df":1},"g":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0}},"df":2},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":11}},"u":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.7320508075688772}},"df":1,":":{"docs":{},"df":0,"w":{"docs":{},"df":0,":":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}}}}}}}}},"=":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}}}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":7}},"k":{"docs":{},"df":0,"t":{"docs":{},"df":0,"!":{"docs":{},"df":0,"👍":{"docs":{},"df":0,"🔥":{"docs":{},"df":0,"😍":{"docs":{},"df":0,"#":{"docs":{},"df":0,"m":{"docs":{},"df":0,"ü":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":6}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":5,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}},"g":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/music/retrylife/enlarging-elaphants/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3}}}},"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":3,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1,"[":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":3}}}}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2},"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":10}}},"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":7,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/commit-sync/":{"tf":2.23606797749979},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":6}}},"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.0}},"df":1}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.23606797749979},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":2.23606797749979}},"df":11}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":3.872983346207417},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":5,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":4}}}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951}},"df":1}}}}},"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":22,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.6457513110645907}},"df":1}},"f":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":3,"(":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}},"{":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":1}}}}},"b":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.23606797749979},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":2}}}}}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":9}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":13}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/music/retrylife/enlarging-elaphants/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.449489742783178},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":8}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951}},"df":2}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":8,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":15},"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":2}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":3},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}}}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":8}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.7320508075688772}},"df":1}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":1},"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":2}},"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.7320508075688772}},"df":2}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951}},"df":11}}}},"s":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":2.23606797749979}},"df":1}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":9}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":4}}}},"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"(":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"w":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"c":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":5,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,".":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/music/retrylife/the-eternal/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3}}}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/products/":{"tf":1.0}},"df":1}}}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772}},"df":1,"u":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951}},"df":1}},"n":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":4,"'":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":19,"t":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.7320508075688772},"https://ewpratten.com/events/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":3.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":4,"u":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":5}}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":2.0}},"df":3}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":24}},"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":2}}}}}}}},"w":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":6,"#":{"docs":{},"df":0,"9":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}}}}},"'":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0}},"df":1}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}},"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,":":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":8}}}},"m":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772}},"df":1,"p":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":19,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.7320508075688772}},"df":1}}}},"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772}},"df":1}},"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":7,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":2}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951}},"df":1,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":6}}}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":17}},"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":4}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":2,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":2.23606797749979}},"df":1,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1,"(":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":3}},"n":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3}},"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/":{"tf":1.0}},"df":19,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":5}}}}},"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":7}},"n":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}}},"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":2},"s":{"docs":{"https://ewpratten.com/music/retrylife/explosive-xmas/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":4}},"s":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":4,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":3}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":5},"s":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":4}},"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":5}}},"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":7,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/googlectf/":{"tf":1.4142135623730951}},"df":2}}},"e":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951}},"df":2}}}}}}},"y":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":2}},"f":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":5,"3":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1,"2":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}},"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"8":{"docs":{},"df":0,"c":{"docs":{},"df":0,"1":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"9":{"docs":{},"df":0,"7":{"docs":{},"df":0,"8":{"docs":{},"df":0,"5":{"docs":{},"df":0,"a":{"docs":{},"df":0,"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"3":{"docs":{},"df":0,"8":{"docs":{},"df":0,"e":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{},"df":0,"b":{"docs":{},"df":0,"0":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{},"df":0,"7":{"docs":{},"df":0,"b":{"docs":{},"df":0,"d":{"docs":{},"df":0,"8":{"docs":{},"df":0,"d":{"docs":{},"df":0,"2":{"docs":{},"df":0,"8":{"docs":{},"df":0,"9":{"docs":{},"df":0,"7":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"7":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1},"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":2.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.0}},"df":3,"'":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1},"m":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}},"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":3,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951}},"df":1}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":13,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":3}}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.7320508075688772}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":4,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"r":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":4,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":15}}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":5}},"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":3,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":3}}}}},"o":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}},"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/udm-fan/":{"tf":3.7416573867739413}},"df":2,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"=":{"docs":{},"df":0,"1":{"docs":{},"df":0,"2":{"docs":{},"df":0,"8":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}}}}}}}}}},"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":4}}},"r":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":9,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":2},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":5}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}},"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":6}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":16}}}},"d":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3,"6":{"docs":{},"df":0,"f":{"docs":{},"df":0,"c":{"docs":{},"df":0,"3":{"docs":{},"df":0,"7":{"docs":{},"df":0,"4":{"docs":{},"df":0,"d":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"c":{"docs":{},"df":0,"2":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"8":{"docs":{},"df":0,"f":{"docs":{},"df":0,"6":{"docs":{},"df":0,"7":{"docs":{},"df":0,"b":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"8":{"docs":{},"df":0,"3":{"docs":{},"df":0,"7":{"docs":{},"df":0,"c":{"docs":{},"df":0,"8":{"docs":{},"df":0,"c":{"docs":{},"df":0,"8":{"docs":{},"df":0,"3":{"docs":{},"df":0,"3":{"docs":{},"df":0,"4":{"docs":{},"df":0,"7":{"docs":{},"df":0,"6":{"docs":{},"df":0,"0":{"docs":{},"df":0,"b":{"docs":{},"df":0,"3":{"docs":{},"df":0,"0":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.4142135623730951}},"df":1}}}},"e":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":2,"d":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951},"https://ewpratten.com/timeline/":{"tf":1.0}},"df":5,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.23606797749979},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":16},"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772}},"df":1}},"l":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772}},"df":1}}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/music/evan-pratten/festive-duality/":{"tf":1.4142135623730951}},"df":1}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":7}}},"w":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.23606797749979},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":33}},"f":{"docs":{},"df":0,"8":{"docs":{},"df":0,"7":{"docs":{},"df":0,"8":{"docs":{},"df":0,"0":{"docs":{},"df":0,"9":{"docs":{},"df":0,"b":{"docs":{},"df":0,"9":{"docs":{},"df":0,"c":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{},"df":0,"c":{"docs":{},"df":0,"5":{"docs":{},"df":0,"1":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{},"df":0,"5":{"docs":{},"df":0,"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"9":{"docs":{},"df":0,"9":{"docs":{},"df":0,"2":{"docs":{},"df":0,"1":{"docs":{},"df":0,"b":{"docs":{},"df":0,"1":{"docs":{},"df":0,"c":{"docs":{},"df":0,"f":{"docs":{},"df":0,"2":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{},"df":0,"8":{"docs":{},"df":0,"b":{"docs":{},"df":0,"1":{"docs":{},"df":0,"2":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.7320508075688772}},"df":1},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.449489742783178},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":9,".":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":9}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":3.0},"https://ewpratten.com/blog/becomeranter/":{"tf":4.123105625617661},"https://ewpratten.com/blog/billwurtz/":{"tf":2.23606797749979},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":3.3166247903554},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":3.0},"https://ewpratten.com/blog/cron/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/mindmap/":{"tf":3.3166247903554},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/pwnlink/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":4.795831523312719},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":3.7416573867739413},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":2.0},"https://ewpratten.com/blog/shift2/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":2.449489742783178},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":3.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.7320508075688772}},"df":32,"'":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":1},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1,"(":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}}}}}}},"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"m":{"docs":{"https://ewpratten.com/blog/darth-raider/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":6}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.23606797749979},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":23}},"d":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":27,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":5},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.0}},"df":5}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":3}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.7320508075688772}},"df":2}}}},"m":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":4.242640687119285},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.23606797749979},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":3.3166247903554},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":10,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951}},"df":1}}}},"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.23606797749979},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":36,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":10}}}}},"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":7},"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}},"x":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":7},"z":{"docs":{},"df":0,"z":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"z":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":8,"_":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772}},"df":1}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772}},"df":1}}}},"s":{"docs":{},"df":0,"=":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"=":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,",":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/music/retrylife/flare/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":2.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":3.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":8,":":{"docs":{},"df":0,"w":{"docs":{},"df":0,":":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,":":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}}}}},"b":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}}}}},"k":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1},"w":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":3,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":2.23606797749979}},"df":1}}}}}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":3.4641016151377544}},"df":1,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":2}},"w":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951}},"df":1}}},"m":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":2},"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":2,"+":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}},"1":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1,"+":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":3,"s":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":2.0}},"df":1}}}}}}},"r":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":5}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":2.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.23606797749979},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":3.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.0}},"df":40,"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":2}},"o":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772}},"df":1,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1}}}}}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"h":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1}}}}}}}}},"d":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":2}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"(":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":5},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/retrylife/hidden-forest/":{"tf":1.0}},"df":1}}},"g":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":2,"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}}},"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.6457513110645907}},"df":3},"m":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":2.0}},"df":9,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.23606797749979},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":9,"=":{"docs":{},"df":0,"%":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1,"a":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}}}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":4}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":16,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":2}}}},"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"q":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"{":{"docs":{},"df":0,"(":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}},"1":{"docs":{},"df":0,"8":{"docs":{},"df":0,"0":{"docs":{},"df":0,"}":{"docs":{},"df":0,"{":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}}},"\\":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"(":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"s":{"docs":{},"df":0,"(":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178}},"df":5}}}}}}},"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.449489742783178},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.23606797749979},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.23606797749979},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":2.23606797749979},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":11,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}},"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}},"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"_":{"docs":{},"df":0,"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,".":{"docs":{},"df":0,"z":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"(":{"docs":{},"df":0,"&":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,";":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}}}}}}},"e":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":15,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":1}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":2.0},"https://ewpratten.com/music/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":15,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":5}}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.7320508075688772}},"df":2,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951}},"df":1}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":21,"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":4}}},"n":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":2.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":18,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/bashsmash/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":2.23606797749979},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":4.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":3.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":20,"'":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":9}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":4},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/notes/":{"tf":1.0}},"df":12}}}},"x":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"y":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1},"ü":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}}},"g":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":2.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":3,"1":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951}},"df":1}}}},"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.0}},"df":1}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":4.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":4.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":4.795831523312719},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":5.477225575051661},"https://ewpratten.com/projects/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":18,"'":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":4},".":{"docs":{},"df":0,"j":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.4142135623730951}},"df":1},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":2}}}},"r":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":3.3166247903554},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":3}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}},"b":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772}},"df":1}},"c":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1,"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.449489742783178},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":4},"o":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":2.23606797749979},"https://ewpratten.com/blog/billwurtz/":{"tf":2.23606797749979},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":2.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.23606797749979},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":33,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":2}}}},"o":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":17,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"(":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"e":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/retrylife/gifted/":{"tf":1.0}},"df":1}},"g":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":2.0}},"df":1}}},"p":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1,"_":{"docs":{},"df":0,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.7320508075688772}},"df":7,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"/":{"docs":{},"df":0,"j":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"h":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}}}}}}}},"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.23606797749979},"https://ewpratten.com/blog/commit-sync/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":2.23606797749979},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":3.3166247903554},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":2.0},"https://ewpratten.com/projects/minecraft/":{"tf":2.449489742783178}},"df":28,"'":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":3}}}},"k":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":18,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":4}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":2}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":2}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":2.0}},"df":6,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"(":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.4142135623730951}},"df":1}},"b":{"docs":{},"df":0,"h":{"docs":{},"df":0,"1":{"docs":{},"df":0,"7":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"5":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"h":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":28,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.23606797749979},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":15}},"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2},"n":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":19},"g":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":4.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":9,"e":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.4142135623730951}},"df":2},"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951}},"df":1}}}}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.449489742783178}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":2}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1,"1":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}}},"u":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":3}},"q":{"docs":{},"df":0,"r":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":9},"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}},"d":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":7,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":2}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.4142135623730951}},"df":1}}}},"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":5,"e":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951}},"df":2}},"p":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":2.23606797749979},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":3,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":6}},"q":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1},"s":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":20,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":2},"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":3}},"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/":{"tf":1.0}},"df":6,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":2.0},"https://ewpratten.com/blog/udm-fan/":{"tf":2.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":11,";":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":3,";":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":3.3166247903554}},"df":1}}}}}}},"+":{"docs":{},"df":0,"+":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}}}},"1":{"docs":{},"df":0,"g":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}},"h":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}}}}}}}},"x":{"docs":{},"df":0,"8":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":4,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.23606797749979},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":9},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"y":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}},"y":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":2}}}}}}}},"h":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":4,".":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/photography/weatherballoon/":{"tf":1.0}},"df":3}},"a":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.4142135623730951}},"df":7,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"f":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":7},"l":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}},"m":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":10,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}},"i":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":5},"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":12,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":9}},"i":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":10,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":3.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":2.0}},"df":11}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951}},"df":2}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.7320508075688772}},"df":2}}}}}}},"e":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}},"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":8,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":3}}}}}},"b":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"df":0,"f":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":2.23606797749979},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951}},"df":2}},"m":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.23606797749979}},"df":1}}},"e":{"docs":{},"df":0,"'":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":10,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":4.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":8,"_":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772}},"df":1},"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951}},"df":1}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1,"i":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":2,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":2},"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":5}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":2},"l":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1,"o":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951}},"df":6}},"p":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.23606797749979},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":21,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}},"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.23606797749979},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.449489742783178},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":2.23606797749979},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/donate/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/network/":{"tf":1.0}},"df":40,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}},"'":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}},"o":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":2}},"x":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1},"y":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1}},"f":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.7320508075688772}},"df":2},"i":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":2,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/music/retrylife/hidden-forest/":{"tf":1.0}},"df":6}}},"e":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}},"g":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":14,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":3},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":2.449489742783178}},"df":1,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":2.449489742783178}},"df":1}}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":4}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/music/":{"tf":1.0}},"df":5}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/projects/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/python/":{"tf":3.3166247903554}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":4}}}}},"t":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":7,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}},"e":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":6,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"l":{"docs":{},"df":0,"v":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":2}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":2}}}}}},"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/scale-hop/":{"tf":1.4142135623730951}},"df":4,"e":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":4,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":3}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}},"s":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772}},"df":2}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.23606797749979},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":2.23606797749979},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":18,"'":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":3},".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,",":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"=":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"=":{"docs":{},"df":0,"@":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,":":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951}},"df":3,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951}},"df":2},"s":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":2}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}},"w":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"j":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1,"3":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951}},"df":1,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}},"s":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}},"f":{"docs":{},"df":0,"1":{"docs":{},"df":0,"6":{"docs":{},"df":0,"5":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951}},"df":1}}}}}}},"m":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":4,"(":{"docs":{},"df":0,"s":{"docs":{},"df":0,")":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1}},":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"x":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,".":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"df":0,"g":{"docs":{},"df":0,"p":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"$":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"k":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"?":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"=":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"z":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"df":0,"b":{"docs":{},"df":0,"2":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"z":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":2},"d":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":2.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":2},"g":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":4}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":3}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":3}}}}},"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1}}}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"k":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":2,"'":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}}}}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/music/retrylife/hypernova/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"'":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2},"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":7}},"m":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":9},"v":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}},",":{"docs":{},"df":0,"j":{"docs":{},"df":0,",":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"/":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":4}},"3":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1,"w":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951}},"df":1}}},"c":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1,"v":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772}},"df":1}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951}},"df":3},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gamels/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":7,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"4":{"docs":{},"df":0,"7":{"docs":{},"df":0,"7":{"docs":{},"df":0,"2":{"docs":{},"df":0,"3":{"docs":{},"df":0,"a":{"docs":{},"df":0,"4":{"docs":{},"df":0,"d":{"docs":{},"df":0,"0":{"docs":{},"df":0,"f":{"docs":{},"df":0,"b":{"docs":{},"df":0,"7":{"docs":{},"df":0,"6":{"docs":{},"df":0,"6":{"docs":{},"df":0,"8":{"docs":{},"df":0,"6":{"docs":{},"df":0,"3":{"docs":{},"df":0,"f":{"docs":{},"df":0,"7":{"docs":{},"df":0,"0":{"docs":{},"df":0,"d":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}},"5":{"docs":{},"df":0,"d":{"docs":{},"df":0,"2":{"docs":{},"df":0,"d":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"b":{"docs":{},"df":0,"1":{"docs":{},"df":0,"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"1":{"docs":{},"df":0,"5":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"0":{"docs":{},"df":0,"8":{"docs":{},"df":0,"7":{"docs":{},"df":0,"9":{"docs":{},"df":0,"f":{"docs":{},"df":0,"4":{"docs":{},"df":0,"8":{"docs":{},"df":0,"c":{"docs":{},"df":0,"1":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"8":{"docs":{},"df":0,"3":{"docs":{},"df":0,"8":{"docs":{},"df":0,"2":{"docs":{},"df":0,"6":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"6":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"6":{"docs":{},"df":0,"e":{"docs":{},"df":0,"5":{"docs":{},"df":0,"5":{"docs":{},"df":0,"7":{"docs":{},"df":0,"6":{"docs":{},"df":0,"1":{"docs":{},"df":0,"d":{"docs":{},"df":0,"5":{"docs":{},"df":0,"c":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"df":0,"7":{"docs":{},"df":0,"2":{"docs":{},"df":0,"7":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{},"df":0,"9":{"docs":{},"df":0,"6":{"docs":{},"df":0,"9":{"docs":{},"df":0,"5":{"docs":{},"df":0,"2":{"docs":{},"df":0,"5":{"docs":{},"df":0,"d":{"docs":{},"df":0,"2":{"docs":{},"df":0,"a":{"docs":{},"df":0,"0":{"docs":{},"df":0,"3":{"docs":{},"df":0,"3":{"docs":{},"df":0,"3":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"6":{"docs":{},"df":0,"3":{"docs":{},"df":0,"5":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":21,"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":3,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}},"k":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"(":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"(":{"docs":{},"df":0,"&":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,";":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772}},"df":1}}}},"=":{"docs":{},"df":0,"$":{"docs":{},"df":0,"{":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}}}},"i":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":6}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951}},"df":1}}}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.449489742783178},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":3.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/running-roborio-native/":{"tf":4.69041575982343},"https://ewpratten.com/blog/styiling-github/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":11,"e":{"docs":{},"df":0,"\"":{"docs":{},"df":0,":":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,":":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/music/retrylife/imagined/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772}},"df":1}}}}}}},"d":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":4}},"r":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.23606797749979},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/wrong-python/":{"tf":2.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":19}}}}},"i":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":3.7416573867739413},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":22,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951}},"df":1}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":5}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":2}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}}},"v":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":3.1622776601683795}},"df":7}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1,"h":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":18}}},"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":2,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":3}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951}},"df":4}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":3},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":5}}}}}},"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":1}}}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":1}}}}}},"o":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":3.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":14,"_":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772}},"df":1}},"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":15,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":6}}}}}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}},"g":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,":":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}}}}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772}},"df":1}}},"i":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":3}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":2,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772}},"df":1}}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.23606797749979},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.23606797749979},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":14,".":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951}},"df":1}}}}}}},"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}},"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/music/retrylife/insanitorium/":{"tf":1.0}},"df":1}}}}}}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":5}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":6}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0}},"df":5}}}},"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":4.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.0},"https://ewpratten.com/blog/pwnlink/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":3.3166247903554},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":2.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.23606797749979},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951}},"df":23,"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":6,"e":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":21}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":5,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}}}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":2,"s":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":2.23606797749979},"https://ewpratten.com/blog/python/":{"tf":3.3166247903554},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":2.23606797749979}},"df":7,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0}},"df":1}}}},"e":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951}},"df":2,"r":{"docs":{"https://ewpratten.com/blog/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":9}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951}},"df":1}}}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":4,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.8284271247461903},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":9}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":2.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/nova-scotia-2019/":{"tf":1.0}},"df":18,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":3}}}}}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.23606797749979},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178}},"df":11,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/retrylife/intergalactic-swirlz/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772}},"df":1}}}}}}},"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":6,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":3.605551275463989},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":9,"'":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1},"2":{"docs":{},"df":0,"9":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":4,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}}},"v":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":2}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":2,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":5,"t":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":3}}}}}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":13}}}}},"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":3.7416573867739413},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/udm-fan/":{"tf":1.7320508075688772}},"df":7,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.23606797749979},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":3,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}},"6":{"docs":{"https://ewpratten.com/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":2.449489742783178},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":3}}},"q":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":3.3166247903554},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":3},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":3}}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,".":{"docs":{},"df":0,".":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}}}},"8":{"docs":{},"df":0,"y":{"docs":{},"df":0,"&":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,";":{"docs":{},"df":0,"4":{"docs":{},"df":0,"!":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"2":{"docs":{},"df":0,"h":{"docs":{},"df":0,"~":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"~":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"f":{"docs":{},"df":0,"n":{"docs":{},"df":0,"@":{"docs":{},"df":0,"p":{"docs":{},"df":0,";":{"docs":{},"df":0,"x":{"docs":{},"df":0,"l":{"docs":{},"df":0,"j":{"docs":{},"df":0,"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"8":{"docs":{},"df":0,"(":{"docs":{},"df":0,"a":{"docs":{},"df":0,"w":{"docs":{},"df":0,"t":{"docs":{},"df":0,"`":{"docs":{},"df":0,"1":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"b":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"^":{"docs":{},"df":0,"t":{"docs":{},"df":0,"!":{"docs":{},"df":0,"^":{"docs":{},"df":0,"w":{"docs":{},"df":0,"_":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"f":{"docs":{},"df":0,"8":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"~":{"docs":{},"df":0,"?":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"$":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"e":{"docs":{},"df":0,"0":{"docs":{},"df":0,"@":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"w":{"docs":{},"df":0,"n":{"docs":{},"df":0,"2":{"docs":{},"df":0,"b":{"docs":{},"df":0,"q":{"docs":{},"df":0,"c":{"docs":{},"df":0,"6":{"docs":{},"df":0,"m":{"docs":{},"df":0,"1":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"+":{"docs":{},"df":0,"d":{"docs":{},"df":0,"q":{"docs":{},"df":0,"f":{"docs":{},"df":0,"4":{"docs":{},"df":0,"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"k":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"p":{"docs":{},"df":0,"0":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"5":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951}},"df":1}}}}}}},"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":5}}},"o":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772}},"df":1}}}}}},"s":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":18}}},"t":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":2.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":15,"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}},"1":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":3.1622776601683795},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":2.449489742783178}},"df":6,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":5}}}},"u":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"j":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":2,"4":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1},"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":2,"'":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1},"e":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":5,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":2.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":2.23606797749979},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.3166247903554},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772}},"df":13,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":4}}}}}}}}},"e":{"docs":{},"df":0,"k":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772}},"df":2,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":2.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":9},"h":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951}},"df":7,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":3}},"l":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.449489742783178},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}}}}}}},"p":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":2.0}},"df":1}},"s":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951}},"df":1,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":2.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":4,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1,"(":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"[":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.7320508075688772}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.0}},"df":2}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":3},"k":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"y":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":2}}},"k":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":2.23606797749979}},"df":2,"3":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}},"_":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772}},"df":1,"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}},"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}},"b":{"docs":{},"df":0,"9":{"docs":{},"df":0,"m":{"docs":{},"df":0,"w":{"docs":{},"df":0,"r":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.449489742783178},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":2}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":23,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}}}}}}}},"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":3}},"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1},"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2}}}},"y":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":4.242640687119285},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":3.3166247903554},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":2.6457513110645907}},"df":13,"_":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1},"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"/":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951}},"df":1}}}}}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":5.5677643628300215},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":5.291502622129181}},"df":2,"'":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951}},"df":2},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.6457513110645907}},"df":2,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}},"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":2.0}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951}},"df":1}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":6}},"o":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"m":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":2.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":28,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":5}}}},"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":8}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":3.7416573867739413}},"df":3,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/projects/kobo/":{"tf":1.4142135623730951}},"df":1}}}}},"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/projects/kobo/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951}},"df":1}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"x":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3,"/":{"docs":{},"df":0,"k":{"docs":{},"df":0,"x":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"3":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"v":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":6,"[":{"docs":{},"df":0,"i":{"docs":{},"df":0,":":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1}}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":3}}}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":6}},"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3}}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":2.23606797749979},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":2.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.23606797749979},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":3.3166247903554},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951}},"df":15}}}}},"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.23606797749979},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":10,"'":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":20,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":5}}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":14}},"t":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":6,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":3}},"r":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":10},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":5}},"x":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/weatherballoon/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":9,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":1}}}}},"x":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1},"y":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":4}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":3}}}}},"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"{":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"1":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951}},"df":1}},"l":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.23606797749979}},"df":1},"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"d":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"=":{"docs":{},"df":0,"/":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"v":{"docs":{},"df":0,"7":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}},"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":9,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":2}}},"f":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1},"k":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1},"n":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.23606797749979},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772},"https://ewpratten.com/products/":{"tf":1.0}},"df":22}},"v":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":3}},"d":{"docs":{},"df":0,"6":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}},"8":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":16}},"g":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/music/retrylife/lemons/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"(":{"docs":{},"df":0,"a":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}}}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":2}}},"s":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951}},"df":1}}}}}},"q":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951}},"df":2},"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":5}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/music/":{"tf":1.4142135623730951}},"df":1}}}},"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":10,"'":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.23606797749979},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":8},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":2.6457513110645907}},"df":2}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":12},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951}},"df":1}}}}}},"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"5":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.449489742783178},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":4}},"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}}}}}},"c":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":3},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"v":{"docs":{},"df":0,"7":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}},"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"z":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}}}}}}}},"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"y":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"b":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.23606797749979},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":4.58257569495584},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.23606797749979},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":2.23606797749979},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":24},"y":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.7320508075688772}},"df":4}}}},"d":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1},"f":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":6},"t":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.23606797749979}},"df":4,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":3}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":6}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.23606797749979},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":23,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.4142135623730951}},"df":2}},"r":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":2},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"2":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}},"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":2.23606797749979},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/products/":{"tf":1.0}},"df":14,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}}},"r":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0}},"df":3,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.4142135623730951}},"df":18,"3":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}},"x":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.23606797749979},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":2.449489742783178},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":2.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.23606797749979},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/notes/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.4142135623730951},"https://ewpratten.com/timeline/":{"tf":1.0}},"df":29,"(":{"docs":{},"df":0,"x":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3,":":{"docs":{},"df":0,"9":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,",":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,",":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":3}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":27}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":9,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1}}}}}}}}}}},"z":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1},"v":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"o":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1,"a":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.23606797749979},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":21,"(":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"z":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"z":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}},"@":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,":":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"z":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,":":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"z":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"z":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,":":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"z":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951}},"df":1}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.0}},"df":3}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":11,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,":":{"docs":{},"df":0,"4":{"docs":{},"df":0,"4":{"docs":{},"df":0,"4":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":8}},"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":5,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951}},"df":1}}}}},"g":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/commit-sync/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":11,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.7320508075688772}},"df":2}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":2},"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":6}},"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}},"l":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.7320508075688772}},"df":2}}},"g":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":12,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951}},"df":6}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.7320508075688772},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":37,"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}},"p":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":4},"t":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1},"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":5}},"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":22,"w":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":4}},"w":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":10,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951}},"df":1}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"2":{"docs":{},"df":0,"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"c":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1,"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"s":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":2,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}},"t":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":5,";":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}},"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":2}}}}}}}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":2.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":2}}}}}},"s":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":2}}}}}}}}}}}},"?":{"docs":{},"df":0,"x":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}},"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":2}}}}}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}}}}}}}},"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":2.0}},"df":1}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0}},"df":1}}}}}}},"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":2.0}},"df":1}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}},".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"1":{"docs":{},"df":0,"5":{"docs":{},"df":0,"9":{"docs":{},"df":0,"9":{"docs":{},"df":0,"0":{"docs":{},"df":0,"7":{"docs":{},"df":0,"9":{"docs":{},"df":0,"3":{"docs":{},"df":0,"8":{"docs":{},"df":0,"4":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"1":{"docs":{},"df":0,"6":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"6":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"4":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":2.0}},"df":1}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}}}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"4":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951}},"df":1}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":2}}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":2}}}}}}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}},"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}},"1":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}},"4":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":2}}}}}},"s":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":2}}}}}}}}}}}}},"u":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":8}}}}},"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":2.23606797749979}},"df":3,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"4":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"1":{"docs":{},"df":0,"2":{"docs":{},"df":0,"3":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":2}}}}},"w":{"docs":{},"df":0,"j":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}}}},"y":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":4,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.449489742783178}},"df":1,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}},"2":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"m":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":6,"a":{"docs":{"https://ewpratten.com/music/retrylife/xmas-02/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":12}}},"o":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":1}}},"d":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":2.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":24}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":6,"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1,"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":3},"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":11,"(":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951}},"df":1}}},"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}},".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772}},"df":2}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.7320508075688772}},"df":1}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}},"o":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951}},"df":1},"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":8}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951}},"df":5}}}}}},"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":5}}},"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/commit-sync/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.23606797749979},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":3.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":3.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.23606797749979},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":2.6457513110645907},"https://ewpratten.com/projects/":{"tf":1.4142135623730951}},"df":42,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":2}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":9}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":2}}}}}},"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.449489742783178},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":30,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":11}},"e":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":2}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":2.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":7,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"h":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}},"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":5,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":2.23606797749979}},"df":1}}}},"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":1}}}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}}}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":7}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}},"h":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":2.0}},"df":1,"b":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1,"{":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":2.23606797749979}},"df":1},"j":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":2.23606797749979}},"df":1},"k":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772}},"df":1,"}":{"docs":{},"df":0,"}":{"docs":{},"df":0,"^":{"docs":{},"df":0,"{":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{},"df":0,"{":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0}},"df":1}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951}},"df":1}}},"t":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":3}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/kbfs-maven/":{"tf":4.47213595499958},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":4,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"{":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"{":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}},"x":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2,"(":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"s":{"docs":{},"df":0,"(":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0}},"df":1}}}}}},"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":3}}}}},"y":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1},"b":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0}},"df":2}}},"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1,":":{"docs":{},"df":0,"1":{"docs":{},"df":0,"2":{"docs":{},"df":0,"3":{"docs":{},"df":0,"4":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,":":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}},"d":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":16,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":3}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":9}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3}}}},"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"(":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/python/":{"tf":2.0}},"df":1}}},"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":2.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":2.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":5,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}},"e":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":2.0}},"df":2},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/retrylife/memories/":{"tf":1.0}},"df":7}}}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":10}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":2.0}},"df":1}}},"u":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":4}},"r":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951}},"df":1},"s":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":8,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":2.449489742783178},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":2.23606797749979},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951}},"df":10}},"i":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":4,".":{"docs":{},"df":0,"x":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":2,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"l":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":2}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951}},"df":1}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.449489742783178},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.449489742783178},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":8}}},"r":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951}},"df":1,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951}},"df":2,"r":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":2,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.23606797749979},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}}}}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":2}}}}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951}},"df":2}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3}}}}}}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":3,"a":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":2.23606797749979}},"df":1},"d":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":2}},"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":2.449489742783178}},"df":2,"'":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951}},"df":1}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":2.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":10},"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":7,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/minecraft-irc/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/unfinished-projects/":{"tf":4.58257569495584},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":3.1622776601683795},"https://ewpratten.com/projects/minecraft/":{"tf":2.6457513110645907}},"df":5,"'":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772}},"df":1}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":2.0}},"df":2}}},"m":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":5,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":2,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":1}}}}},"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":4}}},"s":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":6,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}}}}}},"w":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"x":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4}},"k":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.449489742783178}},"df":4}}}},"m":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":3.0}},"df":1,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"=":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"u":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}},"d":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772}},"df":1,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"v":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951}},"df":1}},"d":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":5.291502622129181},"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":4,"+":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,"+":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1,"r":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.23606797749979},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":10,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":9,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":3}}},"i":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":3,"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":12}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":4}}}},"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.23606797749979},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.23606797749979},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":2.0}},"df":4,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951}},"df":1}}}}}}},"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}},"n":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951}},"df":1,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":3}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":6}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":2.23606797749979}},"df":1}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":2}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":2.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":7,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":41},"n":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2},"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":7}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.6457513110645907}},"df":3}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.449489742783178},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":7,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":2}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":16,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":4}}}}}},"z":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772}},"df":1}},"r":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951}},"df":1,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"/":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":3.605551275463989}},"df":1}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":26,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}},"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"/":{"docs":{},"df":0,"q":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}},"m":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}},"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/music/":{"tf":1.4142135623730951}},"df":12,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":3}},"i":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":2,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":2.6457513110645907},"https://ewpratten.com/music/evan-pratten/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/channels/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/festive-duality/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/radioactive/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/scale-hop/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"tf":1.0},"https://ewpratten.com/music/retrylife/bring-the-onslaught/":{"tf":1.0},"https://ewpratten.com/music/retrylife/death-among-us/":{"tf":1.0},"https://ewpratten.com/music/retrylife/explosive-xmas/":{"tf":1.0},"https://ewpratten.com/music/retrylife/flare/":{"tf":1.0},"https://ewpratten.com/music/retrylife/gifted/":{"tf":1.0},"https://ewpratten.com/music/retrylife/hidden-forest/":{"tf":1.0},"https://ewpratten.com/music/retrylife/hypernova/":{"tf":1.0},"https://ewpratten.com/music/retrylife/insanitorium/":{"tf":1.0},"https://ewpratten.com/music/retrylife/intergalactic-swirlz/":{"tf":1.0},"https://ewpratten.com/music/retrylife/lemons/":{"tf":1.0},"https://ewpratten.com/music/retrylife/memories/":{"tf":1.0},"https://ewpratten.com/music/retrylife/reborn/":{"tf":1.0},"https://ewpratten.com/music/retrylife/the-eternal/":{"tf":1.0},"https://ewpratten.com/music/retrylife/xmas-02/":{"tf":1.0}},"df":27,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}}},"x":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951}},"df":2,"p":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.23606797749979}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.7320508075688772}},"df":1}}},"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/python/":{"tf":2.6457513110645907}},"df":1,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}}}}}}}}}}}},"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":2.6457513110645907}},"df":1,"(":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}},".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":2.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":2.0},"https://ewpratten.com/hobbies/software/games/":{"tf":2.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":17}}}}},"z":{"docs":{},"df":0,"0":{"docs":{},"df":0,"v":{"docs":{},"df":0,"w":{"docs":{},"df":0,"t":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{},"df":0,"d":{"docs":{},"df":0,"v":{"docs":{},"df":0,"8":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"z":{"docs":{},"df":0,"3":{"docs":{},"df":0,"d":{"docs":{},"df":0,"y":{"docs":{},"df":0,"g":{"docs":{},"df":0,"9":{"docs":{},"df":0,"f":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"z":{"docs":{},"df":0,"w":{"docs":{},"df":0,"8":{"docs":{},"df":0,"u":{"docs":{},"df":0,"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"k":{"docs":{},"df":0,"2":{"docs":{},"df":0,"7":{"docs":{},"df":0,"0":{"docs":{},"df":0,"g":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"q":{"docs":{},"df":0,"4":{"docs":{},"df":0,"v":{"docs":{},"df":0,"9":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"v":{"docs":{},"df":0,"j":{"docs":{},"df":0,"f":{"docs":{},"df":0,"c":{"docs":{},"df":0,"z":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"7":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"}":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"ü":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}}}}}},"n":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":6,"'":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1},"/":{"docs":{},"df":0,"?":{"docs":{},"df":0,"?":{"docs":{},"df":0,"?":{"docs":{},"df":0,"n":{"docs":{},"df":0,"?":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":2.8284271247461903}},"df":1}}}}}}},"?":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":6.782329983125268}},"df":1}},"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":3.7416573867739413},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":2.23606797749979},"https://ewpratten.com/blog/gamels/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":2.449489742783178},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":2.23606797749979},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":23,"\"":{"docs":{},"df":0,":":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}},"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}},"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":2.0}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1},"v":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":2.23606797749979}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":2}},"v":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}}},"v":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.23606797749979},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4}},"x":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}},"b":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":7,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":5}}},"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":4,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":2.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":2.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":3.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.23606797749979},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.449489742783178},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.449489742783178},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.449489742783178},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":2.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":42}},"g":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":2},"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1},"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":2,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.23606797749979},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/printer-tunneling/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/":{"tf":1.4142135623730951},"https://ewpratten.com/network/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":24,"s":{"docs":{},"df":0,"1":{"docs":{},"df":0,"7":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":12,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,".":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":2.23606797749979},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.23606797749979},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772},"https://ewpratten.com/music/evan-pratten/channels/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":48,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":2}}},"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":16}}},"f":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.7320508075688772}},"df":1}},"i":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":2,"'":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1},"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.23606797749979},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":14,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":4}},"k":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951}},"df":1}}}}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":3,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"j":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":2.0}},"df":1}}}},"h":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}},"u":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772}},"df":1},"x":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":2}},"m":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1},"o":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}},"a":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.7320508075688772}},"df":1}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":4}}}},"c":{"docs":{},"df":0,"@":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":2.449489742783178}},"df":3,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":2}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1}}},"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":8,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":7},"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"y":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":6}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":2}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/channels/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/festive-duality/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/radioactive/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/scale-hop/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"tf":1.0}},"df":7}},"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":2.23606797749979},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/notes/":{"tf":1.7320508075688772}},"df":19,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}}},"h":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":8},"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.7320508075688772}},"df":14},"f":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"i":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/photography/nova-scotia-2019/":{"tf":1.0}},"df":1,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}},"w":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.449489742783178},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772}},"df":31,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3,"h":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":3.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}},"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"s":{"docs":{},"df":0,"=":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}}}}}}},"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":4.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.449489742783178},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":26}}},"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":2.6457513110645907}},"df":1}}}}},"x":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}},"o":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":2.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":2}}}},"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}},"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"j":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}},"j":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":2},"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}},"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":2.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":8}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":2}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":7}}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":3,"r":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":5.196152422706632}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":2.23606797749979}},"df":1}}}},"d":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}},"f":{"docs":{},"df":0,"=":{"docs":{},"df":0,"$":{"docs":{},"df":0,"{":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"}":{"docs":{},"df":0,"/":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":4}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"=":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}}}}},"h":{"docs":{},"df":0,"7":{"docs":{},"df":0,"l":{"docs":{},"df":0,"z":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951}},"df":4,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}},"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":11,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":2}}}}},"m":{"docs":{},"df":0,"5":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951}},"df":1}}},"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.449489742783178},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.449489742783178},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/python/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":2.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.4142135623730951}},"df":42,"c":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":15},"g":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":7}}},"s":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/retrylife/bring-the-onslaught/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":2}}}},"o":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1},"p":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.7320508075688772}},"df":1}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":2.23606797749979},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":21,"(":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"c":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}}}},"j":{"docs":{},"df":0,"d":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772}},"df":1,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"5":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":3.605551275463989}},"df":1}}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":2.23606797749979}},"df":1,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"~":{"docs":{},"df":0,"~":{"docs":{},"df":0,"~":{"docs":{},"df":0,"~":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":2.0}},"df":1,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951}},"df":1}}}},"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"/":{"docs":{},"df":0,"f":{"docs":{},"df":0,"w":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"f":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}},"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/contact/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":2.23606797749979}},"df":17}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":3}}}}},"k":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.23606797749979}},"df":1}}},"m":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.23606797749979},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":11}}}}},"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":2,"a":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{},"df":0,"(":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"[":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951}},"df":5,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":6}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":3}}},"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":11},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951}},"df":6,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"i":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1},"s":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":2,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":2}}}}}},"p":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"u":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.23606797749979},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":2.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":2.23606797749979},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":2.23606797749979},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":47,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":2}}}},"g":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":7}}},"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.23606797749979},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":3.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":2.0}},"df":14,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"(":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":3}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.23606797749979},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.6457513110645907},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":34,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3}},"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"{":{"docs":{},"df":0,"w":{"docs":{},"df":0,"}":{"docs":{},"df":0,"^":{"docs":{},"df":0,"{":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{},"df":0,"{":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}}},"x":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1,"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1}},"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/udm-fan/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":4}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":6}}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":3}}}}}}},"w":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":3}}}}},"p":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.6457513110645907}},"df":6,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0}},"df":1}}}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2},"k":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":6,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":2.23606797749979},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":12,"e":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":4}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3},"g":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":2.449489742783178},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0},"https://ewpratten.com/timeline/":{"tf":1.0}},"df":19,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}}}}}},"r":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}},"m":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1,"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951}},"df":1}}},"e":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1,"l":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":3,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.23606797749979},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":5,"m":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.4142135623730951}},"df":1}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"=":{"docs":{},"df":0,"{":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":3}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"s":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":7,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":2}}},"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":20,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":4}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":1}},"y":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":2.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":15,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":2.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951}},"df":6,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/music/retrylife/memories/":{"tf":1.0}},"df":18,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":4,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"(":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}},"h":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":3.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":13,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"/":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"p":{"docs":{},"df":0,"c":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"_":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"3":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}}}}}},"q":{"docs":{},"df":0,"m":{"docs":{},"df":0,"k":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.7320508075688772}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}}},"3":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"u":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951}},"df":4}}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}},"y":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951}},"df":1,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772}},"df":1}}}}}},"b":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":2.0}},"df":1},"x":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}},"d":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1,"f":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/music/":{"tf":1.4142135623730951}},"df":1}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/contact/":{"tf":1.4142135623730951}},"df":4,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}}}}}}},"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":22,"e":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1},"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":11,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":7,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":10}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":2}},"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.23606797749979}},"df":1}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":19}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1},"p":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":2.6457513110645907},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":5}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/photography/":{"tf":1.0},"https://ewpratten.com/photography/nova-scotia-2019/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.7320508075688772},"https://ewpratten.com/photography/weatherballoon/":{"tf":1.0}},"df":8,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/photography/":{"tf":1.0}},"df":4}}}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}}}}}}}}},"p":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":9}}}}},"i":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":6,"'":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":1},"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"z":{"docs":{},"df":0,"n":{"docs":{},"df":0,"y":{"docs":{},"df":0,"i":{"docs":{},"df":0,"2":{"docs":{},"df":0,"z":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"j":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"4":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1}}}}}}}}}},"u":{"docs":{},"df":0,"9":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772}},"df":8},"o":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}}}}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}}},"d":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951}},"df":1},"e":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":5}},"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1},"y":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":2}}}},"n":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.0}},"df":3,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}},"g":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1,"a":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}},"p":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772}},"df":7,"3":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":2.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":5},"e":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":7}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1},"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}},"x":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":3.872983346207417}},"df":2,"_":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951}},"df":1}}}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"b":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"k":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951}},"df":13}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":3,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":2}}}}}},"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":16,"e":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.0}},"df":2,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/channels/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/festive-duality/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/radioactive/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/scale-hop/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"tf":1.0}},"df":16,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}},"y":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":2.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":22,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":3,"'":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/donate/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":4,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"(":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"(":{"docs":{},"df":0,"x":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"'":{"docs":{},"df":0,"a":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}}}}}}},"x":{"docs":{},"df":0,"k":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3,"g":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772}},"df":6,"&":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,";":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.449489742783178},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":3.1622776601683795}},"df":8}}}}},"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.449489742783178},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.449489742783178},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":14,"&":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,";":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":2.449489742783178},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":2.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":5}}}}},"k":{"docs":{},"df":0,"3":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":4.0}},"df":1}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951}},"df":1}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":2}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1},"g":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951}},"df":1,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":5}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":5,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0}},"df":1}},"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":4}},"b":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.7320508075688772}},"df":1},"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":2},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":8,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":2.0}},"df":1}}}}}}}}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":9}}}},"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":2.449489742783178},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":3.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/languagehunt2/":{"tf":2.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.6457513110645907},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/notes/":{"tf":1.0}},"df":38,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.7320508075688772}},"df":13,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.7320508075688772}},"df":1}}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951}},"df":1}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":9}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":3}}}}},"e":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":7,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951}},"df":2}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0}},"df":13}},"i":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":3,"(":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.0}},"df":4},"t":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":9}},"r":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":2}},"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}},"s":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":2.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":12,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951}},"df":1}}},"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":16},"y":{"docs":{},"df":0,"=":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,":":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"%":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":9,"s":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":3}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.4142135623730951}},"df":4,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":2}}},"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}},":":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":2.449489742783178},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":8,"(":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951}},"df":1}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"[":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":2}},"f":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":3.4641016151377544}},"df":1},"l":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":2.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"(":{"docs":{},"df":0,"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":11}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"s":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":2.23606797749979}},"df":3,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":12}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.23606797749979},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":14}}}},"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.23606797749979},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":19}}}},"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/music/":{"tf":1.4142135623730951}},"df":10,"t":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.7320508075688772}},"df":10}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0}},"df":5},"t":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951}},"df":1}}},"g":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"8":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.23606797749979},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":2.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.449489742783178},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":2.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.449489742783178},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.449489742783178},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":2.23606797749979},"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951}},"df":33,"m":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.449489742783178},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":6,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":3}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"(":{"docs":{},"df":0,".":{"docs":{},"df":0,"*":{"docs":{},"df":0,")":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":2.23606797749979},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":2.23606797749979},"https://ewpratten.com/blog/mindmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":3.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":2.449489742783178},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":2.23606797749979},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":5.0990195135927845},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":3.3166247903554},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":2.6457513110645907},"https://ewpratten.com/music/evan-pratten/":{"tf":1.0},"https://ewpratten.com/music/retrylife/project-39/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":2.23606797749979},"https://ewpratten.com/projects/chromebooks/":{"tf":2.0},"https://ewpratten.com/projects/kobo/":{"tf":2.449489742783178},"https://ewpratten.com/projects/minecraft/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/vfx/":{"tf":1.0}},"df":44,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"(":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"k":{"docs":{},"df":0,"b":{"docs":{},"df":0,"f":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"\"":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":2}}},"n":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":3,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3}},"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.23606797749979},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.449489742783178},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":9}},"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":3}}}}},"u":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":3.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":23},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1}}}}},"x":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":3},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1,"3":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}},"r":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":2.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2,"=":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.23606797749979},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":2}},"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":2.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":13,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":3.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/music/evan-pratten/channels/":{"tf":1.0}},"df":12}}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":9},"s":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}}}},"e":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":1},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951}},"df":7}},"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":15,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"(":{"docs":{},"df":0,"*":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}}}}}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"n":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":2.6457513110645907}},"df":1}}}}}},"y":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}},"c":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":2,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":2.23606797749979},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.0},"https://ewpratten.com/blog/wrong-python/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":20,"'":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":2},"3":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":2.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772}},"df":12,".":{"docs":{},"df":0,"7":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":3}}}}}}}}},"q":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":2.449489742783178}},"df":1,"*":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":1}}}}},"^":{"docs":{},"df":0,"*":{"docs":{},"df":0,"k":{"docs":{},"df":0,"q":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.449489742783178}},"df":1}}},"m":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":3.3166247903554}},"df":2,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951}},"df":1}}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"3":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}}}}}},"r":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1},"z":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951}},"df":1,"h":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3}}}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":6.48074069840786}},"df":1,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"(":{"docs":{},"df":0,"&":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,";":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"3":{"docs":{},"df":0,":":{"docs":{},"df":0,":":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"(":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gamels/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":8}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":12}}}}},"u":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":13,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":12}},"s":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"x":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":20,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}},"é":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.4142135623730951}},"df":1}}}}}},"r":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951}},"df":6,"/":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}},"1":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772}},"df":2}},"3":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}},"6":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"\\":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"{":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.23606797749979}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.7320508075688772}},"df":2}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}},"o":{"docs":{"https://ewpratten.com/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.23606797749979},"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.1622776601683795},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":2.6457513110645907}},"df":8,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/evan-pratten/radioactive/":{"tf":1.4142135623730951}},"df":1}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.449489742783178},"https://ewpratten.com/hobbies/robotics/":{"tf":3.3166247903554}},"df":10}}},"n":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"s":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}},"m":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1,"p":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}},"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":5,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":5,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1},"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}},"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1},"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":5},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951}},"df":1}}}}}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":3}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}}}}}}},"w":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":4,"_":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951}},"df":1}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.1622776601683795}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"2":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"b":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1},"c":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1,"2":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":4.47213595499958}},"df":2}}}}},"d":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772}},"df":1}},"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":9,".":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"(":{"docs":{},"df":0,"r":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}}}}}}}},"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"=":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"(":{"docs":{},"df":0,".":{"docs":{},"df":0,"*":{"docs":{},"df":0,")":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}}}}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}},"d":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":22,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.4142135623730951}},"df":5}},"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":3},"m":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":3},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}}},"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":15,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":3}},"z":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":24}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":13}}}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/music/retrylife/reborn/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1},"t":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":1}}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":5}},"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.23606797749979},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":18}}},"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":2}},"k":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":8}}}}},"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/music/":{"tf":1.0}},"df":5,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951}},"df":1}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951}},"df":1}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}}}},"d":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/donate/":{"tf":1.0},"https://ewpratten.com/network/":{"tf":1.0}},"df":6}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951}},"df":2}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":7,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}},"x":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":6}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":5,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":2.23606797749979},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":7,"r":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951}},"df":2},"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772}},"df":1,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":6,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":9},"v":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1},"y":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.23606797749979},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":2}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":2.0}},"df":7,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":1}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":2}},"k":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951}},"df":1},"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0}},"df":1}},"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":15}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":5,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"v":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":11}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":3.4641016151377544}},"df":7}}},"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.6457513110645907},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"2":{"docs":{},"df":0,"g":{"docs":{},"df":0,"q":{"docs":{},"df":0,"r":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}}},"l":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.6457513110645907}},"df":1,"a":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":2.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772}},"df":13,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}}}}},"\\":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":5}}},"o":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":2.23606797749979},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":11,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}}}}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951}},"df":11},"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/projects/":{"tf":1.0}},"df":1}}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.449489742783178},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":2.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":2.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":3.1622776601683795}},"df":13,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"(":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"w":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"z":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"\"":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"3":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"w":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"z":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"{":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"}":{"docs":{},"df":0,"\"":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"(":{"docs":{},"df":0,")":{"docs":{},"df":0,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":24,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}}}}}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":2}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772}},"df":3}}}},"r":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1},"b":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":3}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":2}},"v":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":2}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":4}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1},"s":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":5}}}},"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":8,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":4}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":16}},"m":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.4142135623730951},"https://ewpratten.com/music/retrylife/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":3}}}}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":2.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772}},"df":15}}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}},"v":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.0}},"df":1,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/hatchfield/":{"tf":1.7320508075688772}},"df":3}},"r":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1},"s":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/timeline/":{"tf":1.0}},"df":7,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":3}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":5}}}}},"f":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951}},"df":2,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}}}}},"k":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951}},"df":1,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772}},"df":1,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"4":{"docs":{},"df":0,"4":{"docs":{},"df":0,"6":{"docs":{},"df":0,"6":{"docs":{},"df":0,".":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"z":{"docs":{},"df":0,"z":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}}}}},"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.23606797749979},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":20}}},"o":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.6457513110645907}},"df":1,"e":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":2.0}},"df":1},"v":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951}},"df":1}}},"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":2}},"m":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":2,"i":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.7320508075688772}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772}},"df":1}}}}}}},"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"_":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.23606797749979},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/running-roborio-native/":{"tf":4.242640687119285}},"df":4,":":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772}},"df":1}}}}},"o":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}},"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.0}},"df":1}}}}}}},"t":{"docs":{"https://ewpratten.com/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":3.872983346207417},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":3.605551275463989},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":4.69041575982343},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.23606797749979},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/year-wrapup/":{"tf":4.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":5.196152422706632}},"df":18,"'":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.449489742783178},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":3},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}}}}}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"(":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}},"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0}},"df":1}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.7320508075688772}},"df":2}},"l":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":2.0}},"df":4},"l":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0}},"df":1}},"m":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":5},"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":4,"/":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"k":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"k":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772}},"df":1}}}}}}}}}}}}}}}}}},"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"/":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":6,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":4.123105625617661},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":6,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951}},"df":1}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.449489742783178},"https://ewpratten.com/blog/pwnlink/":{"tf":3.3166247903554},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":6,"'":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0}},"df":1}},"q":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.1622776601683795},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":2,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"j":{"docs":{},"df":0,"7":{"docs":{},"df":0,"2":{"docs":{},"df":0,"2":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}},"a":{"docs":{},"df":0,"7":{"docs":{},"df":0,"2":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3,"'":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}}}}}},"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/timeline/":{"tf":1.0}},"df":3},"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951}},"df":1,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951}},"df":1}}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.449489742783178},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":2.449489742783178},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951}},"df":7,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":2}}}}},"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.23606797749979},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":3.3166247903554},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":3.7416573867739413},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.23606797749979},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/personal-ases/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.449489742783178},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":3.872983346207417},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":4.358898943540674},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":40,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":3}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":4.58257569495584},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.7320508075688772}},"df":5,"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.0}},"df":1}}}}}}},"c":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}},"s":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":4.58257569495584},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":4,")":{"docs":{},"df":0,"}":{"docs":{},"df":0,"{":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1,"}":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"{":{"docs":{},"df":0,"b":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"0":{"docs":{},"df":0,"4":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}}}}}},"3":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1},"\\":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"{":{"docs":{},"df":0,"b":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951}},"df":1}}}}}}},"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{},"df":0,"}":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":2}},"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}},"m":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":21},"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1}}},"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":2}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":2}}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":9,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}},"w":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"y":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":4}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}},"r":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/scale-hop/":{"tf":1.4142135623730951}},"df":4}},"n":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":3,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1,"(":{"docs":{},"df":0,"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1},"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":5}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":5}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":2}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":15,"'":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951}},"df":1}}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":3}}}},"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":2.0}},"df":3,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772}},"df":2}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/photography/nova-scotia-2019/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951}},"df":1,"o":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1,"e":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":5,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.0}},"df":6,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":4}}}}}},"w":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951}},"df":3}},"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.0},"https://ewpratten.com/blog/bashsmash/":{"tf":2.0},"https://ewpratten.com/blog/becomeranter/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":2.23606797749979},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":2.449489742783178},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/pwnlink/":{"tf":2.23606797749979},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":3.872983346207417},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0}},"df":20,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":1,"k":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951}},"df":1,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.0},"https://ewpratten.com/search/":{"tf":1.0}},"df":9}}},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":2.449489742783178}},"df":5}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":18,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":4}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951}},"df":5}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":2.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":13}}}},"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.4142135623730951}},"df":1},"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":2.23606797749979},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":34,"m":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":7},"n":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":4}},"g":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":3}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/contact/":{"tf":1.0}},"df":10,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":2.23606797749979}},"df":8,".":{"docs":{},"df":0,"_":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":1}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/python/":{"tf":2.449489742783178}},"df":1}}}}},"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}},"l":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":2.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/contact/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":15,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2}}},"s":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951}},"df":2,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":2}},"t":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":5}}},"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951}},"df":5}},"o":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.4142135623730951}},"df":1},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":6}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":3}}}}},"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"i":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":4}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2}}}},"v":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":4,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":3.605551275463989},"https://ewpratten.com/blog/minecraft-irc/":{"tf":3.3166247903554},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":3.872983346207417},"https://ewpratten.com/blog/unfinished-projects/":{"tf":4.358898943540674},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":3.3166247903554},"https://ewpratten.com/blog/windows-ssh/":{"tf":2.449489742783178},"https://ewpratten.com/projects/minecraft/":{"tf":3.0}},"df":16,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/windows-ssh/":{"tf":2.0}},"df":10}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/corepack-development/":{"tf":2.23606797749979},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":3.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.23606797749979},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":2.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":41,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1,"(":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951}},"df":1},"1":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.449489742783178},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":11}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1},"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}},"d":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"r":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":3,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0}},"df":1}}}}}}},"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":12},"p":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":9}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3,"2":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":3.7416573867739413}},"df":1},"3":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"6":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772}},"df":1}}}},"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":4}},"p":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":5,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}},"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}}}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.4142135623730951}},"df":3,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"w":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":14,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}},"n":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":3}}},"u":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.0}},"df":1}}}},"t":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":2}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":2.0}},"df":21,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"n":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"[":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"r":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":2.0}},"df":1},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/retrylife/silent/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"r":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":9,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":4.242640687119285},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":30,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":2},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":5}},"x":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.7320508075688772}},"df":3}},"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.23606797749979},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":17,"c":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":3},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.0}},"df":4}}},"n":{"docs":{},"df":0,"(":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"{":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"}":{"docs":{},"df":0,"{":{"docs":{},"df":0,"1":{"docs":{},"df":0,"8":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":13,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1}}}}}}},"k":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":7,"e":{"docs":{"https://ewpratten.com/blog/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":8},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":2}}}},"x":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"z":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":3.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":9,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"1":{"docs":{},"df":0,"3":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951}},"df":1}}}}}},"5":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}},"7":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4}},"p":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":5}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":1}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2,"r":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":3,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":7}}}}}},"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.872983346207417},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":20,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/notes/":{"tf":1.0}},"df":4}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0}},"df":1}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"4":{"docs":{},"df":0,"5":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.0}},"df":1,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"j":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951}},"df":1,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":3}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":2.23606797749979}},"df":1,"(":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951}},"df":1}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":1}}}},"f":{"docs":{},"df":0,"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.0},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.8284271247461903},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":2.8284271247461903},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.4142135623730951}},"df":22}}}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}}},"e":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":4}},"o":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":10}},"v":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":11}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":11}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":27},"i":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":7}}},"w":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":2}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/music/evan-pratten/channels/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":2}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":8}},"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":3.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.8284271247461903},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":8,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"_":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/music/":{"tf":1.0},"https://ewpratten.com/music/retrylife/imagined/":{"tf":1.0}},"df":3}}}}}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.23606797749979},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":18,"e":{"docs":{},"df":0,"=":{"docs":{},"df":0,"$":{"docs":{},"df":0,"{":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"}":{"docs":{},"df":0,",":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"=":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,",":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"=":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,",":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"y":{"docs":{},"df":0,"=":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,",":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"=":{"docs":{},"df":0,"/":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":3.3166247903554},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":2.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.4142135623730951}},"df":9}},"m":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":3},"k":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}}},"w":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":3}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":3,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3}}}},"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":7,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"f":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":21,"i":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":6}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951}},"df":1}}}}},"e":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.23606797749979},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.449489742783178},"https://ewpratten.com/blog/udm-fan/":{"tf":2.449489742783178},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":6}},"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951}},"df":1,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}},"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":8},"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":8}}},"i":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"n":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":4},"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":4}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.4142135623730951},"https://ewpratten.com/music/evan-pratten/channels/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/festive-duality/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/radioactive/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/scale-hop/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"tf":1.0},"https://ewpratten.com/music/retrylife/bring-the-onslaught/":{"tf":1.0},"https://ewpratten.com/music/retrylife/death-among-us/":{"tf":1.0},"https://ewpratten.com/music/retrylife/explosive-xmas/":{"tf":1.0},"https://ewpratten.com/music/retrylife/flare/":{"tf":1.0},"https://ewpratten.com/music/retrylife/gifted/":{"tf":1.0},"https://ewpratten.com/music/retrylife/hidden-forest/":{"tf":1.0},"https://ewpratten.com/music/retrylife/hypernova/":{"tf":1.0},"https://ewpratten.com/music/retrylife/insanitorium/":{"tf":1.0},"https://ewpratten.com/music/retrylife/intergalactic-swirlz/":{"tf":1.0},"https://ewpratten.com/music/retrylife/lemons/":{"tf":1.0},"https://ewpratten.com/music/retrylife/memories/":{"tf":1.0},"https://ewpratten.com/music/retrylife/reborn/":{"tf":1.0},"https://ewpratten.com/music/retrylife/the-eternal/":{"tf":1.0},"https://ewpratten.com/music/retrylife/xmas-02/":{"tf":1.0}},"df":23}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3}}}},"x":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}},"q":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"{":{"docs":{},"df":0,"\\":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}}}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772}},"df":2}}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}},"x":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951}},"df":1,"p":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.23606797749979},"https://ewpratten.com/blog/udm-fan/":{"tf":2.449489742783178},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":2.8284271247461903}},"df":6,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}}}}}}}},"d":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":2.0}},"df":1}},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772}},"df":1,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}},"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":4}},"f":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":3},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":3,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":13}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1,"e":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":3},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":3}}}},"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":2.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.449489742783178},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":2.23606797749979},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":2.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.7320508075688772}},"df":38,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772}},"df":1}}}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":4,"e":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":5,"(":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"=":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}}}}}}}}}}},"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":6},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":2}},"x":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"u":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":4}},"y":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}},"d":{"docs":{},"df":0,":":{"docs":{},"df":0,":":{"docs":{},"df":0,"f":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,":":{"docs":{},"df":0,":":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,":":{"docs":{},"df":0,":":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"_":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"df":0,"c":{"docs":{},"df":0,"+":{"docs":{},"df":0,"+":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,".":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":4}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":3.0}},"df":2}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}},"m":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1},"p":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":18}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":6,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":15}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}},"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":10},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":11},"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}}},"r":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1,"(":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}},"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}},"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":2}}},"n":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"g":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0}},"df":1}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":2.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":3},"m":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":4}},"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/googlectf/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":8}},"p":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":4,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":3}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":3.3166247903554},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":3,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":4}}}}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":3}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":7}}},"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":3}}},"f":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":6}},"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":4}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":4}}}}}},"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":8},"u":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1},"s":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951}},"df":1}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":4}}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772}},"df":1}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.449489742783178},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":2}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}}},"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":2.0}},"df":1}}}}},"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951}},"df":1}}}}}}},"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":4,"=":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1},"2":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}},"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/":{"tf":1.0}},"df":8},"k":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":3}},"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.23606797749979},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":9}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":3}}}}},"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1,"i":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.23606797749979},"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"tf":1.4142135623730951}},"df":3}}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":7,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.449489742783178},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":16,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":18},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":4,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":2}}}}}}}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2}}}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":2}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}},"p":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/music/retrylife/intergalactic-swirlz/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.0}},"df":10,"_":{"docs":{},"df":0,"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"_":{"docs":{},"df":0,"f":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"r":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951}},"df":1}},"y":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772}},"df":1}}}}},"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}},"x":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":4}}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"w":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"w":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"0":{"docs":{},"df":0,"/":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"w":{"docs":{},"df":0,"m":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}}}},"2":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1,"_":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.449489742783178},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.449489742783178},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":3.7416573867739413},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":3.4641016151377544},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":2.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":36,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}}}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1,"(":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"y":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}},"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"v":{"docs":{},"df":0,"7":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},":":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}},"s":{"docs":{},"df":0,"4":{"docs":{},"df":0,"3":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}}}}}},"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":4.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":4,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}},"4":{"docs":{},"df":0,"8":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":2}}},"a":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":2.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951}},"df":3,"l":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":4}},"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1},"g":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772}},"df":4,"'":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":2.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":2.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":27,"n":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/notes/":{"tf":1.0}},"df":2}}},"l":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":11},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951}},"df":2,"s":{"docs":{},"df":0,"r":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.23606797749979},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":3}},"p":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.7320508075688772}},"df":1,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}}}},"e":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":2,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":4,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"f":{"docs":{},"df":0,"1":{"docs":{},"df":0,"6":{"docs":{},"df":0,"5":{"docs":{},"df":0,"x":{"docs":{},"df":0,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"f":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":2.449489742783178},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":9,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"j":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}}}}}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":3}}}},"y":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"b":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951}},"df":2,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"3":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}}}}}}}},"c":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1},"p":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":5,":":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,":":{"docs":{},"df":0,"9":{"docs":{},"df":0,"1":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951}},"df":1}}}},"m":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-languages/":{"tf":2.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/graphing-w2a/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":3.7416573867739413},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":4.123105625617661},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.0},"https://ewpratten.com/hobbies/robotics/":{"tf":3.7416573867739413},"https://ewpratten.com/hobbies/software/games/":{"tf":2.23606797749979},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":18,"'":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951}},"df":3},"(":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{},"df":0,"1":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}},"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"5":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}},"5":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}},"4":{"docs":{},"df":0,"0":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}},".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}},"w":{"docs":{},"df":0,"2":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.7320508075688772}},"df":1}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}},"_":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/darth-raider/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/hatchfield/":{"tf":1.4142135623730951}},"df":2}}}},"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":4,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":7}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":5}}}}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}}}},"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":2}}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}}},"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":12},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.0}},"df":2}}}},"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":2.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":4}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":2}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.4142135623730951}},"df":1}}}}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":3},"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":2.0}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772}},"df":4,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":10,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{},"df":0,"\"":{"docs":{},"df":0,":":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951}},"df":1}}}},"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951}},"df":1,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}},"s":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}},"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":16,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951}},"df":1}}}},"b":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":1}}},"x":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":11,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951}},"df":1}}}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":2.0}},"df":2,"'":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"r":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.23606797749979},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":4}}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":9}},"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":7,"'":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":5,"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/music/":{"tf":1.0},"https://ewpratten.com/music/retrylife/imagined/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/styiling-github/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":4},"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.4142135623730951},"https://ewpratten.com/notes/":{"tf":1.0},"https://ewpratten.com/timeline/":{"tf":1.0}},"df":36,"i":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}},"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":10,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":5,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":4}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":7,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/notes/":{"tf":1.0}},"df":9}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":2}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.449489742783178}},"df":2,"(":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"=":{"docs":{},"df":0,"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.449489742783178},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":18},"w":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951}},"df":1}}},"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.23606797749979},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.7320508075688772},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":37,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":2,"n":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":1}}}},"u":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":7,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}}}}}},"i":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":2,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"_":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"=":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"(":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1},"t":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":1}}},"k":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951}},"df":1}}},"z":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/cron/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.23606797749979},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.449489742783178},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":2.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":2.449489742783178},"https://ewpratten.com/hobbies/software/games/":{"tf":2.0},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":41,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/timeline/":{"tf":1.4142135623730951}},"df":3}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}},"r":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":2.23606797749979},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":2}}}}},"z":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":5},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1},"y":{"docs":{},"df":0,"g":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"p":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4}}},"m":{"docs":{},"df":0,"0":{"docs":{},"df":0,"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}}},"w":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}},"1":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":7,"'":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}},"o":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":3}},"e":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":14}}},"g":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":2.449489742783178}},"df":1}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}},"n":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":3},"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.4142135623730951}},"df":8},"l":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.449489742783178},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.23606797749979},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.449489742783178},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":2.23606797749979},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.449489742783178},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.0},"https://ewpratten.com/blog/shift2/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/unfinished-projects/":{"tf":6.082762530298219},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.4142135623730951}},"df":34,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":3.4641016151377544}},"df":1}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":4.58257569495584},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":5,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"z":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}},"b":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}},"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":2.23606797749979}},"df":1}}},"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"z":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":4}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}}}}},"p":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":14,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":4}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0}},"df":5}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":3}}}},"y":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":2,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":2,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}},"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.449489742783178}},"df":1}}}}},"i":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1},"k":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":11,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{},"df":0,"f":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}}},"f":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/billwurtz/":{"tf":1.7320508075688772}},"df":2}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}}}}}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":2}}}},"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":3}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":2.449489742783178}},"df":1}}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":6}}},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":3},"r":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":2}},"e":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":2,".":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}},"k":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":2}}},"i":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":22,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":6,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":3}}}}},"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772}},"df":2}}}},"p":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.4142135623730951}},"df":1}},"u":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":2.449489742783178},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":7},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}}}}},"t":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.23606797749979}},"df":1}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951}},"df":1,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}},"e":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"[":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0}},"df":1}}}}}}}}},"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":2.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":18}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":4}}}}},"v":{"docs":{"https://ewpratten.com/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"s":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772}},"df":1}}}},"w":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/kobo/":{"tf":1.4142135623730951}},"df":7}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.23606797749979},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":30}},"y":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.449489742783178},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":3.605551275463989},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.449489742783178},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":23,"\"":{"docs":{},"df":0,":":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"b":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951}},"df":1}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.4142135623730951}},"df":1}}}}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772}},"df":1},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}}}},"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}}}}}}}},"u":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951}},"df":1,".":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1},"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}}}}}}}},"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}},"b":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}}}}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":4}}}}},"c":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":2.6457513110645907}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1},"_":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}}}}}}}}}}},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}},"h":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1,"f":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":3}},"i":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":3,"/":{"docs":{},"df":0,"u":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"1":{"docs":{},"df":0,"6":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0}},"df":1}}}},"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.6457513110645907}},"df":1}}}},"8":{"docs":{},"df":0,"_":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772}},"df":1}}}}}},"k":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/photography/nova-scotia-2019/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":3.0}},"df":3}}}}}}}}},"n":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":4,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":2}},"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}},"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.449489742783178},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0}},"df":10,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951}},"df":2}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":7}}}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951}},"df":1}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":5}}}}}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}},"q":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":1,"u":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}},"t":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":4,"q":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,":":{"docs":{},"df":0,":":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"&":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{},"df":0,";":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,".":{"docs":{},"df":0,"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":2}}}},"x":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":2}}},"i":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":5},"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.23606797749979}},"df":2}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951}},"df":2}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":2}}}}}}}}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":7}}},"u":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":4}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}},"z":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":2}}}},"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.23606797749979},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.23606797749979},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.23606797749979},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.23606797749979},"https://ewpratten.com/blog/nanovna/":{"tf":2.23606797749979},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":2.23606797749979},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":2.449489742783178},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":2.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/udm-fan/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.6457513110645907},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":50,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":13}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":9}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.7320508075688772}},"df":4}},"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":2.23606797749979}},"df":1}}}}},"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.7320508075688772}},"df":1,"(":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"/":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"/":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.449489742783178},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":8}},"s":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.449489742783178},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":3.605551275463989},"https://ewpratten.com/blog/bashsmash/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":3.7416573867739413},"https://ewpratten.com/blog/becomeranter/":{"tf":2.449489742783178},"https://ewpratten.com/blog/billwurtz/":{"tf":2.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.449489742783178},"https://ewpratten.com/blog/commit-sync/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/corepack-development/":{"tf":4.0},"https://ewpratten.com/blog/cron/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":2.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/ludumdare46/":{"tf":2.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/nanovna/":{"tf":2.23606797749979},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":2.23606797749979},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":2.23606797749979},"https://ewpratten.com/blog/pwnlink/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/python/":{"tf":2.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":3.3166247903554},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":2.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.449489742783178},"https://ewpratten.com/blog/running-roborio-native/":{"tf":3.4641016151377544},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":3.872983346207417},"https://ewpratten.com/blog/shift2/":{"tf":3.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/styiling-github/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":2.449489742783178},"https://ewpratten.com/blog/unfinished-projects/":{"tf":4.358898943540674},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":4.795831523312719},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.6457513110645907},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772},"https://ewpratten.com/products/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":2.23606797749979},"https://ewpratten.com/projects/minecraft/":{"tf":1.7320508075688772}},"df":64,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":7}},"b":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.449489742783178},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":8},"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/projects/":{"tf":1.7320508075688772}},"df":3},"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}},"r":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":2.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.23606797749979},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":23,"'":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":2},"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.4142135623730951}},"df":5,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}}}}}}}}}},"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.8284271247461903}},"df":1}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1}}}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}},"g":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"5":{"docs":{},"df":0,".":{"docs":{},"df":0,"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,"/":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{},"df":0,"u":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"df":0,"y":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"6":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,".":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.7320508075688772}},"df":1},"y":{"docs":{},"df":0,"'":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1,"/":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}}}}},"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"/":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"/":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{},"df":0,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"v":{"docs":{},"df":0,"7":{"docs":{},"df":0,"l":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":8}}}},"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"f":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951}},"df":6,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772}},"df":1}}}}}},"v":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951}},"df":3}},"v":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":3,"1":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1},"2":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2},"3":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1},"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"z":{"docs":{},"df":0,"z":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":2.23606797749979}},"df":3,"'":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1},".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":4}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":2}}},"u":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":4.242640687119285},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":15,"e":{"docs":{},"df":0,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"(":{"docs":{},"df":0,".":{"docs":{},"df":0,"*":{"docs":{},"df":0,")":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"/":{"docs":{},"df":0,"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"u":{"docs":{},"df":0,"p":{"docs":{},"df":0,"s":{"docs":{},"df":0,"/":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"g":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"/":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}},"v":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":5,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":6}},"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.7320508075688772},"https://ewpratten.com/music/":{"tf":1.0}},"df":3}},"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"u":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.4142135623730951},"https://ewpratten.com/products/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":18}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}},"b":{"docs":{},"df":0,"3":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}}}}},"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.7320508075688772}},"df":1}}}}},"4":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}}}}},"6":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}}}}},"c":{"docs":{},"df":0,"3":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}}}}}},"9":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}}}}}}},"v":{"docs":{"https://ewpratten.com/products/":{"tf":1.7320508075688772}},"df":1}},"e":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.23606797749979},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":5.385164807134504},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":5,"2":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"f":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951}},"df":1}}}}}}}}}},":":{"docs":{},"df":0,":":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"(":{"docs":{},"df":0,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}},"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}},"3":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"f":{"docs":{},"df":0,"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}},":":{"docs":{},"df":0,":":{"docs":{},"df":0,"z":{"docs":{},"df":0,"_":{"docs":{},"df":0,"a":{"docs":{},"df":0,"x":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}}}}}},"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951}},"df":2}}}},"r":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.449489742783178},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":2.23606797749979},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.23606797749979},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951}},"df":32,"f":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":3}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.23606797749979},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":3.4641016151377544}},"df":22,"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}},"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"9":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}},"1":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}}}}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"f":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772}},"df":1,"x":{"docs":{"https://ewpratten.com/projects/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/vfx/":{"tf":1.0}},"df":2}},"h":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}},"i":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1,"a":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":22,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}},"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":12,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1,"i":{"docs":{"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":1}}}}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}}}}}},"e":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":2.0},"https://ewpratten.com/projects/minecraft/":{"tf":2.449489742783178}},"df":14,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":4}}}},"m":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1},"n":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.0}},"df":6,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.23606797749979},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.4142135623730951}},"df":7}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":2.0},"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":8,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{},"df":0,"_":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"/":{"docs":{},"df":0,"j":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":3},"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":2.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":3}},"l":{"docs":{"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.4142135623730951}},"df":1,"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.7320508075688772}},"df":3}}},"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":3.1622776601683795}},"df":2,"/":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,":":{"docs":{},"df":0,"&":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,";":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"_":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"e":{"docs":{},"df":0,"w":{"docs":{},"df":0,"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}},"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,"x":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"x":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"2":{"docs":{},"df":0,"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2,"m":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}},"p":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.4142135623730951}},"df":2,"n":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":2.6457513110645907}},"df":3}},"s":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":2,"c":{"docs":{},"df":0,"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,".":{"docs":{},"df":0,"v":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":6,".":{"docs":{},"df":0,"c":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}}}}}}}},"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772}},"df":1,"'":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.23606797749979}},"df":3,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":6,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":2.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/becomeranter/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":2.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":39}},"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":8},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1},"m":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}}},"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":3}}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":3}},"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":1,"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951}},"df":1,"e":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}},"y":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":2.23606797749979},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":30,"i":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.4142135623730951}},"df":1}}}},"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/weatherballoon/":{"tf":1.0}},"df":3}}}}},"b":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":5,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":3}},"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.449489742783178}},"df":1}}},"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951}},"df":1}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":3}}},"s":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":2}}},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":2.23606797749979},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.0}},"df":12}}}},"e":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":8,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":3}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":2.23606797749979}},"df":2}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":7}}},"l":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1}}},"l":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":2.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.7320508075688772},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":14}},"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":7}},"r":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951}},"df":1}}},"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":4,"'":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1},"e":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":5}}}},"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":2.23606797749979},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951}},"df":2}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":3}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"(":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":2}}}},"p":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"e":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.7320508075688772}},"df":10}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/photography/nova-scotia-2019/":{"tf":1.0},"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":4},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":2}}},"f":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}},"k":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":4,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":4}}}}}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951}},"df":1,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":2.6457513110645907},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":2}}}},"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":4,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":3.1622776601683795}},"df":10,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.4142135623730951}},"df":1}}}}}}},"e":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}}}},"p":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1,"e":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":5,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1},"h":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"*":{"docs":{},"df":0,"*":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":2}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":2.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":18}}}}}},"l":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1},"m":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951}},"df":1},"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":2.23606797749979}},"df":1,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":5},"k":{"docs":{"https://ewpratten.com/":{"tf":2.449489742783178},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.449489742783178},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":2.0},"https://ewpratten.com/blog/corepack-development/":{"tf":2.0},"https://ewpratten.com/blog/devdns/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/googlectf/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":2.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":2.23606797749979},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":2.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/nanovna/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":2.0},"https://ewpratten.com/blog/personal-ases/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":2.449489742783178},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":2.23606797749979},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.449489742783178},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":3.1622776601683795},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":2.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":2.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/year-wrapup/":{"tf":3.0},"https://ewpratten.com/hobbies/robotics/":{"tf":2.449489742783178},"https://ewpratten.com/projects/":{"tf":1.7320508075688772},"https://ewpratten.com/projects/chromebooks/":{"tf":1.4142135623730951},"https://ewpratten.com/projects/kobo/":{"tf":1.0},"https://ewpratten.com/timeline/":{"tf":1.0}},"df":54,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951}},"df":2}}}},"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":5,"e":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":3.3166247903554},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/hobbies/radio/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":22,"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.7320508075688772}},"df":1}}}}}},"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/new-domain/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":4}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"u":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{},"df":0,"'":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}}}},"w":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":2}},"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.8284271247461903},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":3.3166247903554},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":5,"'":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1},".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"(":{"docs":{},"df":0,"_":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}}}}}}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,".":{"docs":{},"df":0,"g":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.4142135623730951}},"df":1}}}}}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"v":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":6,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":2.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/udm-fan/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":37,"_":{"docs":{},"df":0,"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":3}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":15}}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":5}},"t":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.4142135623730951}},"df":4}}}},"t":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}},"t":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.7320508075688772}},"df":1}}}},"x":{"docs":{},"df":0,"b":{"docs":{},"df":0,"c":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}},"x":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/quaternions/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951},"https://ewpratten.com/music/retrylife/xmas-02/":{"tf":1.0}},"df":5,",":{"docs":{},"df":0,"y":{"docs":{},"df":0,",":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"1":{"docs":{},"df":0,"1":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}},"8":{"docs":{},"df":0,"6":{"docs":{},"df":0,"_":{"docs":{},"df":0,"6":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":1}}}}},"^":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}},"_":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"_":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{},"df":0,"x":{"docs":{},"df":0,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}},"y":{"docs":{},"df":0,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"0":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"&":{"docs":{},"df":0,"g":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}},"a":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":2},"9":{"docs":{},"df":0,"6":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"g":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/projects/minecraft/":{"tf":1.4142135623730951}},"df":1}}}}}}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.4142135623730951}},"df":2}}},"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/pwnlink/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.4142135623730951}},"df":3,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,":":{"docs":{},"df":0,"x":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,"w":{"docs":{},"df":0,".":{"docs":{},"df":0,"w":{"docs":{},"df":0,"3":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{},"df":0,"0":{"docs":{},"df":0,"1":{"docs":{},"df":0,"/":{"docs":{},"df":0,"x":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{},"df":0,"(":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}},"x":{"docs":{},"df":0,"m":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1}}}}}}}}}}}},"o":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":2}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.4142135623730951}},"df":1}}}},"q":{"docs":{},"df":0,"w":{"docs":{},"df":0,"y":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"2":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"|":{"docs":{},"df":0,"k":{"docs":{},"df":0,"9":{"docs":{},"df":0,"u":{"docs":{},"df":0,"w":{"docs":{},"df":0,"=":{"docs":{},"df":0,"@":{"docs":{},"df":0,"5":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,":":{"docs":{},"df":0,"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"=":{"docs":{},"df":0,"\"":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,":":{"docs":{},"df":0,"/":{"docs":{},"df":0,"/":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"/":{"docs":{},"df":0,"p":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"/":{"docs":{},"df":0,"4":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{},"df":0,".":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"x":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}},"y":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":2.23606797749979},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/quaternions/":{"tf":2.0},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":5,"^":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}},"a":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":3,"m":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}},"y":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}},"e":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/python/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0},"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":10,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/devdns/":{"tf":1.0},"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":2.23606797749979},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/year-wrapup/":{"tf":3.4641016151377544},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0}},"df":25,"l":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":2}}}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"'":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0},"https://ewpratten.com/blog/quaternions/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0}},"df":4},"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":2}},"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}},".":{"docs":{},"df":0,"k":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,".":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,".":{"docs":{},"df":0,"r":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,".":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,".":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,".":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,".":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/pwnlink/":{"tf":1.0},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/styiling-github/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0},"https://ewpratten.com/products/":{"tf":1.0}},"df":11}}}}},"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0},"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0},"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0},"https://ewpratten.com/contact/":{"tf":1.0},"https://ewpratten.com/music/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/channels/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/festive-duality/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/radioactive/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/scale-hop/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"tf":1.0}},"df":13}}},"":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}}},"z":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":2.449489742783178}},"df":1,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.4142135623730951}},"df":1}}}}}},"c":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":3}}},"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.7320508075688772},"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.4142135623730951}},"df":3,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.4142135623730951},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":2}}},"x":{"docs":{},"df":0,"v":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}},"z":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"title":{"root":{"docs":{},"df":0,"0":{"docs":{},"df":0,"2":{"docs":{"https://ewpratten.com/music/retrylife/xmas-02/":{"tf":1.0}},"df":1}},"1":{"docs":{"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.0}},"df":1,"0":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}},"2":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":2,"0":{"docs":{},"df":0,"2":{"docs":{},"df":0,"0":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}}}},"3":{"docs":{},"df":0,"2":{"docs":{},"df":0,"u":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}}},"6":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1},"9":{"docs":{"https://ewpratten.com/music/retrylife/project-39/":{"tf":1.0}},"df":1}},"4":{"docs":{},"df":0,"6":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":2}}}}}},"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/projects/vfx/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":2}}}},"p":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0}},"df":1},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}},"b":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0}},"df":1}},"l":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/photography/weatherballoon/":{"tf":1.0}},"df":2}}}}},"s":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1},"h":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/bashsmash/":{"tf":1.0}},"df":1}}}}}}},"z":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/photography/weatherballoon/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}}}},"g":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":2}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":1}},"g":{"docs":{"https://ewpratten.com/blog/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/music/retrylife/bring-the-onslaught/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":4}}}}},"c":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/music/evan-pratten/channels/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}}}},"i":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/music/retrylife/explosive-xmas/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0}},"df":2}}}}}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"s":{"docs":{},"df":0,"s":{"docs":{},"df":0,"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/github-cleanup/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":2,"s":{"docs":{},"df":0,"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":2}},"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":2}}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":2}}},"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}},"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/darth-raider/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":4}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/music/retrylife/death-among-us/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"d":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/devdns/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0},"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":2}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/direwolf-aprs/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/donate/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.4142135623730951}},"df":2}}}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/music/evan-pratten/festive-duality/":{"tf":1.0}},"df":1}}}}}}},"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1},"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/music/retrylife/enlarging-elaphants/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"o":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/music/retrylife/enlarging-elaphants/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/music/retrylife/the-eternal/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/events/":{"tf":1.0}},"df":1}}}},"x":{"docs":{},"df":0,"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"s":{"docs":{"https://ewpratten.com/music/retrylife/explosive-xmas/":{"tf":1.0}},"df":1}}}}}},"f":{"docs":{},"df":0,"a":{"docs":{},"df":0,"i":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/music/evan-pratten/festive-duality/":{"tf":1.0}},"df":1}}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}},"l":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"m":{"docs":{},"df":0,"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":3}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/music/retrylife/flare/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/32u4-upload/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/retrylife/hidden-forest/":{"tf":1.0}},"df":1}}}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":7},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/hobbies/software/games/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":2}}},"t":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/retrylife/gifted/":{"tf":1.0}},"df":1}},"t":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1,"h":{"docs":{},"df":0,"u":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0},"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":2,"'":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"o":{"docs":{},"df":0,"g":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1,"e":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,".":{"docs":{},"df":0,"b":{"docs":{"https://ewpratten.com/photography/weatherballoon/":{"tf":1.0}},"df":1}},"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/projects/chromebooks/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":2}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/hatchfield/":{"tf":1.0}},"df":1}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/music/retrylife/hidden-forest/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"b":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/hobbies/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":2}},"p":{"docs":{"https://ewpratten.com/music/evan-pratten/scale-hop/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0},"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":3}}},"y":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/music/retrylife/hypernova/":{"tf":1.0}},"df":1}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}},"m":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/buildingimgfrombin/":{"tf":1.0}},"df":1,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/music/retrylife/imagined/":{"tf":1.0}},"df":1}}}},"p":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0}},"df":1}}}}}}}},"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/contact/":{"tf":1.0}},"df":1}}}},"s":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/music/retrylife/insanitorium/":{"tf":1.0}},"df":1}}}}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"g":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/codespaces-for-frc/":{"tf":1.0}},"df":1}},"r":{"docs":{},"df":0,"g":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/retrylife/intergalactic-swirlz/":{"tf":1.0}},"df":1}}}}}},"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{},"df":0,"v":{"docs":{},"df":0,"4":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1}}},"j":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1},"v":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/java-cheatsheet/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"y":{"docs":{},"df":0,"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}}}}}},"k":{"docs":{},"df":0,"b":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/shift2/":{"tf":1.0}},"df":1,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/projects/kobo/":{"tf":1.0}},"df":1}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/frc-languages/":{"tf":1.0},"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0}},"df":2}}}}},"r":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0},"https://ewpratten.com/photography/weatherballoon/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":2}}},"m":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/music/retrylife/lemons/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":2}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0}},"df":1}}},"s":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0}},"df":1},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/ludumdare46/":{"tf":1.0}},"df":1}}}}},"m":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/music/retrylife/xmas-02/":{"tf":1.0}},"df":1,"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1,"s":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":2},"r":{"docs":{},"df":0,"k":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":2}}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0}},"df":1}}}},"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/music/retrylife/memories/":{"tf":1.0}},"df":1}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/mindmap/":{"tf":1.0}},"df":1},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"f":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0}},"df":4}}}}}},"i":{"docs":{"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/corepack-development/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"c":{"docs":{},"df":0,"u":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/monocular-blender/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/events/meme-month-2022/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/music/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/":{"tf":1.0}},"df":2}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"n":{"docs":{},"df":0,"o":{"docs":{},"df":0,"v":{"docs":{},"df":0,"n":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/blog/nanovna/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"v":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}},"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0}},"df":1}}}},"e":{"docs":{},"df":0,"t":{"docs":{},"df":0,"w":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/mounting-google-drives/":{"tf":1.0},"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0},"https://ewpratten.com/network/":{"tf":1.0}},"df":3}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.0},"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0},"https://ewpratten.com/notes/":{"tf":1.0}},"df":5}},"v":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/photography/nova-scotia-2019/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"s":{"docs":{},"df":0,"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"u":{"docs":{},"df":0,"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/retrylife/bring-the-onslaught/":{"tf":1.0}},"df":1}}}}}}}},"o":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"t":{"docs":{},"df":0,"p":{"docs":{},"df":0,"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0}},"df":1,"v":{"docs":{},"df":0,"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"g":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}}}}},"t":{"docs":{"https://ewpratten.com/blog/languagehunt2/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/retrylife/memories/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"s":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/":{"tf":1.0}},"df":2}}}}},"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/photography/nova-scotia-2019/":{"tf":1.0},"https://ewpratten.com/photography/weatherballoon/":{"tf":1.0}},"df":2,"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"h":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/photography/":{"tf":1.0}},"df":1}}}}}}}}}},"i":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/drivetrain-navigation/":{"tf":1.4142135623730951}},"df":1}}},"s":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}},"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"u":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/products/":{"tf":1.0}},"df":1}}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":2}}}},"j":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/":{"tf":1.0},"https://ewpratten.com/music/retrylife/project-39/":{"tf":1.0},"https://ewpratten.com/projects/":{"tf":1.0},"https://ewpratten.com/projects/chromebooks/":{"tf":1.0},"https://ewpratten.com/projects/kobo/":{"tf":1.0},"https://ewpratten.com/projects/minecraft/":{"tf":1.0},"https://ewpratten.com/projects/vfx/":{"tf":1.0}},"df":8}}}}}},"u":{"docs":{},"df":0,"b":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/mindmap/":{"tf":1.0},"https://ewpratten.com/blog/shift2/":{"tf":1.0},"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":4}}}}}},"q":{"docs":{},"df":0,"m":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":1}},"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}}}}},"e":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0}},"df":1}}},"é":{"docs":{},"df":0,"b":{"docs":{},"df":0,"e":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/evan-pratten/radioactive/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/darth-raider/":{"tf":1.0}},"df":1}}}}},"e":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0}},"df":1,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/reading-a-bitmap/":{"tf":1.0}},"df":1}},"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/music/retrylife/reborn/":{"tf":1.0}},"df":1}}}},"f":{"docs":{},"df":0,"r":{"docs":{},"df":0,"e":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/styiling-github/":{"tf":1.0}},"df":1}}}}},"l":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/music/retrylife/":{"tf":1.0}},"df":1}}}}}},"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0}},"df":2}}}}},"i":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{},"df":0,"r":{"docs":{},"df":0,"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/rickrolling-the-internet/":{"tf":1.0}},"df":1}}}}},"g":{"docs":{},"df":0,"h":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}}},"n":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"b":{"docs":{},"df":0,"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1}}},"t":{"docs":{"https://ewpratten.com/blog/darth-raider/":{"tf":1.0},"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0},"https://ewpratten.com/blog/hatchfield/":{"tf":1.0},"https://ewpratten.com/blog/realtime-robot-code/":{"tf":1.0},"https://ewpratten.com/hobbies/robotics/":{"tf":1.0}},"df":5}}},"u":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":2,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/pwnlink/":{"tf":1.0}},"df":1}}}}},"u":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/running-roborio-native/":{"tf":1.0}},"df":1},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{"https://ewpratten.com/blog/quaternions/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"c":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/music/evan-pratten/scale-hop/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"t":{"docs":{},"df":0,"i":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/photography/nova-scotia-2019/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}}},"i":{"docs":{},"df":0,"p":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":2}}}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/search/":{"tf":1.0}},"df":1}}}},"r":{"docs":{},"df":0,"v":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/minecraft-irc/":{"tf":1.0},"https://ewpratten.com/blog/ultralight-writeup/":{"tf":1.0},"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":4}}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/brainfuckinbash/":{"tf":1.0}},"df":1}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"g":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{},"df":0,"n":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/music/retrylife/silent/":{"tf":1.0}},"df":1}}}}},"n":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/python/":{"tf":1.0}},"df":1}}}},"o":{"docs":{},"df":0,"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/music/retrylife/imagined/":{"tf":1.0}},"df":1}}}}}}}}},"p":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/amprnet-bgp/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.0}},"df":2}}},"e":{"docs":{},"df":0,"c":{"docs":{},"df":0,"i":{"docs":{},"df":0,"f":{"docs":{"https://ewpratten.com/notes/bgp-country-blocks/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}},"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/gamels/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":2}}},"y":{"docs":{},"df":0,"l":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"m":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"l":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/music/retrylife/intergalactic-swirlz/":{"tf":1.0}},"df":1}}},"t":{"docs":{},"df":0,"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":1}}}}},"y":{"docs":{},"df":0,"n":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/blog/commit-sync/":{"tf":1.0}},"df":1}},"s":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/bazel-and-avr/":{"tf":1.0}},"df":1}}}}}},"t":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/lookback-gmad/":{"tf":1.0},"https://ewpratten.com/blog/notetaking-with-latex/":{"tf":1.0}},"df":2}},"n":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/joystick-to-voltage/":{"tf":1.0}},"df":1}}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"m":{"docs":{},"df":0,"'":{"docs":{"https://ewpratten.com/blog/scrapingfrcgithub/":{"tf":1.0}},"df":1}}},"c":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/frc-tech-reference/":{"tf":1.0}},"df":1}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"r":{"docs":{},"df":0,"i":{"docs":{},"df":0,"c":{"docs":{"https://ewpratten.com/music/retrylife/imagined/":{"tf":1.0}},"df":1}}}}}},"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"m":{"docs":{},"df":0,"e":{"docs":{"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.0}},"df":2,"l":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/timeline/":{"tf":1.0}},"df":1}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"c":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"tf":1.0}},"df":1}}},"i":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1,"p":{"docs":{"https://ewpratten.com/photography/quebec-2017/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"n":{"docs":{},"df":0,"n":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":1}}}}},"w":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"k":{"docs":{"https://ewpratten.com/blog/vanilla-plus-mods/":{"tf":1.0}},"df":1}}},"o":{"docs":{"https://ewpratten.com/blog/googlectf/":{"tf":1.0}},"df":1}}},"u":{"docs":{},"df":0,"d":{"docs":{},"df":0,"m":{"docs":{"https://ewpratten.com/blog/udm-fan/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"f":{"docs":{},"df":0,"i":{"docs":{},"df":0,"n":{"docs":{},"df":0,"i":{"docs":{},"df":0,"s":{"docs":{},"df":0,"h":{"docs":{"https://ewpratten.com/blog/unfinished-projects/":{"tf":1.0}},"df":1}}}}}}},"p":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1,"d":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1}}},"g":{"docs":{},"df":0,"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/2020-12-4-galliumos/":{"tf":1.0}},"df":1}}}}},"s":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0},"https://ewpratten.com/blog/billwurtz/":{"tf":1.0},"https://ewpratten.com/blog/corepack-development/":{"tf":1.0},"https://ewpratten.com/blog/cron/":{"tf":1.0},"https://ewpratten.com/blog/kbfs-maven/":{"tf":1.0},"https://ewpratten.com/blog/steam-controller-switch/":{"tf":1.0}},"df":6,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/becomeranter/":{"tf":1.0}},"df":1}}}},"v":{"docs":{},"df":0,"a":{"docs":{},"df":0,"3":{"docs":{},"df":0,"z":{"docs":{},"df":0,"z":{"docs":{},"df":0,"a":{"docs":{"https://ewpratten.com/hobbies/radio/":{"tf":1.0}},"df":1}}}}},"f":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/projects/vfx/":{"tf":1.0}},"df":1}},"i":{"docs":{},"df":0,"d":{"docs":{},"df":0,"e":{"docs":{},"df":0,"o":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}},"s":{"docs":{},"df":0,"u":{"docs":{},"df":0,"a":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/fedora-36-vp/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/music/evan-pratten/space-time-1/":{"tf":1.0}},"df":1},"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"e":{"docs":{},"df":0,"x":{"docs":{"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"tf":1.0},"https://ewpratten.com/blog/qmk-vortex-core/":{"tf":1.0}},"df":2}}}}},"p":{"docs":{},"df":0,"n":{"docs":{"https://ewpratten.com/blog/printer-tunneling/":{"tf":1.0}},"df":1}}},"w":{"docs":{},"df":0,"a":{"docs":{},"df":0,"y":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}},"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"t":{"docs":{},"df":0,"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/weatherballoon-lost/":{"tf":1.0},"https://ewpratten.com/photography/weatherballoon/":{"tf":1.0}},"df":2}}}}},"b":{"docs":{},"df":0,"s":{"docs":{},"df":0,"i":{"docs":{},"df":0,"t":{"docs":{"https://ewpratten.com/blog/new-domain/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"r":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/why-i-carry-nfc/":{"tf":1.0}},"df":1}}}},"h":{"docs":{},"df":0,"e":{"docs":{},"df":0,"e":{"docs":{},"df":0,"l":{"docs":{"https://ewpratten.com/blog/graphing-w2a/":{"tf":1.0}},"df":1}}}},"i":{"docs":{},"df":0,"l":{"docs":{},"df":0,"d":{"docs":{"https://ewpratten.com/blog/personal-ases/":{"tf":1.0}},"df":1}},"n":{"docs":{},"df":0,"d":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/windows-ssh/":{"tf":1.0}},"df":1}}}}},"o":{"docs":{},"df":0,"r":{"docs":{},"df":0,"k":{"docs":{},"df":0,"f":{"docs":{},"df":0,"l":{"docs":{},"df":0,"o":{"docs":{},"df":0,"w":{"docs":{"https://ewpratten.com/blog/gopro-webcam/":{"tf":1.0}},"df":1}}}}}}},"r":{"docs":{},"df":0,"a":{"docs":{},"df":0,"p":{"docs":{"https://ewpratten.com/blog/year-wrapup/":{"tf":1.0}},"df":1}},"o":{"docs":{},"df":0,"n":{"docs":{},"df":0,"g":{"docs":{"https://ewpratten.com/blog/wrong-python/":{"tf":1.0}},"df":1}}}},"u":{"docs":{},"df":0,"r":{"docs":{},"df":0,"t":{"docs":{},"df":0,"z":{"docs":{"https://ewpratten.com/blog/billwurtz/":{"tf":1.0}},"df":1}}}}},"x":{"docs":{"https://ewpratten.com/music/retrylife/xmas-02/":{"tf":1.0}},"df":1},"y":{"docs":{},"df":0,"e":{"docs":{},"df":0,"a":{"docs":{},"df":0,"r":{"docs":{"https://ewpratten.com/blog/robot-experiences/":{"tf":1.0}},"df":1}}}}}}},"documentStore":{"save":true,"docs":{"https://ewpratten.com/":{"body":"About me\nBy day I am a software developer, working on the tooling that powers children's TV productions at Industrial Brothers.\nPerviously worked with Raider Robotics, building high-performance robotic control system software.\nBy night I am \"indecisive about my hobbies\". I bounce around between a large collection of interests, with the common focus of wanting to learn how things really work. I take deep dives into topics that I find interesting, and occasionally write about them on my blog.\nWhats in the works\nI am currently working on a few projects, including:\n\nMaintaining AS54041, a small computer network\nPublishing music under my own name on Spotify and Apple Music\n\nI am also working on an Internet-Draft:\n\ndraft-evan-amateur-radio-ipv6 - Globally Unique IPv6 Addressing for Amateur Radio\n\n\nLooking for more?\nTry checking out my blog for written content, or my GitHub profile for personal software projects. Consider getting in touch if you would like to chat about anything I do.\n","id":"https://ewpratten.com/","title":"Home"},"https://ewpratten.com/blog/":{"body":"This page has been integrated in to the site timeline.\n","id":"https://ewpratten.com/blog/","title":"Blog"},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"body":"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.\nI began to look for keyboards that could fit in the little space in front of my laptop, and stumbled across a video from one of my favorite YouTube creators, Wolfgang on the Niu Mini, which is a 40% keyboard (meaning it has 40% of the keys of a full size layout). The heavy use of keybindings to get work done on such a small keyboard interested me a lot, and I almost picked up a Niu Mini for myself, although ended up not getting it because I decided I wasn't quite ready to learn how to type on an ortholinear layout, while needing to learn keybindings at the same time.\nInstead of the Niu Mini, I ended up getting myself the cheaper Vortex Core. The core, made by the same company that produces the well-known POK3R, is a programmable 40% with a staggered layout.\nOverall build\nThe Vortex Core is built very nicely, I chose mine with the Cherry MX Brown switches, since I dislike overly clicky keyboards, and I have had no problems with noise. The keys also feel very nice, and are effortless to type with. Interestingly, my keyboard shipped with an extra \"Windows\" key in place of a function key, which on a keyboard that makes heavy use of function keys, was a bit annoying. Not a huge deal though, since I just know what the key does, and I don't spend much time looking at the keycaps anyways.\nThat being said, since the keyboard has so many shortcuts and combinations to get things done, I really like the fact that the core comes with color-coded keycaps that tell you what they do.\nThe keyboard's baseplate is made of aluminum, and is CNC-cut, so it both looks and feels very nice. For a keyboard that I can wrap my (admittedly large) hand around, it is fairly heavy too (I seem to remember the FedEx shipment coming in at around 3lbs). In this case, heavy is not at all a bad thing. The weight of this keyboard makes it feel... expensive. Also, it never feels like the board is sliding away when I'm typing.\n\nOne downside though, in terms of connectivity, the keyboard unfortunately uses USB micro connector instead of the newer (and nicer) USB type C connector. As someone who connects his life with USB-C, I am not the biggest fan of this choice, but at least I had a right-angle USB-micro cable lying around that I can use with it. Alongside the USB-micro connection, removing the backplate will reveal a JTAG connector that allows you to flash custom firmware to the keyboard if you want. @ChaoticEnigma has forked the popular QMK keyboard firmware as qmk_pok3r, and added support for many Vortex boards including the Core, if you are looking to load something more custom.\nKeybindings\nI have been talking non-stop about this keyboard's keybindings. So, what's up with that?\nKeybindings are very common on 40% keyboards, since many keys you have probably grown to love simply are not on the keyboard anymore. No F keys, no number keys, no arrow keys, no symbols, and no quotations either. For this quick overview, I will explain this for a Vortex Core keyboard without any custom programming.\nLet's say you wanted to type the number 5. On the core, this is done by pressing fn1+F (there are three function keys on the core. fn, fn1, and pn). While this might be a bit confusing at first, it is a fairly simple system to learn, and the color-coded keycap markings make the learning process super easy.\nProgramming\nThere are three main things I wanted to do immediately after getting my core:\n\nRemap Caps Lock to Tab\nSwitch the Win and Alt keys to match the layout of my Thinkpad\nRemap the arrow keys to vim keys\n\nThe first could be done simply by performing a firmware upgrade to the latest version for the core. Setting custom keybindings on the other hand, requires switching the core's firmware to the MPC version. \nThis process unfortunately requires access to a computer that runs Windows (or VirtualBox). On windows, the setup process is really quite easy. You go to this link, which will download the firmware upgrade tool. Running the tool, and plugging in the keyboard will provide you with some options.\n\nThe \"bin group\" selection provides two options. Selecting Core by MPC will flash the re-programmable firmware to the keyboard, and the other option will restore the keyboard to factory firmware.\nVortex provides a programming tool, but I am not a huge fan of it. I plan to write a Java app that can program the keyboard (and load saved profiles from it), but for now, I am using a great tool made by @tsfreddie called Much Programming Core. This tool allows you to configure keybindings and remap keys through his website, and there are easy-to-follow instructions on how to download the correct file, and flash your keyboard.\n\nSpeaking of flashing the board, with the MPC firmware, the process for loading custom keybindings (which works on any OS) is really easy and simple. Just unplug the keyboard, then plug it back in while holding fn+D. This will cause the keyboard to mount as a USB drive, and you can drop configuration files on to it.\nDo I recommend it?\nWell, that depends. If you are the type of person to customize everything for maximum efficiency, go for it! The Vortex Core is a very nice keyboard with more configurability than I can wrap my head around (even if you need a third party tool to do so). If you just want something simple, stick to a 60% keyboard. The lack of numbers on the core drives many people crazy.\nFor programmers: you basically need to remap your keys. Most common keys (brackets, quotes, operators, ...) are hidden behind one or two function keys, and the learning curve might hurt for the first week or so.\n","id":"https://ewpratten.com/blog/2020-11-6-vortex-core/","title":"My first mechanical keyboard: The Vortex Core"},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"body":"My previous development laptop was an Acer R11 chromebook. I always ran it in developer mode with all the Linux packages I needed installed via chromebrew. This setup worked great except for GUI programs, as (at the time), the built-in Wayland server on the chromebook was not exposed to the user in a meaningful way. I relied on an internal tool from Google called sommelier to translate X11 calls to the internal Wayland server. None of this was ideal, but with a lot of scripts and aliases, I made it work.\nRecently, I decided to remove the locked-down ChromeOS all together, and set the laptop up with GalliumOS so it can be used as a lightweight code-review machine with access to some useful tools like VSCode and GitKraken. This whole process is actually fairly easy, and a good way to breathe new life in to an old chromebook. This guide will be R11-specific, but the process doesn't vary too wildly between models.\nDeveloper mode\nA standard feature on chromebooks is \"developer mode\". This is a hidden boot mode that is designed to give ChromiumOS contributors and Google developers access to debug tools when testing new OS builds. Along with debug tools, this mode also exposes a Linux terminal with root access to the user via Ctrl + Alt + ->. On an extremely locked down system like a chromebook, this terminal access exposes a lot of new capability. For this use case, we will only use it to modify the system bootloader.\nTo enable developer mode, simply press Esc + Refresh + Power, and let the chromebook reboot. Once the recovery screen pops up, press Ctrl + D, and the device is now in developer mode.\nWrite protection\nThis step will void your device's warranty. Chromebooks are able to handle anything you throw at them. Even if you were to delete important system files to the point the device can no longer boot, hopping in to recovery mode can reset the device to a working state. This works via ChromeOS's write protect mechanism. All important files are protected by hardware-enforced write protection. Since the process of loading a new operating system onto the device involves overwriting important system files (like the BIOS), we must physically disable write protection.\nLuckily, on the Acer R11, this process is very simple. Firstly, unscrew the laptop's bottom plate to expose the motherboard (some screws are hidden under rubber feet). With the backplate off, you will find a screw that looks like this:\n\nThe screw is hard to miss, it is beside the WIFI card, an has an arrow pointing to it. Simply remove it, and put the laptop back together. You now have a fully unlocked device.\nFlashing a custom bootloader\nMr Chromebox, a well known person in the world of Chromebook modification, provides and maintains a very easy to use shell script that handles bootloader modifications automatically. To use this tool, open up the ChromeOS terminal (Ctrl + Alt + ->), log in with the username chronos (you must already be logged in to your personal Google account. This will not work from the login screen), and run:\ncrossystem dev_boot_usb=1 dev_boot_legacy=1\ncd; curl -LO mrchromebox.tech/firmware-util.sh\nsudo install -Dt /usr/local/bin -m 755 firmware-util.sh\nsudo firmware-util.sh\n\nThis will open up the firmware-util settings screen.\n\nYou will want to select the RW_LEGACY option to load the RW_LEGACY / SEABIOS payload. The UEFI option is technically the better choice, but it will completely remove the device's ability to run ChromeOS again in the future.\nSetting fuses\nThe RW_LEGACY payload only works if the laptop always has power. Once the device completely runs out of power, the boot settings are wiped from the device (not something we want). The solution is to modify the system gbb fuses. This sounds complicated (and it is), but Mr Chromebox comes to the rescue again with the GBB Flags option in his script. After the RW_LEGACY payload has been configured, run his script again, and select GBB Flags.\nInstalling GalliumOS\nOn another computer, download GalliumOS (make sure to select the Braswell option), and create a bootable USB. Plug this USB into the Chromebook, reboot, and press Ctrl + L as the warning screen pops up. This will begin the GalliumOS setup process (which is identical to that of Ubuntu).\nEnabling verbose boot\nIt is nice to know what is happening when the device is booting. To disable the boot animation and replace it with the boot log, edit /etc/default/grub, and replace both the quiet and splash arguments with noplymouth in the GRUB_CMDLINE_LINUX_DEFAULT options. Next, run the following, then reboot:\nsudo update-grub\n\n","id":"https://ewpratten.com/blog/2020-12-4-galliumos/","title":"Upgrading my chromebook"},"https://ewpratten.com/blog/32u4-upload/":{"body":"The ATmega32u4 (aka. 32u4) chip is one of my favorite microcontrollers to work with. It is a low power, 8-bit, AVR-based system developed by Atmel. They are commonly used in Arduino Leonardo development boards and programmed via the Arduino IDE, but I prefer having as much control over the device as I can. So I choose to program these chips directly in AVRASM and AVR-C.\nThis post will go over how to easily flash code to a 32u4 chip from a Linux host, and exists as reference for when I inevitably need to refresh my memory in the future.\nGetting the needed tools\nBefore starting, the following tools are needed:\n\nAVR-libc\navrdude\n\nWriting a \"Hello, world!\" for AVR\nSince you can't exactly \"print to console\" with a microprocessor, this \"Hello, world!\" will consist of toggling one of the 32u4's I/O pins once every half second. In this case, we will write to PB5 (pin 9 on an Arduino Leonardo). If you don't understand how AVR code works, I recommend reading a simple tutorial. This program simply configures DDRB to allow output for PB5, and toggles the PB5 bit in PORTB every 500ms.\n// main.cc\n\n#include <avr/io.h>\n#include <util/delay.h>\n\nint main(int argc, char const* argv[]) {\n\n DDRB |= (1 << PB5); \n for (;;) {\n PORTB= 0b00100000;\n _delay_ms(500); \n PORTB= 0b00000000; \n _delay_ms(500);\n }\n\n return 0;\n}\n\nCompiling\nThis code can now be compiled with:\navr-g++ -DF_CPU=16000000 -D __AVR_ATmega32U4__ -mmcu=atmega32u4 -Iinclude -DBAUD=9600 -std=c++11 -g -Os -w -fdata-sections -MMD -flto -c -o main.o main.cc\n\nAnd linked with:\navr-g++ -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega32u4 -Iinclude -std=c++11 -DF_CPU=16000000 -o main.elf main.o\navr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 main.elf main.eep\navr-objcopy -O ihex -R .eeprom main.elf main.hex\n\nTo create a HEX file for the program binary, and an eeprom dump. These are both going to be uploaded to the chip in the next step.\nFlashing the 32u4\nThe 32u4 chip must be in it's bootloader in order to have it's memory written. This can be done in one of two ways. The first (my preference) is to quickly reset the chip before running avrdude by pulling the RST line to ground. You can also put the chip in it's bootloader by connecting to UART at 1200bps. Once in the bootloader, the chip will stay there for 10 seconds.\nWIth the 32u4 in it's bootloader, we can flash our compiled code with:\nsudo avrdude -patmega32u4 -cavr109 -P /dev/ttyACM0 -b57600 -v -U flash:w:main.hex:i -U eeprom:w:main.eep\n\nNOTE: /dev/ttyACM0 may need to be changed depending on the system\nOnce the code has uploaded, reset the chip to start the code.\n","id":"https://ewpratten.com/blog/32u4-upload/","title":"Flashing code to a 32u4 chip"},"https://ewpratten.com/blog/amprnet-bgp/":{"body":"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.\nOk, ok, I'm sure you are here for actual technical talk, and not a history lesson, so here we go.\nHow do you even get IPv4 space?\nThese days, the minimum BGP-routable IPv4 block is a /24 subnet, coming in at 255 addresses. One of these blocks auctions for prices starting around 15 thousand dollars USD. I'd say that's slightly unachievable for a college student like me, but when I come to think about it, that's still about the same as a year of tuition and housing, so... 👀\nAlright, enough getting side-tracked. I'd rather pay $0 for some IP space if possible, and luckily for me, it is! I am a licensed Amateur Radio operator, and through this, I get to make use of a few cool license-restricted services run by and for other operators. One of such services is AMPRNet, a /8 subnet of public IP space specifically assigned for Amateur Radio Digital Communications back in 1981, and self-administered by radio amateurs. The governing body of this subnet is the Amateur Radio Digital Communications (ARDC) foundation. Through their web portal, with a manually-verified account, any amateur can request subnets or single addresses under the 44.0.0.0/8 subnet.\nThere are, of course, restrictions to this which I will not cover in full here. The main restriction to keep in mind is: AMPRNet address space must be used for amateur-radio-related uses only, and generally must better the radio community in some way.\nThe primary justification for my allocation is that a large chunk of my addresses are being used to provide Echolink proxies that allow users behind firewalls to interact with the Echolink network. Other uses of my address space involve exposing software-defined radios to the internet, and repeater linking.\nRIP (my free time)\nThe most common way users of AMPRNet route their allocated IP addresses to and from the public internet is via the RIP protocol. RIP is one of the oldest routing protocols, and has the main downside of not being particularly scalable, as well as not being the preferred routing protocol for the internet for a long time.\nThe choice of RIP (specifically RIPv2) is not exactly surprising for a network as old as AMPRNet, but not exactly what I was looking for. With the conventional RIP setup used by almost all AMPRNet hosts, gateway servers are set up to subscribe to RIP broadcasts sent by the AMPRNet-Internet gateway (amprgw.ucsd.edu), located at the UCSD San Diego Supercomputer Center.\nI tried setting up RIPv2-based routing on my gateway to start. I was allocated the 44.63.7.32/29 address block to test this out with, and followed the guides on the AMPRNet Wiki, along with KB9MWR's documentation on the subject. I ran into many roadblocks through this method that absorbed many weekends of my life. The common issue between all of these roadblocks is lack of, or plain incorrect documentation. The AMPRNet Wiki seems to have an issue of minimal review. Many guides are lacking details and have spelling issues in important places.\nThrough piecing together broken and incomplete documentation, along with emails from the AMPRNet mailing list, I eventually got my gateway to route between my hosts and other hosts under the 44/8 IP space, but never managed to get the public internet to see my hosts.\nAs a quick aside, before setting up RIP routing, I had my gateway connected to the highly experimental AMPRNet VPN service run by OH7LZB. This service allows all clients to access both AMPRNet and the internet, but does not route back to clients, and all clients are given dynamic IP addresses. Not optimal for any of the uses I outlined at the end of the last section.\nThere is a better way\nThe AMPRNet documentation rather strongly tells users not to try routing their allocated IP space via the ubiquitous Border Gateway Protocol (BGP), and provides many solid reasons why. Of course, I took this as a bit of a challenge, and simply did it anyways. \nWell, ok, it was not quite as simple as saying \"no\" and clicking a button, but this big scary piece of dark magic that is BGP was surprisingly easy to work with in the end. I had heard of BGP before from many great blog posts by Ben Cox but I had never had the reason, time, or resources to even come close to touching it. After all, at the time of first learning about routing protocols, I was just a 9th grader.\nI didn't want to dive in to BGP blind and on my own, since I had read many horror stories of what can go wrong when you mess up your routes cough Facebook cough, so I began looking for help. I stumbled across 2M0LOB's AMPRNet allocation, and sent an email asking for advice before hopping in the project. Thanks to 2M0LOB for some great pointers that got me started, and for teaching me about DN42, a great resource for smoke-checking your BGP routing setups before throwing them into the real world.\nA second attempt\nIn the world of internet routing, you generally need four things:\n\nA block of IP addresses of size /24 or larger\nAn autonomous system number (ASN)\nA gateway server\nPeers to announce your routes to\n\nRequesting an IP allocation\nMy existing AMPRNet allocation was a /29 block which, due to CIDR Notation being clever, is smaller than a /24. Thus, I had to request a larger IP block for myself. The process for requesting a BGP-routable /24 from ARDC is a bit different than the standard allocation request process. Firstly, all BGP allocations must be requested under 44.31.0.0/16, which is the \"BGP Allocations\" segment of 44/8. These BGP allocations fall under the Direct allocation type that the AMPRNet Wiki warns you not to use.\nAfter filling out the usual allocation application, I was contacted by G1FEF, the IT Director of ARDC, with an extra document to fill out, then I was handed an Letter Of Authorization (LOA) and was ready to go!\n(Not) becoming an Autonomous System\n\nAn autonomous system (AS) is a collection of connected Internet Protocol (IP) routing prefixes under the control of one or more network operators [Wikipedia]\n\nThe idea behind becoming an Autonomous System is that you and your IP allocations are registered in a public coordinated database. These \"databases\" are managed by Regional Internet Registries (RIRs), and in my case as a Canadian, specifically the American Registry for Internet Numbers (ARIN). \nThis is where I ran into a slight roadblock. Registering an Autonomous System under ARIN requires a membership, costing $250USD annually for a /24, along with the requirement that all entities assigned an ASN must be registered organizations. I don't have my own company, nor do I want to pay a large yearly fee for a side-project. \nI decided not to register myself an Autonomous System.\nKilling three birds with one stone\nBailing out on the second of four critical steps isn't a great start, but having done my research beforehand, I had a fallback plan. A friendly \"little\" company called Vultr has a crazy good deal package that covers all three remaining requirements and more! Vultr provides:\n\nVirtual Private Server hosting\nThe ability for clients to bring their own IP space for free\nPrivate ASNs\nFree BGP peering\n\nThis means, for only $5USD per month (yes, $5) I get a gateway server, a private ASN, multiple BGP peers, and the added upside of their Canadian datacenter being literally 40km from where I live. My college is on the same internet exchange as my brand new gateway server, and they have a 10-gig fiber link running between them, so the latency for me to use this thing is insanely tiny.\nBringing it all together\nNow equipped with everything I needed to route my /24 IP space, I was left with one last step: actually doing it. Back on the Facebook BGP issues, I really didn't want to screw this part up, so I once again went looking for help. Luckily after asking around my college, I was introduced to Felix Carapaica, Sheridan's resident BGP expert.\nMy goal for this new network of mine was to have a single gateway server that exposes a Wireguard server, where each VPN client is assigned a public static IP address. Felix was very helpful and provided me with instructions on simulating my entire networking setup in GNS3. Once I was satisfied with my test environment, I proceeded to replicate everything in real life on the gateway server, and it worked first try! Seriously. I know that never happens, but 🤷‍♂️\nFor anyone curious on what BGP routing on a Vultr VPS involves, check out Vultr's Documentation on the matter.\nThanks\nWell, thats it! I am now the proud owner of a /24 block of public IPv4 address space, and am happily using it for all kinds of radio projects. It is unbelievably convenient to be able to use public addresses even for testing, just because I have them!\n\nOnce again, I'd like to thank Ben, 2M0LOB, G1FEF, and Felix for helping me through this process, and helping me get hands-on experience learning about a piece of critical internet infrastructure technology the very few other college students get to touch beyond a simulator.\n","id":"https://ewpratten.com/blog/amprnet-bgp/","title":"Adventures in BGP: routing my own public IPv4 address space"},"https://ewpratten.com/blog/bashsmash/":{"body":"I was watching this great Liveoverflow video yesterday, and really liked the idea of building escape sequences with strings. So, I built a new tool, BashSmash. \nThe goal\nThe goal of BashSmash is very similar to that described in Liveoverflow's video. Do anything in bash without using any letters or numbers except n and f (he used i instead of f). This can both bypass shell injection filters, and generally mess with people.\nSaying \"Hey, you should run:\"\n__() {/???/???/???n?f ${#};}; $(/???/???/???n?f $(/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" \"\" \"\" \"\" ``__ `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" \"\" \"\" \"\" ``__ `\";/???/???/???n?f \"\\\\\\\\`__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" \"\" \"\" \"\" ``__ `\";/???/???/???n?f \"\\\\\\\\`__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" ``__ `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" \"\" \"\" \"\" ``__ `\";/???/???/???n?f \"\\\\\\\\`__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" \"\" `\";););\n\nInstead of:\nsudo rm -rf --no-preserve--root /\n\nCan usually get you much farther with your goal of world domination.\nHow does this work?\nBashSmash abuses bash wildcards, octal escape codes, and a large number of backslashes to obfuscate any valid shell script.\nFirstly, it is important to know that printf will gladly convert any octal to a string, and bash's eval ($()) function will gladly run any string as a bash script. (See where this is going?)\nBecause of these tools, we know that the following is possible:\n# Printf-ing a string will print the string\nprintf \"hello\" # This will return hello\n\n# Printf-ing a sequence of octal escapes will also print a string\nprintf \"\\150\\145\\154\\154\\157\" # This will also return hello\n\n# Eval-ing a printf of an octal escape sequence will build a string, then run it in bash\n$(printf \"\\150\\145\\154\\154\\157\") # This will warn that \"hello\" is not a valid command\n\nThis has some issues. You may have noticed that letters are required to spell printf, and numbers are needed for the octal escapes. Let's start by fixing the letters problem.\nBash allows wildcards. You may have run something like cp ./foo/* ./bar before. This uses the wildcard *. The * wildcard will be auto-evaluated to expand into a list of all files in it's place.\n# Let's assume that ./foo contains the following files:\n# john.txt\n# carl.txt\n\n# Running the following:\ncat ./foo/*\n\n# Will automatically expand to:\ncat ./foo/john.txt ./foo/carl.txt\n\n# Now, lets assume that ./baz contains a single file:\n# KillHumans.sh\n\n# Running:\n./baz/*\n\n# Will execute KillHumans.sh\n\nNeat, Right? To take this a step further, you can use the second wildcard, ?, to specify the number of characters you want to look for. Running ./baz/? will not run KillHumans.sh because KillHumans.sh is not 1 char long. But ./baz/????????????? will. This is messy, but it works.\nNow, back to our problem with printf. printf is located in /usr/bin/printf on all *nix systems. This is handy as, firstly, this can be wildcarded, and secondly, the path contains 2 n's and an f (the two letters we are allowed to use). So, instead of calling printf, we can call /???/??n/???n?f. \n# Now, we can call:\n/???/??n/???n?f \"\\150\\145\\154\\154\\157\"\n\n# To print \"hello\". Or:\n$(/???/??n/???n?f \"\\150\\145\\154\\154\\157\")\n\n# To run \"hello\" as a program (still gives an error)\n\nNow, our problem with letters is solved, but we are still using numbers.\nBash allows anyone to define functions. These functions can take arguments and call other programs. So, what if we have a function that can take any number of arguments, and return the number of arguments as a number? This will be helpful because an empty argument can be added with \"\" (not a number or letter), and this will replace the need for numbers in our code. On a side note, bash allows __ as a function name, so that's cool. \n# Our function needs to do the following:\n# - Take any number of arguments\n# - Turn the number to a string\n# - Print the string so it can be evaluated back to a number with $()\n\n# First, we start with an empty function, named __ (two underscores)\n__() {};\n\n# Easy. Next, we use a built-in feature of bash to count the number of arguments passed\n__() { ${#} };\n\n# With the ${#} feature in bash, giving this function 3 arguments will return a 3\n# Next, we need to print this number to stdout \n# This can be done with printf\n# We still do not want to use any letters or numbers, so we must use our string of wildcards\n/???/??n/???n?f\n\n# So, we just plug this into our function\n__() {/???/??n/???n?f ${#}};\n\n# Now, calling our function with three arguments\n__ \"\" \"\" \"\"\n# Will print:\n3\n\nLet's put this together. First, we must tell bash that our __ function exists. \n# We do this by starting our new script with: \n__() {/???/??n/???n?f ${#}};\n\n# Next, an eval to actually run our constructed string. Together it now looks like this:\n__() {/???/??n/???n?f ${#}); $(/???/??n/???n?f )\n\n# Now, we construct a string using the __ function over and over again. \"echo hello\" looks like:\n__() {/???/???/???n?f ${#};}; $(/???/???/???n?f $(/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" ``__ `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" \"\" \"\" \"\" ``__ `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" ``__ `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" `\";/???/???/???n?f \"\\\\\\\\`__ \"\" ``__ \"\" \"\" \"\" \"\" \"\" ``__ \"\" \"\" \"\" \"\" \"\" \"\" \"\" `\";););\n\nThats it! You do not actually have to worry about this, because BashSmash does it all for you automatically.\nHow do I use the script?\nTo use BashSmash, simply make sure both python3.7 and python3-pip are installed on your computer, then run:\npip3 install bashsmash\n\nFor more info, see the PYPI Page.\nWhy do you have a desire to break things with python\nBecause it is fun. Give it a try! \nI will have a post here at some point about the weird things I do in my python code and why I do them.\n","id":"https://ewpratten.com/blog/bashsmash/","title":"BashSmash"},"https://ewpratten.com/blog/bazel-and-avr/":{"body":"The GitHub repository for everything in this post can be found here\nWhen writing software for an Arduino, or any other AVR-based device, there are generally three main options. You can use the Arduino IDE with arduino-cli, which is in my opinion, a clunky system that is great for high levels of abstraction and teaching people how to program, but lacks any kind of easy customization I am interested in. If you are looking for something more advanced (and works in your favorite IDE), you might look at PlatformIO. Finally, you can just program without any Hardware Abstraction Library at all, and use avr-libc along with avr-gcc and avrdude. \nThis final option is my favorite by far, as it both forces me to think about how the system I am building is actually working \"behind the scenes\", and lets me do everything exactly the way I want. Unfortunately, when working directly with the AVR system libraries, the only buildsystem / tool that is available (without a lot of extra work) is Make. As somebody who spends 90% of his time working with higher-level buildsystems like Gradle and Bazel, I don't really like needing to deal with Makefiles, and manually handle dependency loading. This got me thinking. I have spent a lot of time working in Bazel, and cross-compiling for the armv7l platform via the FRC Toolchain. How hard can it be to add AVR Toolchain support to Bazel?\nThe answer: Its pretty easy.\nThe Bazel buildsystem allows users to define custom toolchains via the toolchain rule. I am going to assume you have a decent understanding of the Starlark DSL, or at least Python3 (which Starlark is syntactically based on). To get started setting up a Bazel toolchain, I create empty WORKSPACE and BUILD files, along with a new bazel package named toolchain that has a bazel file inside for the toolchain settings, a .bazelrc file, and a package to store my test program.\n/project\n |\n +-.bazelrc\n +-BUILD\n +-example\n | |\n | +-BUILD\n | +-main.cc\n +-toolchain\n | |\n | +-BUILD\n | +-avr.bzl\n +-WORKSPACE\n\nI only learned about this recently, but you can use a .bazelrc file to define constant arguments to be passed to the buildsystem per-project. For this project, I am adding the following arguments to the config file to define which toolchain to use for which target:\n# .bazelrc\n\n# Use our custom-configured c++ toolchain.\nbuild:avr_config --crosstool_top=//toolchain:avr_suite\nbuild:avr_config --cpu=avr\n\n# Use the default Bazel C++ toolchain to build the tools used during the\n# build.\nbuild:avr_config --host_crosstool_top=@bazel_tools//tools/cpp:toolchain\n\nThis config will default all builds to use a custom toolchain named avr_suite, and compile to target the avr CPU architecture. But, the final line will make sure to use the host's toolchain for compiling tools needed for Bazel itself (since we can't run AVR code on the host machine). With this, we now have everything needed to tell Bazel what to use when building, but we have not actually defined the toolcahin in the first place. This step comes in two parts. First, we need to define a toolchain implementation (this happens in avr.bzl). This implementation will define things like, where to find every tool on the host, which libc version to use, and what types of tools are provided by avr-gcc in the first place. We can start out by adding some load statements to the file to tell Bazel what functions we need to use.\n# toolchain/avr.bzl\n\nload(\"@bazel_tools//tools/build_defs/cc:action_names.bzl\", \"ACTION_NAMES\")\nload(\n \"@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl\",\n \"feature\",\n \"flag_group\",\n \"flag_set\",\n \"tool_path\",\n)\n\nOnce this is done, we need to define everything that this toolchain implementation can do. In this case avr-gcc can link executables, link dynamic libraries, and link a \"nodeps\" dynamic library.\n# ...\n\nall_link_actions = [\n ACTION_NAMES.cpp_link_executable,\n ACTION_NAMES.cpp_link_dynamic_library,\n ACTION_NAMES.cpp_link_nodeps_dynamic_library,\n]\n\nWe also need to tell Bazel where to find every tool. This may vary platform-to-platform, but with a standard avr-gcc install on Linux, the following should work just fine. Experienced Bazel users may wish to make use of Bazel's config_setting and select rules to allow the buildsystem to run on any type of host via a CLI flag.\n# ...\n\ntool_paths = [\n tool_path(\n name = \"gcc\",\n path = \"/usr/bin/avr-gcc\",\n ),\n tool_path(\n name = \"ld\",\n path = \"/usr/bin/avr-ld\",\n ),\n tool_path(\n name = \"ar\",\n path = \"/usr/bin/avr-ar\",\n ),\n tool_path(\n name = \"cpp\",\n path = \"/usr/bin/avr-g++\",\n ),\n tool_path(\n name = \"gcov\",\n path = \"/usr/bin/avr-gcov\",\n ),\n tool_path(\n name = \"nm\",\n path = \"/usr/bin/avr-nm\",\n ),\n tool_path(\n name = \"objdump\",\n path = \"/usr/bin/avr-objdump\",\n ),\n tool_path(\n name = \"strip\",\n path = \"/usr/bin/avr-strip\",\n ),\n]\n\nFinally, we need to define the actual avr-toolchain implementation. This can be done via a simple function, and the creation of a new custom rule:\n# ...\n\ndef _avr_impl(ctx):\n features = [\n feature(\n name = \"default_linker_flags\",\n enabled = True,\n flag_sets = [\n flag_set(\n actions = all_link_actions,\n flag_groups = ([\n flag_group(\n flags = [\n \"-lstdc++\",\n ],\n ),\n ]),\n ),\n ],\n ),\n ]\n\n return cc_common.create_cc_toolchain_config_info(\n ctx = ctx,\n toolchain_identifier = \"avr-toolchain\",\n host_system_name = \"local\",\n target_system_name = \"local\",\n target_cpu = \"avr\",\n target_libc = \"unknown\",\n compiler = \"avr-g++\",\n abi_version = \"unknown\",\n abi_libc_version = \"unknown\",\n tool_paths = tool_paths,\n cxx_builtin_include_directories = [\n \"/usr/lib/avr/include\",\n \"/usr/lib/gcc/avr/5.4.0/include\"\n ],\n )\n\ncc_toolchain_config = rule(\n attrs = {},\n provides = [CcToolchainConfigInfo],\n implementation = _avr_impl,\n)\n\nThe cxx_builtin_include_directories argument is very important. This tells the compiler where to find the libc headers. Both paths are required, as the headers are split between two directories on Linux for some reason. We are now done with the avr.bzl file, and can add the following to the toolchain package's BUILD file to register our custom toolcahin as an official CC toolchain for Bazel to use:\n# toolchain/BUILD\n\nload(\"@rules_cc//cc:defs.bzl\", \"cc_toolchain\", \"cc_toolchain_suite\")\nload(\":avr.bzl\", \"cc_toolchain_config\")\n\ncc_toolchain_config(name = \"avr_toolchain_config\")\n\ncc_toolchain_suite(\n name = \"avr_suite\",\n toolchains = {\n \"avr\": \":avr_toolchain\",\n },\n)\n\nfilegroup(name = \"empty\")\n\ncc_toolchain(\n name = \"avr_toolchain\",\n all_files = \":empty\",\n compiler_files = \":empty\",\n dwp_files = \":empty\",\n linker_files = \":empty\",\n objcopy_files = \":empty\",\n strip_files = \":empty\",\n supports_param_files = 0,\n toolchain_config = \":avr_toolchain_config\",\n toolchain_identifier = \"avr-toolchain\",\n)\n\nThats it. Now, if we wanted to compile a simple blink program in AVR-C, we can add the following to main.cc:\n#ifndef F_CPU\n#define F_CPU 16000000UL\n#endif\n\n#include <avr/io.h>\n#include <util/delay.h>\n\nint main(void)\n{\n DDRC = 0xFF;\n while(1) {\n PORTC = 0xFF; \n _delay_ms(1000); \n PORTC= 0x00; \n _delay_ms(1000); \n }\n}\n\nTo compile this, just define a cc_binary in the example BUILD file just like any normal Bazel program.\n# example/BUILD\n\nload(\"@rules_cc//cc:defs.bzl\", \"cc_binary\")\n\ncc_binary(\n name = \"example\",\n srcs = [\"main.cc\"],\n # Add any needed cc options here for your specific platform\n)\n\nThis can be compiled with bazel build //example --config=avr_config, and the output binary will be in the bazel-bin directory. You can run avr-objcopy and avrdude manually just like with a normal program.\nImportantly, every normal Bazel function will still work. Want to include EigenArduino in your project? Just import the rules_foreign_cc ruleset and load the Eigen library like normal. You can also run unit tests through Bazel's regular testing rules. If you are a masochist, you could even try loading the pybind11 rules and embedding a Python interpreter in your code.\n","id":"https://ewpratten.com/blog/bazel-and-avr/","title":"Compiling AVR-C code with a modern build system"},"https://ewpratten.com/blog/becomeranter/":{"body":"Ok... The title is slightly wrong. There are actually 2 scripts.. Sorry about that.\nThis is a guide on installing and using the BecomeRanter script.\nGetting dependancies\nThe scripts use Google's tensorflow library to do its \"magic\". So first, we should install Tensorflow's dependencies.\nsudo apt install python3 python3-pip #change this command to fit your distro\npip3 install numpy\n\nThen install Tensorflow\npip3 install tensorflow #for cpu processing\npip3 install tensorflow-gpu #for gpu processing\n\nNext up, install the rest of the stuff:\npip3 install textgenrnn pandas keras\n\nClone the repo\nThis is pretty simple. just make sure you have git installed and run\ngit clone https://github.com/Ewpratten/BecomeRanter.git\n\nGenerate some rants with a .hdf5 file\nAs of the time of writing this, I have pre-generated some files for the two most popular ranters. These files can be found in BecomeRanter/Checkpoint\\ Files.\nHigher epoch numbers mean that they have had more time to train. The files with lower numbers are generally funnier.\nTo change the .hdf5 file you would like to use, open the file called createsomerants.py and change the variable called input_file to the path of your file. By default, the script generates from the Linuxxx-epoch-90.hdf5 file.\nNext, save that file and run the following in your terminal:\npython3 createsomerants.py >> output.txt\n\nIt will not print the results out to the screen and put them in the file instead. \nTo stop the script, press CTRL + C\nCreate your own .hdf5 file\nIf you want to make your own hdf5 file, you just have to use the other script in the repo.\nBy default, you can just put all your text to train on in the input.txt file.\nIf you want to use a different file, or change the number of epochs, those variables can be found at the top of the createhfd5frominput.py file.\nTo start training, run:\npython3 createhfd5frominput.py\n\nA new hdf5 file will be generated in the same folder as the script\n","id":"https://ewpratten.com/blog/becomeranter/","title":"Using a python script to create devRant posts based on the style and content of another user"},"https://ewpratten.com/blog/billwurtz/":{"body":"Bill Wurtz is an American musician who became reasonably famous through short musical videos posted to Vine and YouTube. I was searching through his website the other day, and stumbled upon a page labeled notebook, and thought I should check it out.\nBill's notebook is a large (about 580 posts) collection of random thoughts, ideas, and sometimes just collections of words. A prime source of entertainment, and neural network inputs..\n\n\"If you are looking to burn something, fire may be just the ticket\" - Bill Wurtz\n\nChoosing the right tool for the job\nIf you haven't noticed yet, Im building a neural net to generate notes based on his writing style and content. Anyone who has read my first post will know that I have already done a similar project in the past. This means time to reuse come code!\nFor this project, I decided to use an amazing library by @minimaxir called textgenrnn. This Python library will handle all of the heavy (and light) work of training an RNN on a text dataset, then generating new text. \nBuilding a dataset\nThis project was a joke, so I didn't bother with properly grabbing each post, categorizing them, and parsing them. Instead, I build a little script to pull every HTML file from Bill's website, and regex out the body. This ended up leaving some artifacts in the output, but I don't really mind.\nimport re\nimport requests\n\n\ndef loadAllUrls():\n page = requests.get(\"https://billwurtz.com/notebook.html\").text\n\n links = re.findall(r\"HREF=\\\"(.*)\\\"style\", page)\n\n return links\n\n\ndef dumpEach(urls):\n for url in urls:\n page = requests.get(f\"https://billwurtz.com/{url}\").text.strip().replace(\n \"</br>\", \"\").replace(\"<br>\", \"\").replace(\"\\n\", \" \")\n\n data = re.findall(r\"</head>(.*)\", page, re.MULTILINE)\n\n # ensure data\n if len(data) == 0:\n continue\n\n print(data[0])\n\n\nurls = loadAllUrls()\nprint(f\"Loaded {len(urls)} pages\")\ndumpEach(urls)\n\n\nThis script will print each of Bill's notes to the console (on it's own line). I used a simple redirect to write this to a file.\npython3 scrape.py > posts.txt\n\nTraining\nTo train the RNN, I just used some of textgenrnn's example code to read the posts file, and build an HDF5 file to store the RNN's neurons.\nfrom textgenrnn import textgenrnn\n\ngenerator = textgenrnn()\ngenerator.train_from_file(\"/path/to/posts.txt\", num_epochs=100)\n\nThis takes quite a while to run, so I offloaded it to a Droplet, and left it running overnight.\nThe results\nHere are some of my favorite generated notes:\n\n\"note: do not feel better\"\n\n\n\"hi I am a car.\"\n\n\n\"i am stuff and think about this before . this is it, the pond. how do they make me feel better?\"\n\n\n\"i am still about the floor\"\n\nNot perfect, but it is readable english, so i call it a win!\nPlay with the code\nI have uploaded the basic code, the scraped posts, and a partial hdf5 file to GitHub for anyone to play with. Maybe make a twitter bot out of this?\n","id":"https://ewpratten.com/blog/billwurtz/","title":"Using an RNN to generate Bill Wurtz notes"},"https://ewpratten.com/blog/brainfuckinbash/":{"body":"BrainFuck is an 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.\nThe BrainFuck instruction set\nBrainFuck has 8 simple instructions:\nInstructionOperation\n>increment data pointer\n<decrement data pointer\n+increment the byte at the data pointer\n-decrement the byte at the data pointer\n.print the current byte to stdout\n,read one byte from stdin to the current byte\n[jump to the matching ] if the current byte is 0\n]jump to the matching [ if the current byte is nonzero\n\nThe C equivalent\nBrainFuck works on a \"tape\". This is essentially a massive array, with a pointer that moves around. Luckily, this can be implemented with a tiny bit of C. (Thanks wikipedia)\nBFC code\n>++ptr;\n<--ptr;\n+++*ptr;\n---*ptr;\n.putchar(*ptr);\n,*ptr=getchar();\n[while (*ptr) {\n]}\n\nImplementation\nDue to the fact BF has a direct conversion to C, I figured: \"Why not just use sed to make a BF compiler?\". And so I did.\nThe script is available at git.io/JvIHm, and works as follows:\n\nCreate a file containing a \"header\" that contains some C code that imports stdio.h and creates a char array\nUse SED to replace all BF instructions with the matching C code\nAppend a file footer with code to return the current value at the program pointer\nCompile this c file with GCC\n\n","id":"https://ewpratten.com/blog/brainfuckinbash/","title":"Compiling BrainFuck with a shell script"},"https://ewpratten.com/blog/buildingimgfrombin/":{"body":"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.\nThis demo got @hyperliskdev and I thinking about what else we can do with image data. After some talk, the idea of converting application binaries to images came up. I had seen a blog post about visually decoding OOK data by converting an IQ capture to an image. With a little adaptation, I did the same for a few binaries on my laptop.\n\nI present: \"Parts of @GIMP_Official's binary, represented as a bitmap\" pic.twitter.com/iLljdE4nlK— Evan Pratten (@ewpratten) September 11, 2019 \nProgram design\nLike all ideas I have, I wrote some code to test this idea out. Above is a small sample of the interesting designs found in the gimp binary. The goals for this script were to:\n\nAccept any file of any type or size\nAllow the user to select the file dimensions\nGenerate an image\nWrite the data in a common image format\n\nIf you would like to see how the code works, read \"check out the script\".\nA note on data wrapping\nBy using a generator, and the range function's 3rd argument, any list can be easily split into a 2d list at a set interval.\n# Assuming l is a list of data, and n is an int that denotes the desired split location\nfor i in range(0, len(l), n):\n yield l[i:i + n]\n\nBinaries have a habit of not being rectangular\nUnlike photos, binaries are not generated from rectangular image sensors, but instead from compilers and assemblers (and sometimes hand-written binary). These do not generate perfect rectangles. Due to this, my script simply removes the last line from the image to \"reshape\" it. I may end up adding a small piece of code to pad the final line instead of stripping it in the future.\nOther file types\nI also looked at other file types. Binaries are very interesting because they follow very strict ordering rules. I was hoping that a wav file would do something similar, but that does not appear to be the case. This is the most interesting pattern I could find in a wav file:\nFollowing up my previous post with a tiny segment of an audio file. This one is little less interesting pic.twitter.com/u9EFloxnK5— Evan Pratten (@ewpratten) September 11, 2019 \nBack to executable data, these are small segments of a dll file:\n\n\nCheck out the script\nThis script is hosted on my GitHub account as a standalone file. Any version of python3 should work, but the following libraries are needed:\n\nPillow\nNumpy\n\n","id":"https://ewpratten.com/blog/buildingimgfrombin/","title":"Building images from binary data"},"https://ewpratten.com/blog/codespaces-for-frc/":{"body":"I was recently accepted into the GitHub 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. 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.\nI am quite impressed at how easy it is to set up a Codespace environment. All you need to do is, load a pre-made docker image, and write some JSON to configure the environment. I decided to write a custom Dockerfile that extends the mcr.microsoft.com/vscode/devcontainers/base:ubuntu base image. \nFROM mcr.microsoft.com/vscode/devcontainers/base:ubuntu\n\nRUN apt update -y\nRUN apt install sudo -y\n\n# Install needed packages\nRUN sudo apt install -y python3 python3-pip\nRUN sudo apt install -y curl wget\nRUN sudo apt install -y zip unzip\n\n# Install sdkman\nRUN curl -s \"https://get.sdkman.io?rcupdate=true\" | bash\n\n# Install java\nRUN bash -c \"source /root/.sdkman/bin/sdkman-init.sh && sdk install java 11.0.8-open\"\n\n# Install gradle\nRUN bash -c \"source /root/.sdkman/bin/sdkman-init.sh && sdk install gradle\"\n\nRUN echo \"source /root/.sdkman/bin/sdkman-init.sh\" >> /root/.bashrc\n\n# Install WPILib\nRUN wget https://github.com/wpilibsuite/allwpilib/releases/download/v2020.3.2/WPILib_Linux-2020.3.2.tar.gz -O wpilib.tar.gz\nRUN mkdir -p /root/wpilib/2020\nRUN tar -zxvf wpilib.tar.gz -C /root/wpilib/2020\n\nAll that is being done in this container is:\n\nInstalling Python\nInstalling sdkman\nInstalling OpenJDK 11\nInstalling Gradle\nInstalling WPILib\n\nIn the world of FRC development, almost all codebases depend on a library and toolset called WPILib. The tar file that is downloaded contains a copy of the library, all JNI libraries depended on by WPILib itself, some extra tooling, and a custom JVM built specifically to run on the NI RoboRIO.\nWith this docker container, all we need to do is tell GitHub how to set up a Codespace for the repo. This is done by placing a file in .devcontainer/devcontainer.json:\n// .devcontainer/devcontainer.json\n{\n // Name of the environment\n \"name\":\"General FRC Development\",\n\n // Set the Docker image to use\n // I will explain this below\n \"image\":\"ewpratten/frc_devcontainer:2020.3.2\",\n\n // Set any default VSCode settings here\n \"settings\": {\n \"terminal.integrated.shell.linux\":\"/bin/bash\"\n },\n\n // Tell VSCode where to find the workspace directory\n \"workspaceMount\": \"source=${localWorkspaceFolder},target=/root/workspace,type=bind,consistency=cached\",\n \"workspaceFolder\": \"/root/workspace\",\n\n // Allow the host and container docker daemons to communicate\n \"mounts\": [ \"source=/var/run/docker.sock,target=/var/run/docker-host.sock,type=bind\" ],\n\n // Any extensions you want can go here\n \"extensions\": [\n // Needed extensions for using WPILib\n \"redhat.java\",\n \"ms-vscode.cpptools\",\n \"vscjava.vscode-java-pack\",\n\n // The WPILib extension itself\n \"wpilibsuite.vscode-wpilib\"\n ]\n}\n\nNotice the line \"image\":\"ewpratten/frc_devcontainer:2020.3.2\",. This is telling VSCode and Codespaces to pull a docker image from my docker hub account. Instead of making Codespaces build a docker image for itself when it loads, I have pre-built the image, and published it here. The reason for this is quite simple. Codespaces will flat out crash if it tries to build my dockerfile due to WPILib just being too big.\nWith a minimal amount of work, I got everything needed to develop and test FRC robotics code running in the browser via Codespaces.\n\nLaunching Codespaces from a GitHub repository\n\nEditing code in the browser\n\n\n","id":"https://ewpratten.com/blog/codespaces-for-frc/","title":"Integrating GitHub Codespaces with FRC"},"https://ewpratten.com/blog/commit-sync/":{"body":"Since September of 2018 (3 and a half years ago) I have been roughly holding a streak of going no more than three days without making a commit to some project on GitHub.\n\nThis is not entirely intentional, and I have broken it a few times:\n\nJune 7, 2019\nAugust 8, 2019\nSeptember 27, 2019\nNovember 3, 2021\n\n..but a streak is a streak. A few of my friends know about this and keep an eye on my commit graph and I do too. Recently, with most of my programming time allocated to work, my graph started looking like weeks of empty cells, implying I broke my streak for good.\nIn reality, that couldn't be farther from the truth. I have been writing quite a lot of code actually, its just all tracked in a company GIT instance with a separate account.\nTime for some trickery\nI happened to remember a little trick I used in a CI pipeline for Raider Robotics where you can backdate empty commits with arbitrary authors. I recall using this for some kind of version tagging system at some point.. idk.. the important part being it is possible to make \"fake\" commits with the right command-line flags.\nThe game plan\nMy idea was as follows:\n\nScrape all work repos for commits authored by one of my email addresses\nKeep track of the commit timestamps\nMake empty commits to a GitHub repo and backdate them to the timestamps from the last step\nEnjoy having my GitHub contributor graph synced to my work account\n\nFor anyone concerned with the security issue of leaking commit data, In my real implementation, dates are shuffled a bit. This also all happens in a private repo, so the public can only ever see its affect on my commit graph, and can't actually see the commits themselves.\nScraping commits from repos\nThe git command has a log subcommand for querying info about commits. In its simplest form, you can dump all commits for a repo with:\ngit -C /path/to/repo log --pretty=format:\"%H\"\n\nAn example output for the repo behind this website:\n...\n62d0c4833766671182ed0aeeb76bb16cc3f35174\n420b3cc4a9d61024e0dd6c32deafb57244d09433\nfed6fc374d02c2ae8f67bff837c8c8334760b303\n5a64788339afd750c3853468f89d275cf8fa49cd\n01992912951d80631fa5069fce7d9a3593bbcd39\nd894387400158d231ed6559636169f1464bb630d\n4a68456c7a5df699bc7620c9250b7a04aac5bd3c\nff87809b9c14c5132ecd5a39921b1cf2118b12cc\n2b8797bbdcec61654540d995aaae67bcab8dc1c1\nc4d978c5d098846b8a0105c5b6d3f42b389c6ea7\n9791cdd979a17f0d5ebf9028d4778152ca07ae1d\ndda08261872d3c2301cc02108c0f466dedaacaca\nf408c1fa9785a40038e04b0ef017bd8d2897cdd6\n...\n\nIts just a bunch of hashes.\nAs a side note, if you are trying to replicate my work and also commit with multiple email addresses, you can chain --author flags together.\ngit -C /path/to/repo log --pretty=format:\"%H\" --author=ewpratten@example.com --author=evan@work.com\n\nCloning commits\nIf we iterate over our list of hashes, we can perform the rest of the steps. The main data point we care about is the timestamp.\nTo fetch a commit timestamp from a repo, use the following, replacing $COMMIT_HASH with the hash in question:\ngit -C /path/to/repo show -s --format=%ci $COMMIT_HASH\n\nAnd finally, with our timestamp (stored as $DATE) a new commit can be written to a target repo:\ngit -C /path/to/public/repo commit -m \"A message.\" --date=\"$DATE\" --no-edit --allow-empty\n\nImportantly, the --allow-empty flag removes the requirement for any files to be contained in the commit, essentially allowing you to have a \"zero size\" repository.\nConclusion\nUh, ya. Cool. With your scripting language of choice, you can chain these commands together, toss a git push in there, stick this in a cron job, and have yourself a nice, healthy commit graph.\n","id":"https://ewpratten.com/blog/commit-sync/","title":"Commit syncing across hosted GIT instances"},"https://ewpratten.com/blog/corepack-development/":{"body":"All content of this post is based around the work I did here\nBack in 2012, I got in to Minecraft mod development, and soon after, put together an almost-vanilla client-side modpack for myself that mainly contained rendering, UI, and quality-of-life tweaks. While this modpack never got published, or was even given a name, I kept maintaining it for years until I eventually stopped playing Minecraft just before the release of Minecraft 1.9 (in 2016). I had gotten so used to the features of this modpack, that playing truly vanilla Minecraft didn't feel correct.\nRecently, a few friends invited me to join their private Minecraft server, and despite having not touched the game for around four years, I decided to join. This was a bit of a mistake on their part, as they now get the pleasure of someone who used to main 1.6.4 constantly walking up to things and asking \"What is this and how does it work?\". I have started to get used to the very weird new collection of blocks, completely reworked command system, over-complicated combat system, and a new rendering system that makes everything \"look wrong\".\nOne major thing was still missing though, where was my modpack? I set out to rebuild my good old modpack (and finally give it a name, CorePack). Not much has changed, most of the same rendering and UI mods are back, along with the same GLSL shaders, and similar textures. Although, I did decide to take a \"major step\" and switch from the Forge Mod Loader to the Fabric Loader, since I prefer Fabric's API. \nCurseforge & Bazel\nI don't remember Curseforge existing back when I used to play regularly. It is a huge improvement over the PlanetMinecraft forums, as curse provides a clean way to access data about published Minecraft mods, and even has an API! Luckily, since I switched the modpack to Fabric, every mod I was looking for was available through curse (although, it seems NEI is a thing of the past).\nMy main goal for the updated version of CorePack was to design it in such a way I could make a CI pipeline generate new releases for me when mods are updated. This requires programmatically pulling information about mods, and their JAR files using a buildsystem script. Since this project involves working with a large amount of data from various external sources, I once-again chose to use Bazel, a buildsystem that excels at these kinds of projects.\nWhile Curseforge provides a very easy to use API for working with mod data, @Wyn-Price (a fellow mod developer) has put together an amazing project called Curse Maven that I decided to use instead. Curse Maven is a serverless API that acts much like my Ultralight project. Any request for an artifact to Curse Maven will be redirected, and served from the Curseforge Maven server without the need for me to figure out the long-form artifact identifiers used internally by curse.\nCurse Maven makes loading a mod (in this case, fabric-api) into Bazel as easy as:\n# WORKSPACE\n# Load bazel_maven_repository\nhttp_archive(\n name = \"maven_repository_rules\",\n strip_prefix = \"bazel_maven_repository-1.2.0\",\n type = \"zip\",\n urls = [\"https://github.com/square/bazel_maven_repository/archive/1.2.0.zip\"],\n)\nload(\"@maven_repository_rules//maven:maven.bzl\", \"maven_repository_specification\")\nload(\"@maven_repository_rules//maven:jetifier.bzl\", \"jetifier_init\")\njetifier_init()\n\n# Declare any mods as maven artifacts\nmaven_repository_specification(\n name = \"maven\",\n artifacts = {\n \"curse.maven:fabric-api:3049174\": {\"insecure\": True}\n },\n repository_urls = [\n \"https://www.cursemaven.com\",\n ],\n)\n\nThe above snippet uses a Bazel ruleset developed by Square, Inc. called bazel_maven_repository. \nModpack configuration\nSince my pack is designed for use with MultiMC, two sets of configuration files are needed. The first set tells MultiMC which versions of LWJGL, Minecraft, and Fabric to use, and the second set are the in-game config files. Many of these files contain information that I would like to modify from Bazel during the modpack build step. Luckily, the Starlark core library comes with an action called expand_template. expand_template is basically a find-and-replace tool that will perform substitutions on files. Since this is an action, and not a rule, it must be wrapped with a small rule declaration:\n# tools/template.bzl\ndef expand_template_impl(ctx):\n ctx.actions.expand_template(\n template = ctx.file.template,\n output = ctx.outputs.out,\n substitutions = {\n k: ctx.expand_location(v, ctx.attr.data)\n for k, v in ctx.attr.substitutions.items()\n },\n is_executable = ctx.attr.is_executable,\n )\n\nexpand_template = rule(\n implementation = expand_template_impl,\n attrs = {\n \"template\": attr.label(mandatory = True, allow_single_file = True),\n \"substitutions\": attr.string_dict(mandatory = True),\n \"out\": attr.output(mandatory = True),\n \"is_executable\": attr.bool(default = False, mandatory = False),\n \"data\": attr.label_list(allow_files = True),\n },\n)\n\nIn a BUILD file, template rules can be defined as follows:\n# BUILD\nload(\"//tools:template.bzl\", \"expand_template\")\n\nexpand_template(\n name = \"my_config\",\n template = \"config.json.in\",\n out = \"config.json\",\n substitutions = {\n \"TEST_SUBS\": \"hello world\"\n }\n)\n\nUsing the following example file as config.json.in, this rule would have the following effect:\n// config.json.in\n{\n \"key\": \"TEST_SUBS\"\n}\n\n// config.json\n{\n \"key\": \"hello world\"\n}\n\nPackaging\nOnce mods are loaded, and configuration files are defined in the buildsystem, I use a large number of filegroup and genrule rules to set up a directory hierarchy in the workspace, and wrap everything in a call to zipper to package the modpack into a ZIP file.\nFinally, I use GitHub Actions to automatically run the buildscript, and publish the resulting MultiMC instance zip to the GitHub repo for this project.\n","id":"https://ewpratten.com/blog/corepack-development/","title":"Using Bazel to create Minecraft modpacks"},"https://ewpratten.com/blog/cron/":{"body":"Cron has always been one of those \"scary sysadmin things\" in my head. But today, I finally used it!\nMy need\nI have access to a private API that happens to clear it's users if they are inactive for too long. To solve this, I decided to add a small cron job to make an API call once per month. Basically a keepalive.\nHow I set it up\nAdding a cron job to my laptop was very easy. First, I made a bash script for my api call (not needed, but I felt like doing it).\n#! /bin/bash\ncurl --include --header \"Accept: application/xml\" '<API Endpoint Here>' --user $1:$2\n\nThen, by running crontab -e in my terminal, I just added a new line at the bottom of the file, discribing the task, and when it should be run.\n# Edit this file to introduce tasks to be run by cron.\n# \n# Each task to run has to be defined through a single line\n# indicating with different fields when the task will be run\n# and what command to run for the task\n# \n# To define the time you can provide concrete values for\n# minute (m), hour (h), day of month (dom), month (mon),\n# and day of week (dow) or use '*' in these fields (for 'any').# \n# Notice that tasks will be started based on the cron's system\n# daemon's notion of time and timezones.\n# \n# Output of the crontab jobs (including errors) is sent through\n# email to the user the crontab file belongs to (unless redirected).\n# \n# For example, you can run a backup of all your user accounts\n# at 5 a.m every week with:\n# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/\n# \n# For more information see the manual pages of crontab(5) and cron(8)\n# \n# m h dom mon dow command\n00 11 1 * * /usr/local/bin/api-keepalive.sh <username> <password>\n\nThis will run once per month, on the 1st, at 11:00.\nThat's it! Stupidly simple, and I am no longer scared of cron\n","id":"https://ewpratten.com/blog/cron/","title":"I used cron for the first time"},"https://ewpratten.com/blog/darth-raider/":{"body":"My roles in this project included:\n\nBeing the head of software design and development\nAssisting with mechanical design\nHelping test mechanisms and system integration\nFilming & producing the reveal teaser video\n\nReveal teaser\n","id":"https://ewpratten.com/blog/darth-raider/","title":"Robot reveal: Darth Raider"},"https://ewpratten.com/blog/devdns/":{"body":"Over the past year and a half, I have been hacking my way around the undocumented devRant auth/write API. At the request of devRant's creators, this API must not be documented due to the way logins work on the platform. That is besides the point. I have been working on a little project called devDNS over the past few days that uses this undocumented API. Why must I be so bad at writing intros?\nWhat is devDNS\ndevDNS is a devRant bot written in python. It will serve any valid DNS query from any user on the platform. A query is just a comment in one of the following forms:\n@devDNS example.com\n\nor\n@devDNS MX example.com\n\nOf course, MX and example.com are to be replaced with the domain and entry of your choosing.\ndevDNS was inspired by @1111Resolver, and the source is available on GitHub.\nHow it works\nThe Python script behind devDNS is very simple. devDNS does the following every 10 seconds:\n\nFetch all new notifs\nFind only mentions\nSpin off a thread for each mention that passes a basic parser (Is the message 2 or 3 words long)\nIn the thread, check if the message is a control message (allows me to view the status of the bot via devRant)\nCheck if the request matches a required pattern\nCall dnspython with requested record and domain\nReceive answer from a custom PIHole server with caching and super low latency\nSend a comment with the results to the requester\n\nThats it! Super simple, and only two days from concept to reality.\nWhere is this hosted?\nThis program is hosted on a raspberry pi laying in my room running docker. I also have Portainer set up so I can easily monitor the bot from my phone over my VPN.\n","id":"https://ewpratten.com/blog/devdns/","title":"devDNS"},"https://ewpratten.com/blog/direwolf-aprs/":{"body":"WARNING: To replicate this project, you must be the holder of an amateur radio license in your country\nI have an extra Baofeng UV-5R lying around, and had no idea what to use it for. The original plan was to set up a UHF simplex repeater with internet linking capabilities, but that project was set back due to my lack of time to figure out how to set up the Asterisk PBX.\nAfter giving up on Asterisk, I was left without ideas once again. That is, until a few days ago when I remembered that the large APRS network exists, and is fairly easy to experiment with. I have some past experience with APRS, specifically the APRS-IS internet bridge. I have cron jobs running on a few of my computers that fetches their positions through geo-ip and beacons this info (plus weather info if I feel like it) to the APRS network through APRS-IS. None of that setup has anything to do with radio though, so it feels like I'm not a true APRS user. \nA solution to both problems: set up a digipeater.\nWhat my radio is doing\nTo be specific, I am running much more than just a digipeater. This spare radio is also an APRS-IS IGate, and an APRStt bridge. The more important of these capabilities is APRStt.\nAPRStt is a standard originally designed for the PSAT2 satellite, that allows radio operators with non-APRS-compatible radios to send beacons using DTMF sequences. The encoding standard for doing this is not exactly user friendly in my opinion, but it works.\nCombining these radio capabilities with some basic knowledge of the Maidenhead Locator System on my part allows me to go anywhere in the city with my HT and send beacons to the APRS network using DTMF. Pretty cool in my opinion.\nSetup Guide\nThe following is a mostly complete guide on replicating my digipeater setup. You will have to do some extra reading to understand the configuration system.\nRequired hardware\nTo set up a digipeater, you need a controller, a radio, and some hardware to connect the two. All of the parts I use are found below (I did not choose the most cost-effective listings here):\n\nRaspberry Pi 3B+\nBaofeng UB-5R\nUSB sound card\n2x 3.5mm audio cables\n2.5mm Male to 3.5mm Female adaptor\nSingle-channel relay\nSome female-to-female jumper cables (see here)\nSolder and a soldering iron are also needed for cable modifications\n\nCompiling Dire Wolf\nCompiling and setting up the control software, Dire Wolf, is pretty easy. The full guide on this process can be found here. I'll summarize below:\nOn a fresh install of Raspbian:\nsudo apt update\nsudo apt install cmake libasound2-dev libudev-dev git\ncd ~\ngit clone https://github.com/wb2osz/direwolf\ncd direwolf\nmkdir build && cd build\ncmake ..\nmake -j4\nsudo make install\nmake install-conf\ncd ~\n\nYou can now launch Dire Wolf by running direwolf. See the full guide for info on staring on boot.\nBuilding a PTT cable for the Baofeng UV-5R\nBaofeng sells a proper audio interface cable, which will make this process easier, but it is not really needed if you have some basic soldering skills.\nThe push-to-talk system on most Baofeng radios works by shorting the ground of the mic cable to the ground of the speaker cable. Interestingly, the USB audio interface listed above automatically does this (aka. PTT is always enabled when the cables are plugged in). My quick solution is to use some wire strippers to open up the 3.5mm cable used for the microphone input, and snipping the ground line. I then just stick the relay in series with this snipped cable, and can enable and disable ground by triggering the relay.\nPlugging the relay into pin GPIO14 of the Raspberry PI will let Dire Wolf have full control over the radio PTT.\nConfiguration\nThe entire configuration process is outlined in the Dire Wolf user manual. Here are some additional notes:\n\nSet PTT GPIO 14 in the CHANNEL 0 section to enable hardware PTT using the relay\nSet DTMF in the CHANNEL 0 section to enable APRStt\nUncomment the DIGIPEAT configuration to enable digipeating\n\nNeed help?\nIf you happened to follow this guide and need more configuration help, send me a message.\n","id":"https://ewpratten.com/blog/direwolf-aprs/","title":"Building a cheap APRS digipeater"},"https://ewpratten.com/blog/drivetrain-navigation/":{"body":"This post is a continuation on my \"Notes from FRC\" series. If you haven't already, I recommend reading my post on Converting joystick data to tank-drive outputs. Some concepts in this post were introduced there. Like last time, to see the production code behind this post, check here and here.\nAt Raider Robotics, most of my work has been spent on these three subjects:\n\nProductivity infrastructure\nDeveloping our low-level library\nWriting the software that powers our past three robots' DriveTrains\n\nWhen I joined the team, we had just started to design effective autonomous locomotion code. Although functional, our ability to manuever robots around the FRC field autonomously was very limited, and with very low precision. It has since been my goal to build a powerful software framework for precisely estimating our robot's real-world position at all times, and for giving anyone the tools to easily call a method, and have the robot to drive from point A to B. My goal with this post is to outline how this system actually works. But first, I need to explain some core concepts:\nPoses. At Raider Robotics, we use the following vector components to denote a robot's position and rotation on a 2D plane (the floor). We call this magic vector a pose :\n$$\npose = \\begin{bmatrix} x \\ y \\ \\theta \\end{bmatrix}\n$$\nWith a robot sitting at $\\big[\\begin{smallmatrix}0 \\ 0 \\ 0\\end{smallmatrix}\\big]$, it would be facing positive in the $x$ axis.\nLocalization. When navigating the real world, the first challenge is: knowing where the robot is. At Raider Robotics, we use an Unscented Kalman Filter (UKF) that fuses high-accuracy encoder and gyroscope data with medium-accuracy VI-SLAM data fed off our robot's computer vision system. Our encoders are attached to the robot's tank track motor output shafts, counting the distance traveled by each track. Although this sounds extremely complicated, this algorithm can be boiled down to a simple (and low-accuracy) equation that originated from marine navigation called Dead Reckoning:\n$$\n\\Delta P = \\begin{bmatrix}(\\Delta L - \\Delta R) \\cdot \\sin(\\theta\\cdot\\frac{\\pi}{180}) \\ (\\Delta L - \\Delta R) \\cdot \\cos(\\theta\\cdot\\frac{\\pi}{180}) \\ \\Delta \\theta \\end{bmatrix}\n$$\nThe result of this equation, $\\Delta P$, is then accumulated over time, into the robot's pose. $L$ and $R$ are the distance readings from the left and right tank tracks.\nWith an understanding of the core concepts, lets say we have a tank-drive robot sitting at pose $A$, and we want to get it to pose $B$. \n$$\nA = \\begin{bmatrix}0 \\ 0 \\ 0\\end{bmatrix}\n$$\n$$\nB = \\begin{bmatrix}0 \\ 1 \\ 90\\end{bmatrix}\n$$\nThis raises an interesting problem. Our goal pose is directly to the left of our current pose, and tanks cannot strafe (travel in the $y$ axis without turning). Luckily, to solve this problem we just need to know our error from the goal pose as a distance ($\\Delta d$), and a heading ($\\Delta\\theta$):\n$$\n\\Delta d = \\sqrt{\\Delta x^2 + \\Delta y^2}\n$$\n$$\n\\Delta\\theta = \\arctan(\\Delta y, \\Delta x) \\cdot \\frac{180}{\\pi}\n$$\nNotice how a polar coordinate containing these values: $\\big[\\begin{smallmatrix}\\Delta d \\ \\Delta\\theta\\end{smallmatrix}\\big]$ is very similar to our joystick input vector from the previous post: $\\big[\\begin{smallmatrix}T \\ S\\end{smallmatrix}\\big]$. Converting our positional error into a polar coordinate makes the process of navigating to any point very simple. All we need to do is take the Hadamard product of the coordinate matrix with a gain matrix to make small adjustments to the output based on the physical characteristics of your robot, like the amount of voltage required to overcome static friction. This is a very simple P-gain controller.\n$$\ninput = \\begin{bmatrix}\\Delta d \\ \\Delta\\theta\\end{bmatrix}\\circ\\begin{bmatrix}K_t \\ K_s \\end{bmatrix}\n$$\nThis new input vector can now be fed directly into the code from the previous post, and as long as the $K_t$ and $K_s$ gains are tuned correctly, your robot will smoothly and efficiently navigate from pose $A$ to pose $B$ automatically.\nThere are a few tweaks that can be made to this method that will further smooth out the robot's movement. Firstly, we can multiply $\\Delta d$ by a restricted version of $\\Delta\\theta$. This will cause the robot to slow down any time it is too far off course. While it is slower, turns can be made faster, and more efficiently. This cuts down on the amount of time needed to face the goal pose in the first place. We can calculate this gain, $m$, as:\n$$\nm = \\big(-1 * \\frac{\\min(abs(\\Delta\\theta), 90)}{90}\\big) + 1\n$$\n$m$ is now a scalar that falls in $-1 \\leq m \\leq 1$. Our calculation to determine a new \"input\" vector is now as follows:\n$$\ninput = \\begin{bmatrix}\\Delta d \\ \\Delta\\theta\\end{bmatrix}\\circ\\begin{bmatrix}K_t \\ K_s \\end{bmatrix} \\circ \\begin{bmatrix}m \\ 1 \\end{bmatrix}\n$$\nFor even more controllability, Raider Robotics passes $\\Delta d$ through a PD controller, and $\\Delta\\theta$ through a PI controller before converting them to motor values... and that is it! With just a couple formulæ, we have a fully functional autonomous point-to-point locomotion system. \nFor a real-world example of this method in use, check out 5024's robot (bottom right) and 1114's robot (bottom left). Both teams were running nearly the same implementation. We were both running autonomously for the first 15 seconds of the game:\n\n \n\n\nI hope someone will some day find this post helpful. Most papers about this topic went way over my head in 10th grade, or were over-complicated for the task. If you would like me to go further in depth on this topic, contact me and let me know. I will gladly help explain things, or write a new post further expanding on a topic.\n","id":"https://ewpratten.com/blog/drivetrain-navigation/","title":"Notes from FRC: Autonomous point-to-point navigation"},"https://ewpratten.com/blog/fedora-36-vp/":{"body":"When installing Visual Paradigm on my Fedora workstation today, I kept running into a SIGSEGV error, causing the bundled JVM to crash.\nThis issue was specifically starting at a function call to hb_font_get_font_v_extents_default in libharfbuzz.\nThe solution\nTo get VP to launch correctly:\n\nDownload the InstallFree version of the program from your download source and extract it\nDownload Temurin JRE 11.0.15 and extract it\nDelete the Visual_Paradigm_<version>/jre directory from the VP installer\nReplace that JRE directory with the contents of the Temurin JRE package (renaming the folder to jre)\nLaunch, and ignore the warnings\n\n✨magic✨\nWhy does this post exist?\nSEO? I will probably run in to this issue again a few more times, so why not write it down instead of digging through a crash report from the second page of google.\n..and ya. SEO. Lots of juicy keywords are to be had in this document 😉\n","id":"https://ewpratten.com/blog/fedora-36-vp/","title":"Getting Visual Paradigm to launch on Fedora 36"},"https://ewpratten.com/blog/frc-languages/":{"body":"Our programming team is looking to switch languages in the 2020 season. Here is the what, why, and how.\nOur history\nWe started out as a java team back in 2014 because java was (and still is) the language being taught in our programming classes. Honestly, our code sucked, as many rookie team's do. There where no fancy features, or sensor-assisted autonomous. Direct input into talons was our way to roll. \nA few years later, we had a change in team organization and switched to C++. Up until the 2019 / 2020 season, this was our language and we where getting pretty good at using it.\nThe Problem\nWe, as a team are looking to bring our programming and robots to the next level in 2020. Because of this, we ran into a problem. While C++ is an amazing language for embedded and robotics programming, some of it's \"features\" where starting to act as a bottleneck to our design. Less time was being spent on polishing our new vision system or autonomous climb, and more on that crazy linker error that came out of nowhere.\nIt's time for a change, but what do we change to?\nPart 2\nThe followup can be found HERE.\n","id":"https://ewpratten.com/blog/frc-languages/","title":"The language hunt"},"https://ewpratten.com/blog/frc-tech-reference/":{"body":"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.\nTable of Contents\n\nTable of Contents\nTypes of devices\n\nOn-robot computers\nMicrocontrollers\nPeripherals\n\n\n\"The list of blinky things\"\nOpenMesh Radios\nDatasheets\nReference Material\n\nTypes of devices\nThere are three types of devices found on an FRC robot:\n\nComputers\nMicrocontrollers\nPeripherals\n\nOn-robot computers\nThe main computer on-robot is of course the roboRIO. The roboRIO is a standard Real-Time Linux device running a custom Kernel, built on Busybox. The main system users are admin (the administrative user with full system write access), and lvuser (this user is the one that executes the robot program).\nIf you SSH into the roboRIO (ssh admin@10.TE.AM.2), and navigate to /home/lvuser/, you will find the robot program (probably a .jar), along with the deploy folder, and a script that starts it all. You can stick anything in this script and it will run when the roboRIO boots.\nOther on-robot computers include the Limelight (which is just a Raspberry Pi Compute Module v3), the router (although you can't really run custom code on it), and any Raspberry Pis that might be used.\nMicrocontrollers\nAside from the obvious, Arduinos, other on-board microcontrollers include any CTRE devices or \"smart\" REV devices. Each speed controller and control module is running some pre-compiled firmware on its own. Some of these devices (like the Talon SRX and the Spark Max) allow us to push custom code to them at runtime (like an off-board control loop) over the CAN bus. The NavX is also a microcontroller, communicating over Serial-over-MXP.\nPeripherals\nThings like AD Gyroscopes, buttons, rangefinders, color sensors, etc. are all dumb peripherals. These behave exactly like any device you would connect to an Arduino.\n\"The list of blinky things\"\nThe list of blinky things is a list I came up with years ago for quickly answering the question of \"what does that blinking light mean?\".\n\nCTR Electronics\n\nPower Distribution Panel (2015-2022?)\nVoltage Regulation Module\nPneumatic Control Module (multiple pages)\nTalon SRX\nVictor SPX\n\n\nRev Robotics\n\nSpark Max\nSpark\n\n\nNational Instruments\n\nroboRIO (multiple pages)\n\n\n\nOpenMesh Radios\nThe current fleet of robots are using OpenMesh radios for 2.4GHz and 5GHz communication. \nThese radios come in two models (found on the bottom of the radio). First is the OM5P-AN and the second is the OM5P-AC. The AC variant is the newer (and faster) model. It is also more locked down. You can flash OpenWRT to the AN model and use it as a practice field router (which I have done before).\nThese are consumer routers designed for home use! They are not in any way good at robotics applications. You will want to follow this guide to protect your routers before putting them on the field.\nFor information on flashing routers, see here. Routers from Israeli teams will be incompatible with any north american tech, so they need to be reflashed to match our regulations.\nDatasheets\nManufacturerModelDatasheet\nOpenMeshOM5P-ACPDF\nCTR ElectronicsPower Distribution PanelPDF\nCTR ElectronicsVoltage Regulation ModulePDF\nCTR ElectronicsPneumatic Control ModulePDF\nCTR ElectronicsTalon SRXPDF\nCTR ElectronicsVictor SPXPDF\nRev RoboticsSpark MaxHTML\nRev RoboticsSparkPDF\nNational InstrumentsroboRIOPDF\nKauai LabsNavX-MXPPDF\n\nMore devices can be found in this list.\nReference Material\n\nThe CAN Bus and Protocol\nThe SPI Communication Standard used by many peripherals\nPulse Width Modulation (used by some speed controllers and encoders)\nRotary Encoders (keep in mind, we almost exclusively use Hall Effect + Quadrature + Incremental encoders)\n\n","id":"https://ewpratten.com/blog/frc-tech-reference/","title":"An overview of the tech on a complex FRC robot"},"https://ewpratten.com/blog/gamels/":{"body":"Today, I released a new command-line tool called gamels.\nLinux gamers may be familiar with digging around the copmpatdata and shadercache directories in ~/.local/share/Steam/steamapps. This is a tedious task that involves lots of googling, since Steam names game-specific directories after the game's application id.\n\ngamels solves this problem by querying the Steam API to see if any directory names match known app ids. If so, the name of the corresponding game is shown in the listing.\n\nInstallation instructions and source code are available on GitHub.\n","id":"https://ewpratten.com/blog/gamels/","title":"I re-implemented ls to query the Steam API"},"https://ewpratten.com/blog/github-cleanup/":{"body":"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!\nGetting a list of repos to delete\nI could have automated this, but I prefer a little control. To get the list, start by opening up a new Firefox window with a single tab. In this tab, open your GitHub profile to the list of repos.\nStarting from the top, scroll through, and middle click on anything you want to delete. This opens it in a new tab.\nOnce you have a bunch of tabs open with repos to remove, use this Firefox plugin to create a plaintext list of every link you opened, and paste the list of links into VS-code.\nGetting an API token\nNext, an API token is needed. Go to GitHub's token settings, and generate a new one (make sure to enable repository deletion).\n\"Parsing\" the links\nWith our new token, and out VS-code file, we can start \"parsing\" the data. \nPressing CTRL + F brings up the Find/Search toolbar. In the text box, there are a few icons. Pressing the one farthest to the right will enable Regex mode. With this set, paste the following:\nhttps://github.com/\n\nNow, click the arrow on the left to enable replace mode, and put this in the new box:\ncurl -XDELETE -H 'Authorization: token <API token from above>' \"https://api.github.com/repos/\n\nThen press replace all.\nFinally, replace the contents of the first box with:\n\\n\n\nand the second with:\n\"\\n\n\nand replace all again.\nDeleting the repos\nSimply copy the entire text file that was made, and paste it in a terminal, then press <enter> (this will take a while)\n","id":"https://ewpratten.com/blog/github-cleanup/","title":"I did some cleaning"},"https://ewpratten.com/blog/googlectf/":{"body":"Honestly, I completely forgot that this was the weekend of Google's online CTF Qualifications for 2019 and was late, unprepared, busy, and did not have a team to work with.\nWhat is this event?\nGoogle hosts a (yearly?) event where hackers from around the world team up and attempt a variety of tasks like: exploiting machines over a network, reversing firmware, pulling passwords from tcp packets, hacking crypto stuff (something I suck at), breaking compilers. and much more. Generally, this event and others like it are really fun.\nWhat I learned\nMany questions I worked on involved extracting a key from a binary. I employed two vastly different tools for this job. First, a standard linux tool, strings. When passed a filename, it will extract and print all human-readable strings it can find to the terminal. The flag is usually in this dump. If not, I use the second tool. Ghidra, an open-source reverse engineering tool designed by the NSA. I used this tool a fair amount during my quick attempt at GCTF.\nWill I do this again?\nYes! The CTF was very fun to try, and I will definitely give it a proper shot next time.\n","id":"https://ewpratten.com/blog/googlectf/","title":"I gave Google's CTF a short try and learned a thing or two"},"https://ewpratten.com/blog/gopro-webcam/":{"body":"It has been quite some fun writing about my workflows for various day-to-day things on this blog recently, and since I have been getting a lot of positive feedback from my last few workflow-related posts, I am planning to continue writing them.\nAs my courses and work have moved mostly online, I have looked to improve my home setup. This started out with investing in another monitor to be dedicated to displaying server and network status info for my recent summer internship at Industrial Brothers. After that, I started looking in to purchasing a high-end condenser microphone and another audio interface to drive it, but quickly discovered that Lenovo did such a good job on the internal mic in my ThinkPad T480 that it is hard to buy a better microphone without spending a large chunk of money.\nSo, I can keep video conferences on their own screen, while still doing work on the other two, plus I have a pretty good mic. There is only one thing left to upgrade. The webcam!\nI went searching for something decent, and immediately encountered a large issue. Everyone is sold out of webcams. That's fair, there is a massive market for them right now, and not many companies actively producing new products. This lead me to a secondary option, one that I was planning to do quite a while ago when I ran a joint gaming YouTube channel with a friend in elementary school. \nCommonly, professional videographers will actually use a spare DSLR or point&shoot camera with a video output as their webcam. When I had originally looked in to doing this, I was turned off by the insane prices of capture cards. At the time, I was only familiar with large tech brands, and seeing a mid-tier capture card for $500 wasn't exactly 12-year-old-me-friendly.\nMore recently, I have gotten in to searching through eBay for generally Chinese manufacturing facilities selling unbranded products in bulk directly. Since these products are basically coming straight off an assembly line, and not going through any other company, they end up being ridiculously cheap! (I recommend looking for Arduinos this way. You can usually acquire them in batches at $1.15 per board)\nDuring one of my searches, I stumbled across a few sellers selling batches of generic / un-branded capture cards. Clearly designed to be resold with custom branding. You can pick one of these up for only $15! The one I have can do 1080p/60 and 2.7k/30 (disclaimer: these are the only resolutions I have tried. It can probably handle other sizes). \nAnother nice thing about the card I got, since it isn't made by some company that requires special software to run their products (cough, Elgato, cough) the device was plug&play compatible with my Ubuntu laptop!\nAlright. Enough about cheap capture cards, and on to my setup.\nFor the actual camera, I opted for the GoPro Hero 5 Black edition that has been sitting on my desk unused for the past year. Unfortunately, this camera is no longer sold by GoPro. If you are looking to replicate this setup, I can strongly recommend picking up the Hero 7 Black edition, which is the most recent GoPro camera to support live HDMI video without needing a bunch of accessories.\nSpeaking of HDMI video, I also picked up a Micro HDMI to HDMI cable to connect from the camera's output to the capture card. This one here should do the trick, and is only $8.\nFor mounting, I went with a Jolby GorillaPod, but let's be honest. These are GoPros. There is no shortage of mounting solutions for them. You could do a first-person-view conference call if you really wanted. (New project idea..?)\nSoftware Setup\nThe software setup process is quite simple, and fairly painless. First, near the end of every GoPro's settings menu is a mode selector for how HDMI output should behave. Setting this to live will cause the camera to output exactly what it sees, without any status icons or timestamps, to the capture card.\nOn the computer end, these cheap capture cards identify themselves as webcams. So there isn't really much setup needed. That being said, many people I know like to send their capture card output into Open Broadcaster Software, process the feed, then export it as a virtual webcam.\nSome neat things to try\nExperimenting with my camera's many video cropping / scaling modes has been quite fun. I have discovered that keeping the camera in linear mode is good for general usage and presenting, and switching to superwide is great if I need to physically demonstrate or show something.\nI recently remembered that GoPros also have voice commands. I have been using this to switch between timelapse, video, and photo modes, where I have saved a video preset in each. This is a very cheaty way to change my camera settings on the fly without needing to use the GoPro app on my phone. Here is what each of these modes is set to do on my camera:\nModeAction\ntimelapseNarrow view, zoomed in on my face. This looks like a normal laptop webcam\nvideoLinear view. Very crisp, and auto-lowlight handling enabled. This looks like I'm using a DSLR\nphotoSuperview. Zoomed all the way out, at full resolution. It's so wide, you can see whats on my desk\n\n","id":"https://ewpratten.com/blog/gopro-webcam/","title":"My workflow: video conference edition"},"https://ewpratten.com/blog/graphing-w2a/":{"body":"I was scrolling through reddit the other day, and came across this great post by u/MasterQuacks.\n\nI thought to myself \"ha. Thats funny\", and moved on. But that thought had stuck with me. \nSo here I am, bored on a sunday afternoon, staring at the matplotlib documentation. \nMy creation\nIn only a few lines of python, I have a program that will (badly) graph the number of awards per wheel for any team, or set of teams. \nAs always, feel free to tinker with the code. This one is not published anywhere, so if you want to share it, I would appreciate a mention.\nimport requests\nimport matplotlib.pyplot as plt\n\nclass Team:\n def __init__(self, id, wheels):\n self.id = id\n self.wheels = wheels * 2\n\n### CONFIG ###\n\nteams = [Team(5024, 3), Team(254, 4), Team(1114, 3), Team(5406, 3), Team(2056, 4)]\nyear = 2019\n\n##############\n\n\nfor i, team in enumerate(teams):\n award_data = requests.get(\"https://www.thebluealliance.com/api/v3/team/frc\" + str(team.id) + \"/awards/\" + str(year), params={\"X-TBA-Auth-Key\": \"mz0VWTNtXTDV8NNOz3dYg9fHOZw8UYek270gynLQ4v9veaaUJEPvJFCZRmte7AUN\"}).json()\n\n awards_count = len(award_data)\n\n team.w2a = awards_count / team.wheels\n print(team.id, team.w2a)\n\n plt.bar(i + 1, team.w2a, tick_label=str(team.id))\n\n# Plot\nx_lables = [team.id for team in teams]\n# plt.set_xticklabels(x_lables)\n\nwith plt.xkcd():\n plt.title('Awards per wheel')\n plt.show()\n\n\nThe result\nHere is the resulting image. From left, to right: 5024, 254, 1114, 5406, 2056\n\n","id":"https://ewpratten.com/blog/graphing-w2a/","title":"Graphing the relation between wheels and awards for FRC"},"https://ewpratten.com/blog/hatchfield/":{"body":"My roles in this project included:\n\nAssisting with mechanical design\nLeading the software development efforts\nProducing the reveal teaser video\n\nReveal teaser\n","id":"https://ewpratten.com/blog/hatchfield/","title":"Robot reveal: HATCHField"},"https://ewpratten.com/blog/java-cheatsheet/":{"body":"This document is written for my PROG10082 classmates as a quick reference for some Java concepts that were skipped over in the course. This document may be updated as needed.\nVSCode Tips\nRemember, you can open intelisense by pressing Ctrl + Space. This is a super handy tool for auto-complete in your code no matter the language you are working in.\nTyping the following then opening intelisense will give you some shorthand options for quickly typing common code. Just select the option you want with arrow keys, and press Enter to apply it.\nShortcutDescription\nsysoAutomatically print System.out.println();\nsyserrAutomatically print System.err.println();\n\nUpper and lowercase types\nMany types you encounter in Java have an uppercase and lowercase variant, for example int and Integer. The difference is important. Here are the avalible uppercase variants of common types:\nStandard typeUppercase type\nshortShort\ncharCharacter\nbyteByte\nintInteger\ndoubleDouble\nfloatFloat\nlongLong\n\nNull and optional values\nOne uses of the uppercase variant of a type is to allow null values. In most languages, null means \"Nothing\". In Java, you can use null to indicate that a variable is not yet assigned a value. This can be checked with the == operator.\nAn example usage of this could be the following:\n// We want to ask for a number of records to read\nScanner input = new Scanner(System.in);\nint recordCount = input.nextInt();\n\n// Create a value to store the highest record in\n// I have made this `null` so we can know if we didnt get a value\nInteger highestRecord = null;\n\n// Read the records\nfor (int i = 0; i < recordCount; i++) {\n // Read a value\n int record = input.nextInt();\n\n // If the value is higher than the current highest record\n // or the highest record is `null`, update the highest record\n if (highestRecord == null || record > highestRecord) {\n highestRecord = record;\n }\n}\n\n// We now have the highest record\nif (highestRecord != null) {\n System.out.println(\"The highest record is \" + highestRecord);\n} else {\n System.out.println(\"No records were entered\");\n}\n\nPass-by-reference\nAnother use of uppercase types is pass-by-reference. \n// This is a function that will try to add `1` to a value\nvoid addOne(int value) {\n value = value + 1;\n}\n\nvoid main(String ...args) {\n // We can make a value\n int myNumber = 1;\n\n // And pass it to a function. You would expect this to work\n addOne(myNumber);\n\n // But at this point, `myNumber` is still `1`\n}\n\nNow, we can switch to using uppercase types to make the function edit the value.\n// This is a function that will try to add `1` to a value\nvoid addOne(Integer value) {\n value = value + 1;\n}\n\nvoid main(String ...args) {\n // We can make a value\n Integer myNumber = 1;\n\n // And pass it to a function. This will work, since we have an upprcase type\n addOne(myNumber);\n\n // At this point, `myNumber` is now `2`\n}\n\n","id":"https://ewpratten.com/blog/java-cheatsheet/","title":"A Java development cheatsheet for my classmates"},"https://ewpratten.com/blog/joystick-to-voltage/":{"body":"I am starting a new little series here called \"Notes from FRC\". The idea is that I am going to write about what I have learned over the past three years of working (almost daily) with robots, and hopefully someone in the future will find them useful. The production source code I based this post around is available here.\nToday's topic is quite simple, yet almost nobody has written anything about it. One of the very first problems presented to you when working with an FRC robot is: \"I have a robot, and I have a controller.. How do I make this thing move?\". When I first started as a software developer at Raider Robotics, I decided to do some Googling, as I was sure someone would have at least written about this from the video-game industry.. Nope.\nLet's lay out the problem. We have an application that needs to run some motors from a joystick input. Periodically, we are fed a vector of joystick data, $\\lbrack\\begin{smallmatrix}T \\ S\\end{smallmatrix}\\rbrack$, where the values follow $-1\\leq \\lbrack\\begin{smallmatrix}T \\ S\\end{smallmatrix}\\rbrack \\leq 1$. $T$ denotes our throttle input, and $S$ denotes something we at Raider Robotics call \"rotation\". As you will see later on, rotation is not quite the correct word, but none of us can come up with anything better. Some teams, who use a steering wheel as input instead of a joystick, call this number wheel, which makes sense in their context. For every time an input is received, we must also produce an output, $\\lbrack\\begin{smallmatrix}L \\ R\\end{smallmatrix}\\rbrack$, where the values follow $-12\\leq \\lbrack\\begin{smallmatrix}L \\ R\\end{smallmatrix}\\rbrack \\leq 12$. $\\lbrack\\begin{smallmatrix}L \\ R\\end{smallmatrix}\\rbrack$ is a vector containing left and right side motor output voltages respectively. Since we build tank-drive-style robots, when $\\lbrack\\begin{smallmatrix}L \\ R\\end{smallmatrix}\\rbrack = \\lbrack\\begin{smallmatrix}12 \\ 12\\end{smallmatrix}\\rbrack$, the robot would be moving forward at full speed, and when $\\lbrack\\begin{smallmatrix}L \\ R\\end{smallmatrix}\\rbrack = \\lbrack\\begin{smallmatrix}12 \\ 0\\end{smallmatrix}\\rbrack$, the robot would be pivoting right around the centre of its right track at full speed. The simplest way to convert a throttle and rotation input to left and right voltages is as follows:\n$$\noutput = 12\\cdot\\begin{bmatrix}T + S \\ T - S\\end{bmatrix} \n$$\nThis can be expressed in Python as:\ndef computeMotorOutputs(T: float, S: float) -> Tuple[float, float]: \n return (12 * (T + S), 12 * (T - S))\n\nIn FRC, we call this method \"arcade drive\", since the controls feel like you are driving a tank in an arcade game. Although this is very simple, there is a big drawback. At high values of $T$ and $S$, precision is lost. The best solution I have seen to this problem is to divide both $L$ and $R$ by the result of $\\max(abs(T), abs(S))$ if the resulting value is greater than $1.0$. With this addition, the compute function now looks like this:\ndef computeMotorOutputs(T: float, S: float) -> Tuple[float, float]: \n # Calculate normal arcade values\n L = 12 * (T + S)\n R = 12 * (T - S)\n\n # Determine maximum output\n m = max(abs(T), abs(S))\n\n # Scale if needed\n if m > 1.0:\n L /= m\n R /= m\n\n return (L, R)\n\nPerfect. Now we have solved the problem!\nOf course, I'm not stopping here. Although arcade drive works, the result is not great. Small movements are very hard to get right, as a small movement on your controller will translate to a fairly large one on the robot (on an Xbox controller, we are fitting the entire range of 0m/s to 5m/s in about half an inch of joystick movement). This is generally tolerable when moving forward and turning, but when sitting still, it is near impossible to make precise rotational movements. Also, unless you have a lot of practice driving tank-drive vehicles, sharp turns are a big problem, as overshooting and skidding are very common. Wouldn't it be nice if we could have a robot that manuevers in graceful curves like a car? This is where the second method of joystick-to-voltage conversion comes in to play.\nFRC teams like 254 and 971 use variations of this calculation method called \"constant curvature drive\". Curvature drive is only slightly different from arcade drive. Here is the new formula:\n$$\noutput = 12\\cdot\\begin{bmatrix}T + abs(T) \\cdot S \\ T - abs(T) \\cdot S\\end{bmatrix}\n$$\nIf we also add the speed scaling from arcade drive, we are left with the following Python code:\ndef computeMotorOutputs(T: float, S: float) -> Tuple[float, float]:\n # Calculate normal curvature values\n L = 12 * (T + abs(T) * S)\n R = 12 * (T - abs(T) * S)\n\n # Determine maximum output\n m = max(abs(T), abs(S))\n\n # Scale if needed\n if m > 1.0:\n L /= m\n R /= m\n\n return (L, R)\n\nThe $S$ component now changes the curvature of the robot's path, rather than the heading's rate of change. This makes the robot much more controllable at high speeds. There is one downside to this method though. As a tradeoff to making high-speed driving much more controllable, we have completely removed the robot's ability to turn when stopped. \nThis is where the final drive method comes in to play. At Raider Robotics, we call it \"semi-constant curvature drive\", and have been using it in gameplay with great success since 2019. Since we want to take the best parts of arcade drive and constant curvature drive, we came to the simple conclusion that we should just average the two methods. Doing this results in this new formula:\n$$\noutput = 12\\cdot\\begin{bmatrix}\\frac{(T + abs(T) * S) + (T + S)}{2} \\ \\frac{(T - abs(T) * S) + (T - S)}{2}\\end{bmatrix}\n$$\nAnd here is the associated Python code:\ndef computeMotorOutputs(T: float, S: float) -> Tuple[float, float]:\n # Calculate semi-constant curvature values\n L = 12 * (((T + abs(T) * S) + (T + S)) / 2)\n R = 12 * (((T - abs(T) * S) + (T - S)) / 2)\n\n # Determine maximum output\n m = max(abs(T), abs(S))\n\n # Scale if needed\n if m > 1.0:\n L /= m\n R /= m\n\n return (L, R)\n\n\nI hope someone will some day find this post helpful. I am working on a few more FRC-related posts about more advanced topics, and things I have learned through my adventures at Raider Robotics. If you would like to check out the code that powers all of this, take a look at our core software library: Lib5K\n","id":"https://ewpratten.com/blog/joystick-to-voltage/","title":"Notes from FRC: Converting joystick data to tank-drive outputs"},"https://ewpratten.com/blog/kbfs-maven/":{"body":"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:\n\nGitHub Releases\n\nNo dependabot integration\nNo easy way to get Gradle to load files directly from GitHub\n\n\nJitPack\n\nSlow builds\nNo easy way to publish custom artifacts or use custom groups\nSometimes unusably long cache policy\n\n\nUltralight\n\nHas a file transfer limit\nUses my personal API keys to interact with GitHub\nNo way to automate package updates\n\n\nGitHub Packages\n\nRequires users to authenticate even for public assets\nHas a file transfer limit\nUses a separate maven url per project\n\n\n\nAs a student, I prefer not to do the sensible solution--spin up an Artifactory server--as that costs money I could be spending on coffee.\nWhat makes a maven server special?\nReally, not much. As outlined in my previous maven-related post, a maven server is just a simple webserver with a specific directory structure, and some metadata files placed in specific locations.\nLet's say we wanted to publish a package with the following attributes:\nAttributeValue\nGroupIDca.retrylife.example\nArtifactIDexample-artifact\nVersion1.0.4\n\nThe resulting directory structure would end up looking like:\n.\n└── ca\n └── retrylife\n └── example\n └── example-artifact\n ├── maven-metadata.xml\n ├── maven-metadata.xml.sha1\n └── 1.0.4\n ├── example-artifact-1.0.4.jar\n ├── example-artifact-1.0.4.jar.sha1\n ├── example-artifact-1.0.4.pom\n └── example-artifact-1.0.4.pom.sha1\n\n\nGenerated with tree.nathanfriend.io\n\nIn this example. I chose to use the sha1 hashing algorithm, but maven clients support pretty much any algorithm I can think of. \nAs you can see, the files are layed out very logically. Packages are organized similarly to how you organize your source code; each artifact is accompanied by a Project Object Model describing it, maven-metadata files keep track of versioning, and every file also has a hash alongside it.\nFor reference, the maven-metadata.xml in this example would look something like this:\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<metadata>\n <groupId>ca.retrylife.example</groupId>\n <artifactId>example-artifact</artifactId>\n <versioning>\n <release>1.0.4</release>\n <latest>1.0.4</latest>\n <versions>\n <version>1.0.4</version>\n </versions>\n <lastUpdated>20210216203206</lastUpdated>\n </versioning>\n</metadata>\n\nAs far as I know, maven-metadata is not actually required, but I always include them so that I can make use of dynamic versions in Gradle.\nUsing a static CDN as a maven server\nSince there is nothing special about a maven server aside from its directory structure, anywhere that can host files can become a server. My choice for now is Keybase's KBFS. KBFS is a pgp-signed file store that allows every user 250GB of free storage. This web filesystem is mounted to the user's device using FUSE in a similar way to rclone.\nThis local mount & sync setup allows me to interact with my /keybase mountpoint like any other directory, while having all its contents automatically backed up and published.\nTaking advantage of this\nGradle's maven-publish plugin is designed to publish packages to remote servers, but will also work with local URIs. Simply pointing a MavenPublication to /keybase/public/ewpratten/maven/release (my directory of choice for now) will automatically generate everything mentioned in the section about file structure above.\nMy exact configuration for doing this in gradle is as follows (source):\napply plugin: \"maven-publish\"\n\n// Determine SNAPSHOT vs release\ndef isRelease = !project.findProperty(\"version\").contains(\"-SNAPSHOT\")\nif (!isRelease) {\n println \"Detected SNAPSHOT\"\n}\n\npublishing {\n repositories {\n maven {\n name = \"KBFS\"\n if (isRelease) {\n url = uri(\n project.findProperty(\"kbfs.maven.release\") ?: \"/keybase/public/ewpratten/maven/release\"\n )\n } else {\n url = uri(\n project.findProperty(\"kbfs.maven.snapshot\") ?: \"/keybase/public/ewpratten/maven/snapshot\"\n )\n }\n }\n }\n}\n\nThis configuration is a bit fancy as it will separate snapshots from releases, and allow me to completely override the endpoint(s) in my settings.gradle file if I choose. A minimal approach would be:\napply plugin: \"maven-publish\"\n\npublishing {\n repositories {\n maven {\n name = \"KBFS\"\n url = uri(\"/keybase/public/<your username>/maven\")\n }\n }\n}\n\nPretty URLs\nWith the solution outlined in this post, the end user would end up specifying one of the following URLs in their maven client:\n\nhttps://<username>.keybase.pub/maven/release/\nhttps://<username>.keybase.pub/maven/snapshot/\n\nWhile that is perfectly fine, I prefer to keep all of my projects / services / etc under my personal domain (retrylife.ca). Unlike the rest of this post, this step does cost some money.\nI already rent two servers for various other projects, and one of them is running the Caddy webserver and acting as a reverse proxy. I have pointed two domains (release.maven.retrylife.ca and snapshot.maven.retrylife.ca) at this server and am using the following rules to route them:\nrelease.maven.retrylife.ca {\n route /* {\n rewrite * /maven/release/{path}\n reverse_proxy https://ewpratten.keybase.pub {\n header_up Host ewpratten.keybase.pub\n }\n }\n}\n\nsnapshot.maven.retrylife.ca {\n route /* {\n rewrite * /maven/snapshot/{path}\n reverse_proxy https://ewpratten.keybase.pub {\n header_up Host ewpratten.keybase.pub\n }\n }\n}\n\nThis means that I can point users at one of the following domains, and they will get the packages they are looking for:\n\nhttps://release.maven.retrylife.ca/\nhttps://snapshot.maven.retrylife.ca/\n\nI am also now able to switch out backend servers / services whenever I want, and users will see no difference.\nFuture improvements\nSome time in the future, I plan to move from KBFS to the S3-based DigitalOcean Spaces so I can speed up the download time for packages, and have better global distribution of files.\n","id":"https://ewpratten.com/blog/kbfs-maven/","title":"Using KBFS as a makeshift maven server"},"https://ewpratten.com/blog/languagehunt2/":{"body":"This is a very short post, just to explain the result of The language Hunt.\nOur choice\nFor our upcoming 2020 season and for the forseeable future, we have chosen Java as our programming language for direct hardware interfacing, and Python for networking, vision, and other smaller tasks.\nWhat does this mean for the team?\nNot too much. Aside from learning new syntax, tools, and no longer worrying about linker errors, Java and C++ have no real difference. Most of the reason Java was chosen was based on support instead of functionality. Java is much better supported by FIRST, WPILib, and other vendors. Java is also taught in the school 5024 is based from. For a more detailed explanation of the benefits of each language, take a look at Chief Delphi. There are plenty of posts there explaining the choices of many teams and their reasoning.\nSide note\nI am experimenting with various post formats (This being a short post). Let me know which you prefer via the social platform of your choice. \n","id":"https://ewpratten.com/blog/languagehunt2/","title":"The language hunt: Part 2"},"https://ewpratten.com/blog/lookback-gmad/":{"body":"One day, back in June of 2018, I was both looking for a new project to work on, and trying to decide which Linux distro to install on one of my computers. From this, a little project was born. Give Me a Distro (or, GMAD, as I like to call it) is a little website that chooses a random distribution of Linux and shows a description of what you are about to get yourself into, and a download link for the latest ISO.\nBackend tech\nThis is one of the simplest projects I have ever made. All the backend does is:\n\nSelect a random number (n)\nFetch the nth item from a list of distros\nPush the selected data to the user via DOM\n\nFrontend\nThis website is just plain HTML and CSS3, built without any CSS framework. \nMy regrets\nThere are two things I do not like about this project. Firstly, on load, the site breifly suggests Arch Linux before flashing to the random selection. This is due to the fact that Arch is the default for people with Javascript disabled. Some kind of loading animation would fix this.\nSecondly, the version of the site hosted on retrylife.ca is actually just an iframe to ewpratten.github.io due to some CNAME issues.\nContributing\nIf you would like to add a distro or three to the website, feel free to make a pull request over on GitHub.\nWhy make a post about it a year later?\nI just really enjoyed working with the project and sharing it with friends, so I figured I should mention it here too. Maybe it will inspire someone to make something cool!\n","id":"https://ewpratten.com/blog/lookback-gmad/","title":"Taking a look back at GMAD"},"https://ewpratten.com/blog/ludumdare46/":{"body":"Over the past weekend I teamed up with @rsninja722, @wm-c, @exvacuum, @marshmarlow, and our friends Sally and Matt to participate in the LudumDare46 game jam. This post will outline the game development process.\nDay 0\n\nStarting at 20:30 Friday night, we all anxiously awaited this jam's theme to be released.\nThe theme for Ludum Dare 46 is...Keep it alivehttps://t.co/APmeEhwjEp #LDJAM pic.twitter.com/bzNYi2zlDG— Ludum Dare (@ludumdare) April 18, 2020\n..and so we started.\nDay 0 was spend on three tasks:\n\nDeciding the story for our game\nAllocating tasks\nBuilding a software framework for the game\n\nWe decided to program our game in JavaScript (but not without an argument about types) because that is @rsninja722's primary language, and we can use his JS game engine, game.js. On top of that, we also decided to use SASS for styling, and I designed a CSS injector that allows us to share variables between JS and SASS.\nAfter task allocation, I took on the job of handling sounds and sound loading for the game. I decided to start work on that during day 1, due to homework.\nThe game's progress at the end of Day 0 can be found at commit 0b4a1cd\nDay 1\n\nDay 1 started with @exvacuum developing a heartrate monitor system for the game:\n\nDemo image showing off his algorithm\nHis progress was documented on his YouTube channel.\nI also started out by writing a sound system that uses audio channels to separate sounds. This system pre-caches all sounds while the game loads. Unfortunately, after getting my branch merged into master, I noticed a few bugs:\n\nWhen queueing audio, the 2 most recent requests are always ignored\nSome browsers do not allow me to play multiple audio streams at the same time\n\nDue to these issues, I decided to rewrite the audio backend to use Howler.js. I streamed this rewrite on Twitch. The Howler rewrite was very painless, and made a much nicer interface for playing audio assets.\n// The old way\nglobalSoundContext.playSound(globalSoundContext.channels.bgm, soundAssets.debug_ding);\n\n// The new way\nsoundAssets.debug_ding.play();\n\nThis rewrite also added integration with the volume control sliders in the game settings menu:\n\nAudio Settings screen\nLater on in the day, a basic HUD was designed to incorporate the game elements. A bug was also discovered that causes Firefox-based clients to not render the background fill. We decided to replace the background fill with an image later.\n\nV1 of the game HUD\nWhile developing the sound backend, and tweaking UI, I added sound assets for heartbeats, and footsteps. World assets were also added, and the walking system was improved.\n\nThe game with basic world assets loaded\n@wm-c and @rsninja722 also spent time developing the game's tutorial mode.\nThe game's progress at the end of Day 1 can be found at commit 84d8438\nDay 2 & 3\n\nDay 2 started with a new background asset, and a new HUD design:\n\nThe game's new background\n\nThe game's new HUD \n@rsninja722 also got to work on updating the game's collisions based on the new assets, while I added more sounds to the game (again, streaming this process on Twitch).\nFrom then on, development time was just spent tweaking things such as:\n\nA Chrome sound bug\nA transition bug when moving from the loading screen to tutorial\nSome collision bugs\nAdding a new credits screen\n\nThe game's progress at the end of Day 2 can be found at commit b9d758f\nThe Game\nMicromanaged Mike is free to play on @rsninj722's website.\n\nFinal game screenshot\n","id":"https://ewpratten.com/blog/ludumdare46/","title":"Ludum Dare 46: Jamming with friends"},"https://ewpratten.com/blog/mindmap/":{"body":"While working on an assignment with Coggle today, I noticed an interesting option in the save menu. Download as .mm file. Having rarely worked with mind maps before, and only doing it online, it never occured to me that someone would have a file format for it. So I took a look.\nWhat is a .mm file?\nIt turns out, a .mm file is just some XML describing the mind map. Here is a simple mind map:\n\nAnd again as a .mm file:\n<map version=\"0.9.0\">\n <node TEXT=\"Master Node\" FOLDED=\"false\" POSITION=\"right\" ID=\"5d2d02b1a315dd0879f48c1c\" X_COGGLE_POSX=\"0\" X_COGGLE_POSY=\"0\">\n <edge COLOR=\"#b4b4b4\"/>\n <font NAME=\"Helvetica\" SIZE=\"17\"/>\n <node TEXT=\"Child branch\" FOLDED=\"false\" POSITION=\"right\" ID=\"f72704969525d2a0333dd635\">\n <edge COLOR=\"#7aa3e5\"/>\n <font NAME=\"Helvetica\" SIZE=\"15\"/>\n <node TEXT=\"Children 1\" FOLDED=\"false\" POSITION=\"right\" ID=\"c83826af506cae6e55761d5c\">\n <edge COLOR=\"#7ea7e5\"/>\n <font NAME=\"Helvetica\" SIZE=\"13\"/>\n </node>\n <node TEXT=\"Children 2\" FOLDED=\"false\" POSITION=\"right\" ID=\"47723a4d0fb766863f70d204\">\n <edge COLOR=\"#82aae7\"/>\n <font NAME=\"Helvetica\" SIZE=\"13\"/>\n </node>\n </node>\n </node>\n</map>\n\nNeat, right?\nWhat can we do with it?\nI have not done much research about this because I wanted to work all of this out on my own. But I know one thing as a fact: working with XML sucks (especially in Python). I decided that this would be much better if I could load .mm files as JSON. This would allow easy manipulation and some cool projects.\nMy script\nLike everything I do, I made a script to play with these files. \nIt's pretty simple. First, It loads a .mm file, then parses it into a list of xml.etree.ElementTree.Element.\nraw_mm = \"\"\n\nwith open(args.file, \"r\") as fp:\n raw_mm = fp.read()\n fp.close()\n\nxml = ET.fromstring(raw_mm)\n\nThe parsed list is then passed into a recursive function that constructs a dict\ndef xmlToDict(xml):\n output = []\n for elem in list(xml):\n\n if \"TEXT\" not in elem.attrib:\n continue\n \n name = elem.attrib['TEXT']\n json_element = {\"name\": name}\n\n try: \n json_element[\"children\"] = xmlToDict(elem)\n except:\n continue\n \n # Detect node type\n if json_element[\"children\"]:\n json_element[\"type\"] = \"branch\"\n else:\n json_element[\"type\"] = \"leaf\"\n del json_element[\"children\"]\n \n output.append(json_element)\n \n return output\n\nFinally, the dict is written to a file with json.dump\njson.dump(mind_map, open(args.file + \".json\", \"w\"))\n\nThe whole script (with comments) can be found on my GitHub account.\nThe output\nRunning the .mm file from above through the script gives:\n[\n {\n \"name\":\"Master Node\",\n \"children\":[\n {\n \"name\":\"Child branch\",\n \"children\":[\n {\n \"name\":\"Children 1\",\n \"type\":\"leaf\"\n },\n {\n \"name\":\"Children 2\",\n \"type\":\"leaf\"\n }\n ],\n \"type\":\"branch\"\n }\n ],\n \"type\":\"branch\"\n }\n]\n\nThe next step\nThis script just translates a .mm file to JSON. Nothing else. Next, I want to convert this to a library, and add a JSON to .mm function as well. This leads into my ultimate goal for this project.\nI want a script that I can drop in the root of any project to build a Gource-style visualization of the folder structure. This will give me a way to make cool visualizations for lessons on the robotics team. On top of the folder visualization, Coggle's new flowchart feature can be used to generate graphical representations of @frc5024's codebases. This could give me an interactive overview of the work being done by our team. \nFurther learning\ncrm.org has done a great writeup of Coggle, and some of it's features. If you are looking to learn more about the tool, I recommend taking a few minute to read their post.\n","id":"https://ewpratten.com/blog/mindmap/","title":"Mind map generation with Python"},"https://ewpratten.com/blog/minecraft-irc/":{"body":"As I talked about in my post about Minecraft modpack development, I got back in to playing Minecraft earlier this year. I primairly play on a server full of friends, where the server owner has dynmap installed. Dynmap is a handy tool that provides a near-real-time overview of the minecraft world in the form of a webapp. I always keep Dynmap open on my laptop so I can chat with whoever is online, and see whats being worked on.\nWhile dynmap has a built-in chat log, and the ability to send chats, the incoming chat messages do not persist, and the outgoing chat messages don't always show your in-game username (but instead, your public IP address). Since I always have an IRC client open, I figured that making use of my IRC client to generate a persistent chat log in the background would be a good solution. Unfortunately, I could not find anyone who has ever built a Minecraft <-> IRC bridge. Thus my project, chatster, was born. \nThe most basic IRC server consists of a TCP socket, and only 7 message handlers:\nMessage TypeDescription\nNICKHandles a user setting their nickname\nUSERHandles a user setting their identity / username\nPASSHandles a user authenticating with the server\nPINGA simple ping-pong system\nJOINHandles a user joining a channel\nQUITHandles a user leaving a channel\nPRIVMSGHandles a user sending a message\n\nOn the Minecraft side, the following subset of the in-game protocol must be implemented (I just used the pyCraft library for this):\n\nUser authentication\nReceiving clientbound.play.ChatMessage packets\nSending serverbound.play.ChatMessage packets\n\nThe whole idea of chatster is that a user connects to the IRC server using their Mojang account email and password at their IRC nickname, and server password. The server temporarily stores these values in memory.\nConnecting to a server is done via specific IRC channel names. If you wanted to connect to mc.example.com on port 12345, you would issue the following IRC command:\n/JOIN #mc.example.com:12345\n\nUpon channel join, the server opens a socket to the specified Minecraft server, and relays chat messages (along with their sender) to both Minecraft and IRC. This means that ingame users show up in your IRC user list, and you can send commands and chats to the game.\n","id":"https://ewpratten.com/blog/minecraft-irc/","title":"Connecting to a Minecraft server over IRC"},"https://ewpratten.com/blog/monocular-blender/":{"body":"A while back, I encountered an interesting trend going on over on TikTok. People were turning their photos into videos with 3D camera movements.\nHaving created content like this before myself in both Adobe After Effects and Blender, I just assumed I had come across a few people who also knew the process for creating 2.5D content. For anyone who has not seen 2.5D content before, check out the video below by the amazing artist Spencer Miller, who is well know for his 2.5D and 3D concert videos.\n View this post on Instagram A post shared by spencer miller (@spencermiller) \n\nAlright. Back to TikTok, here is an example of one of the trend videos I came across. Notice how there is some graphical artifacting near the top and bottom of this video? This made me realize these videos are not your standard 2.5D content, but something else was going on.\n\n @flash_supercars This is a nice Effekt!👍🔥😍#münchen #hypercars #supercars #carspotting #münchencars #flashsupercars #fürdich #fy #carlovers #richlifestyle #bugatti #ferrari #3d #3dzoompro #3dtrend #trend #3dzoomeffect ♬ original sound - 6X Camps 🏆🏆🏆🏆🏆🏆 \n\nThere was no way so many people could have suddenly learned how to work in 2.5D, all had the required software, and all had the time to painstakingly rotoscope out every depth level of their photo to make it all look good.\nConveniently, it took very little effort to find out that this was all being done by a video editing app called CapCut. I'll spare you the details of researching this CapCut effect to find out how it works, and we will skip right to the technology powering it.\nPlaying with Neural Networks\nFrom my research, this techololgy (called context-aware inpainting) stems from a paper called 3D Photography Using Context-Aware Layered Depth Inpainting. I wanted to try replicating this effect in Blender, so I loaded up the demo for this paper, tried it out on some images I had lying around, and immediately ran in to issues with incorrect depth estimation results.\nAfter some experimentation, I decided to take a step back from neural-network-powered inpainting and instead started experimenting with the underlying depth estimation research this paper was build on top of.\nThe Embodied AI Foundation has a paper called Towards Robust Monocular Depth Estimation: Mixing Datasets for Zero-shot Cross-dataset Transfer (much better known as MiDaS). This paper and accompanying Python library describes an implements a high-accuracy method for estimating depth maps from a monocular (single-lense camera) image.\nMy goal\nMy goal for this side-project at this point was to create a \"zero-thought, one-click\" system for bringing monocular images into Blender as full 3D meshes with projection-mapped textures.\nThis requires three parts:\n\nA simple system for creating depth maps from images\nAn in-DCC interface for image importing in Blender\nSome code to tie everything together and actually create the object\n\nUsing Docker with GPU-passthrough for fast depth computation\nI happen to have grabbed myself an NVIDIA graphics card with around 4800 CUDA cores last year with the plan of using it for 3D rendering and machine learning experimentation, so my top priority was to make sure I could actually use it for this project.\nLuckily, NVIDIA has a solution for doing just this through their project called the NVIDIA Container Toolkit (aka nvidia-docker).\n\nThe NVIDIA Container Toolkit allows users to build and run GPU accelerated Docker containers. The toolkit includes a container runtime library and utilities to automatically configure containers to leverage NVIDIA GPUs.\n[source: NVIDIA]\n\nEssentially, this toolkit leverages an existing Docker Engine on a host, and provides a bit of a \"side channel\" for containers with the appropriate client software to access the Host's GPU resources.\nUsing the toolkit, I threw together a quick project called midas-depth-solve that provides a Docker container to run MiDaS through a little batch-processing wrapper script I wrote. Simply provide a directory full of images in whatever format you'd like along with some configuration flags, and it will spit out each image as a grayscale depth map.\n\n \n \n \n\n\nInformation on how to use this container stand-alone yourself can be found in the project README.\nAn example of an output from MiDaS is shown below. I have boosted the exposure a lot to make it easier to see the depth levels. Generally, depth maps are low-contrast.\n\nThe Blender plugin\nI have a personal project called Evan's DCC Scripts where I keep personal plugins for 3D software. \nI decided to piggy-back off the pipeline infrastructure I have already set up there for this project. Thus, bringing my MiDaS tool into blender was as simple as creating a new QT GUI, and hooking it up to a custom operator. \nFor anyone curious, my Blender plugins use QT for maximum interoperability with the rest of my toolset.\n\n\nPlugin Dialog: Import Monocular Image\n\nActually creating textured 3D meshes\nThe process for converting a depth map and texture to a 3D object is quite simple:\n\nCreate a plane (this can be done through Images As Planes)\nSubdivide the plane (I have been using 128 subdivisions, and it seems to work well)\nApply a Displace Modifier to the plane, using the depth map as the source texture, and configuring the modifier to work with UV coordinates\n\nThe first time I tried this, I encountered a slight issue with depth mapping:\n\n\nA failed attempt\n\nBut then, I quickly figured out how to set up the displacement modifier, and got my expected result:\n\n\n\n\n\nDisplaced, untextured\n\n\n\n\n\nTextured, viewed from the original camera position\n\n\n\n\nConclusion\nThis whole project was a fun experiment with some tools that are designed for very different applications. I plan to continue refining the quality of the outputs of my plugin. I'll likely look in to reducing un-needed subdivisions using OpenSubdiv in the near future.\nIf you are interested in experimenting with my depth mapping plugin yourself, feel free to send me an email and I'll help you set it up. Currently, my tools are Linux-exclusive.\nAnd finally, a demo render:\n\n\nYour browser does not support the video tag.\n ","id":"https://ewpratten.com/blog/monocular-blender/","title":"Monocular depth mapping in Blender"},"https://ewpratten.com/blog/mounting-google-drives/":{"body":"When sharing files, I use three main services. I use Firefox Send and KeybaseFS to share one-off and large files with friends, and I use Google Drive 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 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), 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.\nI really like the Keybase approach of mounting remote storage as a \"network drive\" on my laptop, and wanted to do something similar for Google Drive. This is where a great tool called rclone comes in to play. Rclone is a very easy-to-use command-line application for working with cloud storage. I originally learned about it when I used to host this website on DigitalOcean Spaces a few years ago. Out of the box, Rclone supports many cloud providers, including Google Drive!\nSetting up Rclone for use with Google Drive\nNow for the fun part, to get started with Rclone and Google Drive on your computer, you must first install Rclone. I am going to assume you are using a Linux-based operating system here, but with some slight tweaking, this works on BSD and Windows too!\n# Install Rclone with the automated installer\ncurl https://rclone.org/install.sh | sudo bash\n\nOnce Rclone is installed, you need to hop on over to the Google Cloud Developer Console, and create a new project. Under the ENABLE APIS AND SERVICES section, search for, and enable the Google Drive API. This will expose an API to your Google Drive, and let programs interact with the files (if setting up multiple accounts, you only need to enable the API on one of them). Click the Credentials tab in the left-side panel, then Create credentials. This will open a panel letting you set up access to your new API.\nWith the panel open, click CONFIGURE CONSENT SCREEN, External, then CREATE. Enter rclone as the application name, and save it. You now have set up one of those \"sign in with Google\" screens for yourself. Clicking the Credentials tab again will bring you to an area where you can generate the needed API keys for Rclone.\nClick + CREATE CREDENTIALS at the top of the panel, and select OAuth client ID. Set the application type to Desktop app, and finally, press Create. You will now be shown the needed info to link Rclone to your account(s).\n\n*Note: This API project is **not verified** by Google.*\n*This means that you will be greeted with a scary warning when logging in the first time. Just ignore it.*\n\nBack in the terminal, we can run rclone config to set up a configuration for Google Drive. You will be prompted with many options. Use the following:\n# > rclone config\n\n# Create a new config\nn) New remote\n\n# Set a name\nname> my_drive\n\n# Choose a storage type\nStorage> drive\n\n# You will be asked for a client ID and secret. These are the strings we just generated\n...\n\n# Set the scope to allow Rclone access to your files\nscope> 1\n\n# Select the default option for everything until asked if you want to use \"auto config\"\n# When asked, say yes\nauto_config> y\n\n# Set team drive to no\nteam_drive> n\n\n# Verify the information, then say yes\nok> y\n\nAlmost done. You need to run rclone ls my_drive: (the colon is important). This will probably ask you to go to a link, and enable an API. Do so.\nYour Google Drive can now be mounted by running the following (feel free to change the paths to whatever you want)\nmkdir -p ~/google_drive\nrclone mount my_drive: ~/google_drive --vfs-cache-mode writes\n\nStarting Rclone on boot\nYou probably don't want to run an rclone command every time you start your computer. This can be solved in one of two ways\nFor i3wm users\nOn i3wm, just add the following line to ~/.config/i3/config:\nexec --no-startup-id rclone mount my_drive: /home/<user>/google_drive --vfs-cache-mode writes\n\nMake sure to replace <user> with your username.\nKeep in mind, exec commands are not run when reloading i3 with Mod+Shift+r. You must log out (Mod+Shift+e), and back in again.\nFor Ubuntu / Debian-based users\nIn pretty much any Debian-based system, you can edit /etc/rc.local (using sudo), and add the following line right before exit 0:\nrclone mount my_drive: /home/<user>/google_drive --vfs-cache-mode writes\n\nMake sure to replace <user> with your username.\n","id":"https://ewpratten.com/blog/mounting-google-drives/","title":"Mounting Google Drive accounts as network drives"},"https://ewpratten.com/blog/nanovna/":{"body":"Today I had a rather anticipated package arrive in the mail.. a NanoVNA! For anyone unfamiliar with the NanoVNA, it is a small and cheap Vector Network Analyzer. \n\nNetwork analyzers are tools used commonly by RF engineers to measure reflection and transmission properties of feed-lines and antennas (and a whole ton of other stuff I don't entirely care about for now).\nWhen I am out operating a radio somewhere away from the comfort of my bedroom, I tend to do a lot of guesswork to get my antenna designs right, since I simply work with random wire, yet still need to get something with a reasonable SWR up in the air.\nMy logic behind picking up a VNA was to have a little tool to fit in my radio bag, easily allowing me to sanity check my antennas before use.\nMy outdoor adventure\nI am fairly well surrounded by dense trees, and a little patch of these woods are just across the street from me. This makes for a perfect spot to toss some wire up and operate away from the RF noise of the city (and people who want to ask me what I'm doing).\n\nI headed over there this afternoon to set everything up, this time equipped with my new NanoVNA. Sidenote: longboards are great tables when you get to your destination.\n\nAntenna setup\nThe setup of the day was comprised of some speaker wire and my Elecraft KX2. I planned to only operate on 20 meters, but ended up spending most of my time calling CQ on 7037Khz and barely touched the 20m band at all outside of some quick testing.\nUsing the NanoVNA, I was able to perform a quick scan of a fair chunk of the amateur spectrum against my impromptu antenna.\n\n\n\n\n\nThe images above were grabbed using the NanoVNA's screenshot capabilities, and I have the display configured to show SWR across the bands (yellow) and a Smith chart (green). First is a sweep of the spectrum, followed by a readout of just the 20 meter band. Quite nice!\nIn conclusion, I quite like this tool, and really enjoy both its ease of use and ability to fit in my gear bag.\n\n","id":"https://ewpratten.com/blog/nanovna/","title":"Field Log: First look at the NanoVNA"},"https://ewpratten.com/blog/new-domain/":{"body":"Hello! Its been a bit since the last post made it out of the drafts (I promise, there are many in the works). I figure a little public update is needed to talk about some backend changes that have recently been made to this site.\nFirstly, there is a new domain name! I should have done this a while ago, but now I actually own the domain for my username. Welcome to ewpratten.com. The past two domains used for this site (retrylife.ca and va3zza.com) still happily redirect here, so no need to worry about updating your bookmarks and hyperlinks yet.\nSecondly, this site is now anycasted and edge cached. Hopefully this change will make the browsing experience a little faster for viewers outside of North America. HTTP/3 is now supported too. In the future, I might even set up some older protocols (Gopher, FTP, ..telnet..?) for fun. Info on that will come in a later post.\nAnyways, thanks for reading. I'm always amazed to see my analytics data. A surprising number of people read these posts 😄\n","id":"https://ewpratten.com/blog/new-domain/","title":"Website updates"},"https://ewpratten.com/blog/notetaking-with-latex/":{"body":"You can view my public demo for this post here\nRecently, I have been on a bit of a mission to improve my school workflow with software. Over the past month, I have built a cleaner student portal for my school and written a tool for automating in-class attendance. Alongside working on these projects, I have also been refining my notetaking system for school.\nSince 9th grade, I have been taking notes in a private GitHub repository in markdown, and have been compiling them to HTML using a makefile for each course. While this system has worked ok, It has been far from perfect. Recently, I have been working very hard to give this system a much-needed upgrade. Here is the new tech stack:\n\nThe Bazel buildsystem\nMarkdown\nLaTeX\nMathJax\nBeamer\nTikz & PGF\nPandoc\nZathura\nStarlark\nGithub Actions CI\n\nThe idea is that every course I take becomes its own Bazel package, with subpackages for things like assignments, papers, notes, and presentations. I can compile everything just by running the command bazel build //:all. All builds are cached using Bazel's build caching system, so when I run the command to compile my notes (I love saying that), I only end up compiling things that have changed since the last run. The setup for all of this is quite simple. All that is really needed is a Bazel workspace with the bazel_pandoc rules loaded (although I have opted to use some custom genrules instead). Using these rules, markdown files can be concatenated, and compiled into a PDF. I also use a modified version of the Eisvogel Pandoc template to make all my documents look a little neater.\nIn terms of workflow, I write all my notes as markdown files with embedded LaTeX for any equations and charts I may need. All of this is done inside of VSCode, and I have a custom tasks.json file that lets me press Ctrl + Shift + b to re-compile whatever I am currently working on. I also keep Zathura open in a window to the side for a nearly-live preview system.\n\n\nA screenshot of my workspace\nNow, the question came up of \"how do you easily distribute notes and assignments to classmates and professors?\". That question got me stuck for a while, but here is the system I have come up with:\n\nI write an assignment\nI push it to the private GitHub repository\nGitHub Actions picks up the deployment with a custom build script\nEvery document is built into a PDF, and packaged with a directory listing generated by tree -H\nEverything is pushed to a subdomain on my website via GitHub pages\nI can share documents via URL to anyone\n\nThis is almost entirely accomplished by a shell script and a custom CI script.\n\n\nIf you have any questions about this system, want me to write another post about it, or would like me to walk you through setting up a notes workspace of your own, contact me\n","id":"https://ewpratten.com/blog/notetaking-with-latex/","title":"Taking notes with Markdown and LaTeX"},"https://ewpratten.com/blog/personal-ases/":{"body":"As a network operator, I keep a fairly close eye on what my peers are up to. This is mainly to make sure nobody is doing something too stupid near my network, but also just out of curiosity. Its nice to know what other people are up to, both as a sanity check on my own network, and as a view into new things I could try out.\nI was recently inspired by Hurricane Electric's webpage that provides statistics on IPv6 adoption to create a website to display info about personal Autonomous System Numbers. This site both caught my interest due to being a pretty raw plain-text website (can you tell, I like simple webpages?), and due to containing a ton of interesting information.\nAs a little side project, I decided to take my turn at scraping the internet for various bits of data relating to the usages of personal ASNs out in the wild. This post will cover some of my findings. The data that follows will be out of date eventually. All of this was recorded in late september 2022.\nWhere are personal ASes used?\nTo get a pretty good sense of personal ASN usage, I looked to the Regional Internet Registries that are in charge of handing out numbers to new networks.\n\nUnsurprisingly, the vast majority (~750) of personal ASNs are registered under RIPE NCC, the (mainly) European RIR.\nRIPE has a fairly lax model allowing anyone with presence in their region to request an ASN and IP space through one of their many Local Internet Registries. I personally hold a RIPE ASN which has become my testing ground for things before I deploy them in production.\nThanks to data available from the RIPE Database, I was actually able to break down these ASNs further to get a sense of the most preferred LIRs. The following are the top 10 LIRs that have issued personal ASNs:\nLocal RegistryCount\nSecurebit AG60\nOpenfactory GmbH53\nSnapServ45\nServperso Systems43\nAugust Internet29\nInferno Communications20\niFog GmbH17\nKirino Networks17\nElektronik Boecker14\nBakker IT14\n\nWhat are people announcing?\nFor starters, there are 185 personal ASNs that announce nothing. These are probably just abandoned and forgotten about. After that, I have measured some basic statistics on the remaining ASNs from global routing table data.\nWinning the metal for most IPv4 address space announced, comes AS15562, which is run by Job Snijders, announcing 263 /24s (67065 addresses). I occasionally see Job posting on the NANOG mailing lists from his work at Fastly, so it comes as no surprise to me that he'd also have a pretty solid personal network running too. Job is also announcing the largest continuous block of IPv4 space, being a /17.\nOn the IPv6 side, AS59645 (run by Tobias Fiebig) is announcing the most /48s (1048579). This works out to 1.2676542e+30 IPv6 addresses.\nThe largest continuous IPv6 block award is tied between 18 people. All of them announcing /29s to the DFZ.\nThe prefix with the most origins is 2a07:54c2:b00b::/48. I am personally announcing this address space to help build the anycasted chaos that is:\n2a07:54c2:b00b:b00b:b00b:b00b:b00b:b00b (IPv6-only website)\nAlong with myself, there are currently 9 other ASNs announcing their own instances of this website. The version you see in your browser will be different depending on your geographical location or even ISP in the same building.\nFinally, I have built the following chart to break down the adoption of IPv6 by personal ASNs:\n\nWant to see more?\nAll of this data comes from a cron job of mine. Check out the live data on my ASN stats website:\nas-stats.ewpratten.com (see also: archived version)\nTo read more about my own network, see my networking page.\n","id":"https://ewpratten.com/blog/personal-ases/","title":"An analysis of personal ASNs in the wild"},"https://ewpratten.com/blog/printer-tunneling/":{"body":"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.\nOf course, I could actually grab a RaspberryPI and turn it into a real network gateway for the VPN, allowing me to access anything I want as long as it was attached to that PI's network interface. This setup was not entirely practical though, as I wanted the ability to pull multiple devices from multiple networks into my VPN.\nDoing a quick search for solutions around the internet lead me to find a bunch of long and visually complex iptables commands I could run, but I wanted something much simpler. Further searching lead me to find socat.\n\nSocat is a command line based utility that establishes two bidirectional byte streams and transfers data between them. Because the streams can be constructed from a large set of different types of data sinks and sources (see address types), and because lots of address options may be applied to the streams, socat can be used for many different purposes. [manpages socat(1)]\n\nAs stated in the Linux manpages, socat is essentially a port-forwarding utility. Using this, I am able to expose my local printer to my VPN through a RaspberryPI using this short command:\nsocat tcp-listen:9100,reuseaddr,fork tcp:<printer_ip>:9100\n\nI have also published a small tool called localexpose that does the same thing with a bit of a nicer argument syntax.\n","id":"https://ewpratten.com/blog/printer-tunneling/","title":"Tunneling a printer from a home network to a VPN"},"https://ewpratten.com/blog/pwnlink/":{"body":"I was playing around with some D-link routers today and remembered an ExploitDB Entry 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!).\nHow to get yourself an admin password\nOn 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. \nNotice 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. \nThe 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.\nSupported routers\nThis is supported by many D-link routers. The ones I know about are:\n\nDIR-835\nDIR-855L\nDGL-5500\n\nSome routers have this XML file, but it is restricted... By a user without a password. These are:\n\nDHP-1565\nDIR-652\n\nPWNlink\nLike 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).\nMy 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. \nPWNlink can be installed on any *nix computer that has both python3.7 and python3-pip installed. To install PWNlink, run:\npip3 install pwnlink\n\nRun the script without any arguments for automatic detection, or pass any IP address to use manual detection.\nDisclamier thingy\nI don't see much point to these, but I should probably put one anyways.\nDon't be dumb with this script.\nI have only used it on my own (or 5024's) routers, and did not create PWNlink with any malicious intent.\n","id":"https://ewpratten.com/blog/pwnlink/","title":"I had some fun with a router"},"https://ewpratten.com/blog/python/":{"body":"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.\nType hints\nA little known feature of python is called \"type hinting\" (PEP 484). This is actually quite common to see in standard libraries, and has it's own special syntax:\n# Here is a regular function\ndef meep(a, b):\n return a*b^2\n\n# This function has no real reason to exsist, and is lacking any sort of documentation.\n# Let's add a docstring to explain what it does\n\ndef meep(a, b):\n \"\"\" This function returns the result of a times b squared \"\"\"\n return a*b^2\n\n# Ok. The docstring explains the function, but is not too helpful \n# what are a and b? what does this return? \n# For all we know, a could actually be a string (in which case, this function would return a string)\n# Let's fix that up with a type hint\n\ndef meep(a: int, b: int):\n \"\"\" This function returns the result of a times b squared \"\"\"\n return a*b^2\n\n# Thanks to the :int (called a type hint in case you didn't notice that yet), we now know that this function expects two ints.\n# Now, to finish this up with a secondary type hint to specify the return type\ndef meep(a: int, b: int) -> int:\n \"\"\" This function returns the result of a times b squared \"\"\"\n return a*b^2\n\n# There. Now we can clearly see that this function takes too ints, and returns one int. \n# If only this was a requirement in the language. So many headaches could be solved.\n\nNow, keep in mind that this is called a type hint. The python compiler (yes.. Give me a second for that one) does not actually care if you obey the hint or not. Feel free to send incorrect data into a hinted function and see what you can break. Critical functions should both hint and check the data types being provided.\nType declarations\nJust like type hints for functions, python has hints for variables too.\n# A regular variable. Must be declared with an initial value\nmy_state = None\n\n# my_state is None, as it has not been set, but needs to exist.\n# Let's assume that my_state is to be a state:\nclass State:\n status = False\n def toggle(self):\n self.status != self.status\n\n# Finally, its time to set the state to something useful\nmy_state = State()\nmy_state.toggle()\n\n# Ok.. I hate this. Let's start by using type declarations first\n# Any variable can be un-initialized and just have a type. Like so:\nmy_state: State\n\n# This works for anything\nis_alive: bool\nage: int\nname: str\n\n# Now, with this new knowledge, let's rewrite State\nclass State:\n status: bool\n def toggle(self: State) -> None:\n self.status != self.status\n\n# And initialize my_state with slightly different syntax\nmy_state = State(status=True)\n\nI have not found much use for this yet. Hopefully there is something cool to use it for.\nOne-line functions\nThis is more common knowlage. A function can be declared in one line\n# Here is an adder function\ndef adder1(a:int, b:int) -> int:\n return a+b\n\n# Here is a one-line adder function\nadder2 = lambda a,b : a+b\n\n# State from above can be compacted further:\nclass State:\n status: bool\n toggle = lambda self: self.status != self.status\n\nTernary operations\nOn the trend of one-line code, We have the one-line if/else, also known as a Ternary in more sensible languages.\n# Here is an if/else\nif 100 is 5:\n print(\"The world has ended\")\nelse:\n print(\"All is good\")\n\n# Here is a smaller if/else\nprint(\"The world has ended\" if 100 is 5 else \"All is good\")\n\nCompiled python\nThis one is interesting. Python, like Java, is compiled into bytecode. So yes, it technically is a compiled language. To see said bytecode, take a look at any .pyc file sitting in your __pycache__\nBlog formatting experiments\nI am still playing with post formats, and various types of content. This is more random than I usually prefer. Let me know your thoughts on the social media platform of your choosing.\n","id":"https://ewpratten.com/blog/python/","title":"Hunting snakes with a shotgun"},"https://ewpratten.com/blog/qmk-vortex-core/":{"body":"Last fall, I purchased my first mechanical keyboard, the Vortex Core, 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.\nIn my previous post on this keyboard, I had mentioned @ChaoticEnigma's fork of QMK for the core. This custom firmware had been sitting on my mind for a while, and I finally decided to try it out on my keyboard. This post will cover the process of loading QMK on to a non-supported Vortex Core keyboard.\nThe following are all the steps required to complete this process. Make sure to read them all before getting started. As per usual when I am outlining ways to modify hardware, you might brick your keyboard doing this so: be careful.\n\nCompiling the toolchain\nCompiling the firmware\nFinding debugging hardware\nConnecting to the core's JTAG interface\nUnlocking the keyboard\nFlashing QMK\n\nCompiling the toolchain\nFirstly, you'll need all the software tools required to interface with the keyboard. The following list contains GitHub links to everything needed (this is all for Linux of course):\n\nOpenOCD patched with HT32 support\nCommandline interface tool\nUnlocked core firmware\n\nOpenOCD\nWhat is OpenOCD?\n\nOpenOCD is a free-software tool mainly used for on-chip debugging, in-system. programming and boundary-scan testing. OpenOCD supports flashing and. debugging a wide variety of platforms such as: ARMv5 through latest ARMv8. [source: Debian WIKI]\n\nOpenOCD is a standard tool / interface that allows you to use many different types of hardware debuggers interchangeably. It is a very useful project for tasks like this, where we will need to connect directly into an embedded chip via its debugging ports.\nThe link provided above for OpenOCD is actually a fork of the main project that specifically adds support for the Holtek HT32F165x MCU (the chip that powers the keyboard).\nAfter cloning the GitHub repo, the build process is fairly simple:\ncd openocd-ht32\n\n# Install the build dependencies\nsudo apt install build-essential pkg-config libtool\n\n# Configure the build system\n./bootstrap\n\n# These arguments may change depending on the hardware debugger you are using. I use the ST-LinkV2\n# Check the official OpenOCD documentation for more information on this\n./configure --enable-stlink --disable-werror\n\n# Build\nmake \nsudo make install\n\nPok3rtool\npok3rtool is the commandline interface tool designed specifically for interacting with the firmware on Vortex keyboards. It is fairly unstable, but I can confirm that all the commands used in this guide work just fine.\nThe build process for pok3rtool is a little different as it requires you to clone the GitHub repo, then create a new directly called pok3rtool-build beside the cloned repo. Aside from that quirk, the process for building pok3rtool is as follows:\ncd pok3rtool\n\n# Pull the git submodules\ngit submodule update --init --recursive\n\ncd ../pok3rtool-build\n\n# Build the tool\ncmake ../pok3rtool\nmake\n\nIntermediary firmware\nPart of the firmware upgrade process involves loading some intermediary firmware on to the keyboard. This is simply the stock Vortex Core firmware, but with the security bit disabled on the chip. This allows us to perform all further firmware upgrades over the keyboard's USB port instead of through JTAG.\nBuilding this is as simple as cloning the repo, then running make.\nCompiling the firmware\nWhen it comes to the final firmware, I have my own fork of @ChaoticEnigma's fork of QMK. You could use @ChaoticEnigma's fork, but I would recommend my own, since I am specifically maintaining it for the Vortex Core, and my fork has a few more features (like a proper layout for the core).\nYou have the option between four QMK keyboard layouts for the Vortex Core:\n\n@ChaoticEnigma's default\n\nA remake of the factory layout (missing a few function keys)\n\n\n@ChaoticEnigma's chaotic\n\nPresumably @ChaoticEnigma's personal layout. No idea what it does\n\n\newpratten\n\nMy personal layout\n\n\nbetter_default\n\nMy full remake of the factory layout\n\n\n\nTo build my QMK fork, run the following:\ncd qmk_core\n\n# Fetch everything needed to build QMK\nmake git-submodule\n\n# Build the layout of your choosing\n# For example, I use: make vortex/core:ewpratten\nmake vortex/core:<layout_name>\n\nFinding debugging hardware\nAs mentioned in the OpenOCD section, I am using a clone of the ST-Link/V2, which I picked up for a few dollars from ebay. You can use any OpenOCD-supported debugger though.\nThe next section will assume you have an ST-Link when I talk about I/O pin names.\nConnecting to the core's JTAG interface\nIts finally time to open up the keyboard. This is pretty simple, there are five screws hidden under the keycaps. Just remove the caps, and the screws.\nOn the bottom of the keyboard, you'll see a serial number. If this is not CYKB175_V03 20160511, stop right now, and do not proceed with this guide. This is the only model supported.\nIn between the LED80 and LED66 markings on the PCB (just below the serial number), you'll find an empty 5-pin header. For the sake of simplicity, I'll number them 1 to 5, where 1 is the pin closest to the serial number. Connect them to your hardware debugger as follows (this will require soldering, or small clips):\nKeyboard PinDebugger Pin\n1N/A\n2SWDIO\n3SWCLK\n4RST\n5GND\n\nUnlocking the keyboard\nWith the keyboard JTAG interface wired up, plug in the keyboard's USB (to provide power), then after the keyboard has connected, plug in the hardware debugger.\nMove to the directory you built OpenOCD in, then run the following:\ncd tcl\n\n# Connect to the keyboard\n# The first -f flag of this command will vary depending on the hardware debugger you chose to use\n../src/openocd -c 'set HT32_SRAM_SIZE 0x4000' -c 'set HT32_FLASH_SIZE 0x10000' -f ./interface/stlink-v2-1.cfg -f ./target/ht32f165x.cfg\n\nThis will spawn a telnet server on localhost:4444. Connect to that with telnet 172.0.0.1 4444, then run the following commands over telnet:\n# REMINDER: We are now going to be modifying firmware on the keyboard. If you mess up, you may have just created an expensive brick\n\n# We need to erase the existing firmware\nht32f165x mass_erase 0\n\n# Now, we write the new firmware\n# The '0' at the end of this command is very important\n# This must be an absolute path to where ever you cloned the intermediary firmware\nflash write_image /path/to/pok3r_re_firmware/disassemble/core/builtin_core/firmware_builtin_core.bin 0\n\nThe last command will take a solid five minutes, so go grab a snack and don't bump anything. There is no progress bar or anything, so enjoy the suspense.\nAssuming all went well, you can run exit over telnet, then close OpenOCD. Unplug the hardware debugger and keyboard, then just plug the keyboard back in. It should function like it just came from the factory. If you forgot to unplug the debugger, the keyboard will not function.\nYou now have a firmware-unlocked Vortex Core.\nFlashing QMK\nIts time for the last step 🎉\nWith the keyboard unlocked, you can technically load anything you want on to it, but lets stick with QMK. The following commands will do all the hard work for you:\n# Go back to where you built pok3rtool\ncd pok3rtool-build\n\n# Make sure you can see the keyboard from pok3rtool\nsudo ./pok3rtool list\n\n# Flash the firmware\n# \"QMK_CORE_EW\" can be whatever you want the version of your keyboard to display\n# vortex_core_xxxx.bin will be different depending on the keyboard layout you chose to compile\nsudo ./pok3rtool -t vortex-core flash QMK_CORE_EW /path/to/qmk_core/vortex_core_xxxx.bin\n\nAny time you want to update QMK or change layouts, the above commands will be how to do it.\nNOTE: sometimes, pok3rtool fails to put the keyboard in bootloader mode before flashing new firmware. If this happens, just run the following command before flashing (and you may need to repeat this process a few times to get pok3rtool to behave)\nsudo ./pok3rtool -t vortex-core bootloader\n\n","id":"https://ewpratten.com/blog/qmk-vortex-core/","title":"How I flashed QMK to my Vortex Core"},"https://ewpratten.com/blog/quaternions/":{"body":"The running joke in the graphics programming world is that nobody understands quaternions. These big scary math-filled types are always someone else's problem. While quaternions are may be scary, they serve an important purpose in the world of computing as they\n\nDon't suffer from Gimbal Lock\nAre extremely efficient to work with computationally\n\n\n\nGimbal lock is the loss of one degree of freedom in a three-dimensional, three-gimbal mechanism that occurs when the axes of two of the three gimbals are driven into a parallel configuration, \"locking\" the system into rotation in a degenerate two-dimensional space.\n[Wikipedia]\n\nOver the past few years, I have made it my personal goal to work with quaternions in my code as much as possible whenever applicable. This choice was partly to help me better understand quaternions, and partly to simply set my code apart from others due to the use of \"fancy math stuff\".\nWhat is this post for?\nMy goal here in writing about quaternions is to help explain the concept to other programmers in a fairly approachable way. \nThis post will prefer code snippets over complicated math, and will leave out some details not relavant to the normal use of quaternions in code. For a more in-depth look at quaternions, there are many complicated papers to be read on the topic, and they are all one easy Google search away. \nAs a final note before I get started, all code snippets will be centered around the Rust programming language (although easily translatable to anything else). I'll also be making heavy use of Nalgebra by Dimforge for the actual mathematical implementations.\nPrerequisite knowledge: Vectors\nMost programmers already have a good grasp on at least the basics of vectors, but I was learning about quaternions in 10th grade, and had yet to even take a math class that covered them. Due to this, I'll briefly cover vectors here as a refresher, and in case anyone else is in a similar situation to younger me.\nN-dimensional vectors are expressed as a list of N real numbers. This is simply a point in space, except we tend to visualize vectors as arrows, and points as...well...points. All vectors start at the origin ($\\big[\\begin{smallmatrix}0 \\\\ 0\\end{smallmatrix}\\big]$ in $2$ dimensions for example) and \"point to\" the coordinate denoted by the vector.\nImportantly, vectors cannot start anywhere other than the origin. If you want to do that, you'd need to express a vector as two seperate vectors (a start, and an end). This definition is a line segment.\nstruct LineSegment2D {\n pub start: Vector2<f32>,\n pub end: Vector2<f32>\n}\n\nWith this data structure, we could define a \"vector\" (line) starting at $\\big[\\begin{smallmatrix}1 \\\\ 2\\end{smallmatrix}\\big]$ and ending at $\\big[\\begin{smallmatrix}3 \\\\ 4\\end{smallmatrix}\\big]$ as:\nlet line = LineSegment2D {\n start: Vector2::new(1.0, 2.0),\n end: Vector2::new(3.0, 4.0),\n};\n\nAn intro to quaternions\n\nIn mathematics, the quaternion number system extends the complex numbers. Quaternions were first described by Irish mathematician William Rowan Hamilton in 1843 and applied to mechanics in three-dimensional space.\n[Wikipedia]\n\nQuaternions are essentially 4-dimensional numbers consisting of one real, and three imaginary components. They are expressed with the components $w$, $i$, $j$, and $k$. So far, this sounds pretty scary, but it is a lot simpler to deal with when you remember mathematicians like overcomplicating their variable names 😉\nThe following is a slightly modified version of the quaternion expression, made to express the concept in a more computer-oriented manner:\n$$\nq = w + x \\mathbf{i} + y \\mathbf{j} + z \\mathbf{k}\n$$\n$i$, $j$, and $k$ can be interpreted as unit-vectors pointing along the three spatial axes.\nYou may notice the quaternion expression is split into two distinct parts: the real and vector parts:\n$$\nq = \\overbrace{w}^{\\text{real}} + \\overbrace{x \\mathbf{i} + y \\mathbf{j} + z \\mathbf{k}}^{\\text{vector}}\n$$\nThe real part is a single real number, and the vector part is simply a 3-dimensional vector ($x,y,z$) with some pesky imaginary basis vectors attached to the components ($i,j,k$). From a programming standpoint, we can simply ignore the imaginary numbers, and treat a quaternion as a structure similar to the following:\n// Don't actually implement a quaternion this way\n// This is just to show how I imagine them when working with them\nstruct Quaternion {\n pub real: f32,\n pub vector: Vector3<f32>\n}\n\nAn important fact to keep in mind is that quaternions can and will be found in their normalized form, where all the coefficients (real and vector) are values between $-1$ and $1$.\n\n\n\nQuaternions are transformations\nFor the next few sections, there is a single important detail:\nQuaternions are transformations\nLike everything else in this post, this statement is not true for all applications of quaternions, but is true for the two core uses in graphics programming: rotations and translations.\nYou can essentially treat a quaternion as an action applied to a 3-dimensional vector. For example, a quaternion that rotates $90^{\\circ}$ around the $z$ axis, applied to the vector $\\big[\\begin{smallmatrix}1 \\\\ 0 \\\\ 0\\end{smallmatrix}\\big]$ would produce: $\\big[\\begin{smallmatrix}0 \\\\ -1 \\\\ 0\\end{smallmatrix}\\big]$. Similairly, a quaternion could move a vector to a new origin (turning it into a line segment). We will get to the second transformation in a bit.\nTransforms: expressed mathematically\nTo transform any vector by a quaternion ($q$ in this case), you must first turn the vector into a pure quaternion (in this case, $k$):\n$$\n\\begin{aligned}\nv &= \\begin{bmatrix} 1 \\\\ 2 \\\\ 3 \\end{bmatrix} \\\\\nk &= 0 + 1 \\mathbf{i} + 2 \\mathbf{j} + 3 \\mathbf {k}\n\\end{aligned}\n$$\nAs you can see, a pure quaternion is a quaternion with a real part of $0$ and a vector part equal to the vector it is being made of. \nNext, you need the conjugate of the quaternion (which is called $q^*$). The following are both the expressions for a quaternion, and a conjugate quaternion:\n$$\n\\begin{aligned}\nq &= w + x \\mathbf{i} + y \\mathbf{j} + z \\mathbf{k} \\\\\nq^* &= w - x \\mathbf{i} - y \\mathbf{j} - z \\mathbf{k}\n\\end{aligned}\n$$\nWith all the required parts, the transformed vector ($p$) is equal to:\n$$\np = q^*kq\n$$\nNOTE: Quaternion multiplicaiton is noncommutative, meaning that the order you multiply things matters. This is not normal multiplication.\n\n\n\nExpressing a rotation with a quaternion\nAn extremely intuitive way to work with rotations in general, and especially in the quaternion world, is via something called an axis-angle.\nThe name is quite self-explanitory, but to describe it better, an axis-angle is made up of a 3-dimensional unit vector pointing in an arbitrary direction, and a single angle (in radians) describing the clockwise twist around that axis.\nConveniently, as I pointed out earlier, quaternions also work in the same way, with a $w$ value (essentially the angle), and a vector part (essentially the axis). In rust, we can construct a quaternion from an axis-angle as follows:\n// In this example, we will describe a rotation of\n// 90 degrees around the positive Z axis\nlet axis = Vector3::z_axis();\nlet angle = std::f32::consts::FRAC_PI_2;\n\nlet quaternion = UnitQuaternion::from_axis_angle(&axis, angle);\n\nNow, if we wanted to rotate the vector $\\big[\\begin{smallmatrix}1 \\\\ 2 \\\\ 3\\end{smallmatrix}\\big]$ by quaternion, we could simply write:\nlet rotated_vector = quaternion.transform_vector(&Vector3::new(1.0, 2.0, 3.0));\n\nExpressing a translation and a rotation with a quaternion\nFurther \"reading\"\nSo, do you know what you are doing when it comes to quaternions now?\nNo?\nWell, I can't say I'm surprised. Now that you have learned the basics of quaternions, I recommend working through Grant Sanderson's videos on the topic:\n\n\nya, I'm not sure why I decided to fill this with memes either...\n","id":"https://ewpratten.com/blog/quaternions/","title":"A rusty guide to quaternions"},"https://ewpratten.com/blog/reading-a-bitmap/":{"body":"Recently, @rsninja722 was telling me about a project he was working on. The basic idea is that you pass a file into his program, and it generates a bitmap of the binary data. This was inspired by an old post of mine where I did the same thing with a horribly written Python script and the library pillow. \nBoth of us are currently teaching ourselves the C programming language. Him, for a break from JavaScript. Me, for no particular reason. As somebody who mostly lives in the world of high-level C-family languages (C++ and Python), learning C has been a challenging, fun, and rewarding experience. I enjoy immersing myself in \"the old way of doing things\". This means sitting down with my Father's old ANSI Standard C Programmer's Reference book, and looking up what I need to know through a good old appendix full of libc headers and their function lists.\nWhile @rsninja722 was working on his project, I found myself using xxd and python3 a lot to debug small issues he encountered. This is fairly tedious, so I set out to write myself a tool to help. I have a small GitHub repository called smalltools where I keep the source code to a few small programs I write for fun. I added a new tool file to the repo (called bmpinfo) and got to work.\nHow does a bitmap work?\nThis was the first big question. I had learned a while ago when working on another project that the image data stored in a bitmap is just raw pixel values, but aside from that, I had no clue how this file format works. Luckily, Wikipedia came to the rescue (as per usual) with this great article. It turns out that the file metadata, like the pixel values, is stupidly simple to work with**1, 2**. \n\n1. I am going to cover only images with 24-bit color, with no compression\n2. All integers in a bitmap are little-endian. These must be converted to the host's endianness\n\nA simple bitmap file consists of only three parts (although the specification can support more data):\n\nA file header\nFile information / metadata\nPixel data\n\nI will cover each individually.\nThe file header\nLike any other standard binary file format, bitmaps start with a file header. This is a block of data that tells programs what this file is, and how it works. The bitmap file header starts with two characters that tell programs what type of bitmap this is. I have only worked with BM type files, but the following are all possible file types:\nIdentifierType\nBMWindows 3.1x, 95, NT, ... etc.\nBAOS/2 struct bitmap array\nCIOS/2 struct color icon\nCPOS/2 const color pointer\nICOS/2 struct icon\nPTOS/2 pointer\n\nThe rest of the data is fairly standard. Since I am working in C, I have defined this data as a struct. Here is the header:\ntypedef struct {\n // File signature\n char signature[2];\n\n // File size\n uint32_t size;\n\n // Reserved data\n uint16_t reservedA;\n uint16_t reservedB;\n\n // Location of the first pixel\n uint32_t data_offset;\n} header_t;\n\nBitmap Information Header\nThe Bitmap Information Header (also called DIB) contains more information about the file, and can vary in size based on the program that created it. As mentioned earlier, I will only cover the simplest implementation. Due to the possibility of multiple DIB formats, the first element of the header is its own size in bytes. This way, any program can handle any size of DIB without needing to actually implement every header tpe.\nLike the file header, I have also written this as a struct.\ntypedef struct {\n // Size of self\n uint32_t size;\n\n // Image dimensions in pixels\n int32_t width;\n int32_t height;\n\n // Image settings\n uint16_t color_planes;\n uint16_t color_depth;\n uint32_t compression;\n uint32_t raw_size; // This is generally unused\n\n // Resolution in pixels per metre\n int32_t horizontal_ppm;\n int32_t vertical_ppm;\n\n // Other settings\n uint32_t color_table;\n uint32_t important_colors;\n} info_t;\n\nSome notes about the data in this header:\n\nImage dimensions are signed integers. Using a negative size will cause image data to be read right-to-left and bottom-to-top\nA setting is present for the pixel density of the image. This is measured in pixels-per-metre (usually 3780)\nThe color_table is the number of colors used in the palette. This defaults to 0 (meaning all)\nThe important_colors is the number of colors that are important in the image. This defaults to 0 (meaning all) and is almost never used \n\nPixel data\nAfter the file headers comes the pixel data. This is written pixel-by-pixel, and is stored as 3 bytes in the format BBGGRR (little-endian, remember?).\nLoading a bitmap file into a C program\nFor simplicity, I am going to write this for a computer that is based on a little-endian architecture. In reality, most computers are big-endian, and require that you reverse the endian of everything read in.\n#include <stdlib.h>\n#include <stdio.h>\n#include <stdint.h>\n\n// Headers defined above\nextern struct header_t;\nextern struct info_t;\n\ntypedef struct {\n uint8_t blue;\n uint8_t green;\n uint8_t red;\n} pixel_t;\n\nint main(){\n // Read a bitmap\n FILE* p_bmp = fopen(\"myfile.bmp\", \"rb\");\n\n // Create header and info data\n header_t header;\n info_t info;\n\n // Read from the file.\n // Some compilers will pad structs, so I have \n // manually entered their sizes (14, and 40 bytes)\n fread(&header, 14, 1, p_bmp);\n fread(&info, 40, 1, p_bmp);\n\n // Read every pixel\n while(1){\n pixel_t pixel;\n if(fread(&pixel, 3, 1, p_bmp) == 0) break;\n\n // Do something with the pixel\n // ...\n }\n\n\n return 0;\n}\n\nAnd thats it!\nReading bitmap data is really quite simple. Of course, there are many sub-standards and formats that require more code, and sometimes decompression algorithms, but this is just an overview.\nIf you would like to see the small library I built for myself for doing this, take a look here. (it includes endianness handling)\n","id":"https://ewpratten.com/blog/reading-a-bitmap/","title":"Reading metadata from a bitmap file"},"https://ewpratten.com/blog/realtime-robot-code/":{"body":"\n\"So.. what if we could skip asking for driver inputs, and just have the robot operators control the bot through a commandline interface?\" \n\nThis is exactly the kind of question I randomly ask while sitting in the middle of class, staring at my laptop. So, here is a post about my real-time programming adventure!\nGeting started\nTo get started, I needed a few things. Firstly, I have a laptop running a Linux distribution. This allows me to use SSH and SCP. There are Windows versions of both of these programs, but I find the \"linux experience\" easier to use. Secondly, I have grabbed one of 5024's robots to be subjected to my experiment. The components I care about are: \n\nA RoboRIO running 2019v12 firmware\n2 TalonSRX motor controllers \nAn FRC router\n\nMost importantly, the RoboRIO has RobotPy and the CTRE Libraries installed.\nSSH connection\nTo get some code running on the robot, we must first connect to it via SSH. Depending on your connection to the RoboRIO, this step may be different. Generally, the following command will work just fine to connect (assuming your computer has an mDNS service):\nssh admin@roborio-<team>-frc.local\n\nIf you have issues, try one of the following addresses instead:\nroborio-<team>-FRC\nroborio-<team>-FRC.lan\nroborio-<team>-FRC.frc-field.local\n10.TE.AM.2\n172.22.11.2 # Only works on a USB connection\n\nIf you are asked for a password, and have not set one, press Enter 3 times (Don't ask why.. this just works).\nREPL-based control\nIf you have seen my work before, you'll know that I use Python for basically everything. This project is no exception. Conveniently, the RoboRIO is a linux-based device, and can run a Python3 REPL. This allows real-time robot programming using a REPL via SSH. \nWPILib requires a robot class to act as a \"callback\" for robot actions. My idea was to build a special robot class with static methods to allow me to start it, then use the REPL to interact with some control methods (like setSpeed and stop).\nAfter connecting to the robot via SSH, a Python REPL can be started by running python3. If there is already robot code running, it will be automatically killed in the next step. \nWith Python running, we will need 2 libraries imported. wpilib and ctre. When importing wpilib a message may appear to notify you that the old robot code has been stopped.\n>>> import wpilib\nKilling previously running FRC program...\nFRC pid 1445 did not die within 0ms. Force killing with kill -9\n>>> import ctre\n\nKeep in mind, this is a REPL. Lines that start with >>> or ... are user input. Everything else is produced by code.\nNext, we need to write a little code to get the robot operational. To save time, I wrote this \"library\" to do most of the work for me. Just save this as rtrbt.py somewhere, then use SCP to copy it to /home/lvuser/rtrbt.py.\n# RealTime FRC Robot control helper\n# By: Evan Pratten <ewpratten>\n\n# Import normal robot stuff\nimport wpilib\nimport ctre\n\n# Handle WPI trickery\ntry:\n from unittest.mock import patch\nexcept ImportError:\n from mock import patch\nimport sys\nfrom threading import Thread\n\n\n## Internal methods ##\n_controllers = []\n_thread: Thread\n\n\nclass _RTRobot(wpilib.TimedRobot):\n\n def robotInit(self):\n\n # Create motors\n _controllers.append(ctre.WPI_TalonSRX(1))\n _controllers.append(ctre.WPI_TalonSRX(2))\n\n # Set safe modes\n _controllers[0].setSafetyEnabled(False)\n _controllers[1].setSafetyEnabled(False)\n\n\n\ndef _start():\n # Handle fake args\n args = [\"run\", \"run\"]\n with patch.object(sys, \"argv\", args):\n print(sys.argv)\n wpilib.run(_RTRobot)\n\n## Utils ##\n\n\ndef startRobot():\n \"\"\" Start the robot code \"\"\"\n global _thread\n _thread = Thread(target=_start)\n _thread.start()\n\n\ndef setMotor(id, speed):\n \"\"\" Set a motor speed \"\"\"\n _controllers[id].set(speed)\n\ndef arcadeDrive(speed, rotation):\n \"\"\" Control the robot with arcade inputs \"\"\"\n \n l = speed + rotation\n r = speed - rotation\n\n setMotor(0, l)\n setMotor(1, r)\n\nThe idea is to create a simple robot program with global hooks into the motor controllers. Python's mocking tools are used to fake commandline arguments to trick robotpy into thinking this script is being run via the RIO's robotCommand.\nOnce this script has been placed on the robot, SSH back in as lvuser (not admin), and run python3. If using rtrbt.py, the imports mentioned above are handled for you. To start the robot, just run the following:\n>>> from rtrbt import *\n>>> startRobot()\n\nWPILib will dump some logs into the terminal (and probably some spam) from it's own thread. Don't worry if you can't see the REPL prompt. It's probably just hidden due to the use of multiple threads in the same shell. Pressing Enter should show it again.\nI added 2 functions for controlling motors. The first, setMotor, will set either the left (0), or right (1) motor to the specified speed. arcadeDrive will allow you to specify a speed and rotational force for the robot's drivetrain.\nTo kill the code and exit, press CTRL + D then CTRL + C.\nHere is an example where I start the bot, then tell it to drive forward, then kill the left motor:\nPython 3.6.8 (default, Oct 7 2019, 12:59:55) \n[GCC 8.3.0] on linux\nType \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n>>> from rtrbt import *\n>>> startRobot()\n['run', 'run']\n17:53:46:472 INFO : wpilib : WPILib version 2019.2.3\n17:53:46:473 INFO : wpilib : HAL base version 2019.2.3; \n17:53:46:473 INFO : wpilib : robotpy-ctre version 2019.3.2\n17:53:46:473 INFO : wpilib : robotpy-cscore version 2019.1.0\n17:53:46:473 INFO : faulthandler : registered SIGUSR2 for PID 5447\n17:53:46:474 INFO : nt : NetworkTables initialized in server mode\n17:53:46:497 INFO : robot : Default IterativeRobot.disabledInit() method... Override me!\n17:53:46:498 INFO : robot : Default IterativeRobot.disabledPeriodic() method... Override me!\n17:53:46:498 INFO : robot : Default IterativeRobot.robotPeriodic() method... Override me!\n>>> \n>>> arcadeDrive(1.0, 0.0)\n>>> setMotor(0, 0.0)\n>>> \n^C\nException ignored in: <module 'threading' from '/usr/lib/python3.6/threading.py'>\nTraceback (most recent call last):\n File \"/usr/lib/python3.6/threading.py\", line 1294, in _shutdown\n t.join()\n File \"/usr/lib/python3.6/threading.py\", line 1056, in join\n self._wait_for_tstate_lock()\n File \"/usr/lib/python3.6/threading.py\", line 1072, in _wait_for_tstate_lock\n elif lock.acquire(block, timeout):\nKeyboardInterrupt\n\nThe message at the end occurs when killing the code.\nConclusion\nI have no idea why any of this would be useful, or if it is even field legal.. It's just a fun project for a monday morning. \n","id":"https://ewpratten.com/blog/realtime-robot-code/","title":"Programming a live robot"},"https://ewpratten.com/blog/rickrolling-the-internet/":{"body":"NOTICE: The service mentioned in this post is currently unavailable due to ongoing network upgrades.\nmtr (a modern version of traceroute) is a network debugging tool commonly used by network engineers to trace the physical (and sometimes virtual) paths their packets take between two computers over a network. Both mtr and traceroute will list the addresses or names of as many routers along the path as they can.\nThe following is an example output of an mtr trace from this computer to a Hurricane Electric server:\n\nTraceroute toys\nOver time, a few exceptionally bored network engineers have created some fun services that piggyback off of this idea of listing hosts along a path.\nFor example, there is:\n\nmtr cv6.poinsignon.org: Displays a brief version of Louis Poinsignon's resume\nmtr bad.horse: Displays the lyrics to Bad Horse\nBen Cox's old Traceroute Haiku service\n\nThat last one was the inspiration for this project, and I will likely reference Ben's post a fair bit in this one. If you are interested in the lower level technical aspects of what I have set up, go read his post, as I am running a nearly identical setup to him.\nThe game plan\nMy intent for this project was rather simple: rickroll people when they traceroute my website. Now, I technically failed at most of that, and the result is really: rickroll people when they mtr part of my website. This change of scope was simply due to the fact I'd rather not introduce unwanted latency into the regular viewing experience of this site.\nThe steps were as follows:\n\nAllocate an IPv6 address block for the project\nSet up Reverse DNS \n\nConvert the lyrics of Never Gonna Give You Up to FQDN format\nRegister the appropriate PTR records\n\n\nDark magic\nProfit!\n\nIP addresses and RDNS\nFor this project, I ended up using the public address block 2a06:a005:d2b:c011::/64, as I already own and control the routing for its parent block.\nI then delegated reverse DNS to the Hurricane Electric DNS service for easy management. I'll get back to this in a second.\nConverting lyrics to FQDNs\nFor this process, I ended up building a little Python tool called lyrics2ptr that generates copy-pastable Hurricane Electric settings from a text file full of lyrics.\n\n \n \n \n\n\nThe specific command for this was:\npython3 lyrics2ptr.py /path/to/rickroll-lyrics.txt --addr-prefix c011::\n\nThus generating output like this:\n...\nc011::0008 never.gonna.give.you.up\nc011::0009 never.gonna.let.you.down\nc011::000a never.gonna.run.around.and.desert.you\nc011::000b never.gonna.make.you.cry\nc011::000c never.gonna.say.goodbye\nc011::000d never.gonna.tell.a.lie.and.hurt.you\n...\n\nWhile the output format may look weird, it directly corresponds to the input fields in the DNS control panel.\n\nICMPv6 trickery\nNow, for the fun complicated part of this project.\nWhen you run an mtr or traceroute against a remote host, your computer will send out arbitrary packets to that host, but slowly increment the Time to live (TTL) field in such packets. \nAs a refresher, the TTL field is a number that is decremented every time a packet is passed through a router. If this number ever hits zero, the packet is discarded and an ICMPv6 Time Exceeded packet is returned to the sender indicating that their packet spent too long in transit. This mechanism exists to help prevent routing loops. \nGenerally, this field is set to a value of 64, but tracing programs will make it low numbers to attempt to get otherwise hidden routers to announce their presence via a Time Exceeded packet.\nFor a router to show up with a name in the mtr output, it must both send a Time Exceeded packet back to your host, and have a reverse DNS record registered (thus, why I did that in the previous section).\nAren't you going to need a ton of hosts?\nGenerally, such a setup would involve daisy-chaining routers physically in your network, and setting each of their hostnames, so clients would physically have their packets routed between each of the routers, and get an ICMP response from each of them. This is a lot of work.\nConveniently for my wallet, Linux machines provide something called Tun/Tap Interfaces. These virtual network interfaces allow programs to pretend to be one of many other computers on the network and act as if they were real hosts. When a program registers one of these interfaces with the kernel, it gets raw access to either the 2nd or 3rd OSI layer of the network stack in the form of a raw stream.\n\nI chose to register a Tun interface, and control things at the Internet Protocol level. This choice was mainly due to simplicity, as I really don't care about hardware addresses.\nLying about routers\nAt this point, someone can perform mtr on my Tun interface address, and they will get... nothing. \nBut, importantly, my program sees their request (again, as raw bytes) and has complete control over the response (I could just send DEADBEEFDEADBEEFDEADBEEF if I wanted in place of a real IP packet).\nWhen an ICMPv6 Echo Request packet (the type that mtr sends for queries) comes in, I simply grab two things: the source address and the ttl field.\nQuick sidenote: the way I had configured my RDNS records, each line of lyrics works out to the next host in line. \n\nWith my RDNS setup, and the fact mtr will increment the TTL field for every router it wants to find, the process for mapping a \"next router please\" request to a \"here is the next line of lyrics instead\" response is simply to use the TTL itself as the host part of the IP address I pretend to respond from.\nThus, when mtr looks for the third router in line, it'll get the address 2a06:a005:d2b:c011::3 in response, and resolve it to you.know.the.rules.and.so.do.i.\nProfit!\nWell, thats about it. I skipped over some implementation details, but if you'd like to check out the source code for this project, head over to its GitHub page:\n\n \n \n \n\n\nAnd for the end result:\n\nTry it yourself!\nmtr -rwc 1 rickroll.as204466.va3zza.com\n\nFor more AS204466 projects, view my networking page.\n","id":"https://ewpratten.com/blog/rickrolling-the-internet/","title":"Rickrolling the internet"},"https://ewpratten.com/blog/robot-experiences/":{"body":"Over the past two years (2018 / 2019), I have been a member of my school's FRC team, Raider Robotics. Specifically, a programmer.\nMy roles\nIn my first year, I joined the team as a programmer and had a fun time learning about embedded programming and development with hardware. Then, in my second year, I was promoted to programming co-lead along with @slownie. I much preferred my second season because I had a better understanding of the technology I was working with, and we got to play with some cool tools throughout the season.\nWhat I have learned\nStarting with our 2018 season, PowerUP. We learned early on that there is a practical limit to the number of programmers that 5024 can handle. That year, we had too many, and our situation was not helped by the fact that some members preferred scrolling through Instagram over writing code. This issue was almost entirely fixed by the introduction of a mandatory skill exam at the start of the season. Sam and I did not really care about the scores of the exam because, from reading the results, we could see who was actually motivated to join the team. Thanks to the test, we entered the season with seven excited programmers.\nDuring the PowerUP season, I also learned the importance of student involvement. Most of the code from the season was written by mentors with the students just watching on a projecter. After talking with other team members, I learned that none of them through this was a good method of teaching, and many felt powerless. In the 2019 season, I completely reversed this. All students worked together on the codebase, and the mentors worked on other projects and provided input where needed.\nVersion Control\nDuring the 2018 season, code was shared around by USB. This lead to crazy conflicts, confusion over what was running on the robot, and general frustration during competitions. In 2019, I moved the team over to a GitHub organization account and sent an email to support to get us unlimited private repos (thanks GitHub!). For the team members that where not comfortable in the terminal, I set them up with GitKracken PRO accounts, and they enjoyed using the program. The rest of us stuck with GIT cli, or various plugins for VSCode.\nAlpha test\nI got our team on board with the 2019 toolchain alpha test the week it was released in order to get everyone used to the new tools before the season (and help find bugs for the WPILib team). The new buildsystem, Gradle, worked great and I could even run it on the chromebook I was using for development at the time! To further assist the team, I set up a CI pipeline for automatic testing and code reviews of Pull Requests, and a doxygen + GitHub pages CD pipeline for our new documentation webpage.\nWebdocs\nA significant amount of my time was spent answering repetitive questions from the team. I enjoy helping people out, but explaining the same things over and over was starting to frustrate me. This was caused by a lack of documentation or bits of documentation spread over multiple websites. To solve this problem, I started the Webdocs Page. This website is designed to house a mix of team-specific notes, guides, low-level documentation, and documentation from all FRC vendors. This site was published after the season, so I will find out how usefull it really is during the 2020 season.\nCommand base\n\"Command based programming is great. But...\" is probably the best way to describe my suggested changes for 2020.\nI have been learning from other teams, and from mentors about better ways to control our robot. During the offseason, I am playing with new ways to write robot code. Here are some of my changes:\n\nUse a custom replacement for WPILib's Subsystem that buffers it's inputs and outputs\n\nThis reduces load on our CAN and Ethernet networks\n\n\nOffload all camera and vision work to a Raspberry PI\nEvery subsystem must push telemetry data to NetworkTables for easy debugging and detailed logs\nUse a custom logging system that buffers writes to stdout. This reduces network strain\n\nI am working on many other changes over on the MiniBot codebase.\nMy plans for 2020\nI have been re-selected to be the sole lead of the 5024 programming team for 2020. Here are my goals:\n\nSwitch the team from C++ to Java \n\nEasier for prototyping\nBetter memory management for high-level programmers\nBetter documentation from vendors\nIt is taught in our school's compsci classes\n\n\nRemove the skills exam in favour of weekly homework for the first 8 weeks\nProvide writeups of lessons\nHave mentors do \"guest presentations\"\nDedicate a day to robot driving lessons\nUse a custom library with wrappers and tools built by me to provide easy interfaces for new programmers\n\n","id":"https://ewpratten.com/blog/robot-experiences/","title":"What I have learned from 2 years of FRC programming"},"https://ewpratten.com/blog/running-roborio-native/":{"body":"It has now been 11 weeks since the last time I have had access to a RoboRIO to use for debugging code, and there are limits to my simulation software. So, I really only have one choice: emulate my entire robot.\nMy goal is to eventually have every bit of hardware on 5024's Darth Raider emulated, and running on my docker swarm. Conveniently, everything uses (mostly) the same CPU architecture. In this post, I will go over how to build a RoboRIO docker container.\nHost system requirements\nThis process requires a host computer with:\n\nAn x86_64 CPU\nA decent amount of RAM\nUbuntu 18.04 or later\nDocker CE installed\ndocker-compose installed\n\nGetting a system image\nThis is the hardest step. To get a RoboRIO docker container running, you will need:\n\nA copy of the latest RoboRIO firmware package\nA copy of libfakearmv7l.so (download)\n\nRoboRIO Firmware\nTo acquire a copy of the latest RoboRIO Firmware package, you will need to install the FRC Game Tools on a Windows machine (not wine).\nAfter installing the toolsuite, and activating it with your FRC team's activation key (provided in Kit of Parts), you can grab the latest FRC_roboRIO_XXXX_vXX.zip file from the installation directory of the FRC Imaging Tool (This will vary depending on how, and where the Game Tools are installed).\nAfter unzipping this file, you will find another ZIP file, and a LabVIEW FPGA file. Unzip the ZIP, and look for a file called systemimage.tar.gz. This is the RoboRIO system image. Copy it to your Ubuntu computer.\nBootstrapping\nThe bootstrap process is made up of a few parts:\n\nEnabling support for ARM-based docker containers\nConverting the RoboRIO system image to a Docker base image\nBuilding a Dockerfile with hacked auth\n\nEnabling Docker-ARM support\nSince the RoboRIO system image and libraries are compiled to run on ARMv7l hardware, they will refuse to run on an x86_64 system. This is where QEMU comes in to play. We can use QEMU as an emulation layer between out docker containers and our CPU. To get QEMU set up, we must first install support for ARM->x86 emulation by running:\nsudo apt install qemu binfmt-support qemu-user-static -y\n\nOnce QEMU has been installed, we must run the registration scripts with:\ndocker run --rm --privileged multiarch/qemu-user-static --reset -p yes\n\nConverting the system image to a Docker base\nWe have a system image filesystem, but need Docker to view it as a Docker image. \nUsing my pre-built image\nFeel free to skip the following step, and just use my pre-built RoboRIO base image. It is already set up with hacked auth, and is (at the time of writing) based on firmware version 2020_v10.\nTo use it, replace roborio:latest with ewpratten/roborio:2020_v10 in the docker-compose.yml config below.\nBuilding your own image\nMake a folder, and put both the system image, and libfakearmv7l.so files in it. This will be your \"working directory\". Now, import the system image into docker with:\ndocker import ./systemimage.tar.gz roborio:tmp\n\nThis will build a docker base image out of the system image, and name it roborio:tmp. You can use this on it's own, but if you want to deploy code to the container with GradleRIO, or SSH into the container, you will need to strip the NI Auth.\nStripping National Instruments Auth\nBy default, the RoboRIO system image comes fairly locked down. To fix this, we can \"extend\" our imported docker image with some configuration to allow us to remove some unknown passwords.\nIn the working directory, we must first create a file called common_auth. This will store our modified authentication configuration. Add the following to the file:\n#\n# /etc/pam.d/common-auth - authentication settings common to all services\n#\n# This file is included from other service-specific PAM config files,\n# and should contain a list of the authentication modules that define\n# the central authentication scheme for use on the system\n# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the\n# traditional Unix authentication mechanisms.\n\n# ~~~ This file is modified for use with Docker ~~~ \n\n# here are the per-package modules (the \"Primary\" block)\n# auth\t[success=2 auth_err=1 default=ignore]\tpam_niauth.so nullok\n# auth\t[success=1 default=ignore]\tpam_unix.so nullok\n# here's the fallback if no module succeeds\n# auth\trequisite\t\t\tpam_deny.so\n# prime the stack with a positive return value if there isn't one already;\n# this avoids us returning an error just because nothing sets a success code\n# since the modules above will each just jump around\nauth\trequired\t\t\tpam_permit.so\n# and here are more per-package modules (the \"Additional\" block)\n\n\nNow, we must create a Dockerfile in the same directory with the following contents:\nFROM roborio:tmp\n\n# Fixes issues with the original RoboRIO image\nRUN mkdir -p /var/volatile/tmp && \\\n mkdir -p /var/volatile/cache && \\\n mkdir -p /var/volatile/log && \\\n mkdir -p /var/run/sshd\n\nRUN opkg update && \\\n opkg install binutils-symlinks gcc-symlinks g++-symlinks libgcc-s-dev make libstdc++-dev\n\n# Overwrite auth\nCOPY system/common_auth /etc/pam.d/common-auth\nRUN useradd admin -ou 0 -g 0 -s /bin/bash -m\nRUN usermod -aG sudo admin\n\n# Fixes for WPILib\nRUN mkdir -p /usr/local/frc/third-party/lib\nRUN chmod 777 /usr/local/frc/third-party/lib\n\n# This forces uname to report armv7l\nCOPY system/libfakearmv7l.so /usr/local/lib/libfakearmv7l.so\nRUN chmod +x /usr/local/lib/libfakearmv7l.so && \\\n mkdir -p /home/admin/.ssh && \\ \n echo \"LD_PRELOAD=/usr/local/lib/libfakearmv7l.so\" >> /home/admin/.ssh/environment && \\\n echo \"PermitUserEnvironment yes\" >> /etc/ssh/sshd_config && \\\n echo \"PasswordAuthentication no\">> /etc/ssh/sshd_config\n\n# Put the CPU into 32bit mode, and start an SSH server\nENTRYPOINT [\"setarch\", \"linux32\", \"&&\", \"/usr/sbin/sshd\", \"-D\" ]\n\nThis file will cause the container to:\n\nInstall needed tools\nConfigure an \"admin\" user with full permissions\nSet r/w permissions for all FRC libraries\nOverwrite the system architecture with a custom string to allow programs like pip to run properly\nEnables password-less SSH login\nSets the CPU to 32bit mode\n\nWe can now build the final image with these commands:\ndocker build -f ./Dockerfile -t roborio:local .\ndocker rmi roborio:tmp\ndocker tag roborio:local roborio:latest\n\nRunning the RoboRIO container locally\nWe can now use docker-compose to start a fake robot network locally, and run our RoboRIO container. First, we need to make a docker-compose.yml file. In this file, add:\nversion: \"3\"\n\nservices:\n\n roborio:\n image: roborio:latest # Change this to \"ewpratten/roborio:2020_v10\" if using my pre-built image\n networks:\n robo_net:\n ipv4_address: 10.50.24.2\n\nnetworks:\n robo_net:\n ipam:\n driver: default\n config:\n - subnet: 10.50.24.0/24\n\nWe can now start the RoboRIO container by running\ndocker-compose up\n\nYou should now be able to SSH into the RoboRIO container with:\nssh admin@10.50.24.2\n\nOr even deploy code to the container! (Just make sure to set your FRC team number to 5024)\n","id":"https://ewpratten.com/blog/running-roborio-native/","title":"Running RoboRIO firmware inside Docker"},"https://ewpratten.com/blog/scrapingfrcgithub/":{"body":"I was curious about the most used languages for FRC, so I build a Python script to find out what they where. \nSome basic data\nBefore we get to the heavy work done by my script, let's start with some general data.\nThanks to the TBA API, I know that there are 6917 registered teams. 492 of them have registered at least one account on GitHub.\nHow the script works\nThe script is split into steps:\n\nGet a list of every registered team\nCheck for a github account attached to every registered team\n\nIf a team has an account, it is added to the dataset\n\n\nLoad each github profile\n\nIf it is a private account, move on\nUse Regex to find all languages used\n\n\nCompile data and sort\n\nGetting a list of accounts\nThis is probably the simplest step in the whole process. I used the auto-generated tbaapiv3client python library's get_teams_keys(key) function, and kept incrementing key until I got an empty array. All returned data was then added together into a big list of team keys.\nChecking for a team's github account\nThe TBA API helpfully provides a /api/v3/team/<number>/social_media API endpoint that will give the GitHub username for any team you request. (or nothing if they don't use github)\nA for loop on this with a list of every team number did the trick for finding accounts.\nFetching language info\nTo remove the need for an Oauth login to use the script, GitHub data is retrieved using standard HTTPS requests instead of AJAX requests to the API. This gets around the tiny rate limit, but takes a bit longer to complete. \nTo check for language usage, a simple Regex pattern can be used: /programmingLanguage\"\\>(.*)\\</gm\nWhen combined with an re.findall(), this pattern will return a list of all recent languages used by a team.\nData saves / backup solution\nTo deal with the fact that large amounts of data are being requested, and people might want to pause the script, I have created a system to allow for \"savestates\".\nOn launch of the script, it will check for a ./data.json file. If this does not exist, one will be created. Otherwise, the contents will be read. This file contains both all the saved data, and some counters. \nEach stage of the script contains a counter, and will increment the counter every time a team has been processed. This way, if the script is stopped and restarted, the parsers will just keep working from where they left off. This was very helpful when writing the script as, I needed to stop and start it every time I needed to implement a new feature.\nAll parsing data is saved to the json file every time the script completes, or it detects a SIGKILL.\nWhat I learned\nAfter letting the script run for about an hour, I got a bunch of data from every registered team.\nThis data includes every project (both on and offseason) from each team, so teams that build t-shirt cannons using the CTRE HERO, would have C# in their list of languages. Things like that.\nUnsurprisingly, by far the most popular programming language is Java, with 3232 projects. These projects where all mostly, or entirely written in Java. Next up, we have C++ with 725 projects, and Python with 468 projects. \nAfter Java, C++, and Python, we start running in to languages used for dashboards, design, lessons, and offseason projects. Before I get to everything else, here is the usage of the rest of the valid languages for FRC robots:\n\nC (128)\nLabView (153)\nKotlin (96)\nRust (4)\n\nNow, the rest of the languages below Python:\n295 occurrences of JavaScript\n153 occurrences of LabVIEW\n128 occurrences of C\n96 occurrences of Kotlin\n72 occurrences of Arduino\n71 occurrences of C#\n69 occurrences of CSS\n54 occurrences of PHP\n40 occurrences of Shell\n34 occurrences of Ruby\n16 occurrences of Swift\n16 occurrences of Jupyter Notebook\n15 occurrences of Scala\n12 occurrences of D\n12 occurrences of TypeScript\n9 occurrences of Dart\n8 occurrences of Processing\n7 occurrences of CoffeeScript\n6 occurrences of Go\n6 occurrences of Groovy\n6 occurrences of Objective-C\n4 occurrences of Rust\n3 occurrences of MATLAB\n3 occurrences of R\n1 occurrences of Visual Basic\n1 occurrences of Clojure\n1 occurrences of Cuda\n\nI have removed markup and shell languages from that list because most of them are probably auto-generated.\nIn terms of github account names, 133 teams follow FRC convention and use a username starting with frc, followed by their team number, 95 teams use team then their number, and 264 teams use something else.\nUsing the script\nThis script is not on PYPI this time. You can obtain a copy from my GitHub repo: https://github.com/Ewpratten/frc-code-stats\nFirst, make sure both python3.7 and python3-pip are installed on your computer. Next, delete the data.json file. Then, install the requirements with pip3 install -r requirements.txt. Finally, run with python3 main.py to start the script. Now, go outside and enjoy nature for about an hour, and your data should be loaded!.\n","id":"https://ewpratten.com/blog/scrapingfrcgithub/","title":"Scraping FRC team's GitHub accounts to gather large amounts of data"},"https://ewpratten.com/blog/shift2/":{"body":"I have always been interested in text and data encoding, so last year, I made my first encoding tool. Shift64 was designed to take plaintext data with a key, and convert it into a block of base64 that could, in theory, only be decoded with the original key. I had a lot of fun with this tool, and a very stripped down version of it actually ended up as a bonus question on the 5024 Programming Test for 2018/2019. Yes, the key was in fact 5024.\nThis tool had some issues. Firstly, the code was a mess and only accepted hard-coded values. This made it very impractical as an every-day tool, and a nightmare to continue developing. Secondly, the encoder made use of entropy bits, and self modifying keys that would end up producing encoded files >1GB from just the word hello.\nShift2\nOne of the oldest items on my TODO list has been to rewrite shift64, so I made a brand new tool out of it. Shift2 is both a command-line tool, and a Python3 library that can efficiently encode and decode text data with a single key (unlike shift64, which used two keys concatenated into a single string, and separated by a colon).\nHow it works\nShift2 has two inputs. A file, and a key. These two strings are used to produce a single output, the message.\nWhen encoding a file, shift2 starts by encoding the raw data with base85, to ensure that all data being passed to the next stage can be represented as a UTF-8 string (even binary data). This base85 data is then XOR encrypted with a rotating key. This operation can be expressed with the following (this example ignores the base85 encoding steps):\nfile = \"Hello reader! I am some input that needs to be encoded\"\nkey = \"ewpratten\"\n\nmessage = \"\"\n\nfor i, char in enumerate(file):\n message += chr(\n ord(char) ^ ord(key[i % len(key) - 1])\n )\n\n\nThe output of this contains non-displayable characters. A second base85 encoding is used to fix this. Running the example snippet above, then base85 encoding the message once results in:\nCIA~89YF>W1PTBJQBo*W6$nli7#$Zu9U2uI5my8n002}A3jh-XQWYCi2Ma|K9uW=@5di\n\nIf using the shift2 commandline tool, you would see a different output:\nB2-is8Y&4!ED2H~Ix<~LOCfn@P;xLjM_E8(awt`1YC<SaOLbpaL^T!^W_ucF8Er~?NnC$>e0@WAWn2bqc6M1yP+DqF4M_kSCp0uA5h->H\n\nThis is for a few reasons. Firstly, as mentioned above, shift2 uses base85 twice. Once before, and once after XOR encryption. Secondly, a file header is prepended to the output to help the decoder read the file. This header contains version info, the file length, and the encoding type.\nTry it yourself with PIP\nI have published shift2 on pypi.org for use with PIP. To install shift2, ensure both python3 and python3-pip are installed on your computer, then run:\n# Install shift2\npip3 install shift-tool\n\n# View the help for shift2\nshift2 -h\n\n\nTry it in the browser\nI have ported the core code from shift2 to run in the browser. This demo is entirely client-side, and may take a few seconds to load depending on your device.\n\nEncode\n\nDecode\n\n\nshift2 demo is loading... (this may take a few seconds)\n\nFuture plans\nDue to the fact that shift2 can also be used as a library (as outlined in the README), I would like to write a program that allows users to talk to eachother IRC style over a TCP port. This program would use either a pre-shared, or generated key to encode / decode messages on the fly.\nIf you are interested in helping out, or taking on this idea for yourself, send me an email.\n\n","id":"https://ewpratten.com/blog/shift2/","title":"Keyed data encoding with Python"},"https://ewpratten.com/blog/steam-controller-switch/":{"body":"Remember the Steam Controller?\n\nAs it turns out, pretty much nobody does. I picked mine up back in elementary school at a good ol' EB Games shop, and remember being blown away by the extensible configurability of the thing. Shooting portals with gyro aim really was a cool thing to experience.\nWhat do you do with an old Steam Controller?\nWell, I ended up surrounding myself with Nintendo Switch owners, and instantly disliking the feel of the Joy-Con controllers (seriously, who makes digital triggers!?). Thus the thought:\n\nI wonder if I can pair third-party controllers to the switch?\n\nIt turns out that, yes, with some effort this is possible. Firstly, I tried an Xbox Wireless Controller which should in theory be compatible with the switch. According to various people on Reddit, later versions of the Nintendo Switch firmware contain a driver for the Xbox dongle, when plugged into the back of the switch dock, but I left my bluetooth dongle at my old highschool in another city, so that plan isn't going very far.\nBack to the Steam Controller. I thought, surely a completely configurable input device like this could be set up in a way to trick the switch into thinking its a supported controller.\nI was almost wrong\nAs it turns out, I was not alone in wanting to Nintendo-ify a Steam Controller, and someone has already done most of the work.\nDisclaimer: The following is about to be a guide in doing rather questionable things with a Steam Controller. If you aren't 100% sure what you are doing with these types of devices, do not try any of this.\nThe OpenSteamController project\nOpenSteamController is a now-abandoned project that completely re-implements the core functionality of the Steam Controller through reverse-engineered code.\nWith just a bit of work (and selling your soul to NXP), you can compile the custom firmware, and swap out the existing firmware for your own with patched switch support!\nThe steps\n\nClone the OpenSteamController repository\nHead over to the LPCXpresso IDE download page, press the download button, create an account, and install the latest IDE version\nOpen the LPCXpresso IDE\nDo File > Import > General > Existing Project into Workspace for both of these directories:\n\n/path/to/OpenSteamController/firmware/OpenSteamController\n/path/to/OpenSteamController/firmware/lpc_chip_11uxx_lib\n\n\nChange FIRMWARE_BEHAVIOR to have the value SWITCH_WIRED_POWERA_FW in OpenSteamController/inc/fw_cfg.h\nRight click the lpc project and build it, then do the same for the OpenSteamController project\n\nFor a less terse walkthrough, see the tutorial video.\nAfter completing these steps, you will have a new firmware file at\nOpenSteamController/Debug/OpenSteamController.bin\n\nFlashing custom firmware to the Steam Controller;\nNow for the fun part. It turns out the Steam Controller has a sort of Device Firmware Upgrade (DFU) mechanism that can be triggered by holding the right trigger while plugging the controller in.\nAfter doing so, a new \"drive\" will appear on your machine called CRP DISABLD.\nMake a backup of the firmware file on this drive!\nAt this point, the final flashing step is os-dependent. Assume your OpenSteamController.bin file is ${FIRMWARE} and the path to your CRP DISABLED drive is ${CRP_DRV}.\nLinux\ndd conv=nocreat,notrunc oflag=direct bs=512 if=${FIRMWARE} of=${CRP_DRV}/firmware.bin\n\nmacOS\ncat ${FIRMWARE} > ${CRP_DRV}/firmware.bin\n\nWindows\nSimply copy the OpenSteamController.bin file to the CRP DISABLED drive and rename it to firmware.bin\nConnecting everything\nFinally, with a full-sized USB to USB-C adapter (like the one that comes with most phones), you can plug the controller into the switch. Make sure to enable support for wired switch pro controllers in the settings if you have issues.\nA known (and annoying) problem is that the trackpads are wayy too sensitive with this firmware so.. Good luck?\n\nIf you want to revert to factory firmware, just copy the saved firmware.bin file back to the controller in the same way you deployed the custom one.\n","id":"https://ewpratten.com/blog/steam-controller-switch/","title":"Using a Steam Controller with the Nintendo Switch"},"https://ewpratten.com/blog/styiling-github/":{"body":"I have been using GitHub since 2017, and have been getting tired of GitHub's theme. I didn't need a huge change, just a small refresh. So, to solve this, I whipped out Stylus and made a nice little CSS file for it.\nThe CSS\nHere is the CSS. Feel free to play with it.\n@-moz-document url-prefix(\"https://github.com/\") {\n.Header {\n background-color: #1a3652;\n}\n\n.repohead.experiment-repo-nav {\n background-color: #fff;\n}\n.reponav-item.selected {\n border-color: #fff #fff #4a79a8;\n}\n\n.btn.hover,\n.btn:hover,\n.btn,\n.btn {\n background-color: #fafafa;\n background-image: linear-gradient(-180deg, #fafafa, #fafafa 90%);\n}\n\n.btn-primary.hover,\n.btn-primary:hover,\n.btn-primary,\n.btn-primary {\n background-color: #1aaa55;\n background-image: linear-gradient(-180deg, #1aaa55, #1aaa55 90%);\n}\n\n.overall-summary {}\n}\n\nUse it yourself\nI put this theme on userstyles.org. You can download and install it by going to my userstyles page.\n","id":"https://ewpratten.com/blog/styiling-github/","title":"GitHub's CSS is boring. So I refreshed the design"},"https://ewpratten.com/blog/udm-fan/":{"body":"Ubiquiti's Unifi Dream Machine Pro is a powerful medium-scale business-oriented rack-mount router, capable of handling 10/100/1000/10000 ethernet traffic. Really quite a nice device.\nOne day, I had the thought: I've never heard the fans ramp up on this. And so, I started looking into the possibilities of manual fan control.\nAs it turns out, this Linux-based device allows you (like any embedded Linux computer) override its I/O with some clever shell commands.\nEnter: SSH\nIf you own a UDM-Pro, you surely know how to log in to it via SSH. If not, look it up 😄.\nWith an SSH connection open, the following commands let you control the fans on the device!\n# Override the fans with a speed (0-255)\nexport FAN_SPEED=128\nkillall -9 S04ubnt-fan-speed ubnt-fan-speed\necho 1 > /sys/class/hwmon/hwmon0/device/pwm1_enable\necho 1 > /sys/class/hwmon/hwmon0/device/pwm2_enable\necho $FAN_SPEED > /sys/class/hwmon/hwmon0/device/pwm1\necho $FAN_SPEED > /sys/class/hwmon/hwmon0/device/pwm2\n\n# Return control back to the device\n/etc/init.d/S04ubnt-fan-speed start\n\nExit stage left\nWho needs SSH anyways? \nWhen I discovered this, I decided to write a little program that wraps the SSH commands with a little bit of error checking, and support for auto-discovery of UDM-Pro devices on your network.\n\n \n \n \n\n\nThe following commands can be used to control the fans on a local UDM-Pro:\n# Set the fans to half speed\nudm-fan set 128\n\n# Set the fans to full speed (with a custom IP address)\nudm-fan set 255 --override-ip 172.16.11.5\n\n# Bring the fans back to automatic control\nudm-fan auto\n\nPasswords can be provided through:\n\nThe --ssh-password flag\nThe UDM_SSH_PASS environment variable\nA .netrc entry with the hostname being the UDM's IP address\nThe terminal at runtime\n\n","id":"https://ewpratten.com/blog/udm-fan/","title":"Making my UDM-Pro scream"},"https://ewpratten.com/blog/ultralight-writeup/":{"body":"I have been looking around for a small, and easy-to-use maven server to host my personal Java libraries for some time now. I origionally went with Jitpack.io, but didn't like the fact I jitpack overwrites artifact groupID fields. This means that instead of specifying a package via something like ca.retrylife:librandom:1.0.0, a user would have to write com.github.ewpratten:librandom:1.0.0. While this is not a huge deal, I prefer to use a gorupID under my own domain for branding reasons. Along with this issue, I just didn't have enough control over my artifacts with Jitpack. \nFrom Jitpack, I moved on to hosting a maven server in a docker container on one of my webservers. This worked fine until my server crashed from a configuration issue. I decided that self-hosting was not the way to go until I have set up a more stable storage infrastructure.\nAfter my attempt at self-hosting, I moved to (and quickly away from) GitHub Packages. GitHub Packages is a great service with a huge drawback. Anyone wanting to use one of my libraries must authenticate with the github maven servers. Along with that, the buildsystem configuration to actually load a GitHub Packages artifact is currently a bit of a mess. While GitHub staff have addressed this issue, and a way to load packages without authentication is roumered to be coming to the platform sometime soon, I don't want to wait. After this adventure, I got curious. \n\n\nHow hard is it to write my own maven server? \n\n\nTurns out, not very hard at all.\nMaven servers are basically glorified static site generators that serve specific files in specific places. On top of this, the entire protocol is XML-based, which makes building one super easy. When a buildsystem like Maven or Gradle wants to fetch an artifact from a maven server, it first makes a request to http(s)://<baseurl>/<groupID>/<artifactID>/<version>/<artifactID>-<version>.pom to find out any needed data about the requested artifact. An example of this file's contents could be:\n<!-- Response for http://maven.example.com/ca/retrylife/librandom/1.0.0/librandom-1.0.0.pom -->\n<project \n xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\" \n xmlns=\"http://maven.apache.org/POM/4.0.0\" \n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n <modelVersion>4.0.0</modelVersion>\n <groupId>ca.retrylife</groupId>\n <artifactId>librandom</artifactId>\n <version>1.0.0</version>\n</project>\n\nI don't exactly know the reason this file exists in most cases, since all the data returned is data the client already knows. Judging by the Project Object Model specifications, some servers might use this file to return additional metadata about the artifact, but none of this data is required for my minimal working example.\nAlong with this request, another is sometimes made to http(s)://<baseurl>/<groupID>/<artifactID>/maven-metadata.xml, which is an XML file containing a list of all artifact versions stored on the server. From my testing with Gradle, a call to this endpoint is only made if there is a wildcard in the asset name in a user's build configuration. An example of this would be ca.retrylife:librandom:1.+. An exampe of this file's contents could be:\n<metadata modelVersion=\"1.1.0\">\n <groupId>ca.retrylife</groupId>\n <artifactId>librandom</artifactId>\n <version>1.0.1</version>\n <versioning>\n <latest>1.0.1</latest>\n <release>1.0.1</release>\n <versions>\n <version>1.0.1</version>\n <version>1.0.0</version>\n </versions>\n <lastUpdated>1599079384</lastUpdated>\n </versioning>\n</metadata>\n\nFinally, a request is made to http(s)://<baseurl>/<groupID>/<artifactID>/<version>/<artifactID>-<version>.jar, which should just return the correct JAR file for the library. Pretty simple.\nThe magic behind Ultralight\nUltralight Maven is a small serverless maven server I built for myself. The Ultralight backend app listens for each of these three requests, and will handle each of the following cases. I use a YAML file to tell the backend what artifact names I want it to \"serve\", and their GitHub repository names.\nCase 1. The client has asked for a Project Object Model for an artifact. In this case, the backend will make sure the requested artifact name is listed in its configuration file, then simply parse all of the needed data out of the request URL, and send it right back to the client.\nCase 2. The client has asked for a maven-metadata.xml file. In this case, the backend will first make sure the artifact exists, then make a request out to the GitHub REST API, and ask for a list of all tag names in the artifact's repository. For every tag that contains an asset with the same name as the artifact, the tag's version number will be added to the list of valid versions in the response.\nCase 3. The client has asked for an artifact's JAR file. In this case, the backend will first make sure the artifact exists, then make a request out to the GitHub API, and ask for the correct asset URL on GitHub's servers. With this url, Ultralight just crafts an HTTP 302 response. This makes the client actually request from GitHub itself instead of the Ultralight server, thus Ultralight never needs to store any artifacts.\nBoth to make the experience faster, and to get around GitHub's rate limiting on the tags API, Ultralight sends the client stale-while-revalidate cache control headers. This forces the Vercel server that hosts Ultralight to only update its cache once per minute (slightly slower than the GitHub rate limit 😉)\nFor instructions on how to set up your own maven server using Ultralight, see the README on GitHub.\n","id":"https://ewpratten.com/blog/ultralight-writeup/","title":"Building a mini maven server"},"https://ewpratten.com/blog/unfinished-projects/":{"body":"My GitHub profile is a bit like an iceberg. At the time of writing, I have made nearly 8 and a half thousand commits to nearly a thousand repositories. Since July 2018, I have made an effort to go no more than 3 consecutive days without writing code, and I have only broken that streak 6 times (each of those being a 4-day break).\n\nI remember making myself a GitHub account back in 8th grade (August 16, 2016 to be exact). Ever since then, I have published every single personal project I have made to GitHub.\nMy goal at the time was simply to use GitHub as a free file storage platform for my little side-projects, but it ended up having two interesting side-effects:\n\nMy profile is an accurate representation of my work, since it is my work. No filler or template projects needed!\nYou can see my progression as a programmer by looking through my timeline.\n\nSince I send potential employers directly to my GitHub profile, I have a few rules for how I manage the account. The important one for this post is:\n\nOnly finished and documented projects are made public. (Some WIP projects may also be public for various reasons)\n\nThis means that while I currently have 476 finished personal projects (yes, I write a lot of code), I also have roughly the same number of unfinished projects that'll likely never see the light of day.\nShowcase\nMy goal for this post is to showcase some of the interesting failed ideas I have had in the past. Before I get to the whole list, here are a few recent projects of mine that are worth mentioning in their own section:\nA near success\nThis is a project that may actually be finished some day, considering how its nearly production ready.\nIn mid-late 2021, I was building a custom graphics pipeline for some friends. After finishing work on [data::loss], a group of us started prototyping various concepts for future games. Continuing off of this, @demilurii and I began looking at integrating 3D layout and rigging tools into our 2D asset pipeline.\nThus, strangle was born. Strangle is a little tool that allows super easy project and asset management through various tools using Pixar's USD as a data interchange format.\nstrangle can handle the MagicaVoxel, Blender, Maya 2022, and Houdini DCCs in a layering approach, where each DCC is used to add their specialty to an asset. This means that magica could be used for modeling, blender for texturing and shading, maya for layout, rigging and animation, and houdini for lighting and FX.\nThis whole pipeline works flawlessly, but the tooling was never released due to some less-than-ideal design choices in how the tools interface with each other across OSes.\nA public failure\nI actually published one of my failed projects as reference material for other developers.\n\n \n \n \n\n\n\nanimal-loader (A not-so-acronym for \"A Native Mod Loader\") is an experimental, unfinished project to allow the @kleientertainment games Don't Starve and Don't Starve Together to load native mods written in rust, and support WebAssembly plugins.\n\nAfter starting work on this project, I learned that the game I was attempting to mod was never compiled with support for dynamic library loading through its LUA interface, so I was unable to continue without considerable effort.\nA little bit of IOT hacking\nmitechlib, another unfinished project of mine, is a Rust library that allows me to programmatically interface with the laundry machines in the building I live in.\nThe only reason it exists is because I thought it would be funny to walk into a laundry room, and wash my clothes with a laptop connected to a washing machine.\nThe list\nWith the power of APIs, I threw together a little GraphQL query to grab all my private repos:\nquery { \n viewer { \n repositories (privacy: PRIVATE, first: 100, after: null) {\n edges {\n node {\n name\n description\n }\n }\n pageInfo {\n endCursor\n }\n }\n }\n}\n\nI then vetted the list a bit, and converted it to a web-ready format.\nHere is the new and improved list of my project ideas that never saw the light of day:\n\nCardStudio\n\nA tool for working with various RFID cards using Proxmark devices\n\n\nproxmark-rs\n\nA Proxmark3 client library for Rust\n\n\nrender-test\n\nAn experimental game that only uses ASCII art for rendering\n\n\newpratten-commit-stats\n\nA private api for querying my GitHub ranking in Canada\n\n\ndst-rpc\n\nDiscord RPC (Rich Presence) support for @kleientertainment's Don't Starve Together (precursor to animal-loader)\n\n\nblink-camera-api\n\nA partial API client for Amazon/Blink cameras\n\n\nblink-client\n\nA simple client for Blink home security cameras\n\n\nMultiAuth\n\nA development tool to allow a mix of premium and \"offline mode\" accounts to join a Minecraft server\n\n\nmultirss\n\nA minimalist RSS aggregator\n\n\ndynmap-viewer\n\nA high-performance desktop client for Dynmap\n\n\nwtf\n\nA utility for dumping large amounts of information about a host\n\n\nmicrofetch\n\nAn over-simplistic portable command-line system information tool\n\n\nmitechlib\n\nA library for interacting with Mitech smart connected laundry machines\n\n\nrc2d\n\nA 2D raycasting library for line-of-sight lighting in 2D games\n\n\nMuchPerformance\n\nA minecraft performance modpack\n\n\ntiny-osc\n\nMorse code practice ocillator built on the Atmel ATtiny85 platform\n\n\nEmmetMob\n\nA minecraft mod that turns my friend into an entity\n\n\namprdns\n\nAn alternate DNS service, only avalible to 44net hosts\n\n\nbetaroute\n\nA peer-to-peer routing tool (example implementation of this RFC)\n\n\nMiwuStickers\n\nA custom sticker pack\n\n\nshoot-to-interact\n\nA game with one option: shoot\n\n\nprotocrypt\n\nAn experimentation in XOR-ing data\n\n\ntinylink\n\nAn alternate repeater linking project\n\n\nrepeaterstack\n\nA full amateur radio simplex node / remote repeater\n\n\nhamscan\n\nFrequency monitoring and web visualization based on rtl_power\n\n\nstrangle\n\nExperimental voxel art pipeline\n\n\nvox2usd\n\nConvert from the Magica Voxel file format to Universal Scene Description\n\n\nusd-tutorial-files\n\nScripts from Pixar's USD tutorials\n\n\ndiscolytica\n\nA tool for tracking discord data into an analytics database\n\n\nampr-minecraft\n\nMinecraft server for stress-testing an edge router\n\n\ndarkdns\n\nA standalone Docker-based DNS server that resolves lesser-recognized domains\n\n\nr3_pipeline\n\nVideo game and animation production pipeline (Used for [data::loss])\n\n\negf\n\nEvan's Game Framework: Everything you need to build a 2D game\n\n\ntyler\n\nA custom tiled map loader\n\n\nsonr\n\nA voice chat control library built on Serenity and Songbird\n\n\ndiscord-map\n\nGenerates a graphviz map of all your Discord servers\n\n\newc\n\nC-compatible core library for quick development shortcuts in various languages\n\n\ncloth-toy\n\n2D cloth simulation toy\n\n\nmorsencode\n\nExperimental data encoding algorithm based around morse code\n\n\nkobodash\n\nA simple dashboard application for the Kobo Aura\n\n\ngpu-avg\n\nLearning experiment for executing headless compute shaders\n\n\nrtiod\n\nRay-Tracing In One Day: A random project to fill my time\n\n\nspac\n\nAbstract mathematical types for library interop with easy-to-use interfaces\n\n\nvec-convert\n\nA translation layer between the many Rust vector types\n\n\nopen-echo-proxy\n\nAn open-source echolink proxy server\n\n\ndiscord-framework\n\nEasily build Discord bots by defining them using JSON data\n\n\ntinygl-rs\n\nRust bindings to tinygl\n\n\nnetwork-monitor\n\nA tool for logging network drops\n\n\nfileshare\n\nPersonal file-sharing service\n\n\ndisco\n\nSimple network discoverability service\n\n\nzndfrm\n\nA procedural audio engine\n\n\negui-raylib-rs\n\nRaylib integration for egui\n\n\nerror-adaptor\n\nUtility macros for wrapping external error types in Rust\n\n\nxplre\n\nXPLRE: A small 2d game\n\n\nstrands\n\nBasic and experimental physics toys\n\n\nminecraft-wasmtime-experiment\n\nExperiment in loading plugins into Minecraft with Wasmtime\n\n\ncsrpc\n\nCrazy Simple RPC library\n\n\ntiny-analytics\n\nSmall and efficient analytics engine for my personal projects\n\n\nut\n\nUsage Tracking API\n\n\nzzarl\n\nVA3ZZA Amateur Radio Logging software\n\n\nkx2-rs\n\nRust library for serial control of the Elecraft KX2/KX3 transceivers\n\n\nkxsvc\n\nLocal gRPC service for programmatic control of Elecraft KX2 and KX3 transceivers\n\n\nnv\n\nAn environment management tool\n\n\npathwarn\n\nA library for providing useful feedback about invalid paths passed to Rust applications\n\n\ntvdsb-student-api-rs\n\nRust API for interacting with Thames Valley District School Board student information\n\n\nludum-dare-48-rework\n\nA design rework of our Ludum Dare 48 game: Deep Breath\n\n\newpose\n\n\"ewpratten's positioning library\"\n\n\nvision-types\n\nDatatypes and utils related to computer vision targets\n\n\nampersand\n\nA build tool for Rust-based Android apps\n\n\ngnn\n\nAn experiment in building a generic neural network\n\n\npixyusb2-rs\n\nRust bindings for libpixyusb2\n\n\nmdviz\n\nMulti-dimensional graphing tool\n\n\nlightpanel\n\nA tool for turning my computer monitors into configurable light sources for my room\n\n\nimproc\n\nImage processing and filtering in Rust\n\n\nleapmotion-rs\n\nRust bindings for the LeapMotion V2 API\n\n\nwg-dash\n\nA dashboard for WireGuard servers\n\n\nlmvn\n\nA small tool for managing local maven repositories\n\n\npacktool\n\nA tool for managing Minecraft modpacks\n\n\nbreaktrack\n\nA simple crawler for broken URLS on a webpage\n\n\nstratosphere-r6\n\nA tool for estimating Rainbow Six Siege match results\n\n\nautojson\n\nAutomatic JSON serialization and deserialization macros for Rust\n\n\nZZALOG\n\nVA3ZZA's Amateur Radio logging software\n\n\nrepeatermon\n\nA tool for monitoring repeater activity\n\n\nlcx\n\nLaunchControlX: A custom macro pad\n\n\ngit-time\n\nGraph time spent on a Git project\n\n\nspawn-server\n\nExperimental Minecraft server infrastructure\n\n\naprtwt\n\nAPRS <-> Twitter bridge\n\n\nraylib-tessellation\n\nA bridge between Lyon and Raylib, allowing easy GPU path tessellation\n\n\nslyce\n\nAn experiment in low-complexity game development\n\n\nGameTK\n\nA game development and 3D rendering framework\n\n\nraylib-imgui-rs\n\nRaylib + Dear ImGui. In Rust\n\n\ncone-of-vision-demo\n\nA small app demonstrating cone-of-vision rendering in 2D\n\n\nraylib-tweaks\n\nSome small tweaks and extensions on raylib to make it a little more Rust-friendly\n\n\nbdl\n\nSmall and fast HTTPS file downloader\n\n\nburstfetch\n\nA very simple BitTorrent implementation\n\n\ntinyos\n\nA tiny OS\n\n\nnodelink\n\nDockerized internet radio nodes\n\n\npath3d\n\nA demonstration of 3D path solving\n\n\nrepeater-info\n\nWeb-based amateur radio repeater information\n\n\navr-rust-utils\n\nSome utility functions for working with Rust AVR code\n\n\npy-aprsfi-api\n\nAn aprs.fi API client for Python\n\n\nhambadges\n\nEmbeddable badges for amatuer radio operators\n\n\nham-status\n\nAn experimental dashboard for amatuer radio operators\n\n\nlogbook\n\nClean and simple log-keeping program for amateur radio operators\n\n\npropagation-app\n\nA simple android app for displaying HF and VHF propagation information\n\n\ntws-bs-x-morse\n\nPlatform-agnostic Rust driver for the TWS-BS series high-power wireless transmitter modules. This driver is specifically for sending data encoded as morse code\n\n\nwxbcn\n\nA project to create a local area CW beacon providing temprature and light level informaiton\n\n\ntwentytwo\n\nA Minecraft server plugin that adds a new music disc type\n\n\nrayray-demo\n\n3D rendering 3D objects, ray-traced in 3D. An experiment\n\n\nmaven-edge\n\nTools to deploy personal maven edge servers anywhere, any time\n\n\nmathutils-rs\n\nRust port of my MathUtils library\n\n\nbasic-control\n\nBasic systems and controllers for Python\n\n\ncontrol-rs\n\nRust ports of various basic control loops and systems\n\n\nmathutils-py\n\nPython port of MathUtils\n\n\nbionic\n\nA robotics framework\n\n\nglass-engine\n\nA dead simple 2d game engine build from past experience\n\n\nupdate-notifier\n\nA small Java library to provide software update notifications to users\n\n\nplugin-core\n\nCore API shared across my Spigot / PaperMC plugins\n\n\nrq\n\nA scalable rendering pipeline\n\n\njarcon\n\nA lot of recon in a little bit of jar (A tool for hiding telemetry services in Java applications)\n\n\nSDRInterface\n\nWeb front-end for my WebSDR server\n\n\nMapLink\n\nThe missing link between Dynmap and your Minecraft client\n\n\nhookback\n\nRemote monitoring for Java applications\n\n\nChatBridge\n\nBridge Minecraft chat to a Discord channel\n\n\nPlayerStats\n\nA Minecraft server plugin for tracking client-server activities\n\n\nsdrexplorer\n\nA web tool for exploring WebSDR servers globally\n\n\ntooltips\n\nMeta extensions to Java, allowing custom tooltips in source\n\n\nVarStrings\n\nNon-constant String types for Java\n\n\nLiteIO\n\nA lightweight HAL for systems I commonly use\n\n\nopenbandplan\n\nA web-viewer for ITU region 2 band plans\n\n\nbaremetal-avr\n\nC++ tools for working with AVR microprocessors\n\n\nAutoBCN\n\nSimple CW beacon driver\n\n\nrepeaterbook2gqrx\n\nA tool for exporting a list of repeaters from RepeaterBook as a GQRX bookmark file\n\n\nkoctl\n\nA tool for interacting with Kobo hardware on-device\n\n\nRayJava\n\nRaylib bindings to Java using cross-compiled JNI\n\n\nrayconsole\n\nA graphical debug console for use in Java RayLib applications\n\n\ncodestyle.css\n\nCodeStyle is a small CSS+JS project I built to nicely style Kramdown code blocks\n\n\ntoy.social\n\nA personal learning project where I create a simple social platform for sharing text-based posts\n\n\nnativetools\n\nMy personal toolchain for developing code using the Java Native Interface\n\n\nrules_teensy\n\nA collection of Bazel rules for the teensy microcontroller family\n\n\nxlog\n\nCross-platform PWA for logging radio contacts, and syncing between devices\n\n\nopen-london\n\nA simple API for querying data about the city of London Ontario\n\n\nrepeatermap\n\nAn interactive map showing VHF and UHF amateur radio repeaters throuought the world\n\n\nrobolib\n\nA Python library containing various tools I developed during my time in highschool robotics\n\n\nno-wurst-logo\n\nA small fabric mod to completely disable the Wurst client logo\n\n\nquicksds\n\nA small Python library that extends dataclasses to allow packing and unpacking\n\n\nREGEXResolver\n\nA small and simple asset resolver for the Pixar USD framework, based on REGEX rules\n\n\nflashbg\n\nFlash BattleGrounds is a fast-paced multiplayer arena battle game\n\n\namongus_hooks\n\nA Python library for interacting with a local instance of Among Us on a Windows host\n\n\nmobile_cv_passthrough\n\nAn experimental Android app for running basic OpenCV video pipelines on-device\n\n\ndynmap_heatmap\n\nA GUI tool to generate a real-time heatmap of the positions of Minecraft players via the Dynmap API\n\n\nvscode-poetry\n\nVisual Studio Code extension for the Poetry build tool\n\n\nquickxor\n\nA tool and file format for encoding and decoding data with an ASCII key\n\n\nfastrender\n\nQuick, simple, and easy to use graphics\n\n\nlaunchlib\n\nInteract with MIDI controllers\n\n\nlp2joy\n\nConvert Novation Launchpad inputs to Joystick buttons\n\n\nsmtp-send\n\nA tool for sending email using direct SMTP connection\n\n\nbackblaze\n\nRendering improvements for Minecraft\n\n\nthirdparty-mod-docs\n\nAutomatic Javadoc generation for other people's Minecraft mods\n\n\nvoxelmc-pipeline\n\nSponge schematic -> VOX data processing pipeline\n\n\ngrafana-nt\n\nA Grafana datasource for NetworkTables servers\n\n\nsnapfinder\n\nA tool for scraping snapchat accounts out of instagram bios\n\n\nrandomart\n\nGenerates SSH randomart from any file\n\n\nmc-analytics\n\nA tool for analyzing Minecraft server logs\n\n\ntextual\n\nA web graphics engine based around visual story telling\n\n\noffload\n\nMulti-host hardware interfaces with RPC-over-serial\n\n\ncombat-tracer\n\nAdds the \"Tracing\" enchantment to Minecraft, allowing the player to mark entities by hitting them\n\n\namongus-hacking\n\nPlaying with the Among Us multiplayer protocol\n\n\nremoduino\n\nA project to turn AVR-based Arduino devices into scriptable devices over UART\n\n\njekyll-wiki\n\nA small and lightweight jekyll wiki theme\n\n\ncoreserv\n\nFast and easy minecraft server hosting inside a docker container\n\n\nicebucket\n\nA small server-side plugin to allow players to add frost-walker to an iron bucket\n\n\nplayergraph\n\nGraph the vitals of every player on a Minecraft server in real time\n\n\nmapcap\n\nA tool for taking \"screenshots\" of a minecraft map by hooking into dynmap\n\n\nshift3\n\nA fast re-implementation of https://github.com/Ewpratten/shift\n\n\ndynfolio\n\nDynfolio is a web tool for displaying your Instagram profile as a photography portfolio\n\n\ntinygc\n\nA small learning experiment in garbage collection\n\n\nshotpredict\n\nShotPredict is a software library for predicting the trajectory of objects launched through the air\n\n\nbackblast\n\nThe UI/UX framework I use for web frontends when I don't want to do web work\n\n\nobfuj\n\nA demonstration of visually obfuscating Java code\n\n\nsimple-sensor-fusion\n\nA small Java library and Android webapp for pose estimation of an FRC robot\n\n\nSnapAbuse\n\nA script for quickly dealing with spam snapchat accounts to determine what they are trying to do.\n\n\nfsession\n\nA simple library for sorting files based on the current session\n\n\nsliding-arm-manipulation\n\nA project to design a system with a single jointed arm on a slider\n\n\ntapatalk-api\n\nInteract with tapatalk via Python\n\n\nbust_scripts\n\nExperimental bustabit betting scripts\n\n\ncelltrackd\n\nA tool for tracking people based on their network connectivity\n\n\nvessl\n\nAn experiment in isometric game development\n\n\nstatix\n\nEasily configurable and scriptable status bars\n\n\ntvdsb-student-life\n\nThe TVDSB Student Life app\n\n\nrules_avr\n\nBazel rules for build code using AVRC \n\n\nroborank\n\nA tool for ranking FRC teams\n\n\nlearning-drake\n\nSource code from my process of learning how to use DRAKE\n\n\ndriverstation\n\nA tool for transmitting X-Input data to robot controllers running FRCNetComm\n\n\newvector\n\nVectors, Quantities, and Sizes\n\n\nyubiparse\n\nA simple library for parsing yubikey OTP strings\n\n\ntictacsolve\n\nA program for deciding the optimal move in tac-tac-toe for any given board state\n\n\nRayzor2\n\nA faster implementation of the Rayzor rendering engine\n\n\nlibJames\n\nQuery @rsninja722's life from inside Python\n\n\nPathChaser\n\nAn experiment in autonomous movement inside an urban environment\n\n\npixypose\n\nAn experiment in pose estimation with computer vision\n\n\npysnapcode\n\nPython scripts for working with snapcodes\n\n\nswarm\n\nA virtual experiment in swarm-based robotics\n\n\nhomebase\n\nA webapp for tracking meeting participants\n\n\nGhostStat\n\nShare your Google Fit or Apple HealthKit stats in SnapChat\n\n\nsnapterm\n\nShare your terminal to SnapChat\n\n\ncontainerFIRST\n\nAn entire FRC software development toolsuite in a Docker container\n\n\npastefs\n\nA filesystem based around hosting your files in someone else's cloud\n\n\nguikit\n\nBuild simple GUI programs in Java (an extension of PicoEngine)\n\n\n\nLanguage statistics\nWow! You made it to the end of the list!\nAs a reward, here are some language statistics for the project list above. This does not include all languages, just the first few I queried from GitHub off the top of my head.\n\n","id":"https://ewpratten.com/blog/unfinished-projects/","title":"Unfinished projects and failed ideas"},"https://ewpratten.com/blog/vanilla-plus-mods/":{"body":"The base game\nStarting out at the base game. I like to keep this fairly up-to-date. Right now, my base game is version 1.16.4. Along with the base game, my game launcher of choice, MultiMC, allows using a custom LWJGL version. I choose to use version 3.2.2, as it is the most stable for me.\nMod loading\nAnyone who has played Minecraft for long enough will remember back when installing a mod involved opening up the game JAR, and dropping new class files into it. Mod loaders essentially still do this, but they provide a much cleaner system for you, the user. For years, I used the Forge Mod Loader, but recently switched to the Fabric Mod Loader, as, in my opinion, the FabricMC documentation is much nicer to deal with.\nUnlike Forge, Fabric generally requires a helper mod to be installed called the Fabric API. This exists to provide user-friendly mappings to Minecraft code for mod developers.\nIn terms of versions, I am running Fabric Loader version 0.10.6+build.214, and API version 0.22.1+build.409-1.16.\nNetwork Protocol Translation\nOne of my least favorite parts of playing on multiple multiplayer servers is the need to constantly switch Minecraft versions to accommodate every server version I am playing on. For example, the server I talk about in my post about Minecraft chat over IRC is running version 1.16.3. You may have played on some high-end servers like Hypixel or MCCTF, where you can connect with any client version you want. These servers are both running Network Protocol Translation plugins that will convert between Minecraft server protocol versions as packets are sent and received.\nThis can also be set up on the client instead of the server, allowing a single client to connect to multiple server versions. I run both the Viaversion and Multiconnect mods, which together allow my 1.16.4 client to play on servers all the way down to 1.8.0.\nRendering\nOn the rendering side of the game, I run a few specialized mods to improve or replace various functions of Minectaft's built-in game renderer. Starting with the largest change, I use the Sodium renderer, which includes a large number of rendering improvements, and opens up some extra customizability to the user.\n\n\n\nThe developer of Sodium, @jellysquid3, has a few other rendering or rendering-related projects I use. Mainly: Phosphor, which makes large improvements to the game lighting engine, and Lithium which makes all-around improvements to the game.\nSpeaking of lighting, I also run Lamb Dynamic Lights, which allows you to illuminate the area around you when holding a torch (very helpful for mining). Anyone who remembers the old Not Enough Items mod, will remember that pressing F7 would bring up an overlay for viewing the light level of any block. I now use the Light Overlay mod to do the same thing.\nIn terms of \"nice to have\" rendering features, I have OKZoomer to give me Optifine-style camera zoom. I don't use Optifine anymore, but am a donator, so, to get my donator cape back on my client, I have the Minecraft Capes mod installed. Continuing to add small features to the game from Optifine, I use Connected Glass to add connected textures, Diagonal Panes to render glass panes and iron bars on diagonal angles, and Lambda Better Grass to connect grass textures together. For no particular reason, I also use Better Dropped Items to render dropped items better.\nFinally, a nice rendering mod to have is Dynamic FPS, which essentially stops game rendering when window focus is lost. This just improves your computer's performance when running Minecraft in the background.\nAudio engine\nNot many people know that mods exist to replace or improve Minecraft's audio engine. I quite enjoy using these mods, as the game becomes significantly more immersive. I use the Dynamic Sound Filters mod to add reverb to caves and the nether (the nether becomes quite scary when game sounds are turned up). Along with Dynamic Sound Filters, I also use a fairly ridiculous mod called Presence Footsteps. Presence Footsteps is a mod that detects the block each of your feet is standing on, and plays the appropriate sound. This means that walking on the line between two different blocks will play the block steps sounds alternating with each other. This mod also works with 4 legged mobs like horses, and even 8 legged mods.\nNot mods, but audio-related resource packs: Better Sounds improves upon many of Minecraft's sound resources and notably \"makes spiders sound creepy\". Also, the Orchestra Soundpack replaces many of Daniel Rosenfeld's great game soundtracks with even better orchestral soundtracks composed by Andreas Zoeller.\nUI tweaks\nI have a lot of UI tweak mods installed to provide me with the \"perfect\" game HUD.\nStarting with hotbar modifications, I use AppleSkin to show the nutritional value of whatever food item I am holding, and Giselbaer's Durability Viewer to show me the durability percentage of my armor, and handheld items.\nIn my inventory, I use Roughly Enough Items to provide crafting recipe lookup, a list of every item in the game, usages for items, and more. I also use Roughly Enough Resources as a plugin for Roughly Enough Items to provide extra information about mob loot and item / ore rarity in the world. When dealing with shulker boxes, it is annoying to constantly be placing them down to check their contents. For this, I use the Shulker Box Tooltip mod to show a box's contents when I hover over it, and the Shulker Box GUIs resource pack to color-code the shulker box GUI. Despite \"requiring Optifine\", this pack does not actually require Optifine to work.\n\n\n\nIn terms of HUD \"extras\", I use Here's What You're Looking At to show basic information about the block I am looking at. This is very helpful for me, as I am still learning what all the new 1.9+ blocks are. I also extend HWYLA with Hwyla Addon Horse Info to show me the stats of any horse I look at, and cAn i MiNe thIS bLOCk? to tell me the needed tool to harvest a specific block. I also use Game Info to tell me the world time in the upper left of my screen.\nIn the world, I use Orderly to show the health of mobs above their heads, and Name Pain, which will give player's names a red tint when they are low on health.\nUtility\nThere are a few small mods that I have installed to provide some nice-to-have information in game, like Chat Heads, which shows a player's face beside their chat messages, AuthMe, which allows you to switch accounts without restarting the game, Anti-Ghost, which fixes Minecraft's ghost block problem, BetterF3, which improves the game's F3 screen, Controlling, which allows you to search through the game's keybinds in an easier way, Craft Presence, which provides highly-customizable Discord Rich Presence data, Custom Selection Box, which makes the block you are looking at more distinct, Mod Menu, which is used by many mods to provide settings screens, Not Enough Crashes, which just brings you back to the title screen if something stops working, instead of closing the game, and Path Suggestion, which improves Minecraft command auto-complete.\nWorld map\nI hate writing down coordinates of various things, so I use Xaero's Minimap and World Map mods. These both provide in-world waypoints, and generate a map of everywhere you travel in the world.\n\n\n\nBuilding utilities\nI spend a lot of time programmatically editing and copying builds around between worlds and servers. I do this to make redstone templates, generate build platforms, and create Minecraft-based voxel art over on my Instagram page.\nTo do this, I use WorldEdit for most of the heavy lifting, Euclid to show me my WorldEdit selections as I create them, and Litematica to copy builds from servers to singleplayer worlds (since WorldEdit only works in singleplayer).\nWorld generation\nFinally, I use Terrestria, Traverse, Cinderscapes and Overworld Two to improve terrain generation, and \"spice up\" my worlds. \nNOTE: The first three of these mods introduce new blocks to the game, but do not cause issues in vanilla multiplayer games.\n","id":"https://ewpratten.com/blog/vanilla-plus-mods/","title":"How I have tweaked my Minecraft client to be 'just right'"},"https://ewpratten.com/blog/weatherballoon-lost/":{"body":"A news article was written about a project I was involved in. It's even headed by a photo I took!\n\nFrom the London Free Press:\n\nAn appeal is going out to the Keystone state after a London high school class found out weather balloons can get away on you.\nTheirs — part of a high-flying experiment they thought would travel about 100 kilometres, 150 km tops — drifted twice as far, crossing the Canada-U.S. border and coming down in a mountain valley in Pennsylvania, 300 kilometres away.\n\nRead the full article here\nOnce found on the American side of the border, a corresponding article was written by the Potter Leader-Enterprise:\n\nAt the school, principal Tracy Kio and fourth-grade science teacher Robert Raudenbush learned more about the balloons origins.\nThey had found that the balloon was part an experiment, launched more than a week ago from a football field in London, Ontario, Canada, by H.B. Beal Secondary school teacher Dung Tiet and 10 eager ninth-graders.\n\nRead the full article here\nThe balloon on the other side\n\n","id":"https://ewpratten.com/blog/weatherballoon-lost/","title":"We lost a weather balloon in another country"},"https://ewpratten.com/blog/why-i-carry-nfc/":{"body":"Im back with a quick little post about something I cary with me everywhere I go, EDC (Every-Day Carry) if you will.\nHow this started\nEarlier this year, my friend @hyperliskdev showed me a piece of \"fake ID\" he was given as a joke. After some experimentation, he noticed that, upon tapping it to his phone, he would get an error message about an un-formatted card.\nAfter hearing of this, I opened up NFC Tools on my phone and started playing. We had quite some fun with various settings and data, and I decided that I wanted a card too. I send a message to someone that I knew worked with these, and got myself 4 to play with.\nShenanigans\nUpon figuring out how to write to @hyperliskdev's card, we started out simple. We sent bits of text to eachother, and I eventually sent him a copy of my contact information, and bitcoin address. Then, came the real fun..\nBy setting the data type to external link, and the content to this totally not suspicious URL, we now had the perfect tool for derailing a lesson. An automatic Rick Roll card. Upon tapping this card to a phone, the youtube app would auto-play Rick Astley's Never Gonna Give You Up. After this discovery, people started asking to buy pre-configured cards from me 😆.\nAfter this came even more fun ideas:\n\nEnabling flashlights\nRebooting phones\nCalling phone numbers\nSending texts\nFilling phones with fake contacts\n\nPractical use\nI don't actually carry my cards around for messing with people but instead, use them for things like:\n\nCloning hotel access cards (being in a room of 4 with only 2 cards)\nCreating login cards for school printers (so I don't have to log in manually)\nSharing small amounts of data and links between phones\nGiving my contact info to people\n\nThanks to the NFC Tools app, pretty much everything is 3 taps and a swipe away. I strongly recommend picking up some cards for yourself if wou work with a large number of NFC-compatible systems.\nA/N\nOccasionally, I either have nothing in the works, or am working on some very boring and technical projects, so I look to post some fun content like this. Currently the latter of the options is true, and I wanted a quick break from writing networking code.\nLet me know what you think of this type of content!\n","id":"https://ewpratten.com/blog/why-i-carry-nfc/","title":"My weird piece of EDC"},"https://ewpratten.com/blog/windows-ssh/":{"body":"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.\nEnabling the OpenSSH service\nJust like many Linux machines, Windows uses the OpenSSH server internally. This used to be controlled by a feature flag in the \"Turn Windows features on or off\" dialog, but this can now be done through PowerShell (as a local administrator).\nFirst, we need to add the OpenSSH capability to Windows, and enable the service:\n# Add the capability\nAdd-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0\nStart-Service sshd\n\n# Start on boot\nSet-Service -Name sshd -StartupType 'Automatic'\n\nThis should also automatically configure the firewall, but you can manually verify this and enable the rules yourself if needed:\n# Check firewall\nGet-NetFirewallRule -Name *ssh*\n\n# If needed, add a firewall rule\nNew-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22\n\nSetting up key-based authentication\nWhile we are on the Windows side, it is a good idea to install Git and Git Bash from here. Then, inside Git Bash, run the following to generate SSH keys on the Windows server:\n# Generate\nssh-keygen.exe\n\n# View the public key\ncat ~/.ssh/id_rsa.pub\n\nOn your client (for me, a Linux laptop), you must generate SSH keys, and copy the public key over to the Windows server.\nThe path for the file in Windows depends on your user type. Regular users append their keys to C:\\Users\\<username>\\.ssh\\authorized_keys (remembering to change the <username>), whereas local admins must append their keys to C:\\ProgramData\\ssh\\administrators_authorized_keys, then update the permissions on that file with:\nicacls.exe \"C:\\ProgramData\\ssh\\administrators_authorized_keys\" /inheritance:r /grant \"Administrators:F\" /grant \"SYSTEM:F\"\n\nConfiguring SSH clients to automatically launch bash\nBy default, incoming SSH connections spawn a cmd.exe shell. I much prefer being dropped straight into Bash.\nTo do this, you must modify your client's ~/.ssh/config file to add a RemoteCommand. An example for one of my machines looks similar to:\nHost hostname\n\tHostName hostname.example.com\n\tRequestTTY force\n\tUser ewpratten\n\tRemoteCommand powershell \"& 'C:\\Program Files\\Git\\bin\\sh.exe' --login\"\n\nThe last line is the actual command to launch Bash (through PowerShell).\nUninstalling and disabling OpenSSH\nThis is a simple one-liner:\nRemove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0\n\n","id":"https://ewpratten.com/blog/windows-ssh/","title":"Configuring a native SSH server on Windows 10"},"https://ewpratten.com/blog/wrong-python/":{"body":"If you know me, you probably know of the many weird things I do with python. Most recent of which being this FizzBuzz implementation in one line of python code:\n_=[print(\"FizzBuzz\"[_*_%3*4:8--_**4%5] or _) for _ in range(101)]\n\nThis installment of \"weird things I do with python\" will not focus on one-liners (that's going on my todo list though). But instead, playing with Python's classes and object system.\nA quick introduction to classes\nIm going to assume that you, the reader, have some reasonable knowledge of how computers work, and OOP concepts. If you do not, there are many great online resources to help you out.\nAs a quick refresher, this is the Python syntax for a basic class:\nclass MyClass:\n\n # This is the constructor. __init__ is an overridable python built-in\n def __init__(self, arg1: int):\n\n # Here we set the class' scoped my_number to arg1\n self.my_number = arg1\n \n def printMyNumber(self):\n print(self.my_number)\n\nThis is really just a fancy setter and getter. Here is some example usage:\nmy_object = MyClass(10)\nmy_object.printMyNumber() # Prints 10\n\nNoticing something odd\nBefore reading the following, keep in mind that (as of now) I have not actually looked at the Python interpreter's source code enough to know about their memory system. The following is just an educated guess.\nLooking at any python class, you may notice that at least 1 argument is required. self is used to access the class' data from itself. This is not present in most other languages I know, which means there might be something interesting happening behind the scenes. Here is a re-implementation of MyClass from above in java:\npublic class MyClass {\n int my_int;\n\n public MyClass(int arg1){\n my_int = arg1;\n }\n\n public void printMyNumber(){\n System.out.println(my_int);\n }\n}\n\nNotice the fact that there is no self? Yet Java methods can still access class data.\nImplementing objects in a non-object oriented language\nIn a non-OOP language (like C), objects can be faked by creating structures and some standard functions. These functions then take a pointer to their \"parent\" structure. Confusing? yes. But it works, and I see it used all over the place. Here a pseudocode example:\nstruct MyClass {\n int my_int; // Scpoed int\n}\n\nfn printMyNumber(MyClass* self){\n print(self.my_int);\n}\n\n\nprintMyNumber takes a pointer to it's \"parent class\", called self. Look familiar? This is how Python works.\nLet's do some Python\nAlright.. Time for some \"broken\" Python. Here is yet another implementation of MyClass, except this time, each function is globally scoped:\n\n# Private, globally scoped functions\ndef _init_myclass(self, arg1: int):\n self.my_number = arg1\n\ndef _myclass_printMyNumber(self):\n print(self.my_number)\n\n\n# struct-like class containing function pointers\nclass MyClass:\n\n __init__ = _init_myclass\n printMyNumber = _myclass_printMyNumber\n \n\nThis code will still function like a normal class. Unlike a regular class definition, the above code defines the constructor and printMyNumber methods in the global scope (marked as private with an underscore). A class is then created with function pointers to each of the global functions. This means that calling MyClass.printMyNumber will point to, and execute _myclass_printMyNumber. The interpreter still treats the underscore functions as members of MyClass, and passes the self argument along to them.\nWhy?\nI have absolutely no idea why this would ever be useful. If you think you should start doing this in your code, don't. It leads to very messy and confusing code, and is bad practice in just about every way. \nThe point of this post is to show yet another instance of the Python interpreter saying \"idgaf\", and letting us have a little fun.\n","id":"https://ewpratten.com/blog/wrong-python/","title":"Doing Python OOP the wrong way"},"https://ewpratten.com/blog/year-wrapup/":{"body":"So, whats up with 2020? For readers who do not know me personally, here is a quick overview:\n\nI made over 6000 commits to over 300 open source projects\nI passed both 300 and 400 GitHub repositories on my account (and am on track to pass 500 any second)\nI lead software development at Raider Robotics for my third year\nI published my largest open source project\nI got to do a summer internship at Toronto-based animation studio Industrial Brothers, working on pipeline software\nThis website now gets over 300 readers per month (wow!)\n\nRobotics\nThis year, I packed a lot of robotics work into a small amount of time. Starting in the first week of January, through the beginning of March, I worked with close to 100 other highschool students at Raider Robotics to develop our most successful robot of recent time: Darth Raider. \n\n\n\nThe full source code and tooling for this robot is public\n\nThis robot brought us all the way to the finals of our only competition this year (before the world got shut down). It was only in the finals that we finally lost our winning streak (and strong #1 place) due to some questionable scoring and a broken component on one of our teammate's robots.\nOn the software side of this machine, I pushed to switch the core development language over to Java, which went very well, and the team seems to be on track to stay with this new language and toolset for the forseeable future. This year, we pushed very hard towards our goal of letting software handle as much of the \"hard work\" of operation as possible. In previous years, our robots mainly acted as stupidly expensive RC cars with custom controls, but this year, we wanted to offload tasks prone to human error to computers. \nWe were able to design a fully autonomous shooting system using high-speed computer vision, real-time path planning, and ball trajectory models to allow our operators to make the robot score game pieces by pressing and holding a single button. On top of this scoring system, Darth Raider featured fully autonomous and real-time-error-correcting spatial navigation, allowing us to input a list of goal coordinates for the robot to navigate to efficiently. The final large autonomously controlled system of this robot was known as the \"hopper\"; a long tunnel for storing and stacking balls. This system was 100% software controlled, and made use of an amazing predictive sorting system developed by @rsninja722 that would perfectly align balls as they were fed in to the robot. Below is a clip taken from semi-finals where we wrote an experimental system that allowed us to essentially use two completely separate robots as one, effectively doubling our gamepiece storage capacity from our max 4 balls to 7. (Big thanks to the Falcons for letting us subject them to this experiment.)\n\nFor a few months after we finished competing, I went on to publish my largest open source project to date: Lib5K. \n\nLib5K is the software library that powers the Raider Robotics control system. It originally started as a summer project by @ewpratten back in the 2018 offseason. [...] Lib5K development really picked up during summer 2019, where the library (and all of Raider Robotics development) switched from C++ to Java Native. This switch also brought a lot of the core features to Lib5K, and the whole team got involved in development during the 2020 season. [source: Lib5K Wiki]\n\nMy goal with Lib5K was to design a way for myself to pass along my knowledge and learnings to future team members in an easy-to-digest way. According to internal team productivity metrics, I have made around 650,000 edits to this library, making it my most contributed-to project ever.\nPersonal projects\nDuring a rewrite of this website I did earlier this year, I implemented a new section on the homepage, where I list all of my major projects. This list is ever-growing, and generally a good place to see what I am working on.\n\nAll the code I have written this year has lead to the need to build a plethora of common software libraries in my three main languages: Python, Java, and C/C++. Through the process of building these, I have picked up many new skills like: properly unit-testing software, building reliable library distribution systems, and extensively documenting code.\nIn the web world, I have learned to work with JamStack, and have deployed many serverless / lambda-powered web applications, mostly based on Flask or Jekyll. A list of my repositories that use these technologies can be found here. \nI have also picked up low-level programming for systems running on the AVR Microprocessor architecture. I have found AVR programming to be a fun and generally easy way to learn about very low-level computing: interrupts, timers, I/O, serial busses, memory management, etc. I also used this as an opportunity to learn how to use a powerful new build system developed by Google, called Bazel. Many of my projects this year have been shifting over to build with Bazel as I really enjoy the build environment and tooling available. I have also used Bazel to build my popular school note-taking system.\nA list of the over 200 personal projects I have worked on this year (including unfinished projects) can be found with this query.\nFinishing up\nI'll end this post with a few things that did not get to be their own major section:\nMy programming challenge\nPeople who know me in real life know of a bit of a challenge I set for myself a while ago (although I don't actually try very hard to keep up). I have now gone a year without a break from programming any longer than three days (completely accidental), and two years without a break any longer than five days. (yes, this is the secret to how I have so many projects, I never stop writing code).\nThis website\nI have now experimented with three posting schedules for this website: monthly, bi-weekly, and weekly. Monthly posts were too spread-apart, and left this site feeling a little empty. I switched to weekly posting through the summer, which worked out great. Since school started again, I have moved to bi-weekly posts, writing each post a few weeks before publishing it (hover over the date of any post to see the date I wrote it). The bi-weekly system seems to be working very well, and I will likely stick to it until summer 2021, so enjoy more content fairly regularly (and remember to subscribe to my RSS Feed).\n","id":"https://ewpratten.com/blog/year-wrapup/","title":"2020 Wrap-Up"},"https://ewpratten.com/contact/":{"body":"Want to get in touch? Feel free to send me an email at contact@ewpratten.com. If you'd prefer a more casual chat, message me on Discord at ewpratten#9114.\nFind me elsewhere\n\nLinkedIn\nGitHub\nInstagram\nMastodon\nQRZ\nSpotify\nApple Music\nYouTube\nIMDb\nIETF Datatracker\n\nAS54041 network operations\nAS54041 operates with a selective peering policy. If you are interested in peering with this network, please send an email to noc@ewpratten.com. \nAll other network information may be found via:\n\nPeeringDB\nBGP.tools\n\n","id":"https://ewpratten.com/contact/","title":"Contact Information"},"https://ewpratten.com/donate/":{"body":"Please click here if you are not redirected.\n","id":"https://ewpratten.com/donate/","title":"Donate"},"https://ewpratten.com/events/":{"body":"","id":"https://ewpratten.com/events/","title":"Events"},"https://ewpratten.com/events/meme-month-2022/":{"body":"This event has passed. Page preserved for nostalgia.\nMeme Appreciation Month is an event organized by a bunch of LIDs as an excuse to put rediculous callsigns on the air a celebration of the funny internet pictures your parents don't understand during the period from June 25th to August 5th 2022.\nWho? ..asked?\nDuring the course of the event, the following callsigns will be active on air: \n\n VB4LIGMA\n VB3YEET\n VC9CATGIRL\n K3K\n VC3DEEZ\n VB3HARAMBE\n VC3RIKROLL\n TM1SSOU\n TM0WO\n TM0RBIN\n VB6DANK \n\nThe actual operators of these calls may (will) rotate throughout the event in order to get the most out of our money (cries in $60 event callsign fees).\n\nContacting us\nBetween the group of operators behind this event, we will keep the meme calls on air for most of the event, surely with enough dial spinning you too can add a meme call to your logbook.\n\n\n\n\n\n\n\n\n\nMissing out on the lolz? Move closer to Canada Try APRS!\nFor the duration of the event, VB3YEET will be active autonomously on APRS, listening for messages from near and far both via 144.39MHz and APRS-IS.\nSimply send a message to the SSID VB3YEET, wait for your automatic response, and enjoy your call being entered in the logbook within the week! All contacts through this method are marked as both FM and Digital in order to make LOtW happy. I (VA3ZZA) look forward to seeing a stupidly full logbook. Write something funny and I'll feature it in my post-event writeup.\nJoin the madness!\nThis mess is a little more organized than it appears on the surface. Want to join the fun?\n\n\n","id":"https://ewpratten.com/events/meme-month-2022/","title":"Meme Appreciation Month"},"https://ewpratten.com/hobbies/":{"body":"My hobbies\nAs my friends know very well, I do a lot of things. This section exists to keep track of it all. Feel free to click around and check out the things that interest me.\n\nAmateur Radio\nRobotics\nVisual and Creative Arts\n\nPhotography\n\n\n\nVideography\n\n\n\nAnimation\nAudio Production\n\n\n\n\nSoftware Development\n\nGames\nCompetitive Programming\nDiscord Bots\nGraphics Pipeline\nWeb Development\nControl Systems\nAutomation\n\n\nNetworking and Infrastructure\n\nVirtual and Physical networks\n\n\n\nMy public IPv4 block\nThe Freeform Internet Exchange Project\n\n\nLongboarding\nDrones\n\n","id":"https://ewpratten.com/hobbies/","title":"Hobbies"},"https://ewpratten.com/hobbies/radio/":{"body":"Hi, I'm VA3ZZA\nTying many of my hobbies together is Amateur Radio. I have been licensed with the callsign VA3ZZA since December 15th 2020.\nMy interest in amateur radio came in 2018, when I discovered with world of software-defined radios. In the time between discovering amateur radio and getting licensed I\n\nExperimented with decoding images from the NOAA-15, NOAA-18, and NOAA-19 satellites\nListened in to a few nets held on local repeaters using my SDRs\nBegun to learn morse code\nContinued to learn about various forms of radio communication through DEFCON talks, and presentations from various radio clubs online\n\nAfter getting licensed and receiving my callsign, I immediately got on the air (quite literally) and started participating in local nets, occasional simplex QSOs, and more.\nFinding me on the air\nI primarily operate 40m CW, and 70cm FM voice, with no particular schedule. If you hear me calling CQ, some say hi! I also beacon myself and my qth via APRS at regular intervals if you want to find me in-person. I also usually monitor Echolink in some form, so you may be able to reach me via my phone (#636611) or simplex node (#687289).\nTo see when I am calling CQ on the HF bands, check out the handy chart below:\n\nIf you would like to schedule a QSO with me, please contact me via my email at the top of this page.\nThe \"shack\"\nI operate from my college dorm, equipped with a Baofeng UV-5R, and an Elecraft KX2 HF Transceiver. I love both radios, and they nicely fit my plan of exclusively operating QRP.\nDue to the restrictions of operating indoors, during the winter months my HF antenna is a bent dipole made of scrap ethernet cables, and when I am outdoors I operate with an endfed-half-wave made of speaker wire.\nVA3ZZA-L\nVA3ZZA-L is my homebrew UHF simplex node. It is powered by a Raspberry Pi 3B+, feeding into a slightly modified generic USB sound card with a custom PTT circuit, then into an extra Baofeng UV-5R. Finally, this feeds into a UHF antenna I currently have mounted up high, attached to the side of the building I live in. The whole setup is running at 3W, and provides enough coverage for me to hit the node from anywhere on campus.\nIf you would like to call in to my node, dial up node number 687289 on any echolink-compatible repeater, node, or software client.\n","id":"https://ewpratten.com/hobbies/radio/","title":"VA3ZZA on the air"},"https://ewpratten.com/hobbies/robotics/":{"body":"Robotics\nMy first introduction to robotics was back in 2016, when myself and three other friends formed a competitive robotics team at our elementary school called the Star Trekies. My role on the team was both hardware prototyping and single-handedly programming the entire robot. At the time, I worked in NI's LabVIEW, which was something I quite enjoyed, and was a great learning experience.\nWhen presented with the question of which highschool I would apply to at the end of 8th grade, I specifically chose H.B. Beal Secondary School due to their well-known competitive robotics team, Raider Robotics, which later turned into a special-invite full-credit program at the school (conveniently counting towards my college requirements).\nIn my first season (2017-2018) with Raider Robotics, I worked on Q*bert as a programmer. I very quickly fell down the rabbit holes of both the software and hardware sides of robotics at the same time, and dedicated most of my time towards learning about real-time systems, and writing libraries to better the team. It was around this time I started work on one of my largest projects to date, Lib5K, a monolithic robotics library that can do literally everything Raider Robotics needs for their robots. Some information, documentation, and history on the project can be found here.\n\n\nRaider Robotics: Q*bert\n\nIn my second robotics season (2018-2019), I was nominated to the Lead of Software Development role, taking charge of a team of 12 software developers under me as well as taking on the responsibility of teaching new team members how to work with robotics systems, and in some cases, how to program in general. This season, I held an influential role in the design and implementation of our robot HATCHField. With HATCHField, my team and I developed crucial autonomous software that helped bring our team to the provincial championships in 2018. I got my first high-pressure hands-on experience with real-time computer vision, path planning, and autonomous path following during this robotics season.\n\n\nRaider Robotics: HATCHField\n\nFrom late 2018 to mid 2021, I worked on a testbed robot, named MiniBot. This robot was built by other team members, rebuilt during the very end of 2018 by myself and some other team members, then fully rebuilt by myself during 2019. MiniBot was used for prototyping hardware for other robots, as well as being a software and unit test testbed for myself and my software team.\n\n\nRaider Robotics: MiniBot\n\nIn my third, and technically final robotics season (2019-2020), I both took lead of the software development team, and played a highly influential role in the hardware design of our robot, Darth Raider. Darth Raider was a true technological spectacle, featuring many highly-integrated physical systems, tied together with many sensors, a multi-camera computer vision system, and high-performance fully-autonomous control software. \n\n\nRaider Robotics: Darth Raider\n\nAfter the 2019-2020 robotics season, Raider Robotics temporarily shut down due to COVID-19, but I continued work on MiniBot and Lib5K along with two other team members in an effort to provide as much information and tooling to the team before we all graduated highschool.\n","id":"https://ewpratten.com/hobbies/robotics/","title":"Robotics"},"https://ewpratten.com/hobbies/software/games/":{"body":"Game Development\nOne of many software fields I am interested in is game development. I have been developing small to medium sized games since around 10th grade, both for school projects and for fun.\nFlippyCat\nOne of the first games I remember finishing was called FlippyCat. FlippyCat was a Flappy Bird clone built by myself and my friend Carter with the goal of being intentionally hard and with low quality graphics. All assets were roughly hand-drawn and designed to look quickly thrown together to add comedic value. For this project, I built my own game engine from scratch, called PicoEngine, and also learned how to program paralax scrolling backgrounds.\n\n\nFlippyCat\n\nSLATE: Infiltration\nClosely following the FlippyCat project and as a part of the same computer science class, I built another game with my friend Silas called SLATE: Infiltration which was a text-based adventure game with portals and non-euclidean buildings. The whole project was a crazy learning experience. \nThe game's main concept was that you explored a building in search of a vault, except some of the rooms had doors that connected to rooms elsewhere on the map, essentially acting as portals. This raised an interesting problem of requiring rooms to be instanced and referenced to each other, which was a good way to learn about memory management and how to use pointers.\nOn top of the architectural challenges, we also opted to make the game as forgiving as possible input-wise. Other groups in our computer science class had lists of set commands one could use to interact with their games, but Silas and I wanted to essentially create our own mini natural language processing engine, which we did via a large eBNF definition set, and the ANTLR toolchain.\n\n\nThe drawing Silas and I made of the SLATE map\n\nMicromanaged Mike\nThe next year, in 2020, myself, James, Will, and Silas banded together to produce our first game jam game together for Ludum Dare 46, called Micromanaged Mike.\n\n\"Truly put your multitasking skills to the test as you help Mike do daily tasks, hard parts is, Mike doesnt have any autonomous body functions. You have to do everything for him, even making him blink.\"\n\nThe objective of the game was to get the main character, Mike, through his morning routine without letting him die. As the player, you were responsible for controlling each of Mike's limbs, plus manually beating his heart, making him breathe, and making him blink. We did use the word micromanaged in the title after all 😉\n\n\nMike, walking down some stairs\n\nDeep Breath\nParticipating in Ludum Dare quickly became a tradition for my friends and I. In early 2021, we participated in Ludum Dare 48, and produced the game Deep Breath. This time, the team consisted of myself, James, Will, and Cat.\n\n\"Deep Breath is an exploration game where you explore an underwater cave in hopes of finding your lost transponder. Items and upgrades can be acquired along the way to assist your search.\"\n\nThis was my first time going in-depth into shader programming, and I had a lot of fun on the whole project. For this game, we all decided to program in the Rust programming language, and none of us had any prior experience with it. So, as a group of four people, thrown into a new programming language and toolset, we did extremely well! I am very happy with this project, and everyone else on the team seemed to enjoy the experience.\n\n\nThe start of Deep Breath\n\n[data::loss]\nIn late 2021, I once again participated in Ludum Dare, this time with a whole new group of friends to help out. For both this and the previous game jam, I acted as the team lead, both writing the majority of the software, and also coordinating everyone involved in the project. \nThe team for our Ludum Dare 49 game, [data::loss] was made up of myself, Carter, Marcelo, Luna, Emilia, Kori, Emmet, James, and Taya. Managing a team of 9 was quite the challenge, but also very fun, and everyone thuroughly enjoyed the process and end result of this game.\n\n\"[data::loss] is a fast-paced side-scroller platforming game where you navigate a world full of graphical inconsistencies that have a habit of causing physical consequences.\"\n\nThe inspiration for [data::loss] was essentially: \"What if we made Geometry Dash, but it was infuriating to play?\" According to the game's reviews, we appear to have nailed that goal. Here are some of my favorites:\n\n\"Why would you make this game? Why would you do this to another person? Not everyone chose violence for this game jam. There was a game about a kobold making inventions out of junk to buy a nice rock. There was a physics game about mixing colored beads to make new colors. I saved some pirates from a dragon and some parrots in one game. This game took all my ideas of space and time and called them cringe. I dont know what pit of hell you came from, but I hope youre happy. 10/10.\"\n[DragonSheep]\n\n\n\"... Overall this is a great game, the art and music is awesome, and theres a good dose of humor and sass to the game. Awesome job!!\" \n[lukeoco1234]\n\n\n\"Great game, really liked the aesthetic, it takes what would be an already cool reflex based autorun game and enhances is it with unique challenges in the levels.\"\n[AidanV03]\n\n\n\n[data::loss] cover art\n","id":"https://ewpratten.com/hobbies/software/games/","title":"Game Development"},"https://ewpratten.com/music/":{"body":"My musical journey\n\n2022: Began releasing music under my own name\n2019: Produced multiple tracks with other students at Studio 225\n2016: Produced a full-length theatrical soundtrack for Lester B. Pearson SFTA\n2016: Released 8 albums\n2016: Released 5 albums\n2015: Released 11 albums\n2015: Formed RetryLife, an electronic music collective & distributor\n2015: Composed two orchestral pieces for Lester B. Pearson School for the Arts\n2013: Started playing upright bass\n2012-2014: Competed in multiple Drum Solo competitions, accidentally meeting some of my highschool friends 7 years before becoming friends with them\n2013: Formed Killer Hamsters, a metal-leaning rock band\n2012: Formed Lizard Ninjas, a rock band\n2011-2012: Played every variant of recorder I could get my hands on\n2010: Formed AMPED, a rock band. I was drummer and occasional vocalist\n2010: Started playing the drums\n2008: Started playing the piano\n\nStreaming platforms\n\nEvan Pratten\n\nSpotify\nApple Music\nYouTube\nAmazon Music\n\n\nRetryLife\n\nSpotify\nApple Music\n\n\n\n","id":"https://ewpratten.com/music/","title":"Music"},"https://ewpratten.com/music/evan-pratten/":{"body":"","id":"https://ewpratten.com/music/evan-pratten/","title":"Personal Music Projects"},"https://ewpratten.com/music/evan-pratten/channels/":{"body":"I just published a new song!\n\nChannels is available on most platforms. Notably:\n\nSpotify\nApple Music\nYouTube\n\n","id":"https://ewpratten.com/music/evan-pratten/channels/","title":"Channels"},"https://ewpratten.com/music/evan-pratten/festive-duality/":{"body":"\nFestive Duality is available on most platforms. Notably:\n\nSpotify\nApple Music\nYouTube\n\n","id":"https://ewpratten.com/music/evan-pratten/festive-duality/","title":"Festive Duality"},"https://ewpratten.com/music/evan-pratten/radioactive/":{"body":"\nRadioactive is available on most platforms. Notably:\n\nSpotify\nApple Music\nYouTube\n\n","id":"https://ewpratten.com/music/evan-pratten/radioactive/","title":"Radioactive"},"https://ewpratten.com/music/evan-pratten/scale-hop/":{"body":"\nScale Hop is available on most platforms. Notably:\n\nSpotify\nApple Music\nYouTube\n\n","id":"https://ewpratten.com/music/evan-pratten/scale-hop/","title":"Scale Hop"},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"body":"\nSpace & Time, Vol. 1 is available on most platforms. Notably:\n\nSpotify\nApple Music\nYouTube\n\n","id":"https://ewpratten.com/music/evan-pratten/space-time-1/","title":"Space & Time, Vol. 1"},"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"body":"\nSummer Tracks. is available on most platforms. Notably:\n\nSpotify\nApple Music\nYouTube\n\n","id":"https://ewpratten.com/music/evan-pratten/summer-tracks/","title":"Summer Tracks."},"https://ewpratten.com/music/retrylife/":{"body":"","id":"https://ewpratten.com/music/retrylife/","title":"RetryLife"},"https://ewpratten.com/music/retrylife/bring-the-onslaught/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/bring-the-onslaught/","title":"Bring the Onslaught"},"https://ewpratten.com/music/retrylife/death-among-us/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/death-among-us/","title":"Death Among Us"},"https://ewpratten.com/music/retrylife/enlarging-elaphants/":{"body":"\n","id":"https://ewpratten.com/music/retrylife/enlarging-elaphants/","title":"Enlarging Elaphants"},"https://ewpratten.com/music/retrylife/explosive-xmas/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/explosive-xmas/","title":"Explosive Christmas"},"https://ewpratten.com/music/retrylife/flare/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/flare/","title":"Flare"},"https://ewpratten.com/music/retrylife/gifted/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/gifted/","title":"Gifted"},"https://ewpratten.com/music/retrylife/hidden-forest/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/hidden-forest/","title":"Hidden Forest"},"https://ewpratten.com/music/retrylife/hypernova/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/hypernova/","title":"Hypernova"},"https://ewpratten.com/music/retrylife/imagined/":{"body":"\n","id":"https://ewpratten.com/music/retrylife/imagined/","title":"Imagined (Theatrical Soundtrack)"},"https://ewpratten.com/music/retrylife/insanitorium/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/insanitorium/","title":"Insanitorium"},"https://ewpratten.com/music/retrylife/intergalactic-swirlz/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/intergalactic-swirlz/","title":"Intergalactic Swirlz"},"https://ewpratten.com/music/retrylife/lemons/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/lemons/","title":"Lemons"},"https://ewpratten.com/music/retrylife/memories/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/memories/","title":"Memories From the Past"},"https://ewpratten.com/music/retrylife/project-39/":{"body":"\n","id":"https://ewpratten.com/music/retrylife/project-39/","title":"Project 39"},"https://ewpratten.com/music/retrylife/reborn/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/reborn/","title":"Reborn"},"https://ewpratten.com/music/retrylife/silent/":{"body":"\n","id":"https://ewpratten.com/music/retrylife/silent/","title":"Silent"},"https://ewpratten.com/music/retrylife/the-eternal/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/the-eternal/","title":"The Eternal"},"https://ewpratten.com/music/retrylife/xmas-02/":{"body":"\nAvailable on:\n\nSpotify\nApple Music\n\n","id":"https://ewpratten.com/music/retrylife/xmas-02/","title":"X-MAS 02"},"https://ewpratten.com/network/":{"body":"click here to be redirected\n\n\n\n","id":"https://ewpratten.com/network/","title":"Network"},"https://ewpratten.com/notes/":{"body":"Notes\nA list of smaller notes I have taken on things. Can be thought of as future blog posts.\n","id":"https://ewpratten.com/notes/","title":"Notes"},"https://ewpratten.com/notes/bgp-country-blocks/":{"body":"Hurricane Electric keeps a somewhat up-to-date list of ASNs registered to each country in the world. This is obtainable via:\nexport COUNTRY=CA # This is the country code to look up\ncurl -A \"asd\" https://bgp.he.net/country/$COUNTRY | grep -o -E \"AS([0-9]+)\" | sort | uniq\n# You should get a list of ASNs piped to stdout\n\nTwo types of filters are handy. Blackholing, and depreferring.\n","id":"https://ewpratten.com/notes/bgp-country-blocks/","title":"Blocking and depreferring BGP routes from specific countries"},"https://ewpratten.com/photography/":{"body":"My photo collections\n","id":"https://ewpratten.com/photography/","title":"Photography"},"https://ewpratten.com/photography/nova-scotia-2019/":{"body":"\n\n \n\n\n\n \n\n\nUltra-wides\n\n \n\n\n\n \n\n\nOther interesting photos\n\n \n\n\n\n \n\n\n\n \n\n\n","id":"https://ewpratten.com/photography/nova-scotia-2019/","title":"Photos from Nova Scotia"},"https://ewpratten.com/photography/quebec-2017/":{"body":"Back in 2017, I took a school-organized trip around Québec. My friends and I brought our cameras, loaded up on SD cards, and went all out with some pretty creative shots.\nWhile I was mainly focused on shooting video, I did take a few hundred photos along the way, and later edited them all to fit a sort of rough grainy theme I was playing around with at the time.\n\n\n \n\n\n\n \n\n\n\n \n\n\n\nI am quite fond of this one, a super wide shot made from stitching a bunch of photos together in Microsoft ICE}}.\n\n \n\n\n\n\n \n\n\n\n \n\n\n\nI also took a bunch of neat waterfall photos:\n\n \n\n\n\n \n\n\n\n \n\n\n","id":"https://ewpratten.com/photography/quebec-2017/","title":"A trip around Québec"},"https://ewpratten.com/photography/weatherballoon/":{"body":"\n\n","id":"https://ewpratten.com/photography/weatherballoon/","title":"H.B. Beal weather balloon launch photos"},"https://ewpratten.com/products/":{"body":"Products\nThis page contains various finished projects that you can use for yourself. \nThe following links may be useful for jumping around:\n\nVCV Rack Modules\n\n\nVCV Rack Modules\nThis section contains downloadable modules for VCV Rack, a virtual eurorack simulator. Click a module to learn more about it.\n\n\n\n\n\n","id":"https://ewpratten.com/products/","title":"Products"},"https://ewpratten.com/projects/":{"body":"\nMy Projects\nI work on many projects, and this page hilights some of the more polished ones. Viewer be warned: there is a lot to scroll through 😃\nTable of Contents\n\nVFX and Animation\n\nUSD in Docker\n\n\nGames\nKobo Ereader Hacking\n\nVFX and Animation\nI work in the animation industry, and as such some of the ideas I am unable to implement at work make their way into personal projects.\nUSD in Docker\n\n\nThis project aims to build an easy to use Docker container that contains everything needed for me to experiment with Pixar's Universal Scene Description (USD) in a safe and reproducible environment.\nView on: GitHub & Docker Hub\nGames\nI like to make one or two games each year with various groups of people.\nKobo Ereader Hacking\n\n\n","id":"https://ewpratten.com/projects/","title":"Projects"},"https://ewpratten.com/projects/chromebooks/":{"body":"In the early days of Chromebooks, I was an active member of the os and firmware hacking scene. I have long since moved on from development on Chomebooks, but a few old projects still stand.\nWhen I was working on these projects, the Chromium team had not opened up the ability to launch Linux applications to the public yet, so we would put our devices in developer mode, and work around the tight security sandbox manually.\nChromebrew\n\n\nI used to contribute to the Chromebrew project. Chromebrew is a community-driven package manager for CROS (Chrome OS) devices.\nDart on CROS\n\n\nAn automated installer for the Dart programming language on Chromebooks.\nView on: GitHub\nTerra on CROS\n\n\nAn automated installer for the Terra programming language on Chromebooks.\nView on: GitHub\n","id":"https://ewpratten.com/projects/chromebooks/","title":"Projects: Chromebook Hacking"},"https://ewpratten.com/projects/kobo/":{"body":"I got myself into the weird world of hacking ereaders a while back. Most Kobo products are just poorly secured Linux machines. These projects abuse various aspects of the firmware upgrade process to load custom code onto my ereader.\nKobo Rust Library\n\nkobo-rs is a minimal Rust library for interacting with modified Kobo e-readers. This is designed for use in applications running on the Kobo, not over the network.\nThis is my current core Kobo library used in various other (mostly private) projects.\nView on: GitHub\nKobo Tweaks\n\n\nThis project contains some of my earlier Kobo tweaks and tools, and was used as my initial bootstrapping environment for later work.\nView on: GitHub\nKoboSSH\n\nThe KoboSSH project contains the tools needed to compile dropbear for the arm-kobo-linux-gnueabihf system (all recent Kobo products). This binary is used for root shell access on Kobo devices which, in my case, is used to deploy and debug software on e-readers.\nView on: GitHub\nKoLib\n\n\nKoLib is a modern C++ library to assist in development of software targeting Kobo products. This project was superseded by my Kobo Rust library.\nView on: GitHub\n","id":"https://ewpratten.com/projects/kobo/","title":"Projects: Kobo Ereader Hacking"},"https://ewpratten.com/projects/minecraft/":{"body":"I tend to spend more time modifying Minecraft than I do actually playing the game. Most of the projects in this section were commissioned by friends.\nFrost Bucket\n\n\n\nFrostBucket is a server-side Minecraft plugin that adds a new item, the Frost Bucket. This item turns water into ice. The FrostBucket plugin does not have any intentional practical use, but just exists to satisfy a concept brought up on a late-night Discord call: \"What if you could put Frost Walker on a bucket?\"\nView on: GitHub\nBlood Cod Plugins\n\n\nThe Blood Cod Plugins pack is a monolithic server-side Minecraft plugin for use on a private survival multiplayer server. The goal of this plugin is to integrate the server history and lore into gameplay by providing custom NBT-backed items, crafting recipes, and advancements.\nFeatures include:\n\nGodlike powers for religious leaders\nAdvancements for various religious events\nAdvancements for entering various important areas\nNew craftable items:\n\nTank water of Cod\nBread of Cod\n\n\n\nView on: GitHub\nXANDGORT Powers\n\n\nXANDGORT Powers is a server-side Minecraft plugin that gives superpowers to my admin account. Primarily for messing around with misbehaving players on servers I manage.\nView on: GitHub\nContributor Capes\n\n\nContributor Capes is a lightweight Minecraft mod that allows modpack developers to award capes to project contributors.\nView on: GitHub\nMarketCap\n\n\nMarketCap is a Paper server plugin that scans all inventories in a world to estimate the number of certain items in circulation. Users may set up search filters and query the number of certain items in circulation.\nThis plugin was designed to keep track of currency distribution in a private server.\nView on: GitHub\nMinimapServer\n\n\nMinimapServer is an open-source re-implementation of xaero96's Minimap API for his popular Xaero's Minimap and Xaero's World Map Minecraft mods.\nThis is a server-side library, for use in other plugins.\nView on: GitHub\n","id":"https://ewpratten.com/projects/minecraft/","title":"Projects: Minecraft"},"https://ewpratten.com/projects/vfx/":{"body":"","id":"https://ewpratten.com/projects/vfx/","title":"Projects: VFX & Animation"},"https://ewpratten.com/search/":{"body":"\n \n\n\n\n\n\n","id":"https://ewpratten.com/search/","title":"Search"},"https://ewpratten.com/timeline/":{"body":"The Timeline\nThis page is an automatic reverse-chronological list of things I have worked on.\nAn rss feed is also available.\n","id":"https://ewpratten.com/timeline/","title":"Timeline"}},"docInfo":{"https://ewpratten.com/":{"body":98,"title":1},"https://ewpratten.com/blog/":{"body":4,"title":1},"https://ewpratten.com/blog/2020-11-6-vortex-core/":{"body":609,"title":5},"https://ewpratten.com/blog/2020-12-4-galliumos/":{"body":460,"title":2},"https://ewpratten.com/blog/32u4-upload/":{"body":291,"title":4},"https://ewpratten.com/blog/amprnet-bgp/":{"body":945,"title":7},"https://ewpratten.com/blog/bashsmash/":{"body":616,"title":1},"https://ewpratten.com/blog/bazel-and-avr/":{"body":677,"title":7},"https://ewpratten.com/blog/becomeranter/":{"body":185,"title":11},"https://ewpratten.com/blog/billwurtz/":{"body":263,"title":6},"https://ewpratten.com/blog/brainfuckinbash/":{"body":144,"title":4},"https://ewpratten.com/blog/buildingimgfrombin/":{"body":265,"title":4},"https://ewpratten.com/blog/codespaces-for-frc/":{"body":381,"title":4},"https://ewpratten.com/blog/commit-sync/":{"body":312,"title":5},"https://ewpratten.com/blog/corepack-development/":{"body":518,"title":5},"https://ewpratten.com/blog/cron/":{"body":186,"title":4},"https://ewpratten.com/blog/darth-raider/":{"body":24,"title":4},"https://ewpratten.com/blog/devdns/":{"body":160,"title":1},"https://ewpratten.com/blog/direwolf-aprs/":{"body":433,"title":4},"https://ewpratten.com/blog/drivetrain-navigation/":{"body":539,"title":6},"https://ewpratten.com/blog/fedora-36-vp/":{"body":82,"title":6},"https://ewpratten.com/blog/frc-languages/":{"body":105,"title":2},"https://ewpratten.com/blog/frc-tech-reference/":{"body":365,"title":5},"https://ewpratten.com/blog/gamels/":{"body":54,"title":6},"https://ewpratten.com/blog/github-cleanup/":{"body":176,"title":1},"https://ewpratten.com/blog/googlectf/":{"body":113,"title":8},"https://ewpratten.com/blog/gopro-webcam/":{"body":501,"title":4},"https://ewpratten.com/blog/graphing-w2a/":{"body":124,"title":6},"https://ewpratten.com/blog/hatchfield/":{"body":16,"title":3},"https://ewpratten.com/blog/java-cheatsheet/":{"body":255,"title":4},"https://ewpratten.com/blog/joystick-to-voltage/":{"body":613,"title":8},"https://ewpratten.com/blog/kbfs-maven/":{"body":513,"title":5},"https://ewpratten.com/blog/languagehunt2/":{"body":92,"title":4},"https://ewpratten.com/blog/lookback-gmad/":{"body":136,"title":4},"https://ewpratten.com/blog/ludumdare46/":{"body":353,"title":5},"https://ewpratten.com/blog/mindmap/":{"body":305,"title":4},"https://ewpratten.com/blog/minecraft-irc/":{"body":223,"title":5},"https://ewpratten.com/blog/monocular-blender/":{"body":619,"title":4},"https://ewpratten.com/blog/mounting-google-drives/":{"body":484,"title":6},"https://ewpratten.com/blog/nanovna/":{"body":195,"title":5},"https://ewpratten.com/blog/new-domain/":{"body":97,"title":2},"https://ewpratten.com/blog/notetaking-with-latex/":{"body":260,"title":4},"https://ewpratten.com/blog/personal-ases/":{"body":355,"title":4},"https://ewpratten.com/blog/printer-tunneling/":{"body":161,"title":5},"https://ewpratten.com/blog/pwnlink/":{"body":204,"title":2},"https://ewpratten.com/blog/python/":{"body":414,"title":3},"https://ewpratten.com/blog/qmk-vortex-core/":{"body":768,"title":4},"https://ewpratten.com/blog/quaternions/":{"body":706,"title":3},"https://ewpratten.com/blog/reading-a-bitmap/":{"body":573,"title":4},"https://ewpratten.com/blog/realtime-robot-code/":{"body":634,"title":3},"https://ewpratten.com/blog/rickrolling-the-internet/":{"body":576,"title":2},"https://ewpratten.com/blog/robot-experiences/":{"body":444,"title":5},"https://ewpratten.com/blog/running-roborio-native/":{"body":700,"title":5},"https://ewpratten.com/blog/scrapingfrcgithub/":{"body":489,"title":9},"https://ewpratten.com/blog/shift2/":{"body":335,"title":4},"https://ewpratten.com/blog/steam-controller-switch/":{"body":365,"title":5},"https://ewpratten.com/blog/styiling-github/":{"body":95,"title":5},"https://ewpratten.com/blog/udm-fan/":{"body":190,"title":4},"https://ewpratten.com/blog/ultralight-writeup/":{"body":480,"title":4},"https://ewpratten.com/blog/unfinished-projects/":{"body":1991,"title":4},"https://ewpratten.com/blog/vanilla-plus-mods/":{"body":828,"title":4},"https://ewpratten.com/blog/weatherballoon-lost/":{"body":113,"title":5},"https://ewpratten.com/blog/why-i-carry-nfc/":{"body":230,"title":3},"https://ewpratten.com/blog/windows-ssh/":{"body":254,"title":6},"https://ewpratten.com/blog/wrong-python/":{"body":335,"title":5},"https://ewpratten.com/blog/year-wrapup/":{"body":655,"title":3},"https://ewpratten.com/contact/":{"body":50,"title":2},"https://ewpratten.com/donate/":{"body":4,"title":1},"https://ewpratten.com/events/":{"body":0,"title":1},"https://ewpratten.com/events/meme-month-2022/":{"body":157,"title":3},"https://ewpratten.com/hobbies/":{"body":58,"title":1},"https://ewpratten.com/hobbies/radio/":{"body":244,"title":2},"https://ewpratten.com/hobbies/robotics/":{"body":326,"title":1},"https://ewpratten.com/hobbies/software/games/":{"body":510,"title":2},"https://ewpratten.com/music/":{"body":126,"title":1},"https://ewpratten.com/music/evan-pratten/":{"body":0,"title":3},"https://ewpratten.com/music/evan-pratten/channels/":{"body":11,"title":1},"https://ewpratten.com/music/evan-pratten/festive-duality/":{"body":9,"title":2},"https://ewpratten.com/music/evan-pratten/radioactive/":{"body":8,"title":1},"https://ewpratten.com/music/evan-pratten/scale-hop/":{"body":9,"title":2},"https://ewpratten.com/music/evan-pratten/space-time-1/":{"body":12,"title":4},"https://ewpratten.com/music/evan-pratten/summer-tracks/":{"body":9,"title":2},"https://ewpratten.com/music/retrylife/":{"body":0,"title":1},"https://ewpratten.com/music/retrylife/bring-the-onslaught/":{"body":4,"title":2},"https://ewpratten.com/music/retrylife/death-among-us/":{"body":4,"title":1},"https://ewpratten.com/music/retrylife/enlarging-elaphants/":{"body":0,"title":2},"https://ewpratten.com/music/retrylife/explosive-xmas/":{"body":4,"title":2},"https://ewpratten.com/music/retrylife/flare/":{"body":4,"title":1},"https://ewpratten.com/music/retrylife/gifted/":{"body":4,"title":1},"https://ewpratten.com/music/retrylife/hidden-forest/":{"body":4,"title":2},"https://ewpratten.com/music/retrylife/hypernova/":{"body":4,"title":1},"https://ewpratten.com/music/retrylife/imagined/":{"body":0,"title":3},"https://ewpratten.com/music/retrylife/insanitorium/":{"body":4,"title":1},"https://ewpratten.com/music/retrylife/intergalactic-swirlz/":{"body":4,"title":2},"https://ewpratten.com/music/retrylife/lemons/":{"body":4,"title":1},"https://ewpratten.com/music/retrylife/memories/":{"body":4,"title":2},"https://ewpratten.com/music/retrylife/project-39/":{"body":0,"title":2},"https://ewpratten.com/music/retrylife/reborn/":{"body":4,"title":1},"https://ewpratten.com/music/retrylife/silent/":{"body":0,"title":1},"https://ewpratten.com/music/retrylife/the-eternal/":{"body":4,"title":1},"https://ewpratten.com/music/retrylife/xmas-02/":{"body":4,"title":3},"https://ewpratten.com/network/":{"body":3,"title":1},"https://ewpratten.com/notes/":{"body":10,"title":1},"https://ewpratten.com/notes/bgp-country-blocks/":{"body":40,"title":6},"https://ewpratten.com/photography/":{"body":2,"title":1},"https://ewpratten.com/photography/nova-scotia-2019/":{"body":4,"title":3},"https://ewpratten.com/photography/quebec-2017/":{"body":58,"title":3},"https://ewpratten.com/photography/weatherballoon/":{"body":0,"title":6},"https://ewpratten.com/products/":{"body":32,"title":1},"https://ewpratten.com/projects/":{"body":77,"title":1},"https://ewpratten.com/projects/chromebooks/":{"body":73,"title":3},"https://ewpratten.com/projects/kobo/":{"body":121,"title":4},"https://ewpratten.com/projects/minecraft/":{"body":200,"title":2},"https://ewpratten.com/projects/vfx/":{"body":0,"title":3},"https://ewpratten.com/search/":{"body":0,"title":1},"https://ewpratten.com/timeline/":{"body":11,"title":1}},"length":116},"lang":"English"};