Hello there!

I’m Andrew W! I also sometimes go by DarkBrave online.

I do lots of stuff, from just being a student, designing and building FRC robots, programming with Arduino, doing data analysis in R, messing with operating systems of all kinds, goofing around with software, taking notes in Obsidian, running around outside, doing outdoors stuff, lounging in a hammock, making something tasty, riding public transit/trains, watching YouTube, playing on Minecraft servers with friends, or really anything else I feel like doing each day.


Socials

You can find me all over the place, including the following:


Posts

WeGo All-Routes Speedrun

I rode every single WeGo local/frequent/connector service bus route in one day, riding to at least one unique stop for that route. Why? Why not! Also riding the bus is fun, but it can be boring during summer break and I wanna have some fun Backstory Last year I challenged myself to ride all 8 “frequent service” routes in at least one direction in one day, which took just under 8 hours. You can see the whole thing on my BlueSky page documented in realtime here and a summary here. Pre-planning the whole thing turned out to be an effective strategy, as with a bit of padding baked into every ride, it was easy to finish in well under the expected time for all 14 buses. But at the same. time, that’s only 8 routes, and most of the run was spent waiting on buses for a while, which isn’t really a “speedrun” in my eyes.

July 10, 2026

DVD Experiments

TLDR; I made the DVD bouncing logo in a lot of ways because I was bored (GitHub) Story About five years ago I was goofing around in Scratch while bored, and ended up making a lot of weird projects, one of which was a bouncing DVD screensaver logo with some not original music/SFX. Why? Why not! And that was (and still is) kind of my philosophy for these sorts of things.

June 24, 2026

Domain change

TLDR; I’ve moved from the awyck.me domain to the andw.me domain. I kind of bought the awyck.me domain so I could mess around with DNS, having a proper website (hello!), and just have a nice universal shorthand on the internet. It was a perfectly fine domain, but it’s kind of hard to quickly tell someone and focuses more on my last name than my first name. I was looking around on my domain registrar, and randomly realized that andw.me was available. Since it was relatively low-cost, while also fixing my previous issues, all while being extremely satisfying to me, I bought it and migrated all my DNS/domain stuff over to it.

June 23, 2026

Hello world!

Hello world! This is mostly just a placeholder, but as the first post I would be remiss if I didn’t mention I won’t be taking this place super seriously. It’s mostly just a place for me to dump thoughts/ideas/opinions where I know someone, somewhere can read them. Oh yeah also there’s gonna be a lot of quick tips and tutorials as well in the reference section, mostly of things I keep forgetting how to do and want to put somewhere for future me. Do I expect this website to take off? Heck no! But being here is mostly about having fun and keeping a constant archive, while also acting as a personal landing page. So in that way, this website is already a success.

June 5, 2026

References

Extracting Assets from Nintendo Switch Games

I wanted to extract the music from some Nintendo Switch games that hadn’t been ripped yet. I’m not a lawyer, but whole process should be completely legal, assuming you are using your own dumps, which you should be using regardless. Steps You will need your dumped ROM in either .xci or .nsp format, alongside your title.keys and prod.keys extracted from your console, as the dumps can be encrypted. I’m not going to say how to do these things, as I’m a bit worried by the Nintendo Ninjas.

June 23, 2026

Custom Data-Driven Colors in ggplot2

Obviously you’ll need ggplot2 installed in your R environment to do this. I’ve also generated some bogus data just to keep things simple for this. library(ggplot2) FullData <- data.frame( name = c("Alice", "Bob", "Charlie", "David"), score = c(42, 37, 91, 58), food = c("pizza", "tacos", "pizza", "burger") ) print(FullData) name score food 1 Alice 42 pizza 2 Bob 37 tacos 3 Charlie 91 pizza 4 David 58 burger The easy way to generate a basic bar chart is as follows, which most of you should know by now.

June 9, 2026

Discourse with Caddy

Caddy is a super easy to use web server that manages all the boring stuff for you, and because my Oracle always-free server’s port HTTP/HTTPS ports (80 and 443) were already in use by Caddy to hook up some webpages for my Minecraft servers, I needed a better way. Steps I will be assuming you already have Caddy setup, alongside that your server/network has some sort of firewall system in place to only allow desired ports. You should also have set up your DNS A record on your domain to redirect to your server’s IP address.

June 6, 2026

Setting up Hugo

Welp, that’s why I’m here! To be honest, just check this website’s GitHub repository if you wanna see my goofy code magic. Especially when it comes to the stupid dual-list view I had to hack together for the front page to keep References and Articles separate. I still can’t figure out how to do a proper search bar in Hugo with PaperMod, but I’m okay with a basic search page and relying on Google/other search providers for most access to the content.

June 5, 2026