~/Postroll

Brandon Rozek

Photo of Brandon Rozek

PhD Student @ RPI, Writer of Tidbits, and Linux Enthusiast

Inspired by Jedda’s Postroll, here is an incomplete list of blog posts that I’ve read and enjoyed in the last 3 months. This list refreshes daily.

If you find any of these posts interesting, I suggest that you give them a follow!

Hiking The Oregon Coast Trail, Day 5: High Tide & Sneaker Waves by Jason Evangelho

This is a fun blog post series following Jason along his journey hiking the Oregon Coast Trail. I’ve never been to Oregon or Washington state and I really want to some day. It’s beautiful out there.

Also while nature is absolutely stunning, this specific post outlines why we should be prepared as well.

Added: May 10, 2025


Lying to your Research Subjects, and other avoidable ethical pitfalls by Hendrik Erz

It’s crazy how some researchers delude themselves into thinking that the ends justify the means. Just because a research question is genuinely interesting, does not grant someone permission to disrespect people, cause harm, or do other shady practices to get the results they seek.

This post goes into two recent high-profile examples where researchers have gone wrong. One involving the subreddit r/ChangeMyView and the other involving Linux kernel development. Hendrik also discusses ethical principles researchers should keep in mind. A lot of this boils down to empathy. Here’s a small list of questions from his post to help exercise it:

What would I think if I were a research subject in my own study?

Would you be fine with defending your research in front of your own subjects?

Would you be fine with having to defend it in court?

Added: May 10, 2025


A flash of light in the darkness by Alex Chan

This is a great public service announcement to make sure that your dark mode implementation does not flash white first for slow connections.

I didn’t expect to see this on my own website. It turns out that if you have a separate stylesheet for dark mode, then it shows a white background while it downloads the CSS file.

Therefore, instead I include a bit of CSS in the head of my HTML document using <style> to set the background color depending on user preference.

:root {
  --bg-color: #faf9f6;
  --text-color: #020101;
}
body { 
  background-color: var(--bg-color);
  color: var(--text-color);
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg-color: #0e0e0e;
    --text-color: #8f8f8f;
  }
}

Added: May 3, 2025


Notes from the Graz Plasma sprint by Nate

There’s decent overlap between the privacy and open-source communities, so there’s generally a lot of pushback when it comes to telemetry. However, how are developers supposed to make rational decisions on what features to focus on? Without telemetry, they will either just follow their own interests or pay attention to the vocal minority.

KDE has decided to collect telemetry in the same style as the Steam Hardware Survey. A popup dialog will ask if a person is willing to participate in the survey. If the they says yes, then before the data gets sent off, it will be presented clearly to them for review.

This I feel, addresses one of the core reasons people don’t like telemetry in the first place. In most proprietary applications, we just don’t know what’s being sent along! However, if we can see that the information provided has no identifying information, that can help put us at ease while still being useful to developers.

Added: May 3, 2025


Takamatsu & Awaji Island by Lucas

Seeing monkeys casually living their lives in the Awaji Monkey Center is so cool! Definitely check out the awesome photos included in this post.

Added: May 3, 2025


A Fun Zig Program by Alex Kladov

Emulating dependent-types is fun indeed! I haven’t played with Zig, but it’s super interesting how you can do work in comptime before the rest of the compilation and type checking procedures kick in.

Added: April 21, 2025


I'm Garbage At Email by Mike Stone

I try not to think about the permanance of my writing. It’s true that anyone can see my blog posts from 10 years ago. Even the ones that frankly aren’t well written. It’s also easier to write mainly technical blog posts since those age better than opinions.

Though at the same time, we should accept that we are not static as humans. Just because I wrote something a year ago doesn’t mean I still hold those opinions today.

Added: April 21, 2025


Two hours faster by Derek Kedziora

I agree that for continental flights, going through security and navigating the airport takes a good chunk of time. Currently I’m spoiled because I live by a small regional airport where I can go through security in 20 minutes.

Unfortunately, I don’t think an airplane manufacturer can fix this issue. Back in 2023, I went through customs at JFK. After waiting 45 minutes in line, I was graced with a 15 second interaction with the officer where he checked my passport.

Could this process be faster? Probably, but don’t ask me how.

Added: April 21, 2025


Why 'alias' is my last resort for aliases by Evan Hahn

Some people have large dotfile repositories. I am unfortunately not one of them. Generally, I keep my configurations to a minimum. However, I do have some custom scripts I like to use. I keep these in ~/.local/bin.

I like the idea of using scripts instead of aliases. It makes it easier to extend in the future as well.

Added: April 21, 2025


Paper by Dynomight

I think a LOT through paper. Whenever I’m pondering a new research idea or working through a mathematical proof, I’m using paper. Not to say that I haven’t tried using other mediums. However…

  • I don’t like the brainstorming experience on my iPad.
  • If I’m working collaboratively, then I prefer using a whiteboard. Though when it comes to thinking by myself, I always gravitate back towards using paper.

This post mentions how paper does not work well as a means of information storage. I agree so much with this notion, that I often don’t keep paper for longer than a few days. If I want to store the information, then I will take the time to digitize it.

Added: April 13, 2025


Silence as a tactic by Mijndert

Don’t fear silence in a conversation. In fact, this post shows us how it can be a useful tactic during hard conversations. Personally, I agree. You shouldn’t feel pressured to come up with quick responses to fill the air. Additionally, don’t feel afraid to call a time-out. It’s better to have time to collect your thoughts than to say something you’ll regret later.

Added: April 13, 2025


tl;dr I ran a marathon at the weekend and it was hard by Matt Webb

I don’t commonly run and I don’t currently dream of doing a marathon, however, this was a very insightful read! Running 26 miles on average burns more calories than a typical human consumes in a day. No wonder one has to train for months to do this! It’s a test of how efficient your body is at storing and exchanging energy.

If you’re thinking about training for a marathon, definitely check this post out.

Added: April 13, 2025


Avoiding (smart)phones by Ruben Schade

Ruben made two points that I resonated with: turning off notifications (which he previously wrote about) and decoupling functionality from his smart phone.

Personally, I disable most notifications when it comes to social media, RSS feeds, and email. I don’t like getting notified in general, and opt to instead check those manually a couple times a day.

In terms of decoupling, a big one for me is that I don’t have the wallet feature enabled on my phone. Is this inconvinient for me? Not really, most of the time. Except for last summer, when I lived in San Jose, California.

In the bay area for a summer internship, I decided that I would get to work via public transit. It was a decision for sure. It took me an hour and two bus rides to get to the office. For comparison, driving took only 11 minutes, and walking would’ve taken 3 hours.

Though I’m not here to complain about my life decisions, I’m here to complain about the Clipper system. Keep in mind, that this is a point in time complaint. For all I know they’ve improved since I left. For likely historical reasons, the San Francisco Bay Area has more than one transit system. There’s the BART, Caltrain, MUNI, VTA, SMART, AC Transit, and I’m sure more that I’m not remembering (See Wikipedia article). Instead of maintaining accounts for each of these, the idea is that you have a Clipper account, and they will manage paying out all the individual travel agencies for you.

In order to get a physical card, I had to visit a physical travel office. Okay, that’s fine. Now the bigger question is, how do I refill the card? What I’ve learned after trial and error is that I can pay online, visit a physical MTA office, a select few train stations, or Walgreens. I’m not against filling up the card online, so I decided to first try that out.

Imagine, you’re low on your card. You primarily rely on the public transit to get around, so you would expect the money to be available immediately right? Haha no, actually it took about three days for the money to get loaded. To make things worse, during those three days they’ll email you every hour saying that they’re processing your order.

Ultimately scarred by that experience, I decided to pay for the monthly VTA pass. Keep in mind that this only gave me unlimited rides for the VTA. I decided to go this route since the two busses I used to get to and from work was under that system. For the other ones, I had to keep track of my balance and opportunistically fill it up whenever I happen to be by an area where I can do that.

All that to say, they heavily promoted the mobile Clipper experience. Maybe life would’ve been easier if I accepted that. However, I couldn’t have both a physical Clipper card and a mobile one. What happens if your phone dies? Walk three hours home?

Added: April 6, 2025


The Fifth Kind of Optimisation by Laurence Tratt

I like Laurence’s five kinds of optimizations. I wonder if he has any advice on the order we should pursue these in. For example, try a different data structure before adapting the algorithm, and try to adapt the algorithm before rewriting it in parallel.

It’s definitely more difficult to write good multiprocessing code. Even when working with a high-level abstraction like Python, I have to think about how a multiprocessing pool behaves differently depending on the operating system. On the side, I’m rewriting how one of my tools handles parallelism. Luckily, this blog post reminds me that conditional variables exist! Time to remove the busy-waiting loop.

Added: April 6, 2025


The case against conversational interfaces by Julian

This is a thought piece on the role of conversational interfaces. It’s fun to recall the days where voice assistants were the hot craze. I used an Alexa device for about a year, I also tried using Google Assistant. However at the end of the day, I mostly only used them to set timers on my phone.

Nowadays, I don’t even do that. Whenever I do laundry, I pull out my phone, navigate to the clock app, and hit one of the preset timers I have ready to go. That doesn’t mean that these technologies are useless, just that these aren’t the right use cases for me.

I agree with this post that LLMs thrive in exploratory work. They help get past the blank screen problem where the ideas start flowing. I currently don’t see them as meta-assistants for me anytime soon. Not because I don’t think they’ll be easily integrated into different web services, but because I find this a hard sell from a privacy perspective. While part of me thinks it’s cool to have a computer assistant that knows all about you, at some point these companies will need to start monetizing these technologies…

Added: March 30, 2025


We Won't Save the Planet by Shrinking by Alex MacCaw

Every day comes with its high and lows. Especially if you keep up with the news. However, I try to keep an optimistic view of the long term. This post talks about how as humans we don’t just consume resources, but we solve problems. I agree! Even though our newer technologies require more power currently, we’ve been finding ways to make generation and consumption more efficient.

Added: March 30, 2025


Why developers question everything by Tim HÄrek Andreassen

Building software comes with a lot of tradeoffs. I feel like we have to question the intention behind it to make the right calls. I’ve never done a bathroom renovation before, but I feel like there are fewer variables that a customer wants to tweak and the use cases behind a bathroom stay largely the same. If I asked to move my toilet to inside the tub, I would sure hope that I get some pushback as to why.

Though why do software developers question everything? Go and read the post to find out :)

Added: March 30, 2025


Notes on coreutils in Rust by Alex Gaynor

Maintaining any piece of software for long enough teaches you that every so often you need to do work which doesn’t immediately translate to new features. Of course there’s a fine line between refactoring to accomedate this year’s JavaScript framework versus extendability in the long run. However, Rust has proven itself to reduce many bugs common in memory unsafe languages. I agree with this post that it’s good to make this transition in the long run, even if we start with coreutils first to build out the infrastructure.

Added: March 23, 2025


Rewarding Ideas by Dynomight

Insightful read on the incentives that we have today for information production and how especially for copyright some may need to be considered in the age of LLMs.

Before this post, I haven’t thought too deeply on the notion of trade secrets. However, it makes sense to me now. We definitely don’t want to live in a society where people are attempting to steal secrets from each other all the time. It’s more productive as a society to compete by innnovating.

Added: March 23, 2025


The Synchrony Budget by Gunnar Morling

People don’t like to wait. Therefore, reducing the number of synchronous dependencies is crucial. This post walks through an e-commerce example, and how you can depend on techniques like asynchronous calls and reverse communication flows to help speed up the experience.

Added: March 23, 2025


Use of Assertions by John Regehr

Deep dive on assertions and their use in identifying issues within software. Honestly, I didn’t know that large projects like Firefox and LLVM have thousands of assertions enable and active when people run their code. It makes total sense, why allow for undefined behavior? If something seems out of whack, crash out and let user reports help guide developers to fixing the underlying bugs.

Added: March 23, 2025


Running my first marathon by Nick

Congratulations on running the full marathon! It’s always inspiring to see people set goals and hit the home run.

Added: March 21, 2025


Three symmetric math riddles by Alex Molas

I don’t typically look for math riddles. However, this list of “easy to pose, seems difficult at first glance, but actually not hard problems” were a fun read.

Added: March 21, 2025


buy the overpriced tourist photos by Brad Frost

You know… those overpriced tourist photos do look like a lot of fun. I appreciate the sentiment in this blog post. Though, I have to say, I take some great selfies!

Added: March 16, 2025


Deploying my blog with rsync and ssh by Adolfo Santiago

I also deploy my static website using rsync! This blog post pushed me to secure my setup, by restricting what my build ssh key can do.

Added: March 16, 2025


Filling in the gaps of the internet by Evan Hahn

I often write small tidbits on what I learned for myself and others, but the title of this blog post suggests a cooler, more grandoise purpose to say instead: Fill in the gaps of the Internet.

Added: March 16, 2025


Retrieval Augmented Generation by Fabian Beuke

I’ve been playing around recently with local LLMs using Ollama and Open WebUI. I find it amazing that as hobbyists, we can self-host a service that’s comparable to ChatGPT and Claude without needing to purchase the latest GPU or give up our privacy. This blog post talks about Retrival Augmented Generation (RAG), a feature that’s common in these platforms which allows a LLM to answer queries based on some set of documents. If you’re curious on a high-level overview of how this works, definitely check the blog post out.

Added: March 16, 2025


Strong Opinions on URL Design by Declan Chidlow

Great opinion piece on how to choose good URLs for your website. The default way that Hugo generates my URLs seem to follow this advice. Also check out the comments section while you’re there for further great thoughts.

Added: March 12, 2025


How great is the Send Later feature? by Nicolas Magand

The Send Later feature is interesting because it puts the control on the sender on when they want the receiver to get the notification. It makes sense, I wouldnt want to be bothered very early in the morning. Though I wonder, wouldn’t it be better if the receiver used finer notification controls? Well it turns out, we already have that ability. For example, on Android there’s the “Do Not Disturb” feature which lets you control when and whom you receive notifications from. The Apple ecosystem equivalent is Focus modes. Though I don’t think that these features are widely adopted among the people I communicate with. So ultimately, that leaves us with Send Later.

Added: March 10, 2025


Open Street Map by Alec

OpenStreetMap (OSM) is such a cool community effort. It gives power to us individuals to walk outside, perform surveys, and contribute our local knowledge to a shared map. Not only that, but we can also look at satellite imagery and enhance the maps of places far away too! This post highlights Alec’s journey with OSM. They share the tools they use and some tips and tricks to also hit the ground editing on your mapping journey.

Added: March 10, 2025


The Impact of Digital Authorship by Benjamin Hollon

Like Ben, I also am able to type out faster than I can think. When writing, this turns into a back-and-forth: think for a minute -> quickly type out thoughts -> think again. I also generally context switch between drafting and editing when writing. I’m not entirely convinced that it’s unproductive to do so, but maybe it has to do with the type of writing we’re talking about. For me, when it comes to technical long-form writing, I like to outline via bullet points the concepts I want to hit, and then work towards crafting sentences that meet all those points.

Added: February 27, 2025


Post-Quantum Cryptography in February 2025 by Jan Schaumann

In my life, I hear smattering of quantum updates. I’m currently studying at a university with a quantum computer, and I’ve worked at IBM’s Thomas J. Watson Research center which houses plenty of quantum research.

As with any up and coming technology, there’s lots of hype and fear regarding it’s widespread use. Luckily, we’re geared as a society to solve technical problems ahead of us. This post, as well as Jan’s from last year, gives a concise overview on the state of quantum computers, the current standards for post-quantum cryptography, and the implementations that exist currently and their roadmaps. Check it out!

Added: February 26, 2025


Image manipulation with ImageMagick by Sage

I use ImageMagick in my scripts for both compressing the images and extracting out the GPS info for my tracks page. What I didn’t know is that I used the version 6 of these commands which is over 10 years old! I’m now up to date for this decade. Check this post out for other cool things you can use ImageMagick for like making animated GIFs.

Added: February 18, 2025