diff --git a/' b/' new file mode 100644 index 0000000..0e9b31a --- /dev/null +++ b/' @@ -0,0 +1,33 @@ + + + + Portfolio | Youwen Wu + + + + +
+

Portfolio

+

+ Here's some of the stuff I've worked on which I think is notable or interesting enough to write + about. +

+ + + Jankboard + + +
+

+ Jankboard is a fully custom control dashboard for Team 1280's robot competing in the 2024 + season of the FIRST Robotics Competition. +

+
+
+ team 1280 logo +
+
+
+
diff --git a/src/routes/about/computing/+page.svelte b/src/routes/about/computing/+page.svelte new file mode 100644 index 0000000..d134f53 --- /dev/null +++ b/src/routes/about/computing/+page.svelte @@ -0,0 +1,84 @@ + + My Computing Setup | Youwen Wu + + +
+
+

My Computing Setup

+

+ I'm generally very particular about how I use my computer and the software that runs on it. I + don't always configure my tools in the most "user-friendly" way, but rather the most efficient + way for me. In other words, I prefer function over form -- if something can be done faster in + a terminal, I wouldn't use the GUI version. I also generally prefer free software, as in + software which respects the four essential freedoms. However, I'm not a fanatic, and I run proprietary blobs in my firmware and drivers to get my + hardware to function properly. +

+

First, some brief hardware details

+ +

+ The other hardware details of my computer are not particularly interesting. I do have an AIO + water cooler. +

+

Software

+

+ I run Arch Linux with the + Hyprland desktop environment. My OS choice is + mostly pragmatic, I don't feel strong allegiances to any particular distro. I simply use Arch + as it lets me configure my system exactly how I want and has an up to date and large user + package repository. I've also been interested in looking into + NixOS, but I don't yet have 40 hours per week to + configure my operating system, unfortunately. I use Hyprland because: +

+
    +
  1. + Tiling window managers are infinitely superior and anyone who disagrees has never + experienced productivity. +
  2. +
  3. + Hyprland implements most modern Wayland features which is very important as I'm on Nvidia. +
  4. +
+

I also keep a Windows installation around, mainly for gaming.

+

Code editing

+

+ One of the most used pieces of software on a developer's computer is their text editor, so I + spent a lot of time settling on one. In the past, I used Visual Studio Code, but I've since switched to + Neovim. VS Code is a fine editor and I recommend + it to anyone new to programming, but it just doesn't make sense for me to run a full electron + app when I don't need any of the fancy GUI features and I can work faster in Neovim. Modern + code editing has mostly become editor-agnostic anyways with the advent of + LSP, so most + of the important features are available in practically every editor anyways. +

+

As for my terminal, my main priorities (in order) are:

+
    +
  1. Performance
  2. +
  3. Font rendering quality and support (ligatures, etc)
  4. +
  5. Additional quality of life features
  6. +
+

+ Since my editor (Neovim) runs purely in a terminal, performance is the most important since + any perceptible latency or lag quickly becomes extremely annoying. Otherwise, it would + probably shift down to the bottom of the list. +

+

+ I've tried kitty and + Alacritty but ended up settling on kitty. Although + Alacritty (allegedly) has better performance, kitty is practically the same in day-to-day use (and + I heard it has better latency, too). I ended up choosing kitty mainly due to its more versatile + configuration as well as support for font ligatures. It also has tabs and native multiplexing, + which the maintainers of Alacritty refuse to support (which is fine, with tmux or zellij, but native + is nice to have). +

+
+
diff --git a/src/routes/portfolio/+page.svelte b/src/routes/portfolio/+page.svelte index 00de89c..824decc 100644 --- a/src/routes/portfolio/+page.svelte +++ b/src/routes/portfolio/+page.svelte @@ -1,5 +1,8 @@ @@ -8,4 +11,72 @@ - +
+

+ Portfolio +
+

+

+ Here's some of the stuff I've worked on which I think is notable or interesting enough to write + about. +

+

Projects

+
+ + + Jankboard +
+
+ Robotics + License: GPLv3 + Web Technology + Rust +
+ + +
+
+

+ Jankboard is a fully custom control dashboard for Team 1280's robot competing in the + 2024 season of the FIRST Robotics Competition. +

+

+ It displays the robot's telemetry through a network connection established via the + NetworkTables protocol, including speed, orientation, acceleration, heading, and other + vital metrics. It also features a full 3D robot visualization and looks like a Tesla UI. + It was used in production for the first time at the Central Valley Regional, where we made it to the playoffs as 2nd pick. +

+

+ It's built with Tauri, + Svelte, and + Rust. +

+
+
+ + +
+
+
+ team 1280 logo +
+
+ +

Research

+
+

Nothing here for now...

+
diff --git a/static/assets/portfolio/images/team-1280-logo.png b/static/assets/portfolio/images/team-1280-logo.png new file mode 100644 index 0000000..1b6ccff Binary files /dev/null and b/static/assets/portfolio/images/team-1280-logo.png differ