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>
<li>
<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
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>
@ -40,7 +40,7 @@
</li>
<li>
<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
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>

View File

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

View File

@ -57,8 +57,6 @@ body {
svg {
display: inline-block;
margin-right: 1px;
height: 1em;
width: 1em;
filter: invert(9%) sepia(97%) saturate(6581%) hue-rotate(247deg)
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
---

View File

@ -1,4 +1,5 @@
---
layout: default
title: Morse Keys
---
@ -14,26 +15,26 @@ Key features are:
- A volume adjustment knob
- 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.
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
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
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.
![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
description: Come chat with young hams, and join the meme madness!
aliases:

View File

@ -1,13 +1,14 @@
---
layout: default
title: Pixie
---
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.
![](/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
---
**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.

View File

@ -1,9 +1,8 @@
---
layout: default
title: My work at Raider Robotics
---
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).
@ -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;">
<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.
</video>
</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;">
<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.
</video>
</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;">
<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.
</video>
</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>`
// );