-
+
diff --git a/src/pages/education.astro b/src/pages/education.astro
index 7e013db..a64fd14 100644
--- a/src/pages/education.astro
+++ b/src/pages/education.astro
@@ -5,6 +5,7 @@ import H2 from "@components/H2.astro";
import H3 from "@components/H3.astro";
import InlineLink from "@components/InlineLink.astro";
import Carousel from "@components/Media/CustomCarousel/CustomCarousel.astro";
+import PageGroup from "@components/PageGroup.astro";
import Table from "@components/Table.astro";
import Timeline from "@components/Timeline/Timeline.astro";
@@ -108,16 +109,24 @@ const courseTable: tableData = {
- Timeline
-
- Oregon State University
-
- Coursework Archives
-
- Course Listing
-
+
+ Timeline
+
+
+
+ Oregon State University
+
+
+ Coursework Archives
+
+
+
+ Course Listing
+
+
+
diff --git a/src/pages/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments.astro b/src/pages/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments.astro
index e37270f..57d3e02 100644
--- a/src/pages/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments.astro
+++ b/src/pages/experience/osu-ceoas-ocean-mixing-group/leconte-glacier-deployments.astro
@@ -3,8 +3,13 @@ import ExperienceLayout from "@layouts/ExperienceLayout.astro";
import H2 from "@components/H2.astro";
import H3 from "@components/H3.astro";
+import InlineLink from "@components/InlineLink.astro";
import Carousel from "@components/Media/CustomCarousel/CustomCarousel.astro";
+import Video from "@components/Media/Video.astro";
+import PageGroup from "@components/PageGroup.astro";
import Paragraph from "@components/Paragraph.astro";
+import Paragraphs from "@components/Paragraphs.astro";
+import PopoverWordDefinition from "@components/PopoverWordDefinition.astro";
import Timeline from "@components/Timeline/Timeline.astro";
import type { carouselGroup } from "@interfaces/image-carousel.ts";
@@ -56,83 +61,89 @@ const headerCarouselGroup: carouselGroup = {
],
};
-import InlineLink from "@components/InlineLink.astro";
-import Video from "@components/Media/Video.astro";
-import Paragraphs from "@components/Paragraphs.astro";
-import PopoverWordDefinition from "@components/PopoverWordDefinition.astro";
import { subTitles } from "./osu-ceoas-ocean-mixing-group.ts";
---
- Summary
- Timeline
-
- Location
-
- Details
-
-
- As part of my time working on the
-
- Robotic Oceanographic Surface Sampler, I had the fantastic opportunity to be deployed at the LeConte Glacier
- in Alaska! This started in early 2017 with setup and ocean trials in
- nearby Petersburg. The team had sent multiple shipping containers with our
- robotic platforms and most equipment to assemble, test, and debug them a
- few months prior, allowing us to get to work the moment we arrived. We
- spent multiple weeks at the docks with our makeshift workstations built
- from plywood and pelican cases, validating the hardware we'd sent, and
- making adjustments with improved hardware we'd hand-carried on our
- flights. This also provided a great opportunity to work out any final
- firmware and/or software bugs while the vehicles were still relatively
- easy to retrieve. After a short trip back home to recover, and prep any
- last minute items we'd forgotten, our research team flew back and headed
- for the glacier!
-
-
- The towering mountain of ice sits roughly 30 miles from Petersburg, so
- we'd commissioned an off-season fishing vessel, Steller, and it's crew, to
- take us as close to it as was reasonably safe. The team worked 24 hours a
- day, on two shifts, deploying and retrieving the ROSS platforms,
- performing repairs (as needed), recovering/processing collected data,
- manually deploying the ship's , and
- occasionally spending considerable time pushing icebergs the size of
- houses away from an mounted to Steller
- using fiberglass poles. Many hardware failures had to be solved during these
- long days, and it was a very rewarding and creative experience to work around
- the limitations of this isolated (and salty) environment.
-
-
- On top of being a unique engineering and team building experience, LeConte
- lives among the most beautiful places I've yet to experience in this life.
- There's something special about being somewhere so incredibly remote and
- untouched by humans. The pristine evergreen forests, eerie blue-green hues
- of the glacier and icebergs, ancient towering mountains, and genuinely
- curious looks from local land and marine life unfamiliar with human
- presence made it humbly clear that for once we as humans were the odd ones
- out. These trips were ones that I will treasure and think back on fondly
- on for the rest of my life.
-
-
- Videos
-
- {
- videos.map((video) => (
-
- ))
- }
-
+
+ Summary
+
+ Timeline
+
+
+
+ Location
+
+
+
+
+ Details
+
+
+ As part of my time working on the
+
+ Robotic Oceanographic Surface Sampler, I had the fantastic opportunity to be deployed at the LeConte Glacier
+ in Alaska! This started in early 2017 with setup and ocean trials in
+ nearby Petersburg. The team had sent multiple shipping containers with
+ our robotic platforms and most equipment to assemble, test, and debug
+ them a few months prior, allowing us to get to work the moment we
+ arrived. We spent multiple weeks at the docks with our makeshift
+ workstations built from plywood and pelican cases, validating the
+ hardware we'd sent, and making adjustments with improved hardware we'd
+ hand-carried on our flights. This also provided a great opportunity to
+ work out any final firmware and/or software bugs while the vehicles were
+ still relatively easy to retrieve. After a short trip back home to
+ recover, and prep any last minute items we'd forgotten, our research
+ team flew back and headed for the glacier!
+
+
+ The towering mountain of ice sits roughly 30 miles from Petersburg, so
+ we'd commissioned an off-season fishing vessel, Steller, and it's crew,
+ to take us as close to it as was reasonably safe. The team worked 24
+ hours a day, on two shifts, deploying and retrieving the ROSS platforms,
+ performing repairs (as needed), recovering/processing collected data,
+ manually deploying the ship's , and
+ occasionally spending considerable time pushing icebergs the size of
+ houses away from an mounted to Steller
+ using fiberglass poles. Many hardware failures had to be solved during these
+ long days, and it was a very rewarding and creative experience to work around
+ the limitations of this isolated (and salty) environment.
+
+
+ On top of being a unique engineering and team building experience,
+ LeConte lives among the most beautiful places I've yet to experience in
+ this life. There's something special about being somewhere so incredibly
+ remote and untouched by humans. The pristine evergreen forests, eerie
+ blue-green hues of the glacier and icebergs, ancient towering mountains,
+ and genuinely curious looks from local land and marine life unfamiliar
+ with human presence made it humbly clear that for once we as humans were
+ the odd ones out. These trips were ones that I will treasure and think
+ back on fondly on for the rest of my life.
+
+
+
+
+ Videos
+
+ {
+ videos.map((video) => (
+
+ ))
+ }
+
+
diff --git a/src/pages/experience/osu-ceoas-ocean-mixing-group/osu-ceoas-ocean-mixing-group.ts b/src/pages/experience/osu-ceoas-ocean-mixing-group/osu-ceoas-ocean-mixing-group.ts
index 417bc0a..8f404b2 100644
--- a/src/pages/experience/osu-ceoas-ocean-mixing-group/osu-ceoas-ocean-mixing-group.ts
+++ b/src/pages/experience/osu-ceoas-ocean-mixing-group/osu-ceoas-ocean-mixing-group.ts
@@ -26,4 +26,5 @@ export const deploymentTimeline: timelineEntry[] = [
export const subTitles = [
"Oregon State University",
"College of Earth, Ocean, and Atmospheric Sciences",
+ "Ocean Mixing Group",
];
diff --git a/src/pages/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler.astro b/src/pages/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler.astro
index ad13e38..872d6e0 100644
--- a/src/pages/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler.astro
+++ b/src/pages/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler.astro
@@ -3,17 +3,26 @@ import ExperienceLayout from "@layouts/ExperienceLayout.astro";
import H2 from "@components/H2.astro";
import H3 from "@components/H3.astro";
+import InlineLink from "@components/InlineLink.astro";
+import Li from "@components/Li.astro";
import LinkButton from "@components/LinkButton.astro";
import Carousel from "@components/Media/CustomCarousel/CustomCarousel.astro";
import PdfViewer from "@components/Media/PdfViewer.astro";
+import PageGroup from "@components/PageGroup.astro";
+import Paragraph from "@components/Paragraph.astro";
+import Paragraphs from "@components/Paragraphs.astro";
import PopoverWordDefinition from "@components/PopoverWordDefinition.astro";
+import SkillMatrix from "@components/SkillMatrix/SkillMatrix.astro";
import Timeline from "@components/Timeline/Timeline.astro";
+import Ul from "@components/Ul.astro";
import type { carouselGroup } from "@interfaces/image-carousel.ts";
+import type { categorySkills } from "@interfaces/skill-matrix.ts";
import type { timelineEntry } from "@interfaces/timeline.ts";
import electronics_box from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/electronics-box.jpg";
import jet_drive from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/jet-drive.jpg";
+import ross_ebox_4p0 from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/ross-ebox-4p0.jpg";
import ross_on_vessel_at_night from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/ross-on-vessel-at-night.jpg";
import ross_on_vessel from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/ross-on-vessel.jpg";
import publication from "@assets/experience/osu-ceoas-ocean-mixing-group/robotic-oceanographic-surface-sampler/ross-publication.pdf";
@@ -31,6 +40,7 @@ const headerCarouselGroup: carouselGroup = {
ross_team,
ross_on_vessel,
ross_on_vessel_at_night,
+ ross_ebox_4p0,
electronics_box,
jet_drive,
ui,
@@ -50,6 +60,72 @@ const timeline: timelineEntry[] = [
date: "May 2018",
},
];
+
+const categorizedSkills: categorySkills[] = [
+ {
+ category: "Electrical",
+ skills: [
+ {
+ item: "Schematic & PCB Design",
+ subItems: [{ item: "Altium Designer" }],
+ },
+ {
+ item: "PCB Assembly & Rework",
+ subItems: [
+ { item: "Handheld Soldering" },
+ { item: "Handheld Hot-Air Reflow" },
+ { item: "Oven Reflow" },
+ ],
+ },
+ {
+ item: "Electrical Diagnostics",
+ subItems: [
+ { item: "Multimeters" },
+ { item: "Oscilloscopes" },
+ { item: "Logic Analyzers" },
+ ],
+ },
+ {
+ item: "Harnessing Fabrication",
+ subItems: [
+ { item: "DC Power & Signal" },
+ { item: "Low Frequency RF (<1GHz)" },
+ { item: "Waterproofing" },
+ ],
+ },
+ {
+ item: "Simulation",
+ subItems: [{ item: "LTspice" }],
+ },
+ ],
+ },
+ {
+ category: "Software & Environments",
+ skills: [
+ { item: "Git" },
+ {
+ item: "Programming Languages",
+ subItems: [
+ { item: "Python 2/3" },
+ { item: "Bash Shell Scripting" },
+ { item: "Low-Level Embedded C/C++ (Atmel Studio)" },
+ { item: "High-Level Embedded C/C++ (Arduino/Teensy)" },
+ { item: "Matlab" },
+ ],
+ },
+ {
+ item: "Operating Systems",
+ subItems: [
+ {
+ item: "Linux",
+ subItems: [{ item: "Ubuntu" }, { item: "Raspbian" }],
+ },
+ { item: "Microsoft Windows" },
+ ],
+ },
+ ],
+ },
+];
---
-
+
+
-
Summary
-
Timeline
-
-
Key Takeaways
-
- -
-
- Assembled, fabricated, and debugged both custom and
-
- hardware and electronics.
-
-
- - Two
- - Three
-
-
Skills Used
-
-
-
-
-
+
+ Summary
+
+ Timeline
+
+
+
+ Key Takeaways
+
+ - Hand assembled and validated dozens of custom , wiring harnesses, and electronics boxes
+ - Wrote, debugged, and assisted with development of embedded firmware
+ - Accompanied the team on two deployments to the LeConte glacier in
+ Alaska to gather ice-water melt and mixing data
+
+
+
+
+
+ Details
+
+ ROSS Overview
+
+
+ ROSS was a gasoline-powered water-sampling robotics platform built
+ around a Mokai jet-drive kayak. It's purpose was to continuously, and
+ often autonomously, gather water data over extremely long distances
+ and/or in locations where human-safety concerns would make gathering
+ it manually too risky. There were a variety of sensors it could be
+ outfitted with depending on the needs of the exact research project
+ and destination, but some common ones were an for gathering 3D water current vector data, a for measuring water conductivity/temperature/depth, and a high-precision
+ GPS for generating meaningful 3D plots of the sensor data. These kayaks
+ have been deployed to places like the Indian/Pacific Ocean mixing line,
+ and along the active LeConte glacier terminus in Alaska, gathering novel
+ data on how vastly different bodies of water act when mixing.
+
+
+ In its original configuration, the Mokai kayak's throttle and steering
+ were already drive-by-wire, which made it an excellent starting point
+ for automating. It was also designed for easy transport, breaking down
+ into three major compartments that could easily fit in the back of a
+ short-bed pickup. For our custom hulls, Mokai also thickened the
+ plastic significantly and provided a bare minimum of electronics. This
+ barebones platform was then modified by our team to include a
+ storm-surge-rated intake and exhaust for the engine, a keel to improve
+ rough sea stability, a large alternator, and a plethora of mount
+ points the electronics, batteries, fuel, sensors, and radios.
+
+
+ In terms of the electronics and software for this project, the kayak
+ itself was centered around a Pixhawk flight controller flashed with a
+ modified Rover variant (this was before a dedicated boat option
+ existed). One pelican-case electronics box housed this controller, a
+ small with , wifi router, radio control receiver, satellite modem, and quite a
+ few custom for interfacing with external
+ electronics and implementing glue logic/safety overrides. A second box housed
+ nothing but sealed lead-acid batteries, which were charged by the alternator
+ on later revisions of the platform. The PC ran a custom python script, which
+ interfaced with a Matlab GUI over a remote radio link. The kayak could also
+ be overridden with an FrSky RC controller, when at close range, and additionally
+ allowed for direct control without the PC needing to be in-the-loop. To
+ see some of the custom hardware inside of these boxes, check out Nick McComb's
+ design pages for them
+ here! For even more context on ROSS, and history from before I joined the
+ project, check out his summary page.
+
+
+
+
+ My Experience
+
+
+ I first started on this project by doing what I thought was a one-off
+ help session for Nick, working on an issue he was having getting
+ ROSS's engine to start and shut down properly. I had more experience
+ with engines, and engine control, so I quickly realized that a beefier
+ and high-voltage-rated relay was needed to avoid arc-welding the
+ contacts closed during shutdown. He rolled out a new board revision with those changes and it was the final version used for the rest of ROSS's
+ lifetime. This little taste of the project, and some wishful prodding from
+ Nick, was enough for me to join the team part-time.
+
+
+ While the original plan for me was to re-write the for ROSS in Python using Qt, it turns out they needed my help on the
+ electrical and firmware side more than anything, so most of my time at the
+ lab was focused on that. I hand-assembled so many of Nick's circuit boards
+ at this lab that I still can pick his out of a lot from design aesthetic
+ alone! I also helped with plenty of wiring harness builds, electrical box
+ fabrication, embedded firmware development, and of course, plenty of electrical
+ and software debugging. One thing that this project taught me very quickly
+ was how difficult it was to make reliable hardware in a high vibration,
+ electrically noisy, and salt-laden environments. The number of PCBs we went
+ through, alongside wiring harnesses, was pretty incredible considering the
+ lengths we went to in order to protect them.
+
+
+ A very unique aspect of this team/project, and a large part of why I
+ was drawn to it, was that it was about as hands-on as you could
+ possibly get. Doubly so for an undergraduate student! Not only did I
+ get to design and repair a real robot, but it was actually being used
+ for proper scientific research! We would regularly go to Newport, OR
+ for testing and have to make crazy additions and repairs on the fly.
+ This got even more extreme during my deployments to the LeConte glacier, as you had to get creative and fix things with what you had on-hand
+ due to how remote we were. These are experiences that graduate
+ students rarely even get to have, so I'm extremely thankful and fond
+ of the time I spent here. Huge shout out to Nick, again, who made it possible in the first place! Also be sure to
+ check out the scientific paper on this project below!
+
+
+
+
+
+ Official Scientific Publication
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Details
- power and voltage logging
-
Official Scientific Publication
-
+
diff --git a/src/pages/hobby/body-mods.astro b/src/pages/hobby/body-mods.astro
index c102e39..760146b 100644
--- a/src/pages/hobby/body-mods.astro
+++ b/src/pages/hobby/body-mods.astro
@@ -5,6 +5,7 @@ import H2 from "@components/H2.astro";
import H3 from "@components/H3.astro";
import InlineLink from "@components/InlineLink.astro";
import Carousel from "@components/Media/CustomCarousel/CustomCarousel.astro";
+import PageGroup from "@components/PageGroup.astro";
import Paragraph from "@components/Paragraph.astro";
import Paragraphs from "@components/Paragraphs.astro";
@@ -27,42 +28,49 @@ const rfidImplantCarouselGroup: carouselGroup = {
---
- RFID Implant
-
- Details
-
-
- Back when I was in college, a few of my friends and I got this crazy idea
- to all get RFID implants together. They are essentially the same things
- you'd use to microchip a pet, but with a slightly different firmware
- configuration, allowing scans with any 125KHz-compatible reader. The
- implants came from dangerousthings.com, and we were lucky enough to have a vet-med student as a friend who made
- the installation a quick and painless process! I'm glad that I'm not
- afraid of needles, as the 16 gauge injector the kit came with was nothing
- to scoff at. Since healing, you would never know the implant was there,
- with the site leaving no scar or visible indication of its presence.
-
-
- With that out of the way, our group began work on hardware which would
- support the new implants. The goal was to have a generic usb-keyboard
- emulator for typing passwords with a valid scan, a car off-acc-on ignition
- replacement, and a fairly specialized modification to the OSU Robotics
- Club's doorway scanning system so they would support these on top of the
- official OSU ID cards. As tends to happen, life got busy, and only the
- usb-keyboard emulator actually came to fruition. The electronics and
- primary firmware were handled by Nick McComb, enclosure by Dylan Thrush, and I supported some minor firmware development and debugging. If you
- want to see an example of the keyboard emulator unlocking a PC, check out
- the video on Nick's website!
-
-
+
+ RFID Implant
+
+
+
+ Details
+
+
+
+ Back when I was in college, a few of my friends and I got this crazy
+ idea to all get RFID implants together. They are essentially the same
+ things you'd use to microchip a pet, but with a slightly different
+ firmware configuration, allowing scans with any 125KHz-compatible
+ reader. The implants came from dangerousthings.com, and we were lucky enough to have a vet-med student as a friend who
+ made the installation a quick and painless process! I'm glad that I'm
+ not afraid of needles, as the 16 gauge injector the kit came with was
+ nothing to scoff at. Since healing, you would never know the implant
+ was there, with the site leaving no scar or visible indication of its
+ presence.
+
+
+ With that out of the way, our group began work on hardware which would
+ support the new implants. The goal was to have a generic usb-keyboard
+ emulator for typing passwords with a valid scan, a car off-acc-on
+ ignition replacement, and a fairly specialized modification to the OSU
+ Robotics Club's doorway scanning system so they would support these on
+ top of the official OSU ID cards. As tends to happen, life got busy,
+ and only the usb-keyboard emulator actually came to fruition. The
+ electronics and primary firmware were handled by Nick McComb, enclosure by Dylan Thrush, and I supported some minor firmware development and debugging. If
+ you want to see an example of the keyboard emulator unlocking a PC,
+ check out the video on Nick's website!
+
+
+
+
diff --git a/src/pages/hobby/motorcycling/custom-accessories/chubby-buttons-2-mount.astro b/src/pages/hobby/motorcycling/custom-accessories/chubby-buttons-2-mount.astro
index fdb48dd..c58c15c 100644
--- a/src/pages/hobby/motorcycling/custom-accessories/chubby-buttons-2-mount.astro
+++ b/src/pages/hobby/motorcycling/custom-accessories/chubby-buttons-2-mount.astro
@@ -1,7 +1,12 @@
---
+import HobbyLayout from "@layouts/HobbyLayout.astro";
+
+import H2 from "@components/H2.astro";
import LinkButton from "@components/LinkButton.astro";
import Carousel from "@components/Media/CustomCarousel/CustomCarousel.astro";
-import HobbyLayout from "@layouts/HobbyLayout.astro";
+import PageGroup from "@components/PageGroup.astro";
+import Paragraph from "@components/Paragraph.astro";
+import Paragraphs from "@components/Paragraphs.astro";
import type { carouselGroup } from "@interfaces/image-carousel.ts";
@@ -31,44 +36,53 @@ const headerCarouselGroup: carouselGroup = {
};
---
-
+
-
+
-
- Having ridden motorcycles since I was sixteen, and being an avid music
- enjoyer, I'd been looking for a way to improve my music listening experience
- while on-the-go. One large pain-point I'd always had was with controlling
- track selection and volume levels while my gloves were on, as smartphones
- don't respond very well to this, if at all. In 2023 I found out about chubby
- buttons, a low-power and highly water-resistant media controller
- specifically designed for use with gloves! The only problem was that it was
- designed to be worn on your arm using a strap, which isn't very practical on
- a motorcycle.
-
-
- When starting this project, I'd recently gotten a 3D Printer, so having some
- baseline modelling skills I took some measurements, and began designing a
- proper mount. I already owned and used many 1" RAM compatible mounts and
- gear on my bikes, so I decided to make this one natively support the ball
- size to use an existing clamp I had stored away. This design was the first
- where I decided to use heat-set inserts in the plastic, along with some
- medium-strength Loctite on the fasteners, due to the high-vibration
- environment the mount would see. The print was also done using a UV
- resistant, high-temp rated, and non-water-absorbing ASA filament, as the
- direct expose to the elements would not allow something like cheap PLA to
- last very long.
-
-
- While my first iteration was sized appropriately and went together with no
- issues, the ball mount neck ended up snapping due to a low infill
- percentage. After changing that area to 100% infill, including a handful of
- the rear mount layers that it attached to, a second iteration has worked
- perfectly for a few years now! If you're interested in printing this
- yourself, feel free to download the model using the button under the photos!
-
+
+ Details
+
+
+ Having ridden motorcycles since I was sixteen, and being an avid music
+ enjoyer, I'd been looking for a way to improve my music listening
+ experience while riding. One large pain-point I'd always had was
+ controlling track selection and volume levels while my gloves were on,
+ as smartphones don't respond very well to this, if at all. In 2023 I
+ found out about chubby buttons, a low-power and highly water-resistant
+ media controller specifically designed for use with gloves! The only
+ problem was that it was designed to be worn on your arm using a strap,
+ which isn't very practical on a motorcycle.
+
+
+ When starting this project, I'd recently gotten a 3D printer, so having
+ some baseline modelling skills I took some measurements, and began
+ designing a proper mount. I already owned and used many 1" RAM
+ compatible mounts and gear on my bikes, so I decided to make this one
+ natively support the ball size to use an existing clamp I had stored
+ away. This design was the first where I decided to use heat-set inserts
+ in the plastic, along with some medium-strength Loctite on the
+ fasteners, due to the high-vibration environment the mount would see.
+ The print was also done using a UV resistant, high-temp rated, and
+ non-water-absorbing ASA filament, as the direct exposure to the elements
+ would not allow something like cheap PLA to last very long.
+
+
+ While my first iteration was sized appropriately and went together with
+ no issues, the ball mount neck ended up snapping due to a low infill
+ percentage. After changing that area to 100% infill, including a handful
+ of the layers at the rear mounting face where the neck attaches, a
+ second iteration has worked perfectly for a few years now! If you're
+ interested in printing this yourself, feel free to download the model
+ using the button under the photos!
+
+
+
diff --git a/src/pages/hobby/motorcycling/lineup.astro b/src/pages/hobby/motorcycling/lineup.astro
index 909360c..ab9f6a8 100644
--- a/src/pages/hobby/motorcycling/lineup.astro
+++ b/src/pages/hobby/motorcycling/lineup.astro
@@ -4,6 +4,7 @@ import HobbyLayout from "@layouts/HobbyLayout.astro";
import H2 from "@components/H2.astro";
import H3 from "@components/H3.astro";
import Carousel from "@components/Media/CustomCarousel/CustomCarousel.astro";
+import PageGroup from "@components/PageGroup.astro";
import type { carouselGroup } from "@interfaces/image-carousel.ts";
@@ -39,26 +40,35 @@ const kz750CarouselGroup: carouselGroup = {
};
---
-
- Current Lineup
- 2015 Yamaha FJR 1300
-
-
- 2021 CSC SG400
-
-
- Prior Lineup
- 2005 Suzuki DRZ 400
-
-
-
- 1991 Kawasaki Concours ZG1000
-
-
-
- 1979 Kawasaki KZ750
-
-
- 1991 Kawasaki Ninja 600R
-
+
+
+ Current Lineup
+
+ 2015 Yamaha FJR 1300
+
+
+
+ 2021 CSC SG400
+
+
+
+
+ Prior Lineup
+
+ 2005 Suzuki DRZ 400
+
+
+
+ 1991 Kawasaki Concours ZG1000
+
+
+
+ 1979 Kawasaki KZ750
+
+
+
+ 1991 Kawasaki Ninja 600R
+
+
+
diff --git a/src/pages/index.astro b/src/pages/index.astro
index 63c0a4f..a2e3550 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -4,6 +4,7 @@ import BaseLayout from "@layouts/BaseLayout.astro";
import H2 from "@components/H2.astro";
import InlineLink from "@components/InlineLink.astro";
import Carousel from "@components/Media/CustomCarousel/CustomCarousel.astro";
+import PageGroup from "@components/PageGroup.astro";
import Paragraph from "@components/Paragraph.astro";
import Paragraphs from "@components/Paragraphs.astro";
@@ -21,76 +22,81 @@ const headerCarouselGroup: carouselGroup = {
- Who Am I
-
-
- My name is Corwin Perren, and I'm a multi-disciplinary engineer with a degree in computer science from Oregon State University. For as long as I can remember, I've been fascinated
- by how things work, never being shy about taking them apart to learn the gritty
- details. At a young age, I began tinkering, adding lights and fans and doorbells
- to the pretend cardboard box houses my brother and I would play in. Later, I
- learned to solder, work on vehicles and engines, install and run Linux, manage
- enterprise computing infrastructure, build and repair computers, write scripts,
- and by the end of high school set out with a clear goal for my college years.
- I wanted to learn and teach myself enough to be able to think up almost any
- project, encompassing all facets of engineering, and be capable of driving it
- to completion with my own skill set.
-
-
- I think young me would be very pleased by how well I managed to achieve
- that goal! Through college, I learned electronics and PCB design, embedded
- and pc programming, basic mechanical design and fabrication, on top of
- learning how to work well with others in a team. I quickly realized that
- robotics was an ideal focus due to its inherent multi-disciplinary nature,
- and joined the OSU Robotics Club, which introduced me to people who are
- still my best friends today. Through student engineering jobs, I had the
- unique opportunity to work on some incredible projects such as the
- robotic oceanographic surface sampler
- and an embryo pick-and-plate machine. One my my proudest moments was when our club's mars rover took first
- place at the Candian International Rover Challenge in 2018, for which I
- was the software lead!
-
-
- After a short three-month internship at SpaceX in Hawthorne at the end of college, I applied for a test engineering position with the company's Starlink team and was hired in mid-2019. For six
- years, I developed test system hardware, software, harnesses, mechanical fixtures,
- devops infrastructure, websites, and tooling to ensure that Starlink, Falcon,
- Dragon, and Starship component tests were producing well-validated and reliable
- hardware. Through it all, I got to apply and hone every skill I had developed,
- while learning countless more. Now though, it's on to the next adventure, whatever
- that may be!
-
-
- To learn more about my experiences, hobbies, interests, and skills, feel
- free to explore the site! While the short summary above provides some
- insight into who I am, it leaves out plenty! For example, I've been an
- avid motorcycle rider since I was sixteen, and have an rfid implant in my hand!
-
-
- If you're interested in contacting me, feel free to message on LinkedIn, or via the primary contact methods on my resume.
-
-
+
+ Who Am I
+
+
+ My name is Corwin Perren, and I'm a multi-disciplinary engineer with a degree in computer science from Oregon State University. For as long as I can remember, I've been fascinated
+ by how things work, never being shy about taking them apart to learn the gritty
+ details. At a young age, I began tinkering, adding lights and fans and doorbells
+ to the pretend cardboard box houses my brother and I would play in. Later,
+ I learned to solder, work on vehicles and engines, install and run Linux,
+ manage enterprise computing infrastructure, build and repair computers, write
+ scripts, and by the end of high school set out with a clear goal for my college
+ years. I wanted to learn and teach myself enough to be able to think up almost
+ any project, encompassing all facets of engineering, and be capable of driving
+ it to completion with my own skill set.
+
+
+ I think young me would be very pleased by how well I managed to achieve
+ that goal! Through college, I learned electronics and PCB design,
+ embedded and pc programming, basic mechanical design and fabrication, on
+ top of learning how to work well with others in a team. I quickly
+ realized that robotics was an ideal focus due to its inherent
+ multi-disciplinary nature, and joined the OSU Robotics Club, which
+ introduced me to people who are still my best friends today. Through
+ student engineering jobs, I had the unique opportunity to work on some
+ incredible projects such as the
+ robotic oceanographic surface sampler
+ and an embryo pick-and-plate machine. One my my proudest moments was when our club's mars rover took first
+ place at the Candian International Rover Challenge in 2018, for which I
+ was the software lead!
+
+
+ After a short three-month internship at SpaceX in Hawthorne at the end of college, I applied for a test engineering position with the company's Starlink team and was hired in mid-2019. For
+ six years, I developed test system hardware, software, harnesses, mechanical
+ fixtures, devops infrastructure, websites, and tooling to ensure that Starlink,
+ Falcon, Dragon, and Starship component tests were producing well-validated
+ and reliable hardware. Through it all, I got to apply and hone every skill
+ I had developed, while learning countless more. Now though, it's on to the
+ next adventure, whatever that may be!
+
+
+ To learn more about my experiences, hobbies, interests, and skills, feel
+ free to explore the site! While the short summary above provides some
+ insight into who I am, it leaves out plenty! For example, I've been an
+ avid motorcycle rider since I was sixteen, and have an rfid implant in my hand!
+
+
+
+ If you're interested in contacting me, feel free to message on LinkedIn, or via the primary contact methods on my resume.
+
+
+
+