<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>A full (slow) solution to the Billion Row Challenge</title>
        <link>https://video.infosec.exchange/videos/watch/863d5155-0530-4783-8c62-84ba2b15be04</link>
        <description>We've been picking off small sub-tasks of the Billion Row Challenge, which asks us to summarise a large amount of data as quickly as we can. This time we complete the whole challenge, but in a slow way, to make sure we understand it. In future videos we will attack the last remaining sub-tasks, which concern how to collect together the information (probably in a hashmap) and print a summary. The code is at https://codeberg.org/andybalaam/brrmbrrm Read my blog at https://artificialworlds.net/blog Follow me on mastodon: @andybalaam@mastodon.social</description>
        <lastBuildDate>Sat, 11 Jul 2026 02:29:04 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>PeerTube - https://video.infosec.exchange</generator>
        <image>
            <title>A full (slow) solution to the Billion Row Challenge</title>
            <url>https://video.infosec.exchange/client/assets/images/icons/icon-1500x1500.png</url>
            <link>https://video.infosec.exchange/videos/watch/863d5155-0530-4783-8c62-84ba2b15be04</link>
        </image>
        <copyright>All rights reserved, unless otherwise specified in the terms specified at https://video.infosec.exchange/about and potential licenses granted by each content's rightholder.</copyright>
        <atom:link href="https://video.infosec.exchange/feeds/video-comments.xml?videoId=863d5155-0530-4783-8c62-84ba2b15be04" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[A full (slow) solution to the Billion Row Challenge - Andy Balaam]]></title>
            <link>https://video.infosec.exchange/w/hzreVwHv7hETKUG82KtGGd;threadId=270655</link>
            <guid>https://video.infosec.exchange/w/hzreVwHv7hETKUG82KtGGd;threadId=270655</guid>
            <pubDate>Fri, 10 Jul 2026 08:22:10 GMT</pubDate>
            <content:encoded><![CDATA[<p>@janWilejan@snug.moe (stick to what I did for count, specifically)</p>
]]></content:encoded>
            <dc:creator>Andy Balaam</dc:creator>
        </item>
        <item>
            <title><![CDATA[A full (slow) solution to the Billion Row Challenge - Andy Balaam]]></title>
            <link>https://video.infosec.exchange/w/hzreVwHv7hETKUG82KtGGd;threadId=270655</link>
            <guid>https://video.infosec.exchange/w/hzreVwHv7hETKUG82KtGGd;threadId=270655</guid>
            <pubDate>Fri, 10 Jul 2026 08:21:44 GMT</pubDate>
            <content:encoded><![CDATA[<p>@janWilejan@snug.moe Yes, good point - we could use i16 for min and max. I'd prefer not to assume anything about the distribution of stations so will stick to what I did (i64?).</p>
<p>A perfect hash function is cheating. We have a test input file but we're trying to write code that would work with any similar file.</p>
<p>There's a video of me crafting my .vimrc here: <a href="https://video.infosec.exchange/w/rUhu39ciya1F99ZziK5Gun" target="_blank" rel="noopener noreferrer">https://video.infosec.exchange/w/rUhu39ciya1F99ZziK5Gun</a> and the code is here: <a href="https://gitlab.com/andybalaam/configs/-/tree/main/.config/nvim?ref_type=heads" target="_blank" rel="noopener noreferrer">https://gitlab.com/andybalaam/configs/-/tree/main/.config/nvim?ref_type=heads</a></p>
]]></content:encoded>
            <dc:creator>Andy Balaam</dc:creator>
        </item>
        <item>
            <title><![CDATA[A full (slow) solution to the Billion Row Challenge - jan Wilejan]]></title>
            <link>https://video.infosec.exchange/w/hzreVwHv7hETKUG82KtGGd;threadId=270655</link>
            <guid>https://video.infosec.exchange/w/hzreVwHv7hETKUG82KtGGd;threadId=270655</guid>
            <pubDate>Fri, 10 Jul 2026 06:30:22 GMT</pubDate>
            <content:encoded><![CDATA[<p><span><a href="https://video.infosec.exchange/a/andybalaam/video-channels" class="u-url mention" target="_blank" rel="noopener noreferrer">@<span>andybalaam</span></a></span><span> some thoughts: i think you can use i16 for the min/max and i32 for the count. (assuming no city is more than 0.2% of the billion rows and the average temp is less than 99.9 (1e9*.002*999 &lt; 2**31)).
<p>also is using a perfect hash function cheating? if you know the city names in advance, you can avoid performance hits due to hash table collisions.</p>
<p>also, is your vim config posted anywhere?</p></span></p><p></p>
]]></content:encoded>
            <dc:creator>jan Wilejan</dc:creator>
        </item>
    </channel>
</rss>