<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://the66monkey.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://the66monkey.github.io/" rel="alternate" type="text/html" /><updated>2026-09-10T09:41:22+00:00</updated><id>https://the66monkey.github.io/feed.xml</id><title type="html">Decent Into Debian 🐧</title><subtitle>A wandering story of kernels, cables, distros, and the strange joy of making the universe compile.</subtitle><entry><title type="html">Under the sea</title><link href="https://the66monkey.github.io/linux-gaming/2026/09/10/Bioshocking2.html" rel="alternate" type="text/html" title="Under the sea" /><published>2026-09-10T00:00:00+00:00</published><updated>2026-09-10T00:00:00+00:00</updated><id>https://the66monkey.github.io/linux-gaming/2026/09/10/Bioshocking2</id><content type="html" xml:base="https://the66monkey.github.io/linux-gaming/2026/09/10/Bioshocking2.html"><![CDATA[<h1 id="bioshock-2-the-best-bioshock">Bioshock 2, the best Bioshock!?</h1>

<p>Bioshock 2 is the best game in the Bioshock series.
I know — it’s fucking astounding.</p>

<p>I played the first Bioshock when it released. I got to the Andrew Ryan reveal, hit the “would you kindly” twist, walked a few more minutes, and then dropped it. The game had already fired its biggest shot, and everything afterward felt like a victory lap. The combat never clicked, the pacing sagged, and the whole thing played like a museum tour with guns.</p>

<p>Years later I played Bioshock Infinite and thought it was “meh.” The combat carried me through, but barely. In hindsight it’s probably the weakest entry. The story tries to be clever in a way that collapses under its own ambition, and the places it goes feel stitched together from rewrites. It’s the kind of game people defend with think‑pieces because the moment‑to‑moment experience doesn’t hold up.</p>

<p>But Bioshock 2?
Shockingly good. The story is fine, but the pacing and gameplay are fantastic. It reminded me of Call of Juarez: Gunslinger — that strange spinoff where the developers stopped chasing prestige and instead focused on making a tight, stylish shooter that actually plays well.</p>

<p>Bioshock 2 does the same thing. It stops trying to be a philosophical thesis and instead becomes a game.</p>

<h2 id="the-first-bioshock-never-knew-what-it-wanted-to-be">The First Bioshock Never Knew What It Wanted to Be</h2>

<p>The original Bioshock is iconic, but mechanically confused. It never figured out what genre it wanted to inhabit. If the walking‑simulator trend had existed at the time, and the budget had been lower, it could’ve leaned into that — more audio logs, more atmosphere, less combat. Sometimes it wants to be a Resident Evil‑style horror game where resources matter and every encounter is tense, but the FPS‑shooter flavour gets in the way. Sometimes it pretends to be a systemic shooter with clever plasmid‑gun combos, but switching between gun or plasmid made it easier to just shoot stuff.</p>

<p>It was three game styles fighting each other, and it became a shooter with extra stuff interrupting it rather than a coherent blend.</p>

<p>The plasmids are thematic rather than mechanical. They’re central to the world and the story, but in actual combat they’re clunky toys you use because the game keeps handing you syringes. The shooting is okay, if a little floaty. Encounters repeat themselves. Once the twist hits, the pacing collapses and the game drifts toward the exit.</p>

<p>The setting was creative, the philosophical undertones differentiated it, but the shooter underneath never found its footing — which is exactly why Bioshock 2 feels so fresh.</p>

<h2 id="the-shooter-hiding-inside-a-prestige-franchise">The Shooter Hiding Inside a Prestige Franchise</h2>

<p>Here’s the wild part: Bioshock 2 didn’t struggle because it was bad. It struggled because people assumed it would be bad. A new studio took over, the first game’s story had already wrapped itself up, and the marketing made it look like a reheated plate of Rapture leftovers. The audience expected a cynical sequel designed to squeeze more money out of the brand.</p>

<p>Nobody wanted a mechanically focused shooter in the Bioshock universe.
They wanted another ground‑breaking ideological spectacle, another twist, another round of “games are art” discourse.</p>

<p>But Bioshock 2 is the best shooter and most playable game in the series. The dual‑wielding system — plasmid in one hand, gun in the other — transforms combat into something fluid and expressive. You’re chaining lightning into shotgun blasts into fire traps without ever pausing the game. The levels are tight, the encounters are tuned, and the weapons finally feel like they belong in a shooter rather than a narrative diorama.</p>

<p>People went wild for Doom 2016, but frankly Bioshock 2 did that style of aggressive, expressive combat years earlier. And this is where the funny realization hits: Doom 3 and Bioshock 2 should’ve swapped names.</p>

<p>Doom 3 already played like a spiritual cousin to Bioshock 1: slow burns, tight corridors, flickering lights, audio logs, atmosphere first and mechanics second. It would’ve fit perfectly into Rapture’s world. Meanwhile Bioshock 2 had the encounter design id Software eventually rediscovered — push forward, stay moving, stay lethal. The plasmid‑gun chaining, the arena‑style Little Sister defenses, the constant forward momentum… that’s Doom DNA wearing a diving suit.</p>

<p>Right let’s <em>dive</em> back into the core issue, I really respect is how Bioshock 2 almost never wrestles control away from you. It locks a door, talks at you for a moment, and then you’re back in motion. Infinite couldn’t do this — it kept grabbing the camera, freezing your movement, forcing cutscenes because it couldn’t blend story into gameplay. Bioshock 2 keeps you in the driver’s seat, and the game is stronger for it.</p>

<p>The Little Sister defense segments slow the pace down, but in a good way. They give you a moment to look around the environment instead of constantly pushing forward. They work and have a point — something most defense sections in similar games fail at. They’re mechanically coherent in a way the first Bioshock never managed.</p>

<p>This is the closest the series ever came to an arcade shooter.
You can practically imagine a Bioshock 2 cabinet in a neon‑lit arcade, Big Daddy drill mapped to a giant plastic trigger, plasmids on oversized buttons. It has that punchy, immediate rhythm you’d expect from Time Crisis or Virtua Cop — not in tone, but in feel.</p>

<p>So when Bioshock 2 arrived and quietly delivered the best combat in the series, most people ignored it. The name “Bioshock 2” was a curse. It shackled the game to expectations it never intended to meet.</p>

<p>And yet that same name is the reason the game survived long enough to be rediscovered. If it had launched as a standalone title, it would’ve been buried under 2010’s shooter competition and forgotten. If it hadn’t been part of the Bioshock brand, it never would’ve resurfaced and I never would’ve played it.</p>

<p>The title is both its albatross and its lifeline — the thing that doomed it at release and saved it years later.</p>

<h2 id="the-story-that-knows-its-place">The Story That Knows Its Place</h2>

<p>Bioshock 2’s story works because it never tries to dominate the experience. Sofia Lamb is fine, Eleanor is fine, the emotional beats land well enough, and none of it drags the game down. It’s a functional narrative scaffold — enough motivation to push you through the levels, enough escalation to justify the encounters, and never so loud that it interrupts the part of the game that actually matters: playing it.</p>

<p>And then there’s Minerva’s Den, which feels like the moment the new studio fully understood what Rapture should be. It’s tight, focused, and emotionally clean in a way the main campaign only gestures toward. It doesn’t overreach, it doesn’t drown itself in ideology, and it doesn’t waste your time. It’s the proof that Bioshock 2’s approach to storytelling — restrained, purposeful, secondary to the gameplay — was the right one.</p>

<p>Together they form a rare combination: a game that plays well and a story that knows when to get out of the way.</p>

<h2 id="a-snapshot-of-an-era">A Snapshot of an Era</h2>

<p>Bioshock 1 and 2 feel like artifacts from a very specific moment in gaming — that early‑internet era when designers were inhaling half‑digested philosophy books and dumping the ideas straight into level design. Rapture has the exact energy of a 2006 forum user who just discovered Atlas Shrugged and decided they had profound thoughts about society. It’s the same vibe that produced Too Human, Prey (2006), Mirror’s Edge — that whole wave of games built out of edgy paperbacks, forum debates, and “what if society collapsed but in a cool way.”</p>

<p>It was a time when “games as art” didn’t mean prestige cinematics or auteur worship. It meant someone on the team had just read a book and now they were dangerous. Bioshock 1 is the purest version of that — a thesis stapled onto a shooter. Bioshock 2 is the moment where the industry accidentally realized the gameplay should probably work too.</p>

<p>Both games radiate that pre‑social‑media, pre‑prestige‑gaming vibe: messy ambition, weird ideas, and a willingness to steal from whatever paperback was lying around. That energy basically died after 2013, replaced by safer narratives, bigger budgets, and corporate‑approved themes. Bioshock 1 and 2 are fossils of that era, and part of why they’re still interesting is because they’re soaked in that early‑internet cultural marinade.</p>

<h2 id="the-takeaway">The Takeaway</h2>

<p>Finding a genuinely good game is rare. Plenty of games have good moments, or a strong opening, or a clever mechanic, but very few actually stick the landing. Modern games especially tend to overstay their welcome — bloated maps, endless post‑endgame chores, a final act that drags on because someone decided “content” mattered more than pacing.</p>

<p>Bioshock 2 is the opposite. It ramps up cleanly, escalates with purpose, and finishes before it wears out its ideas. It’s tight and confident, like my wife.</p>

<p>If the first Bioshock is the museum exhibit, Bioshock 2 is the arcade machine next to it, and frankly it is more fun.</p>]]></content><author><name></name></author><category term="linux-gaming" /><category term="gaming" /><category term="bioshock 2" /><category term="mechanis" /><category term="shooter" /><summary type="html"><![CDATA[Bioshock 2, the best Bioshock!?]]></summary></entry><entry><title type="html">Modern Codeing</title><link href="https://the66monkey.github.io/2026/09/09/Modern-Codeing.html" rel="alternate" type="text/html" title="Modern Codeing" /><published>2026-09-09T00:00:00+00:00</published><updated>2026-09-09T00:00:00+00:00</updated><id>https://the66monkey.github.io/2026/09/09/Modern-Codeing</id><content type="html" xml:base="https://the66monkey.github.io/2026/09/09/Modern-Codeing.html"><![CDATA[<h1 id="aiassisted-coding-why-vibes-dont-ship-software">AI‑Assisted Coding: Why “Vibes” Don’t Ship Software</h1>

<p>There ain’t no fucking vibe in professional software development.
You build something that works, or you don’t.</p>

<p>Every developer starts the same way: copying code, tearing apart examples, stitching features together, and learning by breaking things. It’s the same as any craft — you take the machine apart, you put it back together, and you figure out why it rattles.</p>

<p>Stack Overflow became a rite of passage because every coder has, at some point, crawled in there at 3 AM, hunting for a fix buried under ten layers of contradictory answers.
GitHub Copilot: The Agent That Launched a Thousand Script Kiddies</p>

<p>There’s a strange parallel between the rise of Copilot and the old wave of script kiddies.
Both groups gained access to powerful tools long before they gained the understanding required to wield them.</p>

<p>A script kiddie fires off payloads because the interface makes it feel like hacking.
An AI-assisted coder generates functions because the interface makes it feel like programming.
In both cases, the sense of capability comes from the tool’s output rather than the user’s internal model of how the system behaves.</p>

<p>This is why AI-assisted coding creates so much rework.
The model pushes you forward quickly, but it pushes you forward on rails it chose long before you noticed. When you’re building anything modern — new kernels, fresh APIs, evolving frameworks — those rails rarely match the direction your architecture needs to go. You get speed, but you also inherit every assumption baked into the generated scaffolding.</p>

<p>For me, getting the latest suite of pentest tools working has been a mix of LLM prompting, documentation reading, and the usual dependency chaos. The LLM helps me explore ideas faster, but the real progress comes from understanding why a particular approach fits the environment I’m targeting. That understanding doesn’t come from the model; it comes from reading, testing, and adjusting until the system behaves the way I expect.</p>

<p>If you’re building something old and stable, an LLM can act like a cheat sheet. It throws out workable code that gets you moving. But when you’re shipping something that needs to evolve, the early assumptions matter. The model often picks a framework, a pattern, or a dependency because its training data leans that way, and those choices shape everything that comes after. You end up rebuilding because the foundation wasn’t designed for the direction you needed to grow.</p>

<h1 id="why-professionals-still-need-documentation">Why Professionals Still Need Documentation</h1>

<p>Model produces code based on patterns, and the problem of that is:
Legacy bias shows up because most training data is pre‑2023, so the model leans toward patterns that were common years ago.
Goal drift happens because the model follows statistical momentum instead of architectural intent.
Hidden assumptions creep in when the model selects tools or structures without surfacing the reasoning.
Iteration inflation emerges because the generated scaffolding accelerates testing but increases the number of corrections required to reach a stable design.</p>

<p>Documentation remains the only reliable source of truth.
Modern systems evolve too quickly for statistical patterns to keep up, and the only way to align your architecture with reality is to read the material written by the people who actually maintain the thing you’re building on.</p>

<p>When you’re working with new kernel features, fresh Android ROM quirks, cloud APIs that change every quarter, or pentest tooling that depends on exact versions, the LLM becomes useful only when you anchor it with documentation. The constraints you feed it determine whether it behaves like a helper or a hallucination engine.</p>

<p>AI is becoming more diluted each year because the volume of legacy data keeps growing faster than the volume of modern examples. The next generation of coding assistants will need to treat documentation as a first-class input rather than a suggestion. And developers will need to keep producing high-quality documentation so the tools have something worth learning from.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[AI‑Assisted Coding: Why “Vibes” Don’t Ship Software]]></summary></entry><entry><title type="html">Tactical shooting</title><link href="https://the66monkey.github.io/linux-gaming/2026/09/09/Tactical-Chaos.html" rel="alternate" type="text/html" title="Tactical shooting" /><published>2026-09-09T00:00:00+00:00</published><updated>2026-09-09T00:00:00+00:00</updated><id>https://the66monkey.github.io/linux-gaming/2026/09/09/Tactical-Chaos</id><content type="html" xml:base="https://the66monkey.github.io/linux-gaming/2026/09/09/Tactical-Chaos.html"><![CDATA[<h1 id="tactical-shooters-almost-good">Tactical Shooters: Almost good</h1>

<p>There’s a tiny genre that has always been close to my heart.
No battle passes, no cinematic cutscenes every ten minutes, no “live service roadmap.” Just slow, methodical room‑clearing where one bad angle ends the whole run.</p>

<p>The geanera had it’s golden days in the late 90’s early 00’s, Rogue Spear was the first one where it really clicked for me, and in many ways the genera peaked and died with SWAT 4.
These days the genera is niche, the ARMA series is probably the highest profile series that serves the mainstream, excellent simulation, but not very fun games. So you’re left with small teams, weird engines, broken AI, and games that look like they were assembled in a garage. And somehow, that’s where some of the best tension in gaming still lives.</p>

<p>I went through three of them:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Zero Hour

Ready or Not

Black One Blood Brothers
</code></pre></div></div>

<p>They all aim for tactical realism. They all miss in different ways. And one of them accidentally gets closer to SWAT 4 than it has any right to.</p>

<h2 id="zero-hour--the-barebones-breach">Zero Hour — the barebones breach</h2>

<p>Zero Hour is tiny, Short campaign. Mid graphics. No story. UI held together with tape.</p>

<p>But once you’re actually inside a building, gun up, leaning around a doorframe, it suddenly becomes something sharp.</p>

<p>The pacing is slow, but the levels are small and the rooms are tight. So the atmoshpere stays tight without dragging.
Enemies aren’t geniuses, but they’re placed in ways that both allows for taticall solutions while punishing overly aggresive play.</p>

<p>And then there’s the K9 system — a feature that should elevate the game but ends up fighting against it.</p>

<p>A dog in a CQB game is a brilliant idea. It adds a chaotic, urgent element that isn’t just another grenade or gadget. When the dog charges into a room, you’re committed. You have seconds to back it up before things go sideways. It’s one of the few mechanics in the genre that creates tension dynamically, without relying on a bomb timer or scripted pressure. It changes the rhythm of a breach in a way that feels genuinely fresh.</p>

<p>But the implementation is completely misaligned with the rest of Zero Hour.</p>

<p>If your entire SWAT team gets wiped, they’re magically ready for the next mission.
If the dog dies, you’re locked out of using it for multiple missions.</p>

<p>This creates a backwards incentive structure. Losing operators — the thing that should matter — barely affects anything. Losing the dog — the thing that should be a dramatic moment — just encourages you to restart immediately. There’s no long‑term progression, no XP, no unlocks, no campaign persistence. So the cooldown doesn’t protect anything meaningful. It just punishes you for engaging with one of the game’s most interesting mechanics.</p>

<p>Instead of adding tension, it undermines it.
Instead of creating stakes, it creates avoidance.</p>

<p>It feels like a feature designed by someone with a completely different vision for the game — someone who thought Zero Hour needed a “cost” for using the dog, without considering how players actually interact with the rest of the systems. The result is a mechanic that should make the game more exciting, but instead pushes you toward save‑scumming and resets.</p>

<p>Zero Hour has one more design issue that drags missions down: objective items are almost impossible to see. Whenever you need to grab a folder or interact with a laptop, the game suddenly turns into a search‑and‑rescue operation for props. There’s no UI hint, no outline, and under NV they blend into the environment completely. It’s common enough that players have built maps of spawn points just to avoid running in circles.</p>

<p>A subtle indicator wouldn’t break immersion. It would simply make the objectives readable in a game where the tension comes from clearing rooms, not scanning desks for a texture that looks identical to the background. Zero Hour’s encounters are strong when they’re about angles and pacing; they fall apart the moment you’re forced to hunt for an item that doesn’t want to be found.</p>

<p>Zero Hour is stripped down to the bone. There’s almost nothing extra. No elaborate progression, no sprawling customization, no narrative wrapper. It’s just: here’s a building, here are suspects, here’s your team, don’t screw it up.</p>

<p>And because it focuses so hard on that one thing, it ends up feeling more like SWAT 4 than anything else on the market — even with the K9 system tripping over its own feet.</p>

<h2 id="ready-or-not--the-beautiful-structural-failure">Ready or Not — the beautiful structural failure</h2>

<p>Ready or Not is the opposite problem of Zero Hour.</p>

<p>On paper, it’s the “better” game.<br />
Better command system.<br />
More levels.<br />
Clearer visuals.<br />
AI teammates that actually act without babysitting.<br />
More customization.<br />
Unlockable cosmetics as rewards.<br />
More narrative and environmental storytelling.</p>

<p>You boot it up and it looks like the future of tactical shooters. Then you start playing, and something feels wrong in your bones.
The surface problems are obvious:
The compliance system feels disconnected from the rest of the game. Civilians and suspects don’t react in ways that build tension — they behave like they’re following two completely different rule sets. Sometimes they stand still waiting for instructions, other times they bolt the moment they see you, and the game never establishes a rhythm you can read or anticipate. It’s not unpredictability in a good way; it’s unpredictability that feels unintentional, like the AI is flipping between behaviours that were never tuned to work together.</p>

<p>But the deeper rot is architectural.
Ready or Not feels like a game built by people who understand the <em>components</em> of tactical shooters but not the <em>hierarchy</em> of them. The levels are filled with AI meshes, clutter, props, and visual noise. There’s a ton of stuff in your peripheral vision. The game is busy. It looks lived‑in.</p>

<p>What it doesn’t have is a clear set of deliberate elements that define the encounter.</p>

<p>You don’t need a room stuffed with assets. You need a room that communicates danger, sightlines, and intent. You need spaces that create tension through layout, not decoration. Ready or Not often feels like a diorama where the important parts are buried under noise.</p>

<p>The result is a game that has all the scaffolding of a great tactical shooter — systems, commands, AI routines, level dressing — but the actual experience never crystallizes. You’re going through the motions, but the emotional weight isn’t there. The tension doesn’t build. The payoff doesn’t hit.</p>

<p>And then you reach the ending — or rather, the absence of one.</p>

<p>If you finish the final mission successfully, you get nothing. No cutscene. No text crawl. No wrap‑up. You’re dumped back at the station like you just finished a random mid‑campaign level. It feels like the game forgot to acknowledge that you completed its entire narrative arc.</p>

<p>But if you make the mistake of pressing <strong>F</strong> on the detonator — the same button you’ve used to secure every other piece of evidence in the entire game — you don’t secure it. You <em>activate</em> it. And suddenly the game plays a tiny “ending” scene that feels like it was hidden behind a practical joke.</p>

<p>It’s a perfect snapshot of Ready or Not’s design problem: the game is full of systems, assets, and ideas, but the connective tissue — the part that makes those pieces feel intentional — is missing. The structure is there, but the payoff isn’t. The game keeps building toward something, and when you finally reach the top, there’s nothing waiting for you.</p>

<p>Ready or Not tries to be everything at once, and the core gets smothered under its own ambition.</p>

<h2 id="black-one-blood-brothers--the-ambitious-papercraft">Black One Blood Brothers — the ambitious papercraft</h2>

<p>Black One Blood Brothers sits in a completely different lane, it’s chasing the old Rainbow Six and Rogue Spear DNA.</p>

<p>The tactical map is the strongest part of the game. You’re not just breaching a door; you’re building an entire operation. You draw routes, assign teams, sync timings, decide who covers what, and then watch the plan either come together or collapse. It’s the only game of the three that actually lets you design a mission instead of just reacting to one.</p>

<p>But everything wrapped around that core is uneven.</p>

<p>The interface is barebones.
On‑the‑fly commands are nowhere near Ready or Not’s.
Gunfeel varies heavily between weapons—some feel sharp, others feel like placeholders.
The levels are big and sprawling, but a few missions feel more like proof‑of‑concepts than finished scenarios.
And despite years in Early Access (since January 2022), parts of the game still feel like prototypes taped together.</p>

<p>The biggest red flag is feature removal.
Female operators and K9 units were cut because the developer wasn’t happy with their implementation. I get that it’s Early Access, but removing entire systems instead of simplifying or reworking them is a worrying sign. It makes you wonder what the release version will actually look like—and what else might disappear along the way.</p>

<p>The Prisoner of War mode is the clearest example of how good ideas get stranded.
On paper, it’s brilliant: a tactical “escape” scenario where you start with nothing and fight your way out by looting gear. In practice, the design undercuts itself. Corpses aren’t persistent in a way that supports reliable scavenging, the looting interface is clumsy, and you can’t take armor or clothing from enemies. Because armor lives in the customization layer rather than the loot system, you’re stuck grabbing guns and a few gear items while stuck in t-shirt and jeans. That’s fine in the normal game; in PoW, it guts the whole concept.
It also highlights how something strange, you can customize your guns endlessly, but the enemies all use one of 4 or 5 guns, one for each class, with no differencisation in mods. If this mode didn’t exist you might never have noticed, but again this “good idea” mode accidentally shows you how undercooked the whole system is.</p>

<p>Black One Blood Brothers is full of these moments: strong ideas, rough execution. Every part shows promise, but the game needs to stop stacking experiments and start finishing modes with a clear vision. If it doesn’t, it risks staying in permanent “almost there” territory.</p>

<p>It’s the most replayable of the three because the planning layer always generates new problems.
It’s also the one most at risk of never fully solidifying.</p>

<p>A tactical sandbox with huge potential—still made of paper.</p>

<h1 id="which-one-is-best">Which one is best?</h1>

<p>None of these games are bad, but they all land in strange places.</p>

<p>Zero Hour and Ready or Not are both “two‑week games.” They’re worth picking up on a Steam sale, you’ll have a good time clearing rooms, and then you’ll probably never touch them again. Zero Hour nails the moment‑to‑moment tension but has almost no structure around it. Ready or Not has structure everywhere but never quite gets the moment‑to‑moment right. They each succeed at the part the other struggles with, and neither becomes something you return to long‑term.</p>

<p>Black One Blood Brothers is different. The planning layer could be the thing that sets it apart — if it were smoother, faster, and easier to use. Right now it’s clunky, slow to work with, and often gets in its own way. The potential is there, but the current iteration doesn’t fully deliver on it. After years in Early Access and multiple features being removed outright, it’s hard to believe the game will reach the state it’s aiming for. At the moment it’s more of a study piece: a collection of strong ideas wrapped in thin execution. Interesting to explore, but not something you recommend without explaining the caveats first.
We just need a game that can actually pull all of it together — a modern title with a clear vision, finished systems, and the confidence to commit to what makes this genre special. Hopefully someone will eventually deliver the masterpiece</p>]]></content><author><name></name></author><category term="linux-gaming" /><category term="gaming" /><category term="tactical shooters" /><summary type="html"><![CDATA[Tactical Shooters: Almost good]]></summary></entry><entry><title type="html">Linux and SWO</title><link href="https://the66monkey.github.io/linux-gaming/2026/09/07/High-Effort-failure.html" rel="alternate" type="text/html" title="Linux and SWO" /><published>2026-09-07T00:00:00+00:00</published><updated>2026-09-07T00:00:00+00:00</updated><id>https://the66monkey.github.io/linux-gaming/2026/09/07/High-Effort-failure</id><content type="html" xml:base="https://the66monkey.github.io/linux-gaming/2026/09/07/High-Effort-failure.html"><![CDATA[<h1 id="high-effort-failure">High Effort Failure</h1>

<p>It’s no secret that AAA studios have spent years trying to keep their games out of the hands of Linux gamers. Between Denuvo, firmware‑level anti‑cheat trash, and spyware disguised as “player experience systems,” the message is loud and clear: DON’T PLAY OUR GAMES.</p>

<p>I’ve always thought this was stupid, especially for high‑budget single‑player titles. If you’re making a giant cinematic blockbuster, why wouldn’t you want to sell it to everyone?</p>

<p>But then the best girl on the internet dropped a packed SWO build that runs flawlessly on Linux. It installs cleanly, performs well, and gives you the full Star Wars Outlaws experience.</p>

<p>And that’s exactly why today’s topic is:</p>

<h1 id="star-wars-outlaws">Star Wars Outlaws</h1>

<p>Ubislop actually did you a favour by blocking Linux users from playing this thing.</p>

<p>SWO is an insultingly bad game. It’s an idiot savant of failure, managing to screw up every system in the most annoying way possible. There’s something uniquely aggravating about being handed a project that clearly had effort poured into it, yet still lands as completely worthless. It grates against the human spirit to see so much labour wasted on something this hollow.</p>

<p>The core gameplay loop is basically a duct‑walking simulator. Once you’re past the tutorial, half your time is spent squeezing through endless identical ventilation shafts. And let’s be clear: this isn’t stealth. There’s no tension, no risk, no discovery. You hold W, crawl forward, pop out behind an enemy, and then dive into another vent. It’s like the designers built a whole universe out of air ducts and forgot to add a game around them.</p>

<p>Combat exists, technically. You can shoot enemies, you can get into fights, but it’s a soft failure state. Enemies drop nothing. You gain nothing. You don’t progress. All combat does is slow down your walk from mission start to the terminal you need to hack. It’s busywork disguised as gameplay.</p>

<p>SWO somehow ends up worse than the sum of its parts. The nerf‑gun combat is functional enough, the open world technically exists, the game runs, characters speak lines. Yet the whole thing is painful to play. It’s like every system is individually mediocre, but when combined they form a black hole of boredom.</p>

<p>I’ve played other Ubislop titles like AC:Odyssey and GR:Breakpoint. Odyssey was fine — janky, grindy, but good enough to carry me through the story. Breakpoint, once you strip out gear score, scratches the “shoot some dudes and clear a base” itch.</p>

<p>SWO doesn’t scratch anything. The designers somehow managed to strip out every reason to interact with the game’s systems. Combat gives you nothing. Stealth is a slog. Loot floods you with junk that never matters. The economy pretends to exist, but every upgrade is locked behind some quest‑specific “rare” item, which makes all the credits and materials you collect feel like background noise rather than progression.</p>

<p>The whole loop collapses under that emptiness. You can fight, you can loot, you can scrounge — none of it moves the needle. If the game let you save in hostile areas, you could delete the combat entirely and the experience wouldn’t change. All that would remain is the one thing SWO actually leans on: stealth that somehow manages to be even less engaging than the shooting.</p>

<h2 id="the-characters-or-whatever-youd-call-this-cast">The Characters, or Whatever You’d Call This Cast</h2>

<p>Kas starts out fine for about a minute. There’s this flicker where you think she might grow into the role, maybe bounce off the world, maybe show some edge. Then it all falls apart instantly. She’s bland in a way that feels manufactured — like someone scrubbed her down until nothing interesting was left.</p>

<p>The bigger problem is she has nobody around her who can lift the material. No rival pushing her, no partner sharpening her, no mentor challenging her, no antagonist forcing her to react. She just drifts through scenes, talking into empty space. Every conversation feels like placeholder dialogue that never got replaced. You can practically hear the writers straining for emotional beats, but they never give Kas anything to work with.</p>

<p>And the worst part is that this exact fantasy has already been done well. SWTOR’s Imperial Agent storyline nailed the vibe of a morally flexible operator navigating the Star Wars underworld. That was an MMO — the genre Ubislop has been flirting with in their single‑player games for years. They had a working template sitting right there. All they had to do was adapt it into a focused solo experience. Instead they managed to fumble the easiest shot imaginable.</p>

<p>It’s the same curse that sank Skull &amp; Bones. They had the pirate magic from Black Flag ready to be refined, and somehow turned it into a monument of wasted potential. SWO feels like the spiritual sequel to that disaster — a studio staring directly at a winning formula and still steering straight into a ditch.</p>

<p>Kas could’ve been a great character. The story could’ve carried her. The cast could’ve lifted the world. Instead everything feels like it was stitched together from scraps of other games, none of which fit. It’s a parade of missed opportunities marching across a galaxy that deserved better.</p>

<p>What fries my brain is how those scraps got downgraded. Kas isn’t just underwritten — she’s stuck inside systems that actively drag her down. Every time the game tries to give her momentum, one of its broken mechanics yanks her straight back into the mud.</p>

<p>The combat feels like someone took Breakpoint, scooped out everything that made firefights satisfying, and replaced it with toy‑gun nonsense. The exploration somehow lands below Odyssey, which is wild because Odyssey already had its own share of repetition. SWO doesn’t just borrow from those games — it copies the wrong parts, waters them down, and then acts shocked when the whole thing collapses.</p>

<p>Every system feels like it was designed by a different team that never spoke to the others. You can imagine the meetings: “We have this mechanic from Game A, this idea from Game B, this half‑finished concept from Game C — let’s glue them together and hope nobody notices.” And instead of landing at “mediocre but functional,” the whole thing sinks below the baseline of every game it cannibalized.</p>

<p>That’s why the “idiot savant of failure” line fits. SWO doesn’t just miss the mark — it invents new ways to screw up things that were already solved problems. You’d think copying working systems from your own catalogue would be the easiest job in the world. Yet somehow they managed to downgrade everything they touched.</p>

<h2 id="the-promise-vs-the-reality">The Promise vs. The Reality</h2>

<p>SWO had the kind of pitch that practically writes its own hype. A scrappy outlaw clawing their way into the Star Wars underworld, stealing a ship, blasting through space, taking jobs, dodging syndicates, and carving out a place in the galaxy. Add some simplified Freelancer‑style space combat and you’ve got the sort of concept people have been begging for since the early 2000s.</p>

<p>And somehow, despite delivering those ingredients on paper, the final product is still awful.</p>

<p>It’s almost impressive how thoroughly SWO wastes its own premise. You’d think a game built around being a rising scoundrel would lean into improvisation, chaos, and clever escapes. Instead you get a checklist simulator where every “high‑stakes” moment feels like it was assembled by a committee terrified of letting the player have fun.</p>

<p>And then there’s the story.</p>

<p>I Noped‑the‑fuck‑out the moment I realized the entire overarching plot is just “assemble a crew to redo the exact same heist you already did in the intro.” Who the hell thought this was exciting? “Can we beat the guy we already beat? Can we break into the same vault again?” Wow. Incredible stakes. Truly breathtaking narrative ambition. This could maybe work as mission two, but as the grand finale? Holy shit, what a failure.</p>

<p>It’s like the writers took the opening mission, slapped a piece of tape on it that says “finale,” and called it a day. The whole thing feels like a pitch meeting where someone said, “What if we just… do it again?” and everyone nodded because they wanted to go home.</p>

<p>SWO is the kind of game that looks incredible in trailers, screenshots, and curated review builds. The moment you actually play it, the illusion collapses. Every system fights every other system. Every mechanic feels like it was designed in isolation. Every moment that should be exciting is smothered under layers of pointless busywork.</p>

<p>It’s a game that technically exists, technically functions, technically delivers its promised features — and still manages to be a miserable slog.</p>]]></content><author><name></name></author><category term="linux-gaming" /><category term="gaming" /><category term="star-wars-outlaws" /><category term="ubisoft" /><summary type="html"><![CDATA[High Effort Failure]]></summary></entry><entry><title type="html">S.T.A.L.K.E.R. 2: Heart of Chornobyl</title><link href="https://the66monkey.github.io/linux-gaming/2026/08/24/Linux-Gaming.html" rel="alternate" type="text/html" title="S.T.A.L.K.E.R. 2: Heart of Chornobyl" /><published>2026-08-24T00:00:00+00:00</published><updated>2026-08-24T00:00:00+00:00</updated><id>https://the66monkey.github.io/linux-gaming/2026/08/24/Linux-Gaming</id><content type="html" xml:base="https://the66monkey.github.io/linux-gaming/2026/08/24/Linux-Gaming.html"><![CDATA[<h1 id="systematic-failure">Systematic failure</h1>

<p>Jesus fucking Christ what a fucking trash fire.</p>

<p>I remember the PC Gaming magazine that first teased the first S.T.A.L.K.E.R game, it sold this survival/extraction shooter concept of a brutal dynamic world, you went in looting and if you didn’t make it out before dark you would hold up in an apartment, hearing firefight and mutants while you waited for dawn.</p>

<p>S.T.A.L.K.E.R never lived up to those promises, the open world was broken up into maps, helicopters and vehicles where pulled the night before release, they “worked” but the change to the maps and world unbalanced everything.</p>

<p>After many years of DLC and stand alone expansions to the original S.T.A.L.K.E.R I had high hopes for S.T.A.L.K.E.R 2, I expected a brutal version of a single player COD:Warzone. Gunfights, roving assholes, and helicopters sweeping past strafing mutants, the storms and environment as much a threat as any any enemy. You would work your way into the zone, you would scavenge and explore.</p>

<p>INSTEAD what i got was a single player MMO?!?! what fucking joker balanced the economy in this game?
Terrified that the player would scavenge and find useful stuff, or mule trash back to the vendor they put the player on a strict linear curve. Just like any MMO where boars drop 3 copper and 1 vendor trash item, the bandits here in full combat gear drop 1 sausage and 9 bullets, their guns are worn out and red so you can’t even sell them, you can’t loot clothes or armor of a corpse, they might as well just drop 10 copper and skip the other stuff.
Not only is the combat and looting boring and unrewarding, the game design fights the stupid economy at every step. In Far Cry 2 you would automatically pick up ammo, and if you wanted to pick up a weapon you had to interact with it, in this game where most guns are literally worthless you press “F” to pick them up, or long press “F” to take the ammo out. DO YOU UNDERSTAND HOW FUCKING MENTAL THIS IS! This more than maybe any other fact shows how the game and economy fight. Yahtzee said that some games feel like the game designer and story writer had worked in different rooms and refused to communicate, the same thing can be said about this game with the game designer and economist.</p>

<p>This is not even touching on the level design, it’s own unholy mess! This foliage is so dense you can’t see more than 10 meters in front of you, there are so many encounters, anomalies, bandits, and mutants infecting every square cm of the world it feels like Dead Island 2, a town stuffed to the gill with zombies, instead of this dangerous and rewarding landscape.
When you make the world so dense with shit, nothing feels special, and the stupid environment hazards don’t even host artifacts, it just makes moving around anywhere a pain in the ass, and the whole game feel like trying to swim in crude oil.</p>

<p>There are many other problems, the mutants are bullet sponges and it feels like just mag dumping into them is the only way to deal with them (“bUt ItS a SuRvIvAl GaMe” you say skulling a bottle vodka. I WOULD AVOID EVERY COMBAT IF THE ENVIRONMENT ACTUALLY LET ME SEE ENEMIES BEFORE I STUMBLE INTO THEM!!) Trust me i would like nothing more than engage with the systems in this game as little as possible, not because they are scary or intimidating, but because they are so unrewarding the only winning move is to not play!</p>

<p>I have seldom seen a game THIS at odds with itself, none of the systems compliment each other, it’s not a brutal or difficult game, it’s unrewarding and boring in the extreme.</p>

<p>When i was in Chernobyl and we drove by the starting area of S.T.A.L.K.E.R 1 me and some other blokes in bus did the Soyjaks point meme, because it was iconic and recognizable. If you want the starting zone of S.T.A.L.K.E.R. 2 just shove your head in a bush.</p>

<p>Mods did wonders for the original S.T.A.L.K.E.R, I am not really interested in the hardcore survival stuff, but the ability to more freely explore and experience the world is great. I had much more fun with  S.T.A.L.K.E.R. G.A.M.M.A. on GoG than i did with the sequel.</p>

<h1 id="fedora-heart-of-linux">Fedora: Heart of Linux</h1>

<p>All that being said, it did run very smooth on my fedora machine. Heroic game launcher makes gaming on Linux a real smooth experience, i am very happy to be able to install a game and press play without having to spend 30 minutes in the terminal.</p>]]></content><author><name></name></author><category term="linux-gaming" /><category term="gaming" /><category term="stalker2" /><category term="fedora" /><category term="heroic" /><summary type="html"><![CDATA[Systematic failure]]></summary></entry><entry><title type="html">Patch Notes</title><link href="https://the66monkey.github.io/2026/08/11/Patch-Notes.html" rel="alternate" type="text/html" title="Patch Notes" /><published>2026-08-11T00:00:00+00:00</published><updated>2026-08-11T00:00:00+00:00</updated><id>https://the66monkey.github.io/2026/08/11/Patch-Notes</id><content type="html" xml:base="https://the66monkey.github.io/2026/08/11/Patch-Notes.html"><![CDATA[<h1 id="reality-v13842">Reality™ v13.8.42</h1>

<h2 id="general">General</h2>

<ul>
  <li>[#0001] Spacetime stability
    <ul>
      <li>Status: Improved</li>
    </ul>
  </li>
  <li>[#0017] Spontaneous certainty
    <ul>
      <li>Status: Reduced</li>
    </ul>
  </li>
  <li>[#0042] Metaphysical absolutes
    <ul>
      <li>Status: Deprecated</li>
      <li>Compatibility: Retained</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="physics">Physics</h2>

<ul>
  <li>[#1738] Force unification
    <ul>
      <li>Resolution: Previous behaviour restored</li>
    </ul>
  </li>
  <li>[#1812] Vacuum state classification
    <ul>
      <li>Status: Corrected</li>
    </ul>
  </li>
  <li>[#3141] Theoretical infinities
    <ul>
      <li>Status: Reduced</li>
      <li>Exceptions: Load-bearing</li>
    </ul>
  </li>
  <li>[#299792458] Locality
    <ul>
      <li>Status: Mostly supported</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="quantum-mechanics">Quantum Mechanics</h2>

<ul>
  <li>[#0004] Cat state corruption
    <ul>
      <li>Status: Reset</li>
      <li>Source: Previous release</li>
    </ul>
  </li>
  <li>[#0027] Measurement subsystem
    <ul>
      <li>Status: Working as implemented</li>
    </ul>
  </li>
  <li>[#1927] Copenhagen interpretation
    <ul>
      <li>Status: Clarified</li>
      <li>Interpretation count: Increased</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="cosmology">Cosmology</h2>

<ul>
  <li>[#1000] Observable universe naming
    <ul>
      <li>Current value: Observable Universe (Current Perspective)</li>
    </ul>
  </li>
  <li>[#1048] Large-scale structure indexing
    <ul>
      <li>Status: Rebuilt</li>
    </ul>
  </li>
  <li>[#2701] Dark matter documentation
    <ul>
      <li>Ownership: Unassigned</li>
    </ul>
  </li>
  <li>[#2718] Dark energy
    <ul>
      <li>Status: Unknown (confirmed)</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="theology">Theology</h2>

<ul>
  <li>[#0003] NULL deity references
    <ul>
      <li>Status: Resolved</li>
    </ul>
  </li>
  <li>[#0666] Omniscience dependency cycles
    <ul>
      <li>Status: Resolved</li>
    </ul>
  </li>
  <li>[#0476] Greek/Roman deity normalisation
    <ul>
      <li>Status: Won’t Fix</li>
      <li>Reason: Existing dependencies</li>
    </ul>
  </li>
  <li>[#2012] Apocalypse framework support
    <ul>
      <li>Status: Legacy</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="biology">Biology</h2>

<ul>
  <li>[#2020] Platypus masking
    <ul>
      <li>Status: Updated</li>
    </ul>
  </li>
  <li>[#0048] Appendix classification
    <ul>
      <li>Purpose Unknown → Purpose Under Investigation</li>
    </ul>
  </li>
  <li>[#0007] Microorganism survivability
    <ul>
      <li>Status: Improved</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="consciousness">Consciousness</h2>

<ul>
  <li>[#6174] Documentation
    <ul>
      <li>Status: Located</li>
    </ul>
  </li>
  <li>[#6175] Documentation access
    <ul>
      <li>Permissions: Unchanged</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="human-experience">Human Experience</h2>

<ul>
  <li>[#4510] Sunset renderer
    <ul>
      <li>Status: Updated</li>
    </ul>
  </li>
  <li>[#4511] Beauty processing
    <ul>
      <li>Execution: Local</li>
    </ul>
  </li>
  <li>[#1984] Nostalgia handling
    <ul>
      <li>Status: Deferred</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="mathematics">Mathematics</h2>

<ul>
  <li>[#1729] Unreasonable effectiveness
    <ul>
      <li>Status: Confirmed</li>
    </ul>
  </li>
  <li>[#0000] Mathematics/reality coupling
    <ul>
      <li>Status: Configurable</li>
    </ul>
  </li>
  <li>[#31415926535] π
    <ul>
      <li>Status: Normalised</li>
    </ul>
  </li>
  <li>[#89793238462] Circular geometry
    <ul>
      <li>Status: Improved</li>
    </ul>
  </li>
  <li>[#∞] Infinite set sizing
    <ul>
      <li>Status: Unchanged</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="economics">Economics</h2>

<ul>
  <li>[#0808] Intrinsic value metrics
    <ul>
      <li>Status: Recalculated</li>
      <li>Reference implementation unavailable</li>
    </ul>
  </li>
  <li>[#1913] Fractional reserve reality
    <ul>
      <li>Status: Supported</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="technology">Technology</h2>

<ul>
  <li>[#2222] Artificial intelligence confidence calibration
    <ul>
      <li>Confidence: Increased</li>
      <li>Accuracy: Unchanged</li>
    </ul>
  </li>
  <li>[#4040] Intent alignment
    <ul>
      <li>Alignment: Improved</li>
      <li>Definition: Pending</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="time">Time</h2>

<ul>
  <li>[#0088] Cause/effect ordering
    <ul>
      <li>Resolution: Behaviour normalised</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="epistemology">Epistemology</h2>

<ul>
  <li>[#0101] Observation/understanding distinction
    <ul>
      <li>Status: Corrected</li>
    </ul>
  </li>
  <li>[#8008] Consensus/truth separation
    <ul>
      <li>Status: Enabled</li>
      <li>Compatibility mode: Active</li>
    </ul>
  </li>
  <li>[#8008] Correlation
    <ul>
      <li>Relationship to causation: Unchanged</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="infrastructure">Infrastructure</h2>

<ul>
  <li>[#9876] Entropy generation
    <ul>
      <li>Status: Optimised</li>
    </ul>
  </li>
  <li>[#1001] Black hole maintenance
    <ul>
      <li>Status: Complete</li>
    </ul>
  </li>
  <li>[#1105] Information paradox
    <ul>
      <li>Status: Assigned</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="laundry">Laundry</h2>

<ul>
  <li>[#4519] Washing machine dimensional tunnelling
    <ul>
      <li>Status: Mitigated</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="known-issues">Known Issues</h2>

<ul>
  <li>[#5864] Free will
    <ul>
      <li>Specification unavailable</li>
    </ul>
  </li>
  <li>[#6174] Consciousness
    <ul>
      <li>Hosting model: Self-managed</li>
    </ul>
  </li>
  <li>[#31415] Description/reality consistency
    <ul>
      <li>Status: Intermittent</li>
    </ul>
  </li>
</ul>

<hr />

<h2 id="deployment-notes">Deployment Notes</h2>

<p>If the update does not apply automatically:</p>

<ol>
  <li>Select an alternative deity.</li>
  <li>Restart existence.</li>
</ol>

<p>The previous configuration may be restored after successful initialisation.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Reality™ v13.8.42]]></summary></entry><entry><title type="html">Fedora &amp;amp; Bourbon</title><link href="https://the66monkey.github.io/2026/08/04/Fedora-&-Bourbon.html" rel="alternate" type="text/html" title="Fedora &amp;amp; Bourbon" /><published>2026-08-04T00:00:00+00:00</published><updated>2026-08-04T00:00:00+00:00</updated><id>https://the66monkey.github.io/2026/08/04/Fedora-&amp;-Bourbon</id><content type="html" xml:base="https://the66monkey.github.io/2026/08/04/Fedora-&amp;-Bourbon.html"><![CDATA[<h1 id="pairing-a-modern-coumputer-with-a-distro">Pairing a modern coumputer with a distro.</h1>

<p>Some people drink whiskey like it’s a religion. Aged in oak, stored underground, blessed by a Scottish wizard — anything less is heresy. Same energy as the Arch crowd who think you should build your distro from primordial source code and document your suffering on the forums.</p>

<p>But part of being an adult — and a professional — is not just following what’s common or well‑known. It’s choosing what actually fits your life. As my dad used to say: “Principles are for people who can’t analyze a situation.”</p>

<p>If I need a server, or I’m building a computer as part of infrastructure, Debian is the distro i’ll always default to. But for daily use? Fedora has been a surprisingly good fit.</p>

<p>And part of why Fedora clicked this time is the machine I built. I hand‑picked components that fit a modern Linux stack:
ASRock B850 Pro‑A WiFi,
AMD Ryzen 5 9600X,
Intel Arc B580.</p>

<p>It’s a rig built for fresh kernels, current Mesa, and once i booted into Fedora for the first time, it really felt like home.</p>

<p>My old desktop still runs Pop!_OS. I boot it occasionally, check in on Cosmic’s progress, and use it for LAN lab work. It’s a solid machine, just built for a different era of computing.</p>

<p>Fedora is Bourbon in the adult sense: not flashy, not ceremonial, not something you have to justify to purists. It’s the choice you make when you know what you like.</p>

<p>And Fedora behaves that way. Updates land cleanly, hardware cooperates, and I don’t have to babysit my repos like they’re houseplants. The defaults feel familiar coming from Debian, but Fedora’s philosophy is different in a way I appreciate: DNF is built for correctness first, speed second. It’s the package manager equivalent of a bartender you trust — not the fastest pour, but always the right one.</p>

<p>Debian is the workhorse, the bedrock of what I consider the heart of Linux. Fedora is a comfortable and reliable desktop enviroment. And honestly? I’m at a point in my life where I appreciate a distro that doesn’t demand a thesis‑level commitment just to stay functional.</p>

<p>Sometimes you just want the Bourbon. Sometimes you just run Fedora.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Pairing a modern coumputer with a distro.]]></summary></entry><entry><title type="html">Fedora Video</title><link href="https://the66monkey.github.io/2026/07/28/fedora-video.html" rel="alternate" type="text/html" title="Fedora Video" /><published>2026-07-28T00:00:00+00:00</published><updated>2026-07-28T00:00:00+00:00</updated><id>https://the66monkey.github.io/2026/07/28/fedora-video</id><content type="html" xml:base="https://the66monkey.github.io/2026/07/28/fedora-video.html"><![CDATA[<h1 id="fixing-video-playback-on-fedora-building-ffmpeg-and-mpv">Fixing video playback on Fedora: building FFmpeg and mpv</h1>

<p>Fedora installs cleanly, but modern video formats don’t decode out of the box. HEVC files open with audio only, H.264 behaves inconsistently, and AAC doesn’t load. It doesn’t matter which player you try or how you install it — system packages and Flatpaks behave the same. After rebuilding mpv and getting identical results, the next step was checking the codec layer directly.</p>

<p>Fedora uses ffmpeg‑free, a reduced FFmpeg build with many formats removed. To get proper decoding, I created a folder for FFmpeg and built it there. A normal source build with the formats I needed. When it finished, I had a complete FFmpeg installation in my home directory with its binaries and libraries in predictable places. This handled HEVC Main10, H.264, AAC, and the rest without issues.</p>

<p>mpv lives in its own folder. I built it using its standard waf system. During configuration, mpv detected the FFmpeg I had just built and linked against it. The resulting mpv binary uses that FFmpeg directly.</p>

<p>To make runtime consistent, I added a small wrapper script in ~/bin that sets LD_LIBRARY_PATH to the FFmpeg libraries and launches the mpv binary from the build directory. I added ~/bin to PATH so the wrapper is easy to call.</p>

<p>mpv built from source doesn’t install a desktop entry, so I added one under ~/.local/share/applications. It points to /usr/bin/mpv and lets the system handle double‑clicking video files normally.</p>

<p>With that in place, video playback works reliably. HEVC Main10 loads, H.264 behaves normally, AAC decodes, and hardware acceleration operates as expected. The repeated mpv builds made it clear the codec layer needed a full FFmpeg, and once that was in place everything functioned correctly on this hardware.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Fixing video playback on Fedora: building FFmpeg and mpv]]></summary></entry><entry><title type="html">Moving‑target</title><link href="https://the66monkey.github.io/2026/07/15/Moving-Target.html" rel="alternate" type="text/html" title="Moving‑target" /><published>2026-07-15T00:00:00+00:00</published><updated>2026-07-15T00:00:00+00:00</updated><id>https://the66monkey.github.io/2026/07/15/Moving%E2%80%91Target</id><content type="html" xml:base="https://the66monkey.github.io/2026/07/15/Moving-Target.html"><![CDATA[<h1 id="teh-internet">Teh Internet</h1>

<p>RustDesk tightened its public infrastructure recently. After botnet abuse and automated scanning, the public relay now requires login, and that finally pushed me to set up my own server. RustDesk’s backend is small: HBBS for ID resolution and HBBR for the relay. I deployed both on the garage machine, opened the ports, and pointed a dynamic DNS hostname at it. With that in place, the kiosk can ignore the public servers entirely.</p>

<p>The real problem wasn’t RustDesk — it was SSH. SSH is great when you control the network and the IPs stay put. Over the internet, dynamic IPs turn it into guesswork. My garage machine solves that by updating deSEC whenever its own IP changes. The kiosk doesn’t touch DNS at all; instead, it uses the deSEC hostname to send a small POST message to the garage machine. That message contains only one thing: the kiosk’s current public IP. The garage machine logs it, and that’s enough to keep SSH reachable without exposing any sensitive keys on the kiosk. If the kiosk ever gets compromised, it has no credentials that can modify my infrastructure.</p>

<p>deSEC is the one external dependency in the chain. Running my own equivalent is possible in principle, but it’s right at the edge of what you can reasonably build without extra cost. For now, this setup works: RustDesk on my own hardware, SSH reachable through dynamic DNS, and a simple heartbeat that keeps the kiosk visible wherever it ends up.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[Teh Internet]]></summary></entry><entry><title type="html">Usb Penguin</title><link href="https://the66monkey.github.io/2026/06/16/USB-Penguin.html" rel="alternate" type="text/html" title="Usb Penguin" /><published>2026-06-16T00:00:00+00:00</published><updated>2026-06-16T00:00:00+00:00</updated><id>https://the66monkey.github.io/2026/06/16/USB-Penguin</id><content type="html" xml:base="https://the66monkey.github.io/2026/06/16/USB-Penguin.html"><![CDATA[<h1 id="usb-linux-your-system-in-your-pocket">USB Linux: your system, in your pocket!</h1>

<p>I needed a Linux environment for my laptop that didn’t touch my main drive and didn’t forget everything every reboot. That shouldn’t be a big ask in 2026, but here we are.
Live USBs exist. They’re great for troubleshooting, but not something you actually want to use daily. Persistence can help, but getting it to behave reliably is more work than it’s worth. I want my browser set up, my plugins in place, the right keyboard layout, dark mode, WiFi — the basics.
So I went with a full install. I used a small promotional 8GB USB drive as the installer and a Cruzer Blade (SDCZ50-016G-I35) as the target. The Cruzer Blade is slow — not benchmark slow, but real-world slow. It’s a cheap USB 2.0 drive, and in practice it sits somewhere around:</p>
<ul>
  <li>Read: ~15–20 MB/s</li>
  <li>Write: ~4–10 MB/s</li>
</ul>

<p>That’s fine for a backup USB, but for something that constantly reads and writes like an operating system, it is a real bottleneck.
A standard Linux install assumes storage is reasonably fast. It writes logs, updates access times, swaps memory to disk, and constantly touches the filesystem. On an NVMe drive, that’s fine. On a USB stick, it isn’t. Cheap flash also doesn’t fail gracefully — it wears out. I’ve already had two drives die: one locked itself into read-only mode with no warning, the other simply stopped working.
To make this usable long-term, the goal was to reduce writes as much as possible. The system came with a swap file. I should have disabled it during install, but after spending hours installing different distros I got sloppy and went with installs.</p>

<p>So I removed it and switched to zram — compressed swap in RAM instead of disk. Same purpose, but it avoids the USB completely and removes one of the worst bottlenecks.</p>

<p>Next was <code class="language-plaintext highlighter-rouge">/tmp</code>. A lot of programs use it constantly for temporary data, and on slow storage that adds up. Moving it into RAM with:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>tmpfs /tmp tmpfs defaults,noatime,size=4G 0 0
</code></pre></div></div>
<p>This means those operations never touch the USB at all. It’s not flashy, but it makes the system feel much smoother.</p>

<p>The rest was small but important adjustments: the system was already configured to use <code class="language-plaintext highlighter-rouge">noatime</code> to stop updating file access timestamps, but I added <code class="language-plaintext highlighter-rouge">commit=60</code> to batch writes instead of constantly syncing them. That reduces background disk activity significantly. The tradeoff is you can lose up to a minute of data in a crash, which for this kind of use is acceptable.</p>

<p>The result is a full Linux system running from a cheap USB stick that’s actually usable. It boots, it remembers everything, and once it’s up it behaves like a normal machine instead of fighting the storage.</p>

<h1 id="mobile-distro">“Mobile” distro</h1>

<p>After trying a few options, I ended up using MX Linux. Mint is my go to for easy, all around installs, but it felt heavier than needed for this setup. MX is a better fit for slow storage — it still gives you a full desktop, but with less overhead and fewer background tasks. It boots quicker, writes less, and stays closer to what the hardware can handle. At the same time it’s still Debian-based, so everything is familiar.
This turned out to be a surprisingly comfortable system given the constraints. Running a full install from a USB drive is niche, but it’s also something Linux handles extremely well. You can control memory usage, disk behavior, and make the system adapt to hardware in a way that simply isn’t possible on Windows or macOS.</p>

<p>There probably should be a proper “USB install” profile at some point. Not because this is difficult, but because the capabilities are already there — they’re just not presented as a standard option.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[USB Linux: your system, in your pocket!]]></summary></entry></feed>