<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Bits and pieces</title>
    <link>http://mateuszradomski.duckdns.org/</link>
    <description>Recent content on Bits and pieces</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 25 Aug 2022 21:30:04 +0800</lastBuildDate><atom:link href="http://mateuszradomski.duckdns.org/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>A way too serious look at the Weissman score</title>
      <link>http://mateuszradomski.duckdns.org/posts/weissman/</link>
      <pubDate>Sun, 22 Mar 2026 00:00:00 +0000</pubDate>
      
      <guid>http://mateuszradomski.duckdns.org/posts/weissman/</guid>
      <description>Over the past days I&amp;rsquo;ve been rewatching Silicon Valley. Something moved in me, maybe I&amp;rsquo;ve gotten nostalgic for this show or maybe I just remembered that I enjoyed watching it. In the first season - which I think is the most iconic one - the final episode gives a memorable scene where Richard manages to create a &amp;ldquo;middle-out&amp;rdquo; compression algorithm that breaks the theoretical limit set by the Weissman score. I wanted to have some fun by trying to look at this as if it&amp;rsquo;s super serious and it&amp;rsquo;s not a fictional show but a documentary.</description>
    </item>
    
    <item>
      <title>T64 compression</title>
      <link>http://mateuszradomski.duckdns.org/posts/t64/</link>
      <pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate>
      
      <guid>http://mateuszradomski.duckdns.org/posts/t64/</guid>
      <description>I&amp;rsquo;ve learned about T64 (Transpose 64x64) compression algorithm while reading Clickhouse docs. My assumption is that it has been created in-house because it&amp;rsquo;s the first time I&amp;rsquo;m seeing any reference to it. The overall approach and idea is actually quite old, I&amp;rsquo;m specifically referencing T64 here. It&amp;rsquo;s so simple that I&amp;rsquo;m going to explain it with examples
How does it work? Choose a size of the matrix you&amp;rsquo;re going to be transposing, for this example we are going to choose 8x8 (the Clickhouse version uses a scaled up 64x64).</description>
    </item>
    
    <item>
      <title>To break or not to break - code formatters</title>
      <link>http://mateuszradomski.duckdns.org/posts/code_format/</link>
      <pubDate>Mon, 04 Aug 2025 00:00:00 +0000</pubDate>
      
      <guid>http://mateuszradomski.duckdns.org/posts/code_format/</guid>
      <description>The job of a code formatter is simple: reprint the source code with pleasing white space1. From the description it&amp;rsquo;s very simple and yet as with anything in the software world there are two camps. The first camp says that having an automated formatter reduces the burden of the programmer, allowing one to focus on more important things. Additionally having a tool that enforces a coding style means consistency. Consistency - the group argues - allows complete strangers to open a repository and feel at home because they already know the formatting.</description>
    </item>
    
    <item>
      <title>PRNGs and the Birthday paradox</title>
      <link>http://mateuszradomski.duckdns.org/posts/birthday_prng/</link>
      <pubDate>Mon, 06 Jan 2025 00:00:00 +0000</pubDate>
      
      <guid>http://mateuszradomski.duckdns.org/posts/birthday_prng/</guid>
      <description>Ever since seeing Casey Muratori use xorshift32 to speed up his ray-casting code I&amp;rsquo;ve used that algorithm to generate random numbers while working in C. As the name suggests the internal state is a 32 bit number and the result of the function is just it&amp;rsquo;s internal state. From the perspective of safety and doing anything exposed to a wider audience where the cracks can be exploited for gain the algorithm is sub-par.</description>
    </item>
    
    <item>
      <title>Thoughts on WASM</title>
      <link>http://mateuszradomski.duckdns.org/posts/wasm_thoughts/</link>
      <pubDate>Sat, 27 Apr 2024 00:00:00 +0000</pubDate>
      
      <guid>http://mateuszradomski.duckdns.org/posts/wasm_thoughts/</guid>
      <description>WASM has this great veil of misunderstanding around it and I don&amp;rsquo;t want to try to remove it because in the process I might end up creating more confusion. All I want to do is give you some ideas and experiences I&amp;rsquo;ve had writing a simple library in C, compiling it to WASM and using it from JavaScript. Because of timing, some soft requirements and pure curiosity I&amp;rsquo;ve ended up writing fast-solidity-parser.</description>
    </item>
    
    <item>
      <title>Data compression</title>
      <link>http://mateuszradomski.duckdns.org/posts/data_compression/</link>
      <pubDate>Sun, 13 Aug 2023 00:00:00 +0000</pubDate>
      
      <guid>http://mateuszradomski.duckdns.org/posts/data_compression/</guid>
      <description>There is a very high possibility that your browser downloaded this website as compressed data. I can feel sure saying this because the web standard defines gzip as a standard compressor for web content. So what it achieved by compressing this webpage? As with any data compression algorithm, it reduces the data&amp;rsquo;s size with no or very little data loss. Data compression is a bigger deal than you might imagine, some works conclude that compression is equal to intelligence.</description>
    </item>
    
    <item>
      <title>Local license key verification - Theory</title>
      <link>http://mateuszradomski.duckdns.org/posts/local_license_key_verification_theory/</link>
      <pubDate>Mon, 24 Apr 2023 00:00:00 +0000</pubDate>
      
      <guid>http://mateuszradomski.duckdns.org/posts/local_license_key_verification_theory/</guid>
      <description>If you&amp;rsquo;ve ever entered a license key for software activation you might&amp;rsquo;ve experienced the software verify the validity of the key without the need for internet connection. The most popular example would be a Windows installation, during that time your computer most likely does not have the necessary drivers to be connected to the internet. This was for sure more true in the era of Windows XP, but the installation still has the ability to accept a key without an Ethernet cable plugged in to this day.</description>
    </item>
    
    <item>
      <title>How to drive high-resolution displays</title>
      <link>http://mateuszradomski.duckdns.org/posts/display_port_and_hdmi/</link>
      <pubDate>Tue, 28 Feb 2023 00:00:00 +0000</pubDate>
      
      <guid>http://mateuszradomski.duckdns.org/posts/display_port_and_hdmi/</guid>
      <description>I&amp;rsquo;ve recently become in possession of a 4K (3840 pixels x 2160 pixels) 144Hz monitor to bask in the high DPI glory and to never be looking at poorly aliased fonts ever again. In my head all that I needed to worry about is if my GPU will be able to push these many pixels and if the monitor actually arrived. But when it did arrive another problem was born, with my RTX 3060 graphics card I was only able to set the resolution to 4K @ 60Hz using my trusty HDMI cable and switching it to the one it came in the box didn&amp;rsquo;t change anything.</description>
    </item>
    
  </channel>
</rss>
