<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Kelp&apos;s place</title><link>https://kelp.lt</link><description>kelp&apos;s ramblings and whatnot</description><item><title>Deep Dish Pizza</title><link>recipes/savoury/deep_dish_pizza.html</link><pubDate>Wed, 15 May 2024 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2024-05-15 (dated: 2024-11-04)<br />
Source: <a href="https://youtu.be/_cXVULu9RvE">https://youtu.be/_cXVULu9RvE</a><br />
Effort: high</p>
<hr />
<h3>Ingredients:</h3>
<h4>Dough:</h4>
<ul>
<li>430g of flour</li>
<li>82g of corn meal</li>
<li>12g of salt</li>
<li>14g of sugar</li>
<li>8g of instant yeast</li>
<li>in 300ml of water (at around 35C!)</li>
<li>56g of melted butter (use in mixing)</li>
<li>Additional 50g of butter (use in external butter-ification process)</li>
</ul>
<h4>Sauce:</h4>
<ul>
<li>4 slices of bacon</li>
<li>56g of olive oil</li>
<li>1 onion</li>
<li>5 cloves of garlic</li>
<li>7g of red pepper flakes</li>
<li>800g tomatoes crushed</li>
<li>pinch of sugar</li>
<li>Oregano</li>
<li>Salt (to taste)</li>
</ul>
<h4>&quot;Toppings&quot;:</h4>
<ul>
<li>Generic eastern european cheese. <code>Dvaro suris</code> is the brand i prefer.</li>
<li>Mozzarella</li>
<li>Hard cheese, doesn't have to be fancy, <code>Dziugo suris</code>  works here</li>
<li>Any form of stackable or sliced meat</li>
</ul>
<hr />
<h3>Prep:</h3>
<h4>Dough</h4>
<ul>
<li>Mix flour, corn meal, salt, sugar</li>
<li>Dissolve yeast in water</li>
<li>(gently) Melt 56g of butter</li>
<li>Mix in together yeast water, dry ingredients, butter</li>
<li><strong>LET RISE FOR 1 hr or doubled</strong></li>
<li>punch the dough, roll out</li>
<li>add in mixing butter</li>
<li>roll dough up</li>
<li>cut in half, form into spheres, back into bowls they go,</li>
<li>let rest in fridge for one more hour</li>
</ul>
<h4>Pizza proper</h4>
<ul>
<li>Take out the dough, add into pan, should be something inbetween a pizza dough and a pie dough.</li>
<li>Line a baking dish with the dough</li>
<li>Add in a base layer of toppings, starting off with the meat if you have it</li>
<li>Pour in the souce</li>
<li>Sprinkle hard cheese on top</li>
<li>Bake for about 30 minutes on 180C, convection on if you have it</li>
</ul>
<p> </p>
]]></content:encoded></item><item><title>Shakshuka</title><link>recipes/savoury/shakshuka.html</link><pubDate>Tue, 13 Aug 2024 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2024-08-13<br />
Source: bunch of different recipes online I can't recall<br />
Effort: medium</p>
<hr />
<h3>Ingredients:</h3>
<ul>
<li>5-12 plain tomatoes</li>
<li>1 can of conserved tomatoes</li>
<li>1x onion</li>
<li>5x cloves of garlic</li>
<li>Bell peppers or most kinds of non-spice pepper.</li>
<li>5 or so eggs</li>
<li>Additional meats or vegetables can be added as desired.</li>
<li>Sugar, salt and pepper.</li>
</ul>
<blockquote>
<p>NOTE: for a vegan variant, you can replace the eggs with diced, firm tofu. Smoked tofu works best. I have actually tried this, it works well. The heart of the dish is the tomato and vegetable stew.</p>
</blockquote>
<hr />
<h3>Prep:</h3>
<ul>
<li>Dice up the onions, add into pan, steam with oil</li>
<li>Add in 5x cloves of garlic into pan, crushed</li>
<li>Add in any and all spices you deem well-fitting. Paprika, garlic powder, onion powder, pepper flakes, oregano, maybe rosemary/thyme and similar such spices all work well here.</li>
<li>If you're adding in other vegetables, add them in at this point and let sautee for about 2-5 minutes</li>
<li>Add in all of your tomatoes. ‡</li>
<li>Saute for like 15 minutes approx, until the mixture thickens somewhat. † It's fine to simmer for 20 minutes or more even. Point is, you're aiming to be able to make a lil hole that will not collapse so you could crack your eggs into it.</li>
<li>Add in about a teaspoon of sugar, season with salt and pepper.</li>
<li>Crack in the eggs</li>
<li>Another 8-10 minutes with lid on</li>
<li>Serve, aim to have at least one egg on any given plate</li>
</ul>
<p>‡: There's a pitfall here. Store-bought tomatoes tend to have too little moisture in them to cook as-intended. So, you're aiming for at least 15 minutes of simmering under heat. If there is too little moisture to allow the stew to simmer for that long without burning, you should add about a cup of water to remedy that. Don't worry about using too much water either, just boil it off if it comes to it.</p>
<p>†: Be sure to stir often. The main way of screwing up this dish is to not stir the stew often enough, which lets the bottom of the stew to caramelize while the top stays liquid, thus leading to an overcooked-feeling meal.</p>
<p> </p>
]]></content:encoded></item><item><title>Pesto</title><link>recipes/preserves/pesto.html</link><pubDate>Wed, 21 Aug 2024 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2024-08-21<br />
Source: <a href="https://youtu.be/2hm2i21knoA">https://youtu.be/2hm2i21knoA</a><br />
Effort: low-medium</p>
<hr />
<h3>Ingredients:</h3>
<ul>
<li>Nuts (pine, walnut, most nuts work here actually)</li>
<li>Hard cheese (prefer parmegiano reggiano, but most hard cheeses will work here)</li>
<li>Basil (fresher = better, can't use any processed form, defeats the point of DIY pesto)</li>
<li>Garlic (fresher = better)</li>
<li>Olive Oil (quality matters, i think you can get away with other oils here)</li>
<li>Salt</li>
<li>Pepper</li>
</ul>
<blockquote>
<p>NOTE: I made a bit of a mistake upon initial posting. This is not a vegan recipe, however.. the only non-vegan ingredient here is the hard cheese, which.. i believe should be substitutable with nutritional yeast and extra salt. The point of the cheese is to be a sort of kinda powdery binder that also adds in salt. I am unable to try this since as of time of writing this note, it is the exact opposite of basil season.</p>
<p>UPDATE 2024-12-31: uh i think this idea was implanted into me by <a href="https://grimgrains.com/site/fresh_pesto_pasta.html">grimgrains</a> way back when I read it when it initially came out, I never noticed the similarity until now, the link above points to a pesto recipe that does indeed use nutritional yeast as a cheese substitute, but opts to omit the nuts.</p>
</blockquote>
<hr />
<h3>Prep:</h3>
<p>There are two ways of making this:</p>
<ul>
<li>Use a food processor, throw everything in, blend, season w/ salt and pepper until you like it, done</li>
<li>Use a mortar and pestle (prefer wooden pestle, stone mortar), throw everything in, beat up, adjust flavor until you like it, done</li>
</ul>
<hr />
<h3>Storage:</h3>
<p>Pesto is spoiled via oxidation, methods of storing pesto mostly involve reducing it's exposure and reactivity to oxygen.</p>
<p>Advise storing within glass jars. When filling a jar, be sure to avoid introducing air bubbles. Upon filling a jar, pour a layer of olive oil on top to add a protective layer.</p>
<p>Store-bought pesto jars work best for storing homemade pesto. Who would've thought.</p>
<p>Once made (and possibly jarred), pesto can be:</p>
<ul>
<li>Consumed immediately (tastes best at this state)</li>
<li>Stored in a fridge at 5C for around 5 days</li>
<li>Stored in a freezer for up to a year, though YMMV, thaws with little to no degradation in flavor.</li>
</ul>
<p> </p>
]]></content:encoded></item><item><title>Vegan tacos</title><link>recipes/savoury/vegan_tacos.html</link><pubDate>Thu, 12 Sep 2024 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2024-09-12 (dated: 2024-11-04)<br />
Source: me<br />
Effort: high (many sub-recipes)</p>
<hr />
<h3>Ingredients:</h3>
<ul>
<li </> <a href=/recipes/savoury/salsa_guac.html>[Guac]</a></li>
<li </> <a href=/recipes/savoury/salsa_guac.html>[Salsa]</a></li>
<li </> <a href=/recipes/preserves/pickled_onions.html>[Pickled Onions]</a></li>
<li>Potatoes</li>
<li>Tofu, preferably firm and marinated</li>
<li>Hummus</li>
<li>Chopped peppers, any kind, pick according to desired spiceiness, of meatier kind</li>
<li>Soft tortillas, I used wheat-based because we dont have corn-based tortillas in my town, but corn tortillas will work as well. Pay attention to labels when buying, some of them are made with animal fat.</li>
</ul>
<hr />
<h3>Prep:</h3>
<ul>
<li>Prep the pickled onions</li>
<li>Preheat oven to around 175C</li>
<li>Dice the potatoes and tofu, lay on a baking tray covered in oil, spice it up with whatever spices you deem well-fitting</li>
<li>Bake the potato/tofu wombocombo for about 30 minutes.</li>
<li>Prep the guacamole</li>
<li>Prep the salsa</li>
<li>NOTE: you'll have to take out/accomodate the potato/tofu tray while making the guac and salsa</li>
<li>Plate it all up</li>
<li>Assemble by spreading some guac and hummus, add in the potato/tofu mix, top with the onions, peppers and salsa, and enjoy.</li>
</ul>
<p> </p>
]]></content:encoded></item><item><title>Pickled Onions</title><link>recipes/preserves/pickled_onions.html</link><pubDate>Thu, 31 Oct 2024 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2024-09-xx (dated as of 2024-10-31)<br />
Source: a whole bunch of different youtube videos i can't recall<br />
Effort: medium</p>
<hr />
<h3>Ingredients:</h3>
<ul>
<li>Red onions</li>
<li>White vinegar</li>
<li>water</li>
<li>Peppercorns</li>
<li>Garlic</li>
<li>Bay leaves</li>
<li>Salt</li>
<li>sugar</li>
</ul>
<hr />
<h3>Prep:</h3>
<ul>
<li>Orbital-chop the red onions, throw in pot</li>
<li>Throw in the peppercorns and bay leaves</li>
<li>Throw in a couple of peeled cloves of garlic, to taste</li>
<li>Cover with water</li>
<li>Add in about 200ml of vinegar</li>
<li>Bring to a boil</li>
<li>Boil for about 3 minutes</li>
<li>Put the onions and or any acoutrement into jars.</li>
<li>Cover the now-in-jar onions with the leftover liquid</li>
<li>Seal the jar(s)</li>
</ul>
<hr />
<h3>Storage:</h3>
<p>A good sign of a well-sealed jar is a vacuum forming inside. If you are using preserve jars with metal tins, they should be bulging in.</p>
<p>This is supposedly a 'quick pickle', but truth be told, you are <em>boiling</em> the onions for about three minutes. If you keep the rest of your setup sterile enough, the result should be able to last a while.</p>
<p>I cannot attest to how long this recipe will last. For safety's sake I am not experimenting by keeping the result at room temperature. A batch made by following the recipe above has been sitting without issue in my fridge for over a month.</p>
<p> </p>
]]></content:encoded></item><item><title>Flammkuchen</title><link>recipes/savoury/flammkuchen.html</link><pubDate>Sat, 2 Nov 2024 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2024-11-02<br />
Source: <a href="https://youtu.be/_fA6HA4o4iI">https://youtu.be/_fA6HA4o4iI</a><br />
Effort: medium</p>
<hr />
<h3>Ingredients:</h3>
<h4>Base:</h4>
<table>
<thead>
<tr>
<th>Pies</th>
<th>Flour (g)</th>
<th>Salt (g)</th>
<th>Water (g)</th>
<th>Oil (g)</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>150</td>
<td>6</td>
<td>67.5</td>
<td>7.5</td>
</tr>
<tr>
<td>2</td>
<td>300</td>
<td>12</td>
<td>135</td>
<td>15</td>
</tr>
<tr>
<td>3</td>
<td>450</td>
<td>18</td>
<td>200</td>
<td>22.5</td>
</tr>
<tr>
<td>4</td>
<td>600</td>
<td>22.5</td>
<td>270</td>
<td>30</td>
</tr>
</tbody>
</table>
<h4>Sauce:</h4>
<ul>
<li>Sour cream / Smetana / Schmacht / Greek yogurt</li>
<li>Grated garlic</li>
<li>Some siracha</li>
<li>Salt &amp; Pepper</li>
<li>If you think that a spice will work well here, it will work well here.</li>
<li>Soy sauce</li>
</ul>
<h4>Toppings:</h4>
<p><strong>Veggie option:</strong></p>
<ul>
<li>Red/White Onions</li>
<li>Grated cheese</li>
<li>Green onions</li>
<li>Sweet peppers</li>
<li>Chopped jalapenos</li>
</ul>
<p><strong>Non-veggie option:</strong></p>
<ul>
<li>Red/White Onions</li>
<li>Grated cheese</li>
<li>Green onions</li>
<li>Sweet peppers</li>
<li>Chopped jalapenos</li>
<li>Chopped, smoked turkey</li>
<li>Chopped, smoked chicken</li>
</ul>
<blockquote>
<p>NOTE: you can mix/match most toppings here. Nothing here is a <strong>Must</strong>, nothing here can't work well together either.</p>
</blockquote>
<hr />
<h3>Prep:</h3>
<h4>Base</h4>
<ul>
<li>Mix all base ingredients in single bowl</li>
<li>Split into appropriate amount of pieces</li>
<li><strong>let rest for 15 minutes or more</strong></li>
</ul>
<h4>Sauce</h4>
<ul>
<li>Crush the onions</li>
<li>Add in the smetana</li>
<li>Add in the siracha</li>
<li>Add in spices</li>
<li>Add in a <em>splash</em> of soy sauce, be <em>light</em> on it, it's supposed to be a subtle addition.</li>
<li>mix</li>
</ul>
<h4>Toppings</h4>
<ul>
<li>Use common sense, chop em up into appropriate sizes and you're good</li>
</ul>
<h4>Base prep process</h4>
<ul>
<li>Use rolling pin to roll dough into flat sheet</li>
<li>Lay on to baking sheet</li>
<li>Add a thick layer of sauce, be <strong>generous</strong></li>
<li>Add toppings</li>
</ul>
<h4>Cooking</h4>
<ul>
<li>Cook at your oven's highest possible temperature</li>
<li>At the lowest possible rack</li>
<li>Cook until crispy-looking or for about 4-5 minutes.</li>
</ul>
<p> </p>
]]></content:encoded></item><item><title>Fries</title><link>recipes/savoury/fries.html</link><pubDate>Mon, 4 Nov 2024 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2024-11-04
Source: <a href="https://youtu.be/MvnYBCDaEKU">https://youtu.be/MvnYBCDaEKU</a><br />
Effort: medium</p>
<hr />
<h3>Ingredients:</h3>
<ul>
<li>Potatoes, around 3-4 for a single person</li>
<li>Olive oil</li>
<li>White vinegar</li>
<li>Salt</li>
</ul>
<hr />
<h3>Preparation:</h3>
<ul>
<li>Peel your potatoes</li>
<li>Chop into fry-shaped pieces, width depends on what you're feeling, just keep it consistent.</li>
<li>Prepare a pot of boiling water.
<ul>
<li>Ensure to add salt. This will season the potatoes.</li>
<li>Ensure to add some white vinegar. About a tablespoon's worth for 3-4 potatoes. This will keep the potatoes structurally sound.</li>
</ul>
</li>
<li>Boil the potatoes for <strong>8 Minutes.</strong></li>
<li>Once boiled, move onto oven metal sheets with nothin on it</li>
<li>Cover the potatoes in oil</li>
<li>Cook in the oven at <strong>235 C</strong> for <strong>15 Minutes</strong></li>
<li>Take sheets out, flip the fries over</li>
<li>Back into the oven, <strong>Same Temperature</strong>, another <strong>15 Minutes</strong></li>
<li>Once time is up, take the sheets out, onto a rack or paper towel to drain excess oil</li>
<li>Into a light and large bowl, apply salt to season, toss together.</li>
</ul>
<blockquote>
<p>NOTE: It's important to salt these immediately, for the salt won't adhere properly unless applied when the fries are hot</p>
</blockquote>
<p> </p>
]]></content:encoded></item><item><title>Tofu and Egg Scramble</title><link>recipes/savoury/tofu_and_egg_scramble.html</link><pubDate>Mon, 4 Nov 2024 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2024-11-04<br />
Source: believe it or not, me!<br />
Effort: low-medium</p>
<hr />
<h3>Ingredients:</h3>
<ul>
<li>One slab of tofu (preferably smoked/marinated), bout 200-300g. worth.</li>
<li>Four Eggs</li>
<li>Spices:
<ul>
<li>Garlic powder</li>
<li>Smoked paprika</li>
<li>Oregano</li>
<li>Black pepper</li>
</ul>
</li>
<li>Any green alium for garnish</li>
<li>Siracha</li>
</ul>
<blockquote>
<p>NOTE: this one scales easily with low time impact up to 3-4 people provided you use a bigger pan.</p>
</blockquote>
<hr />
<h3>Prep:</h3>
<ul>
<li>Prepare about a palm's worth of your spices of choice, the ones listed above work as a good base but you can add whatever you deem a good fit</li>
<li>Slice up your green alium, set aside</li>
<li>Crack and beat the eggs in a separate bowl, add in half of your spice mix.</li>
<li>Add in the tofu into a pan, use a wooden or blunt spatula to break up into approx bite-size chunks.</li>
<li>Pour in the eggs, turn the heat onto high</li>
<li>scramble while adding your spicemix bit by bit.</li>
<li>Pour in about a half a tablespoon's worth of siracha in</li>
<li>Cook until mixture reaches desired consistency.</li>
<li>Season with a sprinkle of salt, make sure to taste beforehand, as the siracha and possibly tofu marinate added it's own salt</li>
<li>Plate up, the amount made will fit a 15cm plate well.</li>
<li>Sprinkle on the alium</li>
<li>Spray/pipe? a bit of siracha on top in lines as well for garnish</li>
</ul>
<p> </p>
]]></content:encoded></item><item><title>Salsa_Guac</title><link>recipes/savoury/salsa_guac.html</link><pubDate>Tue, 5 Nov 2024 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2024-11-05<br />
Source: Used to be babish, but I've adjusted the recipes heavily since.<br />
Effort: high (takes a lot of time to chop everything)</p>
<h1>Guacamole</h1>
<hr />
<h3>Ingredients:</h3>
<ul>
<li>4-6 Avocados</li>
<li>3 Red onions</li>
<li>2 Jalapenos</li>
<li>5 Cloves of garlic</li>
<li>1 Lime</li>
<li>Cumin</li>
<li>Salt + Pepper</li>
</ul>
<h1>Salsa</h1>
<hr />
<h3>Ingredients:</h3>
<ul>
<li>4-6 Tomatoes OR 2-3 tomatoes, followed by a bunch of canned tomatoes.</li>
<li>Cilantro</li>
<li>2 Jalapenos</li>
<li>5 Cloves of garlic</li>
<li>3 Red onions</li>
<li>1 Lime</li>
<li>Sugar</li>
<li>Salt + pepper</li>
</ul>
<blockquote>
<p>NOTE: When preparing, do not use a food processor, i dont know what kind yall have but the ones I use end up introducing way too many bubbles into the mixture.</p>
</blockquote>
<hr />
<h3>Preparation for both:</h3>
<ul>
<li>Jalapenos, onions, tomatoes, cilantro get chopped and thrown in</li>
<li>Avocados get thrown in with no skin and no pit and get mashed</li>
<li>Garlic gets crushed</li>
<li>That's the base mixture, at this point you can mix/mash everything you've thrown in together.</li>
<li>Afterwards juice and add in the lime</li>
<li>Add in about a teaspoon's worth of black pepper</li>
<li>Add in about a teaspoon's worth of additional spices, if the ingredient list calls for it</li>
<li>Add in about half a teaspoon's worth of salt, then keep adding it in bit by bit until you achieve desired saltiness. The trick here is that the more you add, the more flavor you end up revealing, but it is easy to go overborad.</li>
</ul>
<p> </p>
]]></content:encoded></item><item><title>Buckwheat košė, my style</title><link>recipes/savoury/buckwheat_ko%C5%A1%C4%97%2C_my_style.html</link><pubDate>Sat, 28 Dec 2024 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2024-12-28<br />
Source: Me<br />
Effort: low</p>
<hr />
<h3>Pretext:</h3>
<p>If you're familiar with russian cuisine, košė is just the lithuanian translation of <a href="https://en.wikipedia.org/wiki/Kasha">kasha</a>, I wanted to add to my list of quick and easy meals, and I wanted something that had a good ratio between protein and carbs and I think I managed to hit that fairly well while also providing a reasonably tasty low-effort meal.</p>
<p>Honestly this one doesn't look too good, BUT, if you're into buckwheat, it tastes great.</p>
<hr />
<h3>Ingredients:</h3>
<ul>
<li>Buckwheat, toasted if you can find it, about 50-100g</li>
<li>60 grams of tofu
<ul>
<li>the firmer the better</li>
<li>feel free to use smoked or marinated</li>
</ul>
</li>
<li>Dried chanterelles</li>
<li>1 Small-ish (think jalapeno-sized) pepper, exact kind depends on spice preference</li>
<li>Soy sauce</li>
<li>Black pepper, half teaspoon</li>
<li>Nutritional yeast, one teaspoon</li>
<li>Garlic powder, half teaspoon</li>
<li>Smoked paprika, half teaspoon</li>
</ul>
<p>Serves One, scales easily</p>
<hr />
<h3>Prep:</h3>
<ul>
<li>Prep a small pot</li>
<li>Add the buckwheat</li>
<li>Add double the volume of water</li>
<li>Spike the water with about 25mls of soy sauce</li>
<li>Set to simmer</li>
<li>While buckwheat simmers:
<ul>
<li>Chop up the pepper into small bits, 2-3mm in size</li>
<li>Chop up the dried chanterelles into small bits (if not pre-chopped), 5mm in size</li>
<li>Use a fork to rip up the tofu into 5mm~ sized shapeless chunks</li>
<li>Taste for saltiness, adjust if needed</li>
</ul>
</li>
<li>Once buckwheat is done
<ul>
<li>add in the chopped pepper</li>
<li>add in the tofu</li>
<li>add in the chanterelles</li>
<li>add in all of the dry powdery ingredients left</li>
<li>mix</li>
</ul>
</li>
<li>Plate and serve.</li>
</ul>
<hr />
<h3>Images:</h3>
<p><img src="/attachments/2025-01-11-15-45-48-124.jpg"></p>
<p> </p>
]]></content:encoded></item><item><title>decadv_2025_init</title><link>technical/decadv_2025/decadv_2025_init.html</link><pubDate>Mon, 1 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-01</p>
<p><a href="https://eli.li/december-adventure">https://eli.li/december-adventure</a></p>
<p>
</p>
<p>It is that time of year again. Time for a december adventure! I have coded far less this year, so I hope I'll be more motivated to do it during my downtime.</p>
<p>The gist is simple: Spend every day from now to the 28th doing at least a little bit of coding.</p>
<p>Last year i've only managed to do 15 or so days before giving up, and I partly feel like I just sorta gave myself too little wiggle room in terms of what I would be doing. Like, I would dig my heels in with a single task that simply was too much, lose motivation and give up on it entirely.</p>
<p>I'm going to try to remedy this by giving myself more ideas and not constraining myself as much</p>
<p>With that, what do I do? Well, I have a few ideas:</p>
<ul>
<li>Update this website to support auto-generated RSS feeds</li>
<li>Fully automate website updates with an actual cronjob.</li>
<li>Make a recipe webring</li>
<li>Install OpenBSD or plan9 on my x240.</li>
<li>Come up with a service site to offer 3D printing services</li>
</ul>
<ul>
<li>Update the uxn-nix flake to latest builds, maybe package some uxn roms as well, though I am growing less and less keen on making contributions to the nix ecosystem</li>
</ul>
<ul>
<li>If nothing else, ironically, I could just do AoC, hah</li>
<li>I'm part of a project where we are re-indexing the lithuanian public project database to look for corruption, there's an issue list, patches needed to their frontend and backend</li>
<li>I could also look into what I had in mind to do last year</li>
<li>Since last year I did actually setup a matrix homeserver, But I couldn't get the bridges setup properly. I could try setting up a messenger or an instagram bridge... as much as I would hate to do so.</li>
<li>I definitely want to write more uxn, I just.. don't know what specifically. I need a light and easy project to get myself comfortable with the language.</li>
<li>Ooh! A wayland-native implementation of uxn would be awesome! Just like.. uxn11 but made to work with wayland instead</li>
<li>My system font needs fixing and/or changing. Most visible on chromium apps.</li>
<li>If I really feel like writing CSS for 5 hours, I can redo my discord theme for the 195th time.</li>
<li>I also had an idea for an utility program for my job. Some of the blueprints that come in are in imperial. I want a thing that would autoconvert it all to metric (google this first though)</li>
<li>Ah, another good one: contribute to niri, the VM im runnin right now. It's written in rust, and that's what im trying to get better at</li>
</ul>
]]></content:encoded></item><item><title>decadv_2025_01</title><link>technical/decadv_2025/decadv_2025_01.html</link><pubDate>Mon, 1 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-01<br />
Index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a><br />
Next: </> <a href=/technical/decadv_2025/decadv_2025_02.html>[decadv_2025_02]</a></p>
<p> </p>
<p>Continued to work on this very static site generator!</p>
<p>I'm going to be honest, I have pretty much not written any code since the last december adventure. And I decided to fall right back into the hole that is Rust. I am... very much out of practice, but with some gentle reminders I am slowly, surely bringing myself back up to speed..</p>
<p>I've implemented a fix that has been bugging me about this place for a while, the <code>&lt;details&gt;</code> tags were interspersed with the <code>&lt;a&gt;</code> tags in the navtree. I wanted the folders to come first.. and that turned out to be far more of a challenge than I thought it would be. I had to move the entire <code>FsTree</code> over into a BTreeMap, sort and then re-flatten.</p>
<p>I thought it would run far slower than it does.</p>
<hr />
<p>Next up are RSS feeds.
Unfortunately, I only have the time to implement the CSS logo for them.
It's worth noting that I am attempting to do this while also working a day job. I just looked over and I have dishes to clean as well..</p>
<p>Let's leave RSS for tomorrow :&gt;</p>
]]></content:encoded></item><item><title>decadv_2025_02</title><link>technical/decadv_2025/decadv_2025_02.html</link><pubDate>Tue, 2 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-02<br />
Index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a><br />
Previous: </> <a href=/technical/decadv_2025/decadv_2025_01.html>[decadv_2025_01]</a><br />
Next: </> <a href=/technical/decadv_2025/decadv_2025_03.html>[decadv_2025_03]</a></p>
<p>More rust programming today. I've only partially achieved my goal for today though, I've decided to call it early because .. I am once again feeling sleepy and my dishes are in need of doing.</p>
<p>Though I did manage to do the following:</p>
<ul>
<li>Refactor a bunch of my old code to be more concise</li>
<li>Make an extra file set for a trigger string based publishing mechanism</li>
<li>Write a regex-based function to search and parse dates in my blog entries, to sort by later.</li>
</ul>
<p>I dislike being in this state. I know exactly what needs to be done at a high level, and I have the motivation to implement, but I don't have the time to implement it without losing some very precious sleep.</p>
<p>I'm also gonna link my pinned links here so I don't have to look them up again tomorrow:<br />
<a href="https://www.rssboard.org/rss-specification#hrelementsOfLtitemgt">https://www.rssboard.org/rss-specification#hrelementsOfLtitemgt</a><br />
<a href="https://docs.rs/regex/latest/regex/#example-find-a-middle-initial">https://docs.rs/regex/latest/regex/#example-find-a-middle-initial</a><br />
<a href="https://docs.rs/chrono/0.4.42/chrono/struct.NaiveDateTime.html#method.parse_from_str">https://docs.rs/chrono/0.4.42/chrono/struct.NaiveDateTime.html#method.parse_from_str</a><br />
<a href="http://localhost:8080">http://localhost:8080</a></p>
<p>Oh and I may have to pivot to ArmA3 modding tomorrow as well, I've been nagged about it yesterday, but we'll see how long that takes me in the first place, may be just a tiny patch.</p>
<p> </p>
]]></content:encoded></item><item><title>decadv_2025_03</title><link>technical/decadv_2025/decadv_2025_03.html</link><pubDate>Wed, 3 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-03<br />
Index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a><br />
Previous: </> <a href=/technical/decadv_2025/decadv_2025_02.html>[decadv_2025_02]</a><br />
Next: </> <a href=/technical/decadv_2025/decadv_2025_04.html>[decadv_2025_04]</a></p>
<p>Again, spent some time programming rust, though this time around I was running more into runtime errors rather than structural issues.</p>
<p>I've inched yet closer to having working RSS, i'm pretty sure that all I have left to do here is just serialization.</p>
<p>I hate that word.. 'inched', but that is the reality of only getting one to two hours of effective programming per day.</p>
<p>I suppose I'll be able to put in far more work during the upcoming days off before, during and after christmas.</p>
<p>I am glad to note that I am slowly picking up my pace. My speed has increased and i mostly dawdled today away due to my lack of awareness regarding rust scopes... but I also debugged yesterday's work and also reaffirmed that parts of the program work as intended.</p>
<p><a href="https://drewdevault.com/blog/index.xml">https://drewdevault.com/blog/index.xml</a>
this helped me understand how should an rss feed look like more or less</p>
<p>Looking back, this is a good warmup.</p>
<p> </p>
]]></content:encoded></item><item><title>decadv_2025_04</title><link>technical/decadv_2025/decadv_2025_04.html</link><pubDate>Thu, 4 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-04<br />
Index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a><br />
Previous: </> <a href=/technical/decadv_2025/decadv_2025_03.html>[decadv_2025_03]</a><br />
Next: </> <a href=/technical/decadv_2025/decadv_2025_05.html>[decadv_2025_05]</a></p>
<p>And there it is! This site now officially does RSS! Frankly, I feel like this should've been a single day effort, but alas, i suppose I am not as sharp at this as I used to be. So be it.</p>
<p>The technical solution isn't very.. complicated here, i'm just regenerating all posts tagged with an rss marker through the very same pipeline that generates the blog itself, just without the title, sorting by dating and converting that into RSS. with a few extra bits of metadata strewn about so that readers play nice with it.</p>
<p>That being said, if you're reading this at time of writing, this feature is so fresh it is still steaming, so, if you run your RSS reader through this, let me know if something fails through my fedi account at kelp at merveilles.town.</p>
<p>I think I still have the spoons to the bit of ArmA modding that I promised I would do earlier this week. Will update this post if that's the case!</p>
<p>TODO: go through your old posts and see what's worth RSS'ing</p>
<p> </p>
]]></content:encoded></item><item><title>decadv_2025_05</title><link>technical/decadv_2025/decadv_2025_05.html</link><pubDate>Fri, 5 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-05<br />
Index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a><br />
Previous: </> <a href=/technical/decadv_2025/decadv_2025_04.html>[decadv_2025_04]</a><br />
Next: </> <a href=/technical/decadv_2025/decadv_2025_08.html>[decadv_2025_08]</a></p>
<p>Today was a bit of a less code-focused day. I had a work-related event this evening, on top of the usual dayjob related activities. So I only really could focus on making a relatively small change for the ArmA3 mod I maintain for a community I participate in.</p>
<p>That being said, I have a clear objective for tomorrow!</p>
<p><a href="https://github.com/YaLTeR/niri/pull/1265">https://github.com/YaLTeR/niri/pull/1265</a></p>
<p>This PR got merged, which gives me the means to rework my desktop environment to include a 'scrollbar' without having to run a custom fork of </><span class="deadlink">[Switching to Niri]</span>. On top of that, I have a VM to setup for family and .. I also have a 3D printer to tune for enclosed PETG.</p>
<p> </p>
]]></content:encoded></item><item><title>decadv_2025_08</title><link>technical/decadv_2025/decadv_2025_08.html</link><pubDate>Mon, 8 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-08<br />
Index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a><br />
Previous: </> <a href=/technical/decadv_2025/decadv_2025_05.html>[decadv_2025_05]</a><br />
Next: </> <a href=/technical/decadv_2025/decadv_2025_09.html>[decadv_2025_09]</a></p>
<p>Argh. I missed the weekend.
Had to go out on friday for work, saturday was spent recouperating and with friends as well and on sunday i simply haven't had the spoons to do anything.</p>
<hr />
<p>I wanna get the ball rolling again with something that is both easy and motivating for the moment.
And that would be .. upgrading the uxn nix flake to include various utilities and maybe other emulators and critical roms</p>
<p>. . .</p>
<p>and done!
took me one and a half hours. And that is all I can spare, unfortunately.</p>
<p>For tomorrow, It's either more uxn ROMs, and figuring out how to get drifblim to build without depending on uxn-x11 or uxn-sdl2 from that same flake (uxnmin + tcc?)</p>
<p>OR</p>
<p>I can try to setup some matrix-based bridges to be more in touch with my IRL friends, would be a fun sysadmin challenge.</p>
<p>OR</p>
<p>Recently.. exquisitecorp at merveilles made a preliminary release of a lua-based processing framework!</p>
<p>I have options, i'll see.</p>
<p> </p>
]]></content:encoded></item><item><title>decadv_2025_09</title><link>technical/decadv_2025/decadv_2025_09.html</link><pubDate>Tue, 9 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-09<br />
Index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a><br />
Previous: </> <a href=/technical/decadv_2025/decadv_2025_08.html>[decadv_2025_08]</a><br />
Next: </> <a href=/technical/decadv_2025/decadv_2025_10.html>[decadv_2025_10]</a></p>
<p>And that's that for the uxn flake update! Drifblim and drifloon are now available on NixOS.</p>
<p>There's an idea.. I should make an attempt at making a more standard approach for building uxn roms within the context of a nix derivation.. like buildTalRom.. which would take in an input rom, run it through an assembler, and wrap it in a given emulator</p>
<p>sorta kinda like..</p>
<pre><code class="language-nix">uxnprogram = buildTalROM {
	pname = &quot;uxnprogram&quot;;
	version = &quot;1.0.0&quot;;
	src = { [...] }; # as usual 
	
	uxnEmu = packages.uxn-x11; # or whatever
	srcPath = &quot;./src/path/to/file.tal&quot;;
	
	meta = with pkgs.lib; {
		[ ... ]# as usual
	};
};
</code></pre>
<p>Intent being to save space and make the process easier. Though this would be a challenge for someone like me at this point, but if i did get through it, i could  easily go through the entire uxn catalog of programs.
o
Idk, could be worth exploring. Not particularly sure what other tasks should I be focusing on for tomorrow otherwise.</p>
<p> </p>
]]></content:encoded></item><item><title>decadv_2025_10</title><link>technical/decadv_2025/decadv_2025_10.html</link><pubDate>Wed, 10 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-10<br />
Index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a><br />
Previous: </> <a href=/technical/decadv_2025/decadv_2025_09.html>[decadv_2025_09]</a><br />
Next: </> <a href=/technical/decadv_2025/decadv_2025_11.html>[decadv_2025_11]</a></p>
<p> </p>
<p>it is 6:20 AM as i tap this out on my phone -- seems that the linux foundation has decided to embrace AI.</p>
<p><a href="https://www.linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation">https://www.linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation</a></p>
<p>In the bucket list within the </> <a href=/technical/decadv_2025/decadv_2025_init.html>[index]</a>, there's an item for installing openBSD on my laptop.</p>
<p>I couldn't have asked for a better excuse to do so today.</p>
<hr />
<p>Installation went fine, mostly. by the end of the day i was watching videos on firefox with i3 managing my windows, though in all honesty i am not entirely sure if i want to stay on it, mostly due to performance losses. This laptop is already old and slow, I definitelty don't want it running even slower.</p>
]]></content:encoded></item><item><title>Spanguolių Kisiėlius</title><link>recipes/beverages/spanguoli%C5%B3_kisi%C4%97lius.html</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2026-01-10<br />
Source: My elders!!
Effort: High</p>
<hr />
<h3>Pretext:</h3>
<p>CW: This pretext is a bit rambly, feel free to skim if you're just here for a recipe.</p>
<p>The title of this translates to <code>Cranberry Kissel</code>. Were you to look that up on the net, you would find an apt description of the recipe below on sites as generic as wikipedia.</p>
<p>Abstracted, this drink is just a sweet and sour cranberry-flavoured slurry. It is slightly thick, by design. Traditionally to be served warm, but is just as enjoyable when cold.</p>
<p>For me and for my family however, this is a drink exclusively associated with a traditional christmas eve. I make this once a year. And I do not let myself enjoy this on a different occasion because I feel like it would taint the associative specialty of this drink.</p>
<p>In my local, lithuanian stores, I can actually find a pre-packaged version of this drink, made by fruit juice companies.. I shudder to imagine what their kissel tastes like.</p>
<p>At some point during my youth.. due to time constraints, we would resort to using a store-bought, just-add-water-and-heat mix of it to serve at the christmas eve table. Either that or we used lower quality ingredients..</p>
<p>point being.. this is the recipe that my late grandmother used. Years of experience have taught me how superior it is to anything one could acquire at any store. And these days, what follows is the only Kisielius we make for christmas.</p>
<p>Unfortunately, this is the sort of recipe where there is no recipe.<br />
I make it exclusively by feel.<br />
I can only give rough guidelines.</p>
<hr />
<h3>Ingredients:</h3>
<ul>
<li>Cranberries</li>
<li>Water</li>
<li>Sugar</li>
<li>Potato Starch (Americans can substitute with corn starch)</li>
<li>(OPTIONAL) Citric acid / Lemon Juice</li>
</ul>
<p>Here's a rather terrible kicker.<br />
None of these have exact ratios.<br />
Again, I make this by feel. (<em>and i unfortunately don't recall the ratios I used last christmas</em>)</p>
<p>Though I can give guidelines..</p>
<ul>
<li>The cranberries here will be the main source of flavor.</li>
<li>The sugar is there to balance out the sourness of the cranberries.</li>
<li>The water is to stretch the total volume of the resulting kissel..</li>
<li>and the potato starch is used exclusively to thicken the result.</li>
<li>The citric acid is used in years when the cranberries grown are not sour enough. Judge this to your personal preference for sourness.</li>
</ul>
<hr />
<h3>Required Tooling:</h3>
<ul>
<li>Cold press juicer. In all honesty, any method of extracting juice from a cranberry works here... But do note the word <em>juice</em>. A mash won't work here. We need something in actual liquid form, with minimal chunks within.</li>
<li>A large pot. If you are making this.. you are best off making a lot of this. At least 3-4 litres worth. That way the effort you put into getting the mixture tasting right will result in a reasonable amount of product.</li>
<li>Glass jars. I'd avoid storing this in plastic or stainless steel containers. Make sure you have one more container than you think you need.</li>
</ul>
<hr />
<h3>Prep:</h3>
<ul>
<li>Juice the cranberries.</li>
<li>Add into pot.</li>
<li>Add enough water to double the volume. I.e. a ratio of 1:1 between the juice and water.</li>
<li>Start heating the pot</li>
<li>While the combination of juice/water is mixing, add sugar to taste. I can't exactly describe the balance.. essentially.. try to aim for what you think is the best ratio between sweet and sour. Make sure to stir immediately after adding the sugar. Without stirring, the sugar can settle to the bottom of the pot and scorch.</li>
<li>Prepare a starch/water slurry. You need about one tablespoon of starch per liter of water. Though this is a very rough measurment. Make sure no clumps of starch remain.</li>
<li>Bring the pot to a boil</li>
<li>Add in the slurry. Add a bit more than you think you need. The drink is less viscous at boiling temperatures.</li>
<li>Mix until combined</li>
<li>Distribute into glass jars.</li>
<li>Let cool to a comfortable temperature and consume.</li>
</ul>
<p>ON THICKNESS:
Since I did not provide exact ratios, I think it's best if I try to put the thickness of kissel into words... Imagine a viscosity spectrum. On one end, you have water and on the other hand you have freshly harvested liquid honey. The Kissel I make falls pretty much into the middle of that spectrum. It's nowhere near viscous enough to coil up when poured, but it's nowhere near as thin as water is.</p>
<p> </p>
]]></content:encoded></item><item><title>In Stars and Time</title><link>entertainment/video_game_reviews/in_stars_and_time.html</link><pubDate>Sat, 3 Jan 2026 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2026-01-03</p>
<p>I don't know if i should be posting this one.
This game hit way too close to home for me. This will get personal.</p>
<p>In Stars and Time is an RPG Maker game. If you're not familiar with RPG Maker games, then know that every RPG Maker game is: Isometric, 2D, top-down perspective, turn-based combat. On a technical level, there is nothing to write home about. Plays as one would expect. Runs as one would expect. Controls as one would expect.</p>
<p>In terms of looks.. the artstyle is what I would describe as medium resolution pixel art combined with hand-drawn images where applicable. It's a nice artstyle. I also find myself particularly drawn to the monochrome color scheme. As in black and white artstyles just appeal to me at this point. The sprites are well drawn, the designs of the characters, especially the ones the story deems deserving of hand-drawn portraits, are also great.</p>
<p>Worth noting is the sheer amount of portraits that the main cast gets. What I mean is.. with some games featuring a dialog system with a portrait of whoever is speaking on the side, sometimes you would get a disparity between the emotion portrayed in the portrait vs the emotion portrayed in the text and/or audio clip. Supergiant games' games tend to do this as their team prefers high-res, high-detail portraits, which limits how many they can afford to draw per character. Not that it's wrong, but it peeves me personally. Point being, that is absolutely not the case with In Stars and Time. I can't count the amount of different portraits drawn for a single character of the main cast.</p>
<p>The level design is... I'd describe it as adequate. As in, it stays out of the way, it does not intrude, nor does it take anything away from the experience. It feels like it's there to serve the rest of the game. Which.. is in part caused by a narrative limitation. And also partly caused by the engine choice. Not that i'm complaining. There were a few places where the environment got a bit more expressive here and there, which gave off a feeling of.. the devs being absolutely capable of going nuts on the environment design, but choosing not to. I don't know. I'm probably writing out of my ass on this point. Partly because the levels are definitely NOT the focus of the game.. moving on.</p>
<p>Gameplay... well.. it's RPG Maker. Quests consisting of 'Interact with Item', objectives consisting of 'Go here' or 'Talk to this dude'. A literal rock-paper-scissors fighting system. I've played games like this many times before. RPGs have a well developed formula at this point and it works.. rather well, in fact. It's almost like there's a good reason why an entire, specialized, templated engine for games like this exists, hehe.</p>
<hr />
<p>Well.. the protein of this game is obviously the story.. and</p>
<p>..<br />
.<br />
.</p>
<p><strong>this game fell and landed onto the shelf of media which has successfully managed to make me cry.</strong></p>
<p>For context, said shelf consists of</p>
<ul>
<li>Jonas Biliūnas' 'Kliudžiau', crying to which could stand as a screening test for psychopathy for schoolchildren</li>
<li>Kendrick Lamar's 'Mother I Sober', which I would've definitely cried to if I hadn't listend to it at an office for the first time</li>
<li>An anime film called 'A Silent Voice', for reasons similar to as this game.</li>
</ul>
<p>Three goddamn entries. Covering my entire life. I'm sure that any would be reader, if I ever felt comfortable about being this vulnerable on the internet, could deduce that I am the kind of person who has an iron grip on their emotions, especially ones that can be interpreted as showing vulnerability.</p>
<p>...</p>
<p>I'll just start from the top. You play as Siffrin. The starting cutscene shows you eating a star.</p>
<p>You wake up, in a field. Your friend Mirabelle comes over, looking for you. You go to the village of Dormont, north of you. She tells you that before your big day, the party should have a sleepover.</p>
<p>You've spent an undisclosed amount of time looking for some special orbs which would allow you to enter the house of Change at Dormont. Your quest being to defeat a King which has been slowly freezing the entire country of Vaugarde in time.</p>
<p>The player goes on to faff about in the village, have their sleepover, and the next morning they finally enter the house. Siffrin dies on the 6th room in. Crushed by a rigged boulder.</p>
<p>You wake up, in a field. The agony of being formed into a pancake now reduced to a scar in your mind.</p>
<p>Your first loop.</p>
<p>A reasonably well explored trope at this point, time loops. Eventually, through trial and error, and a few additional loops, you and your party complete what you thought was your objective. As you bask in the joy of victory..</p>
<p>You wake up, in a field. The ecstasy of seeing all of your friends elated now reduced to a nugget of comfort in your mind.</p>
<blockquote>
<p>This bubbled up a memory of a feeling I am far more familiar with than I wish to be. You know the one. The dread of nothing having really changed for you despite the effort you put in. The resignation caused by a knowing inability to enjoy a victory because you JUST know that you will end up back there. Depressed.</p>
</blockquote>
<p>Siffrin continues to attempt to break out. No matter what he tries, it does not work.</p>
<p>At first, they figure that they just need to better the lives of his party to break the loop.. so they do exactly that. Deal with repressed traumas, figure stuff out. Bond with the ones closest to him.</p>
<p>The newfound strength makes the journey towards the king far easier. The player gets to enjoy the happiest possible outcome...</p>
<p>You wake up, in a field.</p>
<p>Nothing works. No matter what you try to do, nothing fucking works. No amount of knowledge gained, no skills acquired, no experience gathered, none of that matters. You always just.. loop. back.</p>
<p>This game does an amazing job of portraying what that does to a person. This time loop.. it causes Sif's depression. And it is written so subtly it's not even funny. That's the thing about chronic depression. In my experience, I've had times when I could not tell if I was depressed or not. The more familiar you become with the mental state.. the less noticeable it becomes to you. One just learns to live with it. I've had days where I'd ponder what to leave on my suicide note .. and laugh at the funniest shit i've ever seen within an hour. This state.. THIS is what in stars and time has managed to capture. By the mid-game, Sif is a husk.. and yet they still laugh with the rest of the crew. They're able to function, but his team thinks that he's out of it.</p>
<p>What's even more relatable is that Sif is deathly afraid of coming forward about his condition. Both about the loops and the ensuing mental health problems. His pain is noticeable and people call him out about it.. but he just keeps claiming that everything is fine.</p>
<blockquote>
<p>I've done this before. I know exactly why we both did it, too. Who in their right mind would want to burden others with their problems? On one hand, who the fuck would be happy about turning their problems into everyone's problems? And also.. why would one think that others would be willing to help?</p>
</blockquote>
<p>By the end, Siffrin's found family start appearing as mere means to an end. He's distant, careless. One loop he manages to cause everyone around him pain, only to abandon his team and go through the house alone. He fails.</p>
<p>However, his team, despite being hurt and betrayed, figures him out. Despite Sif's best attempts, his team helps him. Not only to defeat the king for one last time, but also to break him out of his mental prison.</p>
<p>...</p>
<p>You know what got me crying? That in the end, Sif received unconditional help and love from his group. The idea of someone caring about me and helping me out in my time of need just .. does not compute. I cannot accept the concept. It just does not make sense to me. It felt.. fake.. almost.</p>
<p>That's the thing. Right now, I feel in a similar position to Siffrin, before the ending of the game. Someone who thinks that they should not be helped, that they do not deserve love or care. Someone who has forgotten how to hug. And in such a position, both him and I feel like we will never get help. Like .. we're beyond saving. Like there's no way out. Like there's no way to break the loop..</p>
<p>This game, through it's story, has managed to give hope to someone who feels utterly hopeless, even if it's just a spark.</p>
<p>Hope that even someone like me will be all right, some day.</p>
<hr />
<p>I don't recall the last time a game has managed to pull a 10+ hour session out of me. I barely ate anything that day.</p>
<p>I don't think I can post this.</p>
<p>2026-01-23
I also think that I have to post this.
 </p>
]]></content:encoded></item><item><title>decadv_2025_11</title><link>technical/decadv_2025/decadv_2025_11.html</link><pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-11<br />
index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a><br />
Prev: </> <a href=/technical/decadv_2025/decadv_2025_10.html>[decadv_2025_10]</a><br />
Next: </> <a href=/technical/decadv_2025/decadv_2025_12.html>[decadv_2025_12]</a></p>
<p>Taking a break for today, partly due to coffee detox</p>
<p> </p>
]]></content:encoded></item><item><title>decadv_2025_12</title><link>technical/decadv_2025/decadv_2025_12.html</link><pubDate>Fri, 12 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-12<br />
Index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a><br />
Previous: </> <a href=/technical/decadv_2025/decadv_2025_11.html>[decadv_2025_11]</a><br />
Next: </> <a href=/technical/decadv_2025/decadv_2025_13.html>[decadv_2025_13]</a></p>
<p> </p>
<p>Infra work for today. Migrated my synapse homeserver from using sqlite3 to using postgres instead. Took way longer than I thought it would, but the migration went off without a hitch.</p>
<p>Also going to start a matrix/discord bridge just to see how they are, i'll probably won't be able to today but my end goal is to be able to talk shit with my IRL buddies through matrix over the meta bridge because ..</p>
<p>i hate to say it but meta has an iron grip on everything here.</p>
<hr />
<p>I managed to successfully bridge to discord over matrix, and it's an alright bridging experience. I don't mind it.</p>
<p>I also managed to write some preliminary mautrix-meta configs on top of that as well, but i'm not gonna go through the demoralizing process of making a messenger and instagram account today, don't feel like it to be honest.</p>
]]></content:encoded></item><item><title>decadv_2025_13</title><link>technical/decadv_2025/decadv_2025_13.html</link><pubDate>Sat, 13 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-13<br />
index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a><br />
Previous: </> <a href=/technical/decadv_2025/decadv_2025_12.html>[decadv_2025_12]</a><br />
Next: </> <a href=/technical/decadv_2025/decadv_2025_22.html>[decadv_2025_22]</a></p>
<p> </p>
<p>Spent today trying to fix my steam deck's controller related issues. In reality i actually spent a boatload of time just trying to get the damn thing to update properly.. which i failed to do so.</p>
<p>I'll note that i didn't spend too much time on it in the first place, met up with my friends today.</p>
]]></content:encoded></item><item><title>decadv_2025_22</title><link>technical/decadv_2025/decadv_2025_22.html</link><pubDate>Mon, 22 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-22<br />
Previous: </> <a href=/technical/decadv_2025/decadv_2025_13.html>[decadv_2025_13]</a><br />
Index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a><br />
Next: </> <a href=/technical/decadv_2025/decadv_2025_23.html>[decadv_2025_23]</a></p>
<p> </p>
<p>It has been a while.</p>
<p>Last sunday I ended up accidentally deleting my <code>/home/</code>, and that came with it's own huge set of problems.</p>
<p>On top of that, I had an evening shift at work, which.. rendered me without enough time to dedicate to this. That being said, I am very much free until the end of the month, so I will definitely try to catch up.</p>
<p>Today I put in a bunch of time to rewrite the script I used to push whatever changes I made to this site.</p>
<p>It was a nice bit of automation, all in all. ran <a href="https://git.sr.ht/~nojusr/onyx">onyx</a>, compressed all images, auto-ran sourcehut's CLI utility, so on and so forth.</p>
<p>I lost it because I thought I wouldn't miss it in case of data loss.</p>
<p>I ended up rewriting the whole thing from scratch, with a few new features, most notably, functionality to facilitate easier development. it just starts busybox httpd and enters an infinite loop where pressing 'r' would trigger cargo.</p>
<p>It was a good way to freshen up my shell scripting skills.</p>
]]></content:encoded></item><item><title>decadv_2025_23</title><link>technical/decadv_2025/decadv_2025_23.html</link><pubDate>Tue, 23 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-23<br />
Previous: </> <a href=/technical/decadv_2025/decadv_2025_22.html>[decadv_2025_22]</a><br />
Index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a></p>
<p> </p>
<p>Got a bit of good work done today. Earlier this month I peered at niri's accepted pull requests and they finally got around to fleshing out the API that allowed programmers to access the width and position of a window within a scrolling window layout.</p>
<p>Essentially, that means that in niri, it is now possible to build a pager. So, I set out to do exactly that.</p>
<p>All of the data I ended up needing was provided by two commands: <code>niri msg -j workspaces</code> and <code>niri msg -j windows</code>. This gives most of the state of niri itself in json format, an array of objects, one for every window, below is an example:</p>
<pre><code class="language-json">  {
    &quot;id&quot;: 9,
    &quot;title&quot;: &quot;~&quot;,
    &quot;app_id&quot;: &quot;kitty&quot;,
    &quot;pid&quot;: 1554099,
    &quot;workspace_id&quot;: 5,
    &quot;is_focused&quot;: false,
    &quot;is_floating&quot;: false,
    &quot;is_urgent&quot;: false,
    &quot;layout&quot;: {
      &quot;pos_in_scrolling_layout&quot;: [
        2,
        1
      ],
      &quot;tile_size&quot;: [
        1221,
        1038
      ],
      &quot;window_size&quot;: [
        1219,
        1036
      ],
      &quot;tile_pos_in_workspace_view&quot;: null,
      &quot;window_offset_in_tile&quot;: [
        1,
        1
      ]
    }
</code></pre>
<p>What I ended up doing was acquiring the active <code>workspace_id</code> per monitor, filtering the given array by that, sorting by the first element in the <code>pos_in_scrolling_layout</code> array, and yielding a json object for every resulting window like this:</p>
<pre><code class="language-json">{
	&quot;id&quot;: 9,
	&quot;width&quot;: 1219,
	&quot;focus&quot;: false
}
</code></pre>
<p>The resulting shell snippet that whittles the data down is as follows:</p>
<pre><code class="language-sh">  # acquire the active workspace *id*. 
  active_ws=$(niri msg -j workspaces | jq -r --arg m &quot;$MONITOR&quot; '
    .[] | select(.output == $m and .is_active).id
  ')

  # acquire relevant data for windows
  window_json=$(niri msg -j windows | jq -r --argjson m &quot;$active_ws&quot; '
      [[.[] | select(.workspace_id == $m and .layout.pos_in_scrolling_layout[1] == 1)] |
      sort_by(.layout.pos_in_scrolling_layout.[0]) | .[] |
      {id: .id, width: .layout.window_size[0], focus: .is_focused}]
  ');

  echo $window_json;

</code></pre>
<p>All that was left to do is to integrate the script into eww, and layout a bunch of boxes whose width depends on the output of the script.. and volia:</p>
<p><img src="/attachments/2025-12-23-21-59-03-390.jpg"></p>
<hr />
<p>I've been wanting to make something like this for as long as I've been using niri. It's been about 7 months since I've </><span class="deadlink">[Switching to Niri]</span> to using it and the most frustrating bit was losing track of what windows I have open.</p>
<p>This should provide me with a quick visual indicator of where I am at in my desktop.</p>
<p>I am not sure if I'll be able to do much tomorrow as I'll probably be busy preparing for christmas. That, and i'll be away from my main computer, which means that if i'm to be developing anything, it will be on the x240 with openBSD.. which may be out of my comfort zone.. we'll see.</p>
]]></content:encoded></item><item><title>decadv_2025_29</title><link>technical/decadv_2025/decadv_2025_29.html</link><pubDate>Mon, 29 Dec 2025 00:00:00 +0000</pubDate><content:encoded><![CDATA[<p>2025-12-29
Previous: </> <a href=/technical/decadv_2025/decadv_2025_23.html>[decadv_2025_23]</a><br />
Index: </> <a href=/technical/decadv_2025/decadv_2025_init.html>[decadv_2025_init]</a></p>
<p> </p>
<p>:/</p>
<p>The 24th was spent on the eve and also preparations. 25th and 26th were both spent celebrating.. and I was ill by the 26th. Caught a flu some days ago. 27th and 28th were spent recovering.</p>
<p>Here I was thinking I finally found a nicer chunk of time to do some more computer stuff.</p>
<p>Well.. at least for today, I managed to get a bit of work done on customizing my steam deck. I like the default steam deck ui, so I am currently in the process of making my own carbon copy of it that integrates well with niri.</p>
<p>Unfortunately I think that the flu I caught still managed to throw a wrench into that plan because I was incredibly distractible throughout the day... so not much got done in that regard, even.</p>
<p>I decided to call it early for today when I realized that tangented away from the same task three times in a row.</p>
]]></content:encoded></item></channel></rss>