1

Finish migrating things

This commit is contained in:
Evan Pratten 2024-11-27 18:23:46 -05:00
parent cd65c29a9e
commit ebde2322d6
47 changed files with 23 additions and 104 deletions

View File

@ -31,7 +31,7 @@
<ul> <ul>
<li> <li>
<a href="mailto:evan@ewpratten.com"> <a href="mailto:evan@ewpratten.com">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" style="height: 1em; width: 1em;">
<path <path
d="M 3 8 L 3 26 L 29 26 L 29 8 Z M 7.3125 10 L 24.6875 10 L 16 15.78125 Z M 5 10.875 L 15.4375 17.84375 L 16 18.1875 L 16.5625 17.84375 L 27 10.875 L 27 24 L 5 24 Z" /> d="M 3 8 L 3 26 L 29 26 L 29 8 Z M 7.3125 10 L 24.6875 10 L 16 15.78125 Z M 5 10.875 L 15.4375 17.84375 L 16 18.1875 L 16.5625 17.84375 L 27 10.875 L 27 24 L 5 24 Z" />
</svg> </svg>
@ -40,7 +40,7 @@
</li> </li>
<li> <li>
<a href="https://linkedin.com/in/ewpratten"> <a href="https://linkedin.com/in/ewpratten">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" style="height: 1em; width: 1em;">
<path <path
d="M 7.5 5 C 6.132813 5 5 6.132813 5 7.5 L 5 24.5 C 5 25.867188 6.132813 27 7.5 27 L 24.5 27 C 25.867188 27 27 25.867188 27 24.5 L 27 7.5 C 27 6.132813 25.867188 5 24.5 5 Z M 7.5 7 L 24.5 7 C 24.785156 7 25 7.214844 25 7.5 L 25 24.5 C 25 24.785156 24.785156 25 24.5 25 L 7.5 25 C 7.214844 25 7 24.785156 7 24.5 L 7 7.5 C 7 7.214844 7.214844 7 7.5 7 Z M 10.4375 8.71875 C 9.488281 8.71875 8.71875 9.488281 8.71875 10.4375 C 8.71875 11.386719 9.488281 12.15625 10.4375 12.15625 C 11.386719 12.15625 12.15625 11.386719 12.15625 10.4375 C 12.15625 9.488281 11.386719 8.71875 10.4375 8.71875 Z M 19.46875 13.28125 C 18.035156 13.28125 17.082031 14.066406 16.6875 14.8125 L 16.625 14.8125 L 16.625 13.5 L 13.8125 13.5 L 13.8125 23 L 16.75 23 L 16.75 18.3125 C 16.75 17.074219 16.996094 15.875 18.53125 15.875 C 20.042969 15.875 20.0625 17.273438 20.0625 18.375 L 20.0625 23 L 23 23 L 23 17.78125 C 23 15.226563 22.457031 13.28125 19.46875 13.28125 Z M 9 13.5 L 9 23 L 11.96875 23 L 11.96875 13.5 Z" /> d="M 7.5 5 C 6.132813 5 5 6.132813 5 7.5 L 5 24.5 C 5 25.867188 6.132813 27 7.5 27 L 24.5 27 C 25.867188 27 27 25.867188 27 24.5 L 27 7.5 C 27 6.132813 25.867188 5 24.5 5 Z M 7.5 7 L 24.5 7 C 24.785156 7 25 7.214844 25 7.5 L 25 24.5 C 25 24.785156 24.785156 25 24.5 25 L 7.5 25 C 7.214844 25 7 24.785156 7 24.5 L 7 7.5 C 7 7.214844 7.214844 7 7.5 7 Z M 10.4375 8.71875 C 9.488281 8.71875 8.71875 9.488281 8.71875 10.4375 C 8.71875 11.386719 9.488281 12.15625 10.4375 12.15625 C 11.386719 12.15625 12.15625 11.386719 12.15625 10.4375 C 12.15625 9.488281 11.386719 8.71875 10.4375 8.71875 Z M 19.46875 13.28125 C 18.035156 13.28125 17.082031 14.066406 16.6875 14.8125 L 16.625 14.8125 L 16.625 13.5 L 13.8125 13.5 L 13.8125 23 L 16.75 23 L 16.75 18.3125 C 16.75 17.074219 16.996094 15.875 18.53125 15.875 C 20.042969 15.875 20.0625 17.273438 20.0625 18.375 L 20.0625 23 L 23 23 L 23 17.78125 C 23 15.226563 22.457031 13.28125 19.46875 13.28125 Z M 9 13.5 L 9 23 L 11.96875 23 L 11.96875 13.5 Z" />
</svg> </svg>

View File

@ -9,6 +9,6 @@
/maps/minecraft/* /games/minecraft/maps/:splat /maps/minecraft/* /games/minecraft/maps/:splat
# Nobody can standardize on an RSS url # Nobody can standardize on an RSS url
/rss /rss.xml /rss /rss.xml 301
/feed /rss.xml /feed /rss.xml 301
/feed.xml /rss.xml /feed.xml /rss.xml 301

View File

@ -57,8 +57,6 @@ body {
svg { svg {
display: inline-block; display: inline-block;
margin-right: 1px; margin-right: 1px;
height: 1em;
width: 1em;
filter: invert(9%) sepia(97%) saturate(6581%) hue-rotate(247deg) filter: invert(9%) sepia(97%) saturate(6581%) hue-rotate(247deg)
brightness(94%) contrast(144%); brightness(94%) contrast(144%);
} }

View File

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

View File

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 MiB

After

Width:  |  Height:  |  Size: 3.8 MiB

View File

Before

Width:  |  Height:  |  Size: 623 KiB

After

Width:  |  Height:  |  Size: 623 KiB

View File

Before

Width:  |  Height:  |  Size: 237 KiB

After

Width:  |  Height:  |  Size: 237 KiB

View File

Before

Width:  |  Height:  |  Size: 4.9 MiB

After

Width:  |  Height:  |  Size: 4.9 MiB

View File

Before

Width:  |  Height:  |  Size: 5.4 MiB

After

Width:  |  Height:  |  Size: 5.4 MiB

View File

Before

Width:  |  Height:  |  Size: 264 KiB

After

Width:  |  Height:  |  Size: 264 KiB

View File

Before

Width:  |  Height:  |  Size: 5.8 MiB

After

Width:  |  Height:  |  Size: 5.8 MiB

View File

@ -1,4 +1,5 @@
--- ---
layout: default
title: Amateur Radio title: Amateur Radio
--- ---

View File

@ -1,4 +1,5 @@
--- ---
layout: default
title: Morse Keys title: Morse Keys
--- ---
@ -14,26 +15,26 @@ Key features are:
- A volume adjustment knob - A volume adjustment knob
- A buzzer to make a sound when the key is pressed - A buzzer to make a sound when the key is pressed
![My practice key](/images/hobbies/radio/keys/practice-key.jpg) ![My practice key](/assets/radio/keys/practice-key.jpg)
I later ended up modifying it to use two paperclips and wrote some software to turn it into an iambic keyer. I later ended up modifying it to use two paperclips and wrote some software to turn it into an iambic keyer.
Another variation of this existed for portable use. I also wrote out a little morse code cheat sheet on the back incase I got stuck on something while practicing. Another variation of this existed for portable use. I also wrote out a little morse code cheat sheet on the back incase I got stuck on something while practicing.
![Portable practice key](/images/hobbies/radio/keys/portable-practice-key.jpg) ![Portable practice key](/assets/radio/keys/portable-practice-key.jpg)
## Paperclip straight key ## Paperclip straight key
Inspired by my practice key, I've occasionally used paperclips as straight keys into my HF radio. Inspired by my practice key, I've occasionally used paperclips as straight keys into my HF radio.
![Paperclip straight key](/images/hobbies/radio/keys/paperclip-straight.jpg) ![Paperclip straight key](/assets/radio/keys/paperclip-straight.jpg)
## PCIe key ## PCIe key
Back when my only HF radio was a [Pixie QRP kit](/radio/pixie), I built a simple straight key out of a PCIe slot cover. Back when my only HF radio was a [Pixie QRP kit](/radio/pixie), I built a simple straight key out of a PCIe slot cover.
![PCIe key](/images/hobbies/radio/keys/pcie-key-v1.jpg) ![PCIe key](/assets/radio/keys/pcie-key-v1.jpg)
A little while later, I redesigned this key to use some scrap wood as its base. I still occasionally this key, but I find the metal-on-metal clacking sound it makes to be a little annoying. A little while later, I redesigned this key to use some scrap wood as its base. I still occasionally this key, but I find the metal-on-metal clacking sound it makes to be a little annoying.
![PCIe key with wood](/images/hobbies/radio/keys/pcie-key.jpg) ![PCIe key with wood](/assets/radio/keys/pcie-key.jpg)

View File

@ -1,4 +1,5 @@
--- ---
layout: default
title: Meme Appreciation Month title: Meme Appreciation Month
description: Come chat with young hams, and join the meme madness! description: Come chat with young hams, and join the meme madness!
aliases: aliases:

View File

@ -1,13 +1,14 @@
--- ---
layout: default
title: Pixie title: Pixie
--- ---
My first HF radio was a Pixie QRP kit that I assembled myself back in 2019. My first HF radio was a Pixie QRP kit that I assembled myself back in 2019.
![](/images/hobbies/radio/pixie/original.jpg) ![](/assets/radio/pixie/original.jpg)
I later purchased a tin of Altoids mints which got turned into a case for the radio. I later purchased a tin of Altoids mints which got turned into a case for the radio.
![](/images/hobbies/radio/pixie/altoids-case-1.jpg) ![](/assets/radio/pixie/altoids-case-1.jpg)
![](/images/hobbies/radio/pixie/altoids-case-2.jpg) ![](/assets/radio/pixie/altoids-case-2.jpg)

View File

@ -1,10 +1,11 @@
--- ---
layout: default
title: Darth Raider title: Darth Raider
--- ---
**Darth Raider** was a 4-foot-tall 120lb robot that myself and a group of friends designed, built, and programmed at [*Raider Robotics*](https://raiderrobotics.org/?utm_source=ewpratten.com) back in 2020. I personally lead software development for the project, and also played a key part in guiding the physical design of the robot. **Darth Raider** was a 4-foot-tall 120lb robot that myself and a group of friends designed, built, and programmed at [*Raider Robotics*](https://raiderrobotics.org/?utm_source=ewpratten.com) back in 2020. I personally lead software development for the project, and also played a key part in guiding the physical design of the robot.
<img src="/images/projects/darthraider.png" alt="Darth Raider" style="max-width:400px;"> <img src="/assets/robotics/5024/darthraider.png" alt="Darth Raider" style="max-width:400px;">
**Darth Raider** carried a 15-4-0 WLT record, and was ranked #1 at the *FIRST Robotics Humber College ONT District Event*. This success ranked Raider Robotics as the 8th best robotics team in all of Canada for the 2020 competition season. **Darth Raider** carried a 15-4-0 WLT record, and was ranked #1 at the *FIRST Robotics Humber College ONT District Event*. This success ranked Raider Robotics as the 8th best robotics team in all of Canada for the 2020 competition season.

View File

@ -1,9 +1,8 @@
--- ---
layout: default
title: My work at Raider Robotics title: My work at Raider Robotics
--- ---
I was a member of [Raider Robotics](https://raiderrobotics.org) (a competitive robotics team) from 2017 through 2021. I was a member of [Raider Robotics](https://raiderrobotics.org) (a competitive robotics team) from 2017 through 2021.
During my time on the team, I was the lead software developer. This role involved devising and giving lessons on embedded programming to other students, creating high-level system designs, coordinating a team of other developers, and writing code (*lots* of code). During my time on the team, I was the lead software developer. This role involved devising and giving lessons on embedded programming to other students, creating high-level system designs, coordinating a team of other developers, and writing code (*lots* of code).
@ -26,7 +25,7 @@ By obtaining real-time position deltas in robot-space, I was able to build path
<div style="max-width:200px;margin:auto;"> <div style="max-width:200px;margin:auto;">
<video controls style="width:100%"> <video controls style="width:100%">
<source src="/videos/robotics/5024/vision_v1.mp4" type="video/mp4"> <source src="/assets/robotics/5024/vision_v1.mp4" type="video/mp4">
Your browser does not support the video tag. Your browser does not support the video tag.
</video> </video>
</div> </div>
@ -35,7 +34,7 @@ By obtaining real-time position deltas in robot-space, I was able to build path
<div style="max-width:200px;margin:auto;"> <div style="max-width:200px;margin:auto;">
<video controls style="width:100%"> <video controls style="width:100%">
<source src="/videos/robotics/5024/vision_v2.mp4" type="video/mp4"> <source src="/assets/robotics/5024/vision_v2.mp4" type="video/mp4">
Your browser does not support the video tag. Your browser does not support the video tag.
</video> </video>
</div> </div>
@ -44,7 +43,7 @@ By obtaining real-time position deltas in robot-space, I was able to build path
<div style="max-width:500px;margin:auto;"> <div style="max-width:500px;margin:auto;">
<video controls style="width:100%"> <video controls style="width:100%">
<source src="/videos/robotics/5024/vision_v3.mp4" type="video/mp4"> <source src="/assets/robotics/5024/vision_v3.mp4" type="video/mp4">
Your browser does not support the video tag. Your browser does not support the video tag.
</video> </video>
</div> </div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 888 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 952 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 893 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 958 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 842 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 640 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 968 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 359 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 KiB

View File

@ -1,83 +0,0 @@
// Configure the maps (center on Toronto)
var analog_rpt_map = L.map('analog-repeater-map').setView([43.6532, -79.3832], 8);
// Add OSM base map
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 18
}).addTo(analog_rpt_map);
// Process repeater tables
var analog_repeaters = Array.from(document.querySelectorAll("#analog-repeaters tbody tr")).map(function (row) {
console.log(row);
return {
callsign: row.cells[0].innerText,
downlink: row.cells[1].innerText,
uplink: row.cells[2].innerText,
pl_tone: row.cells[3].innerText,
grid: row.cells[4].innerText,
latitude: row.cells[4].querySelector("span").attributes["lat"].value,
longitude: row.cells[4].querySelector("span").attributes["lon"].value,
reach: row.cells[5].innerText.split(" ")[0],
linked_repeaters: row.cells[6].innerText.split(", ")
};
});
// Add repeater markers
analog_repeaters.forEach(function (repeater) {
console.log(repeater);
var marker = L.marker([repeater.latitude, repeater.longitude]).addTo(analog_rpt_map);
marker.bindPopup(`<b>${repeater.callsign}</b>`);
// marker.setIcon(L.divIcon({
// className: 'repeater-marker',
// iconSize: [16, 16]
// }));
});
// Draw the coverage areas
analog_repeaters.forEach(function (repeater) {
if (repeater.reach != "") {
var coverage = L.circle([repeater.latitude, repeater.longitude], {
color: 'gray',
opacity: 0.25,
fillColor: 'gray',
fillOpacity: 0.05,
radius: repeater.reach * 1000
}).addTo(analog_rpt_map);
coverage.bindPopup(`${repeater.callsign} coverage`);
}
});
// Draw the repeater links
analog_repeaters.forEach(function (repeater) {
repeater.linked_repeaters.forEach(function (linked_repeater) {
// Find that repeater
var linked_repeater_obj = analog_repeaters.find(function (obj) {
return obj.callsign === linked_repeater;
});
if (linked_repeater_obj) {
var link = L.polyline([
[repeater.latitude, repeater.longitude],
[linked_repeater_obj.latitude, linked_repeater_obj.longitude]
], {
color: 'gray',
weight: 2,
opacity: 0.75
}).addTo(analog_rpt_map);
link.bindPopup(`${repeater.callsign} to ${linked_repeater_obj.callsign}`);
}
});
});
// Add a custom CSS style for the markers
// document.head.insertAdjacentHTML('beforeend', `
// <style>
// .repeater-marker {
// background-image: url("/dist/icons8/antenna.png");
// background-size: cover;
// background-position: center;
// border: 1px solid grey;
// border-radius: 50%;
// }
// </style>`
// );