<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">

<channel>
	<title>Yrriban dot net</title>
	<link>https://yrriban.net</link>
	<description>it's a website, on the internet.  for me!</description>
	<language>en-US</language>
	<pubdate>03 Sep 25 04:01 +0000</pubdate>

	<item>
		<title>path of exile 2 free weekend: after action report</title>
		<link>/games/poe2_aar.html</link>
		<description><p>with some degree of trepidation, i played the free weekend for path of exile 2.  and while there were highlights and lowlights... i think i liked it a lot more than i expected.  <em>dangerously</em> more than i expected.  part of me just wants to drop everything and play more.  but there's a lot of other things i like doing!  maybe i just shouldn't sleep.  or i should quit my job.  life-destroying choices aside, here's how it broke down with the caveat that i only made it midway through act 2.</p>
<ul>
	<li>the good:</li><ul>
		<li>wasd controls.  this is the big highlight in my opinon.  the original path of exile works like classic diablo - you click somewhere to move.  this is awkward at best, but it works considerably better with a game running at diablo 2's speed than path of exile's.  direct movement controls is just so much more precise as you have different controls for where you're moving and where you're attacking and don't have to constantly be making tons of precise mouse movement to not die.  plus there's a dodge roll and a sprint too, instead of needing to depend on something that costs mana like poe1's whirling blades.</li>
		<li>you can now stay a while and listen and identify all your items at once in town, at the ominous "hooded one".  portals can be created with a button too instead of needing a scroll.</li>
		<li>better checkpointing when you die (there are checkpoints scattered around, instead of going to town or the closed waypoint) and when you log out (the zone you have a portal into is preserved for you and will be the way you left it).</li>
		<li>no more flask piano - just two slots usually given to health and mana flasks.  belts add in some auto-triggered charms that seem like they'll take over the utility flask job.</li>
		<li>as a certified labyrinth enjoyer, the new ascendancy class unlock trial is pretty cool.  supposedly it gets a lot harder later on though.</li>
		<li>a lot of really nice areas and towns and stuff.  nothing felt like you were wandering in circles forever like the prison in act 1 of path of exile 2.</li>
		<li>all my stash tabs came over and don't need to be repurchased.  they could have easily double-billed me for those.</li>
	</ul>
	<li>the bad:</li><ul>
		<li>it's early but class balance is maybe in a pretty bad state.  i started trying a monk and it was a bad time all the way until i gave up somewhere around the hunting grounds.  then i looked for "what is meta" and rolled a lightning arrow deadeye.  this was faster, more survivable, and more fun than the monk.  mathil's been having success with the monk though and so maybe it's just a matter of persistence and being more particular about your gear.</li>
		<li>skills and skill management.  i'm glad we don't have to depend on linking sockets on gear like in path of exile, but the way you get gems makes it pretty hard to try things early on.  you can't even look at the list of gems unless you have an uncut gem, which you can then convert into a chosen skill.</li>
		<li>skill flexibility.  a lot of skills are designed to work in particular combos and there's not a lot of room to try things different than that.  it also looks like every skill is tied to exactly one weapon.</li>
		<li>ground effects everywhere.  this is part of what makes playing a melee character painful - if a boss is standing on a bunch of frozen ground, the melee character more or less has to suck it up.  or scale projectiles off their melee weapon, which is a common choice.</li>
		<li>really dumb voice lines during combat from your character.  i actually just muted them, which also mutes in-town dialogue, which isn't ideal.</li>
	</ul>
</ul>
<p>anyway, that's how i wound up feeling... and i'm still thinking about buying in and getting back into it.  we'll see.</p></description>
		<category>games</category>
		<pubDate>03 Sep 25 04:00 +0000</pubDate>
		<guid isPermaLink="true">/games/poe2_aar.html</guid>
	</item>

	<item>
		<title>it's worldwide music wednesday somewhere</title>
		<link>/music/ww_music_weds_somewhere.html</link>
		<description><p>back on cohost we use to have this thing where we'd post music on wednesdays from outside the anglosphere.  think it might have been @yrgirlkv who got the ball rolling on that.  that was pretty cool, we should do more of that.</p>

<p>and that's inspired by... this post about the first half of the year's music from <a href="https://www.heavyblogisheavy.com/2025/07/17/the-best-music-of-2025-so-far/">heavy blog is heavy</a> (<a href="https://web.archive.org/web/20250717142038/https://www.heavyblogisheavy.com/2025/07/17/the-best-music-of-2025-so-far/">archive link because the site is being a little hinky</a>).  honestly?  not a lot that i'm that excited about on the list, which kind of squares with my experience so far.  maybe i would have put rivers of nihil's s/t on there.  but there was one cool album on there, and this is that:</p>

<p><iframe style="border: 0; width: 350px; height: 720px;" src="https://bandcamp.com/EmbeddedPlayer/album=1522752949/size=large/bgcol=333333/linkcol=e99708/transparent=true/" seamless="true"><a href="https://kaschalot.bandcamp.com/album/anemoia">Anemoia by Kaschalot</a></iframe></p>

<p>exceptionally well excecuted instrumental math/post rock from estonia.  posting metal and edm always felt a bit like they weren't in the spirit of the thing.  but i'll take any excuse to share cool music.</p></description>
		<category>music</category>
		<pubDate>31 Jul 25 03:01 +0000</pubDate>
		<guid isPermaLink="true">/music/ww_music_weds_somewhere.html</guid>
	</item>

	<item>
		<title>this is a test of the octothorpe broadcast system</title>
		<link>/meta/octothorpes.html</link>
		<description>
		</description>
		<category>meta</category>
		<pubDate>16 Jun 25 12:00 +0000</pubDate>
		<guid isPermaLink="true">/meta/octothorpes.html</guid>
	</item>

	<item>
		<title>ranking of plutonia maps</title>
		<link>/doom/ranking_of_plutonia.html</link>
		<description><iframe width="720" height="420" src="https://www.youtube.com/embed/videoseries?list=PLDhYDFwPjIRIaoi8WaTYTTshTPmT7iFhl" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="true"></iframe>
<p>might as well bring back some classics of post from cohost.  relive the good times and all that.  i was thinking about this and i wanted to dig it out so here it is.  over a year ago now i finished recording single segment demos for all of plutonia.  i figured it was the perfect time to rank all the levels using objective science.  i learned from dr. gerstmann's ranking of fighters so there's no way this could cause any controversy.  anyway, without further ado, here's the list.</p>
<ol>
<li>MAP21: Slayer</li>
<li>MAP15: Twilight</li>
<li>MAP05: Ghost Town</li>
<li>MAP32: Go 2 It</li>
<li>MAP23: Tombstone</li>
<li>MAP12: Speed</li>
<li>MAP29: Odyssey of Noises</li>
<li>MAP07: Caughtyard</li>
<li>MAP09: Abbatoire</li>
<li>MAP18: Neurosphere</li>
<li>MAP01: Congo</li>
<li>MAP31: Cyberden</li>
<li>MAP19: NME</li>
<li>MAP28: The Sewers</li>
<li>MAP03: Aztec</li>
<li>MAP22: <s>Im</s>Possible Mission</li>
<li>MAP06: Baron's Den</li>
<li>MAP27: Anti-Christ</li>
<li>MAP13: The Crypt</li>
<li>MAP17: Compound</li>
<li>MAP10: Onslaught</li>
<li>MAP24: The Final Frontier</li>
<li>MAP02: Well of Souls</li>
<li>MAP14: Genesis</li>
<li>MAP26: Bunker</li>
<li>MAP04: Caged</li>
<li>MAP11: Hunted</li>
<li>MAP25: Temple of Darkness</li>
<li>MAP08: Realm</li>
<li>MAP20: The Death Domain</li>
<li>MAP30: The Gateway of Hell</li>
<li>MAP16: The Omen</li>
</ol>
<p>bonus trivia:</p>
<ul>
<li>hardest time i had on a level: MAP09, Abbatoire</li>
<li>most-viewed video: MAP31, Cyberden, by a margin of over 3x the next most popular (MAP32, Go 2 It).  youtube works in mysterious ways</li>
<li>best MIDI from the replacement pack: "Blood Rush" by Eris Falling from MAP12 (with "Plug Ugly" by Bucket from MAP23 a close runner up)"</li>
</ul></description>
		<category>doom</category>
		<pubDate>03 Jun 25 07:01 +0000</pubDate>
		<guid isPermaLink="true">/doom/ranking_of_plutonia.html</guid>
	</item>

	<item>
		<title>good tracks #00002</title>
		<link>/music/good_tracks_00002.html</link>
		<description><p>would it surprise you to find out that i keep track of these by opening them in a tab and then just leaving them there for an indefinite period of time?  probably not.  anyway i could put them in a text file or something but i should at least post some of them.</p>
<h4>the chemical brothers - galvanize (extended mix)</h4>
<p>a while ago i heard a remix of galvanize.  it was pretty good!  but you know what's better?  the original mix.  also fun fact i picked up from the youtube comments: this was in sonic 3 (2024).  good taste, movie music guy.</p>
<p>the chemical brothers, alas, do not believe in embedding.  you can <a href="https://www.youtube.com/watch?v=QDJxFP966Pk">listen to the track here.</a></p>
<h4>stryker vs. starlab - ilbechin</h4>
<p>i do way fewer mushrooms than the average psytrance listener if the typical vocal samples are anything to go by.  anyway this is a top-tier digital om cut.  the vocal sample break is a really nice addition in a subgenre that can trade in the same sounds a lot of the time.  not that that's necessarily a bad thing.</p>
<iframe style="border: 0; width: 100%; height: 120px;" src="https://bandcamp.com/EmbeddedPlayer/album=2876531455/size=large/bgcol=333333/linkcol=0f91ff/tracklist=false/artwork=small/track=4283543830/transparent=true/" seamless="true"><a href="https://digitalom.bandcamp.com/album/ilbechin">Ilbechin by Stryker</a></iframe>
<h4>airsand - verum</h4>
<p>another nice incorporation of the vocal sample into the fabric of the track.  harder to do than just dropping "push the button" a bunch of times over the top, not that there's not an art to that either.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/0zU3MwtrRC4" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="true"></iframe></description>
		<category>music</category>
		<pubDate>24 Apr 25 07:13 +0000</pubDate>
		<guid isPermaLink="true">/music/good_tracks_00002.html</guid>
	</item>

	<item>
		<title>curl_impersonate, the idgames api, and burning off your fingerprints</title>
		<link>/tech/curl_impersonate.html</link>
		<description><p>okay look: i am not a professional ban evader and adversarial scraper.  i'm just a guy who wants to download some things with curl sometimes.  i had recently set up something using the <a href="https://www.doomworld.com/idgames/api/">idgames api</a> using the most advanced technology available to human beings: curl piped into jq.  everything was going great... up until i started getting hassled by cloudflare.  putting cloudflare in front of something that's designed for automated access is pretty dubious in the first place, but it's one of those things that's probably more effort to fix than it's worth.  same for getting off of cloudflare entirely.  anyway, this kind of automated access is the sort of thing that cloudflare tries to tamp down on.  likely exacerbating the problem is that i have recently started using librewolf in place of firefox.  it's been a really nice improvement, actually - stuff like pocket and all the garbage on thet start page gets stripped out of the binary entirely.  it also comes with built-in browser fingerprint blocking, which really highlights how heavily that gets used in the modern web.  taking a spin with <a href="https://coveryourtracks.eff.org/">the EFF's tester</a> shows how much more sophisticated this stuff has gotten in the decade or so since I last checked.  in particular, the most sophisticated fingerprinting measure how things look as you render them in webgl, the exact results of which are dependent on the exact hardware setup you have.  this is very difficult to evade... unless you turn off webgl entirely, which librewolf does by default.  this is already enough to get bounced by a decent number of websites, or have to go through a cloudflare captcha to actually get to what you were looking at.  cloudflare is frustratingly opaque in this regard and i have no idea how much that carries over between different clients on the same ip.</p>
<p>in any case, i eventually started to get cloudflare challenge pages from the idgames api instead of the actual content i was after.  obviously curl can't actually handle whatever javascript nightmare gets run in your browser when this happens, so i was stuck.  enter: <a href="https://github.com/lwthiker/curl-impersonate">curl_impersonate</a>.  some kind soul sat down with wireshark and painstakingly combed through actual browser ssl handshakes, recompiled curl to use either nss (firefox) or boringssl (chrome) instead of openssl, and took a deep dive through the browser's source.  that work is detailed in <a href="https://lwthiker.com/reversing/2022/02/17/curl-impersonate-firefox.html"></a> but at the end of the day i don't have to care about any of that.  it's just a dropin replacement for regular curl.  and it works!  it looks enough like a real browser to fool cloudflare.  part of me really wants to lambast people for using this kind of stuff and locking things down to known browsers.  but in this day and age, there's a much larger amount of money on the scraping side than there's ever been - enough to impose <a href="https://arstechnica.com/ai/2025/03/devs-say-ai-crawlers-dominate-traffic-forcing-blocks-on-entire-countries/">real costs</a> on people who are out there running stuff that makes the internet a better place.  so i actually really can't hold all this fingerprinting business against anyone as much as i would like to.</p>
<p>there's none of that here though.  just pure, uncut html and css.  at least until the scrapers come by to start causing problems on purpose.  actually looking at my logs it's mostly exploit probers.  there's no php on here!  you're wasting your time!  presumably this is for owning boxes so they can mine crypto on them.  but that's a whole other set of problems.</p></description>
		<category>tech</category>
		<pubDate>27 Mar 25 06:53 +0000</pubDate>
		<guid isPermaLink="true">/tech/curl_impersonate.html</guid>
	</item>

	<item>
		<title>good tracks #00001</title>
		<link>/music/good_tracks_00001.html</link>
		<description><p>i listen to a lot of dj mixes these days.  a lot of the time it's just a nice and very even-keeled sonic background.  but i try to make the effort to listen with some intention, and when i do sometimes i make the effort to hunt down the tracks of interest.  i'll probably present them without too much commentary, as after all the tracks can largely speak for themselves.  honestly it's just nice to have a record of these.</p>
<h4>radiohead: everything in its right place</h4>
<p>i had thought that radiohead were largely purveyors of second-tier, sad-boy alternarock.  and that is true... until they put out kid a, a wildly experimental album that still sounds fresh.  who knew?</p>
<p>...literally everyone in the business of music criticism, you say?</p>
<p>thom yorke doesn't believe in embedding. <a href="https://www.youtube.com/embed/NUnXxh5U25Y">click through here.</a></p>
<h4>mat zo: les mishegas</h4>
<p>i posted this one on cohost but it's too good not to bring up again.  it's meshuggah forcefully shoved through an edm blender and it rules.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/ZOZIoDB4Flo" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="true"></iframe>
<h4>sean tyas: cycles</h4>
<p>one of those tracks i was glad to track down the extended mix for.  really good track to sink in to and let the trance vibes wash over you.</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/CfRKWZt2iyE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="true"></iframe></description>
		<category>music</category>
		<pubDate>07 Jan 25 07:54 +0000</pubDate>
		<guid isPermaLink="true">/music/good_tracks_00001.html</guid>
	</item>

	<item>
		<title>about making a website</title>
		<link>/meta/makingawebsite.html</link>
		<description><p>the thing about making a website is at some point you have to actually make things that go on the website.  i feel like this is where i stumble on every attempted project, where setting up scaffolding and other stuff is more exciting than actually using any of it to do anything.  but lots of people post-cohost have their own thing and i want to get in on the action if i can, even if it's well past the zeitgeist at this point.  i could have maybe got up and running with some off the shelf software or pre-hosted thing faster, but i already have this setup i like on a server i fully control.  i tried a couple static site generators for this, like hugo, but honestly their complexity seems to far outweigh their usefulness for my purposes.  plus the results just look way too professional.  i'm going to try and keep things as javascript-free as possible around here, although there'll be some inevitable embedded stuff.  maybe there'll be some dynamic things as well to support comments or h-entries or webmentions or what have you.  i haven't really thought that through yet.</p>
<p>as for what i have actually works: each post comes in a fragment file with a title and the body.  there's then a few small go programs that take that and use <a href="https://pkg.go.dev/text/template">templates</a> to generate the actual html pages, plus an rss feed.  to handle the actual generation of the site we've got... make.  yep, good ol' make.  nothing beats that.  hopefully there aren't too many generation disasters.  and the whole thing is hosted on apache, because i like it.  i haven't totally figured out everything i want to even put on here; i'd like to have an easier way to share code that's less manual than pasting things into codehost and less heavyweight than self-hosted gitea or something like that.  and i definitely need an 88x31, and to collect other 88x31 to have a friends of the site page.  i guess that's part of the fun of having a website, is that you never really run out of things to fiddle with.</p></description>
		<category>meta</category>
		<pubDate>20 Dec 24 13:25 +0000</pubDate>
		<guid isPermaLink="true">/meta/makingawebsite.html</guid>
	</item>

	<item>
		<title>New Luna Sol!</title>
		<link>/music/lunasol.html</link>
		<description><p>this is mostly just a test post, informing you that there's a new luna sol album.  it's pretty rad.</p>
<iframe style="border: 0; width: 350px; height: 786px;" src="https://bandcamp.com/EmbeddedPlayer/album=2584871413/size=large/bgcol=333333/linkcol=e99708/transparent=true/" seamless="true"><a href="https://ripplemusic.bandcamp.com/album/vita-mors">Vita Mors by Luna Sol</a></iframe></description>
		<category>music</category>
		<pubDate>14 Oct 24 22:29 +0000</pubDate>
		<guid isPermaLink="true">/music/lunasol.html</guid>
	</item>

</channel>
</rss>
