This is a stub blog post to share a blog post I wrote on the Purdue Hackers’ blog! Go read it here . It includes everything that I wanted to include during my BENTO talk but couldn’t due to time constraints.
Oops, I didn’t do my due diligence, and the new place I’ve moved into has a terrible Internet connection with no port forwarding allowed. Guess it’s time to dig through memory lane to figure out my options! Previously, I wrote about getting a public IP with reverse SSH tunneling , but that means all the traffic gets wrapped up under the SSH protocol. I’m hosting websites and services, and thus…
I hate legacy systems This guide was tested on the HP DeskJet 3637. Your mileage may vary depending on how outdated the built-in web server on your specific printer model is. For reference, the latest firmware on the 3637 as of writing this blog post has the version string SWP2FN2223AR and was built on May 30th, 2022. Set a static IP address for your printer if you haven’t done so already. (This…
I noticed today while using JuiceSSH on my phone that certain features that I’d been using fine for the past couple of months suddenly disappeared. The standard free vs. pro dialog showed up, so I hit the “Already Purchased” option, thinking it would just check with the Play Licensing API/server. But that didn’t work, and I assumed it was some licensing bug. Sometimes, the Play Licensing API will…
I’ve never graduated before. I mean, from college. So all the cap and gown stuff is new to me. Fun fact #1: you rent your cap and gown in the US. You have to return them. And they’re expensive, too! I paid $94 just for the privilege of renting mine, which is insane because they probably cost way less than that to manufacture. What if, say, you say you’re fine without a cap and gown? Well, then you…
This blog post is written in response to the pearl-clutching prudes and puritans that dictate how I as an adult get to browse the goddamn Internet. Even though our country is not an authoritarian state and doesn’t have the Great Firewall of China, it’s still widely known for censoring the Internet , something that rudely startle foreigners when they want to go on NSFW sites in their hotel rooms.…
This is a follow-up to a blog post I did a long while ago on how to set up persistent access with SSH keys. Nowadays, it’s hard to find a Linux system that doesn’t have systemd , and crontab is sometimes not even installed. So, in case you are on one of those machines, here’s how you can use that script with a service and systemd.timer unit file, that does the exact same thing as crontab . Create…
Here are two issues I encountered with the “Boingo Hotspot” Wi-Fi network offered at some US airports. I’m writing it down here because this was an issue last year, and I’m sure will continue to be a problem in 2026 when I come back unless they actually fix their broken captive portal implementation. Issue #1 — DNS-over-TLS/HTTPS doesn’t work I’m using DNS-over-TLS with systemd-resolved , and when…
I think it should be illegal for game companies and indie studios to drop so many nice games (and DLCs to games that I loved) during finals season, but my Linux machine tried to save my grades one last time by not letting me play with my controller. More specifically, my Xbox One controller would pair fine with my Linux laptop, and Steam would detect it and launch Big Picture Mode when I hit the…
For nearly one year, I’ve been trying out NixOS, meticulously writing out the configuration for my machines in my repository . Every new program install, every configuration change, for all of my devices running NixOS was carefully packaged up into a commit and put into the repository. Now, after nearly a year of experimentation, here are the pros and cons that I’ve learned, and why I’m ultimately…
I’ve been meaning to write about what I worked on during my internship, but I didn’t get a chance to do so until today. So here are the two artifacts that I worked on during Summer 2025, which I have been allowed to share as I worked on them during my spare time: The report tool Many companies have a time-tracking system where they track what their employees have done over a given day. We were…
A couple of months back, I was helping with cleaning out a relative’s closet when we came across this cheap-looking indoor IP camera from a company named Hej Home (헤이홈). The relative didn’t need it or want it, so I thought it might be fun to figure out how it ticks, and potentially have it set up as a local-only IP camera. Before I get your hopes up too much, I didn’t really succeed in the latter…
I bought my Quest 3 in October 2023. Today is April 2025. After 18 months of firmware updates, this bug still lingers: the audio desyncs by a couple hundred milliseconds whenever you use the recording functionality (the “Camera” app) to record gameplay footage inside the Quest. I hate having to adjust the delay manually every time I splice the footage in my video editor, so I decided to just…
After a intriguing conversation about punycode, on a whim I searched for my Korean name to see if it was available. I was pretty sure it wouldn’t be because it’s a common name. Long story short: go see my (Korean) face: http://박선우.com
Around the first week of January, I said goodbye to my family in Korea and got on a flight back to the US to continue my studies. The flight itself was quite uneventful, and I enjoyed a couple of movies I’d brought on my phone and played games on my Steam Deck. But I don’t like long-haul flights in general because all the shaking around makes it impossible to get any sleep and the noise-canceling…
This will be a rather short blog post, because all I wanted to show off was this flamegraph, generated from one of the questions in the competitive programming course I’m taking: (Note: the SVG file is actually interactive, but you do need to right-click on the image and open it in a new tab!) I love looking at flamegraphs! Side-note: getting cargo flamegraph running on Windows is slightly…
I’m taking a competitive programming course this semester, and the platform we’re using ( Kattis ) apparently prioritizes fast I/O, to the point where some right answers will be rejected with a Time Limit Exceeded (TLE). I wanted to see if there was a way to squeeze out just a bit more read/write performance in Rust, and was surprised to learn that stdout is line-buffered by default. This means…
If you ever try and connect to a public Wi-Fi AP hosted by KT, perhaps at a Starbucks, with your Linux laptop, you may notice that the connection fails. For me, KDE prompted that the password was incorrect, when it wasn’t – my Android phone could connect to the AP just fine. If you looked at the logs, you would see something like this: Dec 26 16:39:14 kernel: wlp3s0: associate with…
I found an old router we used to use back in China while digging through our moving boxes. At the time, I flashed DD-WRT on the thing because we used a VPN service named Astrill, which had a little DD-WRT applet that let you set up a network-wide VPN for the entire household (which meant we didn’t have to configure VPN on each device). Now that I was no longer in Internet-censorship-land, I…
If you’re reading this blog post, it means the new site based on Astro is now live! Announcements Here are all the breaking changes regarding my site that you should probably know about: If you are using an RSS reader to subscribe to my blog, you need to update your URL from https://ericswpark.com/blog/index.xml to https://ericswpark.com/blog/rss.xml . You should’ve also seen a notice on your…
I am now on Bluesky! Couple of things: Love how they do domain verification. Sure, Mastodon’s way of checking profile linkback is cool, too, but adding an actual DNS record feels “official”. Maybe it doesn’t scale very well, but they provide an alternate in the form of a .well-known file. Interface is exactly like Twitter/X, but you don’t have to see Nazis. Sold! Overall, this really seems like…
Recently, I’ve been playing through a really old shooter game named “Spec Ops: The Line”. Being a very old game, it has a bunch of weird quirks, such as some parts of the game being tied to the frame rate and being impossible to beat if you have a high refresh rate monitor, or the fullscreen mode completely screwing up the resolutions of the secondary monitors, etc. But one bug that has seriously…
So about a week ago, I sent in my iPhone for a mail-in repair because my battery health had dropped to 80%. (It was actually lower than that, with diagnostics showing the battery at around 77%, but for some reason the settings page stubbornly displayed 80%, as if taunting the fact that my AppleCare+ was about to run out. Thankfully, the customer agent saw the same value as I did through…
Recently I needed to get a phone shipped from South Korea to here in Indiana, US. My plan was to purchase the phone online and get it shipped to our house, then ask a family member to ship it over via the post office. Sounds simple enough, right? For starters, the local post office (EMS) refused to send the phone because it contained a lithium battery. I searched this up, and it seemed like the…
Django has some fields you can define in your models that are specific to a given database engine. The problem is, once your codebase starts using those fields, the project will never work again with another database engine because of the migrations that will fail on different engines. However, it’s hard to remind yourself not to use these fields, and coordinating that on a big project with…
In May this year, I switched from Firefox to Chrome after the Mozilla team rejected one of my crappy browser extensions from their store: Okay, that wasn’t the entire reason. For years, I’ve been quite annoyed by the design decisions of the developers behind Firefox, with the arbitrary reasons behind not supporting latest web standards such as WebUSB: It doesn’t help that Mozilla touts Firefox as…
I bought a brand-new, unopened Samsung Galaxy Z Fold5 back in January this year. At the time, I needed a phone to develop Android apps on, and I was browsing through Swappa when this listing caught my eye: At the time I thought it was a great deal, and the thought of being able to test apps on a foldable screen made me pick it up. I only had the rational thoughts after I’d paid for the listing, so…
Update: the following only applies to the free version of DaVinci Resolve. I’ve since learned that the Studio version (with the license) supports up to 10-bit color space, and I’ve also confirmed that it can import and play back the codecs below without any issues. For posterity (and for free users) I’ll leave this blog post here, but I strongly recommend purchasing a copy of the Studio license if…
A quick summary of what went wrong: Nvidia graphics I know it’s always Nvidia graphics, but quite honestly it got very close this time! The only problem is, I kept getting those weird flickering issues on KDE + Wayland: From reading online, it seems to be a problem with the Nvidia drivers not supporting explicit sync on Wayland. Support was added in driver version 555, but it was still in beta and…
William Brown : However Chrome simply never implemented it leading to it being removed. And it was removed because Chrome never implemented it. As a result, if Chrome doesn’t like something in the specification they can just veto it without consequence. I hate waiting on browser support. About a year or two ago, I transitioned my family to use hardware keys to sign in to services, and it was truly…
As I’ve lived in the US for the last year or so, I feel qualified in comparing cell service between South Korea and the US, and describing how shit the former is. No mixing numbers Korea was pretty late to the eSIM game, but when we finally got eSIM, it came with a whole bunch of restrictions. The biggest restriction is that your phone lines get suspended if you happen to mix SIMs with different…
Recently I’ve been working off of my Linux laptop for most things, because having a terminal around that isn’t running Windows or macOS is fun and useful. That got me wondering if I could take one of my courses’ exams on the machine, since it used Respondus’s Lockdown Browser, an exam-focused browser that locks you out of all other apps for the duration of the exam. Long story short: you can’t.…
Back in 2021 (three years ago?!), I wrote a blog post about “incognito” mode in the bash terminal . Well, I also use Windows systems nowadays, and I needed a way of disabling PowerShell’s history function temporarily. PowerShell has two history modules. The first one is constrained within the current session, and you can see all the commands you ran during that session by running Get-History : PS…
Here’s a AutoHotKey script that quickly opens up the Bluetooth settings for Windows 11: Persistent #b:: { ; Open Quick Actions window Send("{LWin Down}a{LWin Up}") ; The quick action window takes a while to initialize and allow keyboard navigation ; Without the sleep timer you may end up on the wrong screen (or disabling WiFi) ; If your computer is slower, increase this value a bit more Sleep(600)…
By policy, you can’t get an eSIM from SKT for data-sharing purposes. If you try online, an error message pops up saying that tablets are not supported for the eSIM generation process, and the customer service agents also say it’s impossible. I also couldn’t find anything scouring the various Korean forums, so I assumed I had to use a USIM again to open up a data-sharing line. But when I went to a…
I’ve always wanted to self-host a short URL service. Mainly because sometimes you need to hand out links, and links expire. (Unless you manage to cheat entropy and the decay of the universe.) So if I have my own short URL service, I can hand out what is essentially a permalink, because I can update it until the heat death of the universe or when my server shuts down because I forgot to pay the…
I hate writing captions for my video, because it’s such a time-consuming process. So when I discovered OpenAI’s Whisper program (and model) , and the re-write in C++ made by Georgi Gerganov , I knew I had to try it out to save myself hours of transcribing pain. After generating an MP3 file in FCPX, I used ffmpeg to convert it to a WAV file that Whisper.cpp expects: ffmpeg -i input.mp3 -acodec…
This is an update to the original blog post . I decided to write this quick update blog post because I found some new resources and techniques on re-encoding to get a smooth scrubbing video. ProRes? Apple’s ProRes stores video frames “uncompressed”, which means computers don’t have to spend a ton of time decoding them, compared to other compressed codecs like H264 and so on. Here’s an example…
After spending about an hour wrestling with my travel router to get it to recognize my SD card, I decided to write this blog post to save someone the headache and pain I went through. I had an SD card that worked fine in all devices but the GL.iNet router. Now, your first thought is probably the formatting of the SD card, right? Well, I tried everything. Both GPT and MBR for the partition table,…
Today was the first time I charged my Exway remote after getting the electric skateboard in May or so. When I went to plug it in with my USB-C charger, I noticed that the remote didn’t light up. My heart sank a little when I noticed that the other end of the type-C cable was connected to the type-C port on my charger. If what I thought was true, it would be another device that the engineers didn’t…
These are the steps I took to migrate Homebrew from an Intel-based Mac to an Apple Silicon-based (abbreviated as ASi from here on out) Mac. Preparations Before moving, run the following command on your old Intel Mac: brew bundle dump This dumps the currently installed package list to a Brewfile in the current directory. Save it, or either leave it there if you’re doing a Mac-to-Mac transfer. Wait,…
Recently, I noticed a ton of posts on Reddit where students were accused of academic dishonesty and plagiarism through the use of “AI” tools. With the start being this post: I have been falsely accused of using AI on my essay And after that, the reports just started to flood in: I was falsely accused of using a AI to write my final paper After seeing many false AI usage accusations here, it…
This is a tutorial on how to properly set up Caddy running in a Docker container. The prerequisites A server with the Docker service enabled. Let’s (host)name the server timmy . Some services you want to expose to the web A custom Docker network that houses these services (let’s say proxynetwork here) (optional) Some services you don’t want to expose to the web (optional) A VPN service such as…
By far, the most disappointing and useless feature on the Apple Watch is the Handwashing Timer. Which is ironic, because when it was announced back in 2020 I thought it was a really neat idea. The problem: the trigger… doesn’t trigger. Apple says the trigger is audio and motion , so it probably detects the sound of running water, then checks if the user is rubbing their hands together. But this…
What the hell is this, Naver? No, I’m not using an outdated browser. Naver is just pushing for their self-developed browser, Naver Whale. The problem is that the banner makes users believe that the browser they’re currently using is vulnerable in terms of security, when it might not be (as I get this banner on the latest versions of Firefox and Safari). But Naver Whale isn’t some special browser.…
When saving text files to an SMB server with TextEdit on macOS, you may run into this issue where it leaves behind a ton of directories every save, like so: name-of-text-file.txt name-of-text-file.txt.sb-xxxxxxxx-xxxxxx Where x s are replaced by some random string of characters and numbers. And sometimes, TextEdit will completely fail to save a file. Well, it might be because you’re disallowing…
Update at the end of this blog post! Time Machine on macOS does a lot of things just right. It’s incremental, so you save disk space on the destination. It runs seamlessly in the background, and if you enable Power Nap it will run even when the lid is closed. What it is absolutely terrible at is backing up to anything other than a directly-attached storage device. Want to back up to a remote…
After deleting my Twitter account , I’ve been doing some research about Mastodon and how it works. Suffice to say, I now have a Mastodon account over at tilde.zone ! My handle is: @ericswpark@tilde.zone Quick tip for those joining: I was stuck on the choosing-a-server step for a very long time, until I realized account creation is a bit like creating an email account. You don’t really care whether…
(Warning to mobile users: this post has a lot of images with huge file sizes, so it may be slow to load. I considered compressing/resizing the images but I wanted the details to be preserved so I left them as-is. If the images don’t load, try viewing this post on a computer. Thanks!) If you have a large media collection like me, you may have some content, like movies and videos, that are shot or…
When cutting videos using ffmpeg using the following command: ffmpeg -i input.mp4 -ss 00:00:24.183 -to 00:03:22.183 -c copy output.mp4 You may notice that ffmpeg may sometimes not cut the video to the correct frame. It may start a bit later than the time specified, 00:00:24.183 , by a couple of frames or a couple of seconds. Worse yet, the video may appear frozen until it reaches the arbitrary…