<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>blog</title><link>https://tetyys.com/blog/</link><description></description><lastBuildDate>Fri, 06 Mar 2026 23:23:00 +0200</lastBuildDate><item><title>Making WebOS-based LG TVs usable</title><link>https://tetyys.com/blog/making-webos-based-lg-tvs-usable.html</link><description>&lt;p&gt;All TVs with a general purpose processors nowadays come with pre-installed malware, whether it is adware or spyware. Think whatever you want about that, but if you bought an LG TV and don't want to purchase an another general purpose external processor on top of the one you already bought …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tetyys</dc:creator><pubDate>Fri, 06 Mar 2026 23:23:00 +0200</pubDate><guid isPermaLink="false">tag:tetyys.com,2026-03-06:/blog/making-webos-based-lg-tvs-usable.html</guid><category>blog</category></item><item><title>Enhanced duvet cover</title><link>https://tetyys.com/blog/enhanced-duvet-cover.html</link><description>&lt;p&gt;Do you ever get tired of having your duvet (stupid name btw) crumple up or fold inside the cover resulting in having cover-only ends? It's like eating a sausage that's only skin. This may be a symptom of size mismatch between duvet and cover, but it happens anyway too. Covers …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tetyys</dc:creator><pubDate>Fri, 22 Aug 2025 18:23:00 +0300</pubDate><guid isPermaLink="false">tag:tetyys.com,2025-08-22:/blog/enhanced-duvet-cover.html</guid><category>blog</category></item><item><title>Vinyl is possibly the worst medium you can release your music in</title><link>https://tetyys.com/blog/vinyl-is-possibly-the-worst-medium-you-can-release-your-music-in.html</link><description>&lt;style&gt;
&lt;/style&gt;
&lt;script&gt;
window['libopenmpt'] = {};
libopenmpt.locateFile = function (filename) {
    return "https://www.tetyys.com/blog/media/vinyl/js/" + filename;
};

function play() {
    function afterLoad(buffer) {
        window.player.play(buffer);
    }
    window.player.load("media/vinyl/mod.pianotary_assault_system", afterLoad);
}

libopenmpt.onRuntimeInitialized = function () {
    window.player = new ChiptuneJsPlayer(new ChiptuneJsConfig(-1));
};
&lt;/script&gt;
&lt;script type="text/javascript" src="https://tetyys.com/blog/media/vinyl/js/libopenmpt.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="https://tetyys.com/blog/media/vinyl/js/chiptune2.js"&gt;&lt;/script&gt;

&lt;p&gt;&lt;button onclick="play()"&gt;Play music&lt;/button&gt;
&lt;button onclick="window.player.stop()"&gt;Stop music&lt;/button&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Subi - Pianotary Assault …&lt;/em&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tetyys</dc:creator><pubDate>Fri, 15 Aug 2025 16:15:00 +0300</pubDate><guid isPermaLink="false">tag:tetyys.com,2025-08-15:/blog/vinyl-is-possibly-the-worst-medium-you-can-release-your-music-in.html</guid><category>blog</category></item><item><title>State of mocking in 2025 .NET tests</title><link>https://tetyys.com/blog/state-of-mocking-in-2025-net-tests.html</link><description>&lt;style&gt;
    /* For use with the code_line-number_word-wrap_switcher_jquery.js Pelican plugin */
pre &gt; code {
        overflow-y: scroll;
    max-height: 400px;
    display: block;
}
&lt;/style&gt;

&lt;p&gt;It's a Thursday night and you've decided to commit fraud by not coming to work tomorrow. A nice piece of code is forming in your IDE, maybe something you would call an "algorithm" because …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tetyys</dc:creator><pubDate>Fri, 15 Aug 2025 13:00:00 +0300</pubDate><guid isPermaLink="false">tag:tetyys.com,2025-08-15:/blog/state-of-mocking-in-2025-net-tests.html</guid><category>blog</category></item><item><title>P&amp;SL: defunct RPG on twitch.tv</title><link>https://tetyys.com/blog/psl-defunct-rpg-on-twitchtv.html</link><description>&lt;style&gt;
    /* For use with the code_line-number_word-wrap_switcher_jquery.js Pelican plugin */
pre &gt; code {
    overflow-y: scroll;
    max-height: 400px;
    display: block;
}
video {
    max-width: 100%;
}
img {
    max-width: 100%;
}
&lt;/style&gt;
&lt;script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.js"&gt;&lt;/script&gt;
&lt;p&gt;&lt;link href="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis-network.min.css" rel="stylesheet" type="text/css"/&gt;&lt;/p&gt;
&lt;p&gt;If you don't know what &lt;a href="https://twitch.tv/"&gt;Twitch&lt;/a&gt; is, it's an IRC server with some additional functionality. Instead of a channel owner, Twitch channels have broadcasters, they have a possiblity …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">tetyys</dc:creator><pubDate>Wed, 13 Aug 2025 22:27:00 +0300</pubDate><guid isPermaLink="false">tag:tetyys.com,2025-08-13:/blog/psl-defunct-rpg-on-twitchtv.html</guid><category>blog</category></item></channel></rss>