<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Posts on Paperbenni</title><link>https://paperbenni.xyz/posts/</link><description>Recent content in Posts on Paperbenni</description><generator>Hugo -- 0.151.0</generator><language>en-us</language><managingEditor>paperbenni@gmail.com (paperbenni)</managingEditor><webMaster>paperbenni@gmail.com (paperbenni)</webMaster><lastBuildDate>Sat, 21 Mar 2026 11:15:44 +0100</lastBuildDate><atom:link href="https://paperbenni.xyz/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>The biggest DLSS 5 problem nobody is talking about</title><link>https://paperbenni.xyz/posts/dlss5/</link><pubDate>Sat, 21 Mar 2026 11:15:44 +0100</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/dlss5/</guid><description>&lt;p&gt;DLSS 5 has proven quite controversial for how it looks and how it changes the
way things look from what the original artists intended them to look like.&lt;/p&gt;
&lt;p&gt;I think that DLSS 5 has a much much bigger problem that Nvidia has not even
begun or attempted to address. A big problem for AI video generators has always
been temporal stability, and Nvidia is very proud of their achievements in this
field. The traditional problem is the following: If the AI recognizes a patch of
grass and puts grass blades there, and then does the same for the next frame,
the blades will likely be in a different arrangement. Nvidia aims to solve this
by giving the AI access to motion vectors as well as a few of the past frames.
That reduces flicker when looking at a still scene, or when moving around.
Here&amp;rsquo;s the thing though: Games are longer than a few frames, and often give the
player the ability to view things from different angles, leave an area and then
come back much later and a lot more.&lt;/p&gt;</description></item><item><title>Stop wasting other people's money on AI Arena</title><link>https://paperbenni.xyz/posts/aiarena/</link><pubDate>Wed, 04 Feb 2026 14:03:51 +0100</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/aiarena/</guid><description>&lt;h1 id="stop-wasting-other-peoples-money-on-ai-arena"&gt;Stop wasting other people&amp;rsquo;s money on AI Arena&lt;/h1&gt;
&lt;p&gt;I like the concept of LM-Arena (now called AI Arena, I will use both terms
interchangeably in this article)&lt;/p&gt;
&lt;p&gt;I think it could be much much better. It has incredible potential, which is not
reached because of a few problems. Furthermore, I think these problems are
solvable and have what I believe are realistic and doable suggestions on how
to solve them.&lt;/p&gt;</description></item><item><title>Kilo Code CLI</title><link>https://paperbenni.xyz/posts/kilocli/</link><pubDate>Wed, 07 Jan 2026 12:58:19 +0100</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/kilocli/</guid><description>&lt;h1 id="my-experiences-with-kilo-code-cli"&gt;My experiences with Kilo Code CLI&lt;/h1&gt;
&lt;p&gt;TLDR; don&amp;rsquo;t bother, this is unusable.&lt;/p&gt;
&lt;p&gt;Take the model switcher for instance. You might expect to type /model and then
be prompted with a list of models to choose from. You might use arrow or vim
keys to navigate the list, maybe even type to filter the list.&lt;/p&gt;
&lt;p&gt;Well fuck you, that&amp;rsquo;s not happening. It brings up a help menu which claims you
need to use &lt;code&gt;/model select &amp;lt;modelname&amp;gt;&lt;/code&gt; to select a model. You type that,
autocompleting the select command, expecting to get a model list to choose from
just like you got a subcommand list. No can do, delete what you typed, you need
to use the list command to actually get the model names. You then manually copy
the model name from that (If you&amp;rsquo;re unlucky, you have to use the awful
pagination system, typing &lt;code&gt;/model list next&lt;/code&gt; a few times.&lt;/p&gt;</description></item><item><title>Videomd</title><link>https://paperbenni.xyz/posts/videomd/</link><pubDate>Sun, 05 Oct 2025 14:56:07 +0200</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/videomd/</guid><description>&lt;h1 id="videomd"&gt;Video.md&lt;/h1&gt;
&lt;h2 id="basic-idea"&gt;Basic idea&lt;/h2&gt;
&lt;p&gt;I have an idea for a video editing tool based on markdown.
It works the following way:&lt;/p&gt;
&lt;p&gt;Transcribe the video using AI into a timestamped subtitle file.
Convert that subtitle file into a markdown file, preserving the timestamps in a
format that is both human and machine readable.&lt;/p&gt;
&lt;p&gt;Now I can read the entire video in text form.&lt;/p&gt;
&lt;p&gt;After making edits to the markdown file, the program can edit the video itself
according to the edits I made to the markdown file.&lt;/p&gt;</description></item><item><title>Ai agents should be using tmux</title><link>https://paperbenni.xyz/posts/ai_agents_tmux/</link><pubDate>Thu, 25 Sep 2025 19:47:27 +0200</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/ai_agents_tmux/</guid><description>&lt;p&gt;AI agents should run their commands in a tmux session. Claude-Code and most
other agents are horrible at running commands. It will run something requiring
user input and then get stuck. It may open a Vim session, fzf, or a dialog, and
it cannot deal with that.&lt;/p&gt;
&lt;p&gt;I get that the problem sounds hard to solve, the easy way to implement terminal
commands is to do the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Have the LLM generate a bash command&lt;/li&gt;
&lt;li&gt;Run the bash command&lt;/li&gt;
&lt;li&gt;Wait for the command to finish&lt;/li&gt;
&lt;li&gt;Feed the LLM the output and exit code of the command&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The important part is that the LLM is not running while the command is running.
If the command requires input to terminate, then there is nothing to provide that
input and the command never terminates. The LLM never wakes up again, and the
entire agent loop is stuck.&lt;/p&gt;</description></item><item><title>Why are game store clients shit?</title><link>https://paperbenni.xyz/posts/why_are_game_clients_shit/</link><pubDate>Sun, 21 Sep 2025 13:06:37 +0200</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/why_are_game_clients_shit/</guid><description>&lt;p&gt;I marvel at the inability of huge publishers to build what should be a simple
app. Sure, taken as a whole, what a store does is pretty complex, but it can be
broken down into smaller problems, each of which has been solved already. Those
problems were not easy to solve, it took thousands of hours of work from
talented and smart people. Why do you try and fail to solve them yourself?&lt;/p&gt;</description></item><item><title>A new game save system</title><link>https://paperbenni.xyz/posts/gamesaves/</link><pubDate>Sun, 21 Sep 2025 12:52:40 +0200</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/gamesaves/</guid><description>&lt;h1 id="update"&gt;UPDATE&lt;/h1&gt;
&lt;p&gt;This article is an early idea of what the tool could be. Since I wrote it, it
has evolved and changed a lot. Stay tuned for more infos about the current
version of the tool.
The tool has since been renamed to
&lt;a href="https://github.com/instantCLI/instantCLI"&gt;ins&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="the-problem"&gt;The problem&lt;/h1&gt;
&lt;p&gt;I do not trust many cloud save systems. Partially that&amp;rsquo;s not their fault.&lt;/p&gt;
&lt;p&gt;I am on Linux, so everything EpicGames is janky (even more than on Windows).
Steam is pretty good, but even there, the cloud save system occasionally refuses
to sync.&lt;/p&gt;</description></item><item><title>There is no replacement for dmenu</title><link>https://paperbenni.xyz/posts/dmenu_replacement/</link><pubDate>Mon, 15 Sep 2025 16:53:18 +0200</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/dmenu_replacement/</guid><description>&lt;h1 id="are-there-really-none"&gt;Are there really none?&lt;/h1&gt;
&lt;p&gt;We are now years into the transition to wayland, yet one problem still remains:
There is no dmenu replacement. Instantmenu is based on dmenu, which remains
stuck on X11, which is becoming a problem.
You might say &amp;rsquo;look at fuzzel/rofi/whatevershinynewthing&amp;rsquo;, but they are not what
dmenu was truly good at: Not interrupting my workflow. Instantmenu was truly
tiny. And the very first thing it did was to grab my keyboard input.
I could make it part of my typing flow, as I could use it purely from muscle
memory without thinking about it. This is not possible with the wayland
equivalents of it. They all take a variable and non-negligible amount of time to
load. This means that if I continue typing before they loaded, the first few
keystrokes will go to whatever application is currently in focus. Depending on
what that application is, this could be annoying to disastrous. It also means
those characters are not in the menu when it eventually opens. Double bummer.&lt;/p&gt;</description></item><item><title>Instantcli Dotfiles</title><link>https://paperbenni.xyz/posts/instantcli-dotfiles/</link><pubDate>Sat, 06 Sep 2025 20:50:00 +0000</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/instantcli-dotfiles/</guid><description>&lt;h1 id="update"&gt;UPDATE&lt;/h1&gt;
&lt;p&gt;This article is an early idea of what the tool could be. Since I wrote it, it
has evolved and changed a lot. Stay tuned for more information about the current
version of the tool.
The tool has since been renamed to
&lt;a href="https://github.com/instantCLI/instantCLI"&gt;ins&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="idea"&gt;Idea&lt;/h1&gt;
&lt;p&gt;I want to unify lots of instantOS things into an instantCLI
the base command will just be &lt;code&gt;instant&lt;/code&gt;&lt;/p&gt;
&lt;h1 id="dotfiles"&gt;Dotfiles&lt;/h1&gt;
&lt;p&gt;I wrote about ideas for dotfile management a while back.
I thought about it some more. I am abandoning the &amp;ldquo;home dir as git worktree&amp;rdquo;
approach. It&amp;rsquo;s just not flexible enough.&lt;/p&gt;</description></item><item><title>Instantarch_rewrite</title><link>https://paperbenni.xyz/posts/instantarch_rewrite/</link><pubDate>Sat, 30 Aug 2025 14:14:32 +0000</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/instantarch_rewrite/</guid><description>&lt;h2 id="edit"&gt;Edit&lt;/h2&gt;
&lt;p&gt;This is an early draft of what the new &lt;code&gt;ins arch&lt;/code&gt; instantOS installer actually
became. The new installer works a bit different but is inspired by this scribble
I did on my phone.&lt;/p&gt;
&lt;h2 id="post"&gt;Post&lt;/h2&gt;
&lt;p&gt;This is written on my phone, really quick,
dirty thoughts&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Rust
installConfig struct
instantosconfig {
user: userconfig
partitions: partitionconfig
}
serializable to toml -&amp;gt; reusable
trait from_answers {
fn from_answer(answers) -&amp;gt; Result Self
}
struct instantOSInstall {
user: UserConfig
}
UserConfig = {
username: string
password: string
}
trait AskStep {
fn collect_choices
fn validate
fn prompt
}
struct AskStepInfo {
optional: bool
AskStepType
}
enum Question {
Input { default: Option&amp;lt;string&amp;gt; }
SelectMultiple { choices }
SelectOne { choices }
YesNo
}
struct QuestionData {
choices: map(QuestionType, data)
answers: map(QuestionType, answer)
}
Enum QuestionType {
UserName(UserNameQuestion),
UserPassword(PasswordQuestion)
}
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id="alternative-approach"&gt;Alternative approach&lt;/h1&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;type StepId = string
answerRegistry = Map&amp;lt;AnswerKind, Answer&amp;gt;
ActiveQuestions = [AnswerKind]
NodeRegistry = [AnswerKind, Node]
build_dependencies
while get_unsatisfied(unsatisfied)
for step in step
if step.conditions.active
if step.unanswered
return step
struct stepCondition
ValueEquals(stepID, val)
ValueNot(stepID, val)
ValueIn(stepID, vec val)
goback()
for answer in get_active()
if active[i+1] == currentstep
currentstep = active[i]
trait Leaf&amp;lt;data&amp;gt;
data: data
leafkind: enum
fn verify
fn get_choices
enum leafkind
YesNo
Input
ChooseOne
ChooseMulti
Custom(lambda stuff)
askLeaf(leaf)
match leafkind
YesNo
data = gum ask
SelectOne
data = gum choose get_choices
verify
SelectMultiple
data = gum choose get_choices
verify
struct Step {
junction: Option&amp;lt;Vec&amp;lt;AskDependency&amp;gt;&amp;gt;,
question: Option&amp;lt;Leaf(askstuff)&amp;gt;
}
struct AskDependency {
name: string
dependencies: [dependency]
}
partitionconfig depends on
rootpartition
bootloaderpartition
fn get_unsatisfied(ActiveQuestions, NodeRegistry)
sort active_questions by leaf first, junction second
for question in active_questions
if question.unsatisfied
return question
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id="tech-stack"&gt;tech stack&lt;/h1&gt;
&lt;p&gt;duct for commands
gum for UI&lt;/p&gt;</description></item><item><title>Cline</title><link>https://paperbenni.xyz/posts/cline/</link><pubDate>Mon, 18 Aug 2025 18:32:18 +0200</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/cline/</guid><description>&lt;h1 id="my-experiences-with-cline"&gt;My experiences with Cline&lt;/h1&gt;
&lt;p&gt;Cline is an open-source AI-powered coding agent living in VS Code. I find VS
Code rather annoying to use compared to Neovim and Zed. Cline is the thing
making me keep a resource-hogging instance of VS Code open next to the other
two.&lt;/p&gt;
&lt;p&gt;KiloCode and Roo Code made it seem like Cline is basically Debian, very
conservative and purposefully behind in terms of features.&lt;/p&gt;
&lt;p&gt;From my experience that doesn&amp;rsquo;t seem to be the case. Cline has the most or most
competent developers behind it compared to the other VS Code coders, and being
mostly upstream from them has some features earlier or plain better than the
others.&lt;/p&gt;</description></item><item><title>Namecheap is horrible</title><link>https://paperbenni.xyz/posts/namecheap/</link><pubDate>Thu, 14 Aug 2025 14:51:28 +0200</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/namecheap/</guid><description>&lt;h1 id="its-horrible"&gt;It&amp;rsquo;s horrible&lt;/h1&gt;
&lt;p&gt;Stay away from it. They are not capable of delivering anything resembling good
service.&lt;/p&gt;
&lt;h1 id="horrible-ui"&gt;Horrible UI&lt;/h1&gt;
&lt;p&gt;The UI is terrible.
There is a dropdown menu called &amp;ldquo;Actions&amp;rdquo; at the top which for years has only
contained a single action called &amp;ldquo;Delete&amp;rdquo;. Why not replace that with a button
called &amp;ldquo;Delete&amp;rdquo;?&lt;/p&gt;
&lt;p&gt;By default the entry management UI shows a whopping 5 entries.
There is a button which allows it to display all of them.
So it&amp;rsquo;s either 5 or potentially hundreds or thousands, depending on what you&amp;rsquo;re using your
domain for. No paging.&lt;/p&gt;</description></item><item><title>The Future of instantWM</title><link>https://paperbenni.xyz/posts/instantwm/</link><pubDate>Tue, 12 Aug 2025 16:34:29 +0200</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/instantwm/</guid><description>&lt;h1 id="the-state-of-wayland"&gt;The state of Wayland&lt;/h1&gt;
&lt;p&gt;I started instantWM in (I believe around) 2019.
Wayland adoption was low. It had major open issues. Screen recording. Screen
sharing. No support from Nvidia. No distros using it by default.
No software ecosystem with utilities coming even close to what Xorg had.&lt;/p&gt;
&lt;p&gt;Some of these are still issues. Flameshot does not work by default on Wayland.
It still complains after applying a few fixes.
Espanso is really hacky on Wayland. Some features straight up do not work.&lt;/p&gt;</description></item><item><title>Niri</title><link>https://paperbenni.xyz/posts/niri/</link><pubDate>Wed, 11 Jun 2025 11:53:26 +0200</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/niri/</guid><description>&lt;h1 id="niri"&gt;Niri&lt;/h1&gt;
&lt;p&gt;I have recently come across &lt;a href="https://github.com/YaLTeR/niri"&gt;Niri&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I do not know how I managed to miss that this is a thing for this long.
In my limited experience this is even better than Hyprland.&lt;/p&gt;
&lt;h1 id="overview-hjkl"&gt;Overview hjkl&lt;/h1&gt;
&lt;p&gt;The overview mode is amazing. It would be even more amazing if you could use hjkl
vim navigation in addition to the arrow keys. This should be fairly simple&lt;/p&gt;
&lt;h1 id="xwayland"&gt;XWayland&lt;/h1&gt;
&lt;p&gt;XWayland is a bit rough on niri. instantmenu spawns on the wrong workspace and
sometimes behind normal tiled windows. Sometimes it also opens in a window even
though it is supposed to render above other windows, not inside one. I do not
know if this is a problem with xwayland-satellite or niri, but sadly it makes
X11-based menus nearly unusable.&lt;/p&gt;</description></item><item><title>Immich</title><link>https://paperbenni.xyz/posts/immich/</link><pubDate>Mon, 10 Feb 2025 13:33:25 +0100</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/immich/</guid><description>&lt;h1 id="my-thoughts-on-immich"&gt;My thoughts on Immich&lt;/h1&gt;
&lt;p&gt;Immich is amazing. It looks like Google Photos, it feels like Google Photos, and
it&amp;rsquo;s even faster. Google Photos tends to move infrequently accessed photos to really slow
storage, so going through your timeline can be very slow.
The desktop version of Immich is also worlds above whatever Google cannot manage
to achieve. Video playback works without tons of buffering and dealing with what
seems to be an outdated and probably unmaintained fork of the YouTube player.
(August 2025 update: they fixed the video player, yay!)&lt;/p&gt;</description></item><item><title>Linux Gaming Rant</title><link>https://paperbenni.xyz/posts/linux-gaming-rant/</link><pubDate>Mon, 30 Dec 2024 11:10:52 +0100</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/linux-gaming-rant/</guid><description>&lt;h1 id="disclaimer"&gt;Disclaimer&lt;/h1&gt;
&lt;p&gt;This is a script for a video I started writing a few years ago.
I didn&amp;rsquo;t want to see it rot in a notes app I no longer use, so here it is.
I may have formulated it differently nowadays, but the point still stands.&lt;/p&gt;
&lt;h1 id="rant"&gt;Rant&lt;/h1&gt;
&lt;p&gt;I have long been using Linux as my primary operating system for gaming. Back
when I couldn&amp;rsquo;t get wine applications to access the internet I never ever would
have thought that the majority of AAA games would ever run on Linux. I love the
platform and am amazed at how far it has come. However, there are things that
don&amp;rsquo;t work on Linux. And oftentimes the fault lies not with Linux developers.
However, this does not change the fact that some things still don&amp;rsquo;t work, and
problems don&amp;rsquo;t get better if nobody talks about them. Lately I have increasingly
come upon people on Linux communities who seem to function along the following
lines:&lt;/p&gt;</description></item><item><title>Automated Dotfile Management</title><link>https://paperbenni.xyz/posts/automated-dotfile-management/</link><pubDate>Fri, 13 Dec 2024 00:23:08 +0100</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/automated-dotfile-management/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;instantOS relies on a lot of tools which use plaintext configuration in the home
directory and have pretty much all their features disabled by default. This
means that in order to ship a somewhat functional system out of the box, user
settings need to be managed in some automated way, unless the user modifies them manually.&lt;/p&gt;
&lt;p&gt;In that case, automated changes in these files can be very destructive, as it
could lead to unexpected behaviors or loss of user customizations.&lt;/p&gt;</description></item><item><title>Software wishlist</title><link>https://paperbenni.xyz/posts/wishlist-1/</link><pubDate>Thu, 12 Dec 2024 19:38:08 +0100</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/wishlist-1/</guid><description>&lt;h1 id="software-wishlist"&gt;Software wishlist&lt;/h1&gt;
&lt;p&gt;For a while now I&amp;rsquo;ve been keeping a list of features or changes I really wish
the software I use had. I consider most of these to be obviously good ideas.
I don&amp;rsquo;t feel particularly creative having come up with them and I&amp;rsquo;m not sure why
these haven&amp;rsquo;t been implemented yet in most cases.&lt;/p&gt;
&lt;h1 id="software"&gt;Software&lt;/h1&gt;
&lt;h2 id="firefox"&gt;Firefox&lt;/h2&gt;
&lt;p&gt;Why is there no shortcut to enter the settings on Linux?
There is Command + Comma on macOS, but not on Linux.&lt;/p&gt;</description></item><item><title>Hello World</title><link>https://paperbenni.xyz/posts/helloworld/</link><pubDate>Thu, 12 Dec 2024 18:58:45 +0100</pubDate><author>paperbenni@gmail.com (paperbenni)</author><guid>https://paperbenni.xyz/posts/helloworld/</guid><description>&lt;h1 id="hello-world"&gt;Hello world&lt;/h1&gt;
&lt;p&gt;This is my first post. Setting this site up was way more work than I
anticipated. Jekyll seems a bit old-school; its website hasn&amp;rsquo;t changed ever
since I first came across it.
GitHub Pages is older than GitHub Actions, but Pages was sort of absorbed
into Actions. In order to keep compatibility with older repos, they added some
ghost jobs to the site (?)&lt;/p&gt;
&lt;p&gt;Also my custom domain just got erased from the settings, or they added the
settings page after I added the custom domain in some other way. That was
ages ago, I don&amp;rsquo;t really remember.&lt;/p&gt;</description></item></channel></rss>