<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:podcast="https://podcastindex.org/namespace/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Dodgy Coding</title>
        <link>https://tube.hoga.fr/c/dodgy_coding@scitech.video/videos</link>
        <description>Experimenting with code and computers. Videos are not guaranteed to contain anything useful, but Rust is likely to be involved. https://github.com/thombles</description>
        <lastBuildDate>Fri, 23 Oct 2026 05:21:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>PeerTube - https://tube.hoga.fr</generator>
        <image>
            <title>Dodgy Coding</title>
            <url>https://tube.hoga.fr/lazy-static/avatars/102e595b-cb9c-462d-8a29-b1bffe7d0673.png</url>
            <link>https://tube.hoga.fr/c/dodgy_coding@scitech.video/videos</link>
        </image>
        <copyright>All rights reserved, unless otherwise specified in the terms specified at https://tube.hoga.fr/about and potential licenses granted by each content's rightholder.</copyright>
        <atom:link href="https://tube.hoga.fr/feeds/videos.xml?videoChannelId=1705" rel="self" type="application/rss+xml"/>
        <podcast:txt purpose="p20url">https://tube.hoga.fr/feeds/podcast/videos.xml?videoChannelId=1705</podcast:txt>
        <item>
            <title><![CDATA[TCP connect to 0:8080]]></title>
            <link>https://tube.hoga.fr/w/qfLMYddxQfawqPc2JLJuh5</link>
            <guid>https://tube.hoga.fr/w/qfLMYddxQfawqPc2JLJuh5</guid>
            <pubDate>Sun, 17 Jul 2022 10:49:39 GMT</pubDate>
            <description><![CDATA[An investigation into exactly what's going on if you "curl 0:8080" and it works for some reason.]]></description>
            <content:encoded><![CDATA[<p>An investigation into exactly what's going on if you "curl 0:8080" and it works for some reason.</p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="258364073" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/c46b5853-6925-4f0b-92f3-93166695c1e4?videoFileIds=2002872"/>
            <media:community>
                <media:statistics views="288"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/qfLMYddxQfawqPc2JLJuh5"/>
            <media:player url="https://tube.hoga.fr/w/qfLMYddxQfawqPc2JLJuh5"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/f367f561-722e-43e9-a76f-98e24693ec31-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/b00bd44f-2907-46df-9425-e8e9d9c8ba26-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/1bc8c3cf-9dbc-4745-b9f3-1e0860ccd27e-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/1a7b9887-737b-4f09-8a4d-385142e50b81-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="258364073" url="https://scitech.video/static/webseed/f3dfdb35-1dbc-4ce9-8423-bdd8fd01c6c0-1080.mp4" framerate="25" duration="1026" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="81079402" url="https://scitech.video/static/webseed/c7685fbe-02e9-4d5d-a2db-0ebed4a21cea-720.mp4" framerate="25" duration="1026" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="56035772" url="https://scitech.video/static/webseed/8157122e-3641-485b-9df3-ea4f6f2a8b5d-480.mp4" framerate="25" duration="1026" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="33148662" url="https://scitech.video/static/webseed/38d4fd8f-41d7-4d76-96ad-a165738b828a-240.mp4" framerate="25" duration="1026" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/1886da53-d258-4f45-8485-79411ccb64e8.jpg" height="157" width="280"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/23937b49-18a5-4073-b9cc-9ed259c8a76c.jpg" height="480" width="850"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">TCP connect to 0:8080</media:title>
            <media:description type="plain">An investigation into exactly what's going on if you "curl 0:8080" and it works for some reason.</media:description>
        </item>
        <item>
            <title><![CDATA[Misadventures in async testing]]></title>
            <link>https://tube.hoga.fr/w/wcHTsiwBz8D35MoPqERzm7</link>
            <guid>https://tube.hoga.fr/w/wcHTsiwBz8D35MoPqERzm7</guid>
            <pubDate>Fri, 18 Dec 2020 12:12:26 GMT</pubDate>
            <description><![CDATA[A demonstration of the race conditions that can occur when attempting to unit test async rust code, and a couple of ways you might try to handle it.]]></description>
            <content:encoded><![CDATA[<p>A demonstration of the race conditions that can occur when attempting to unit test async rust code, and a couple of ways you might try to handle it.</p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="101169726" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/f49527b6-9c07-4f3c-9023-face059410fa?videoFileIds=1792895"/>
            <media:community>
                <media:statistics views="38"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/wcHTsiwBz8D35MoPqERzm7"/>
            <media:player url="https://tube.hoga.fr/w/wcHTsiwBz8D35MoPqERzm7"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/0f6b35eb-904e-44e1-9edd-9b61f1868304-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/92cc1ad5-0296-4072-a144-4bd6f3a6c517-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/9ba70c28-0f97-4c6c-adee-cff2887626d6-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/b4374e00-9d8b-41e5-8dc3-cd93c38b189f-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="101169726" url="https://scitech.video/static/webseed/f49527b6-9c07-4f3c-9023-face059410fa-1080.mp4" framerate="30" duration="900" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="57251512" url="https://scitech.video/static/webseed/f49527b6-9c07-4f3c-9023-face059410fa-720.mp4" framerate="30" duration="900" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="37415673" url="https://scitech.video/static/webseed/f49527b6-9c07-4f3c-9023-face059410fa-480.mp4" framerate="30" duration="900" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="22662236" url="https://scitech.video/static/webseed/f49527b6-9c07-4f3c-9023-face059410fa-240.mp4" framerate="30" duration="900" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/7958689f-e1a4-4f9b-95e3-4d3d93325d98.jpg" height="122" width="223"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/3f7f98e4-7f81-4f02-b03a-52a8604f093c.jpg" height="480" width="850"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Misadventures in async testing</media:title>
            <media:description type="plain">A demonstration of the race conditions that can occur when attempting to unit test async rust code, and a couple of ways you might try to handle it.</media:description>
        </item>
        <item>
            <title><![CDATA[Contact tracing in the background on iOS]]></title>
            <link>https://tube.hoga.fr/w/g1Pw5i19QHjrE9u6TRg3To</link>
            <guid>https://tube.hoga.fr/w/g1Pw5i19QHjrE9u6TRg3To</guid>
            <pubDate>Tue, 28 Apr 2020 15:55:22 GMT</pubDate>
            <description><![CDATA[A short demonstration of the Australian COVIDSafe app and how its Bluetooth connectivity is affected by putting the app in the background.]]></description>
            <content:encoded><![CDATA[<p>A short demonstration of the Australian COVIDSafe app and how its Bluetooth connectivity is affected by putting the app in the background.</p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="123575788" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/79965d3d-f788-4cbf-9c05-66e1d39c8a74?videoFileIds=1688869"/>
            <media:community>
                <media:statistics views="191"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/g1Pw5i19QHjrE9u6TRg3To"/>
            <media:player url="https://tube.hoga.fr/w/g1Pw5i19QHjrE9u6TRg3To"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/be88dbf8-a1a7-4e0c-a332-8ca6fc922824-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/52220038-24fb-465b-be1c-060ea263d8d3-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/3cead28b-edef-446a-bf9d-fa75930d8726-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="123575788" url="https://scitech.video/static/webseed/79965d3d-f788-4cbf-9c05-66e1d39c8a74-720.mp4" framerate="30" duration="356" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="60761833" url="https://scitech.video/static/webseed/79965d3d-f788-4cbf-9c05-66e1d39c8a74-480.mp4" framerate="30" duration="356" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="18140800" url="https://scitech.video/static/webseed/79965d3d-f788-4cbf-9c05-66e1d39c8a74-240.mp4" framerate="30" duration="356" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/854791c8-a564-4fb2-9a90-c8af953aab05.jpg" height="122" width="223"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/51fdc25f-8548-4fca-8695-254b662c948f.jpg" height="480" width="850"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Contact tracing in the background on iOS</media:title>
            <media:description type="plain">A short demonstration of the Australian COVIDSafe app and how its Bluetooth connectivity is affected by putting the app in the background.</media:description>
        </item>
        <item>
            <title><![CDATA[Simultaneous open - TCP without a server]]></title>
            <link>https://tube.hoga.fr/w/8EXFKSGc2pV8qDU2NsgxWi</link>
            <guid>https://tube.hoga.fr/w/8EXFKSGc2pV8qDU2NsgxWi</guid>
            <pubDate>Mon, 13 Apr 2020 07:51:15 GMT</pubDate>
            <description><![CDATA[A fun quirk of TCP/IP is that you can create a connection without a listening socket. In this video we briefly review how that works, then write a Rust program to trigger the unusual behaviour on real Linux hosts. Code: [https://github.com/thom...]]></description>
            <content:encoded><![CDATA[<p>A fun quirk of TCP/IP is that you can create a connection without a listening socket. In this video we briefly review how that works, then write a Rust program to trigger the unusual behaviour on real Linux hosts.</p>
<p>Code: <a href="https://github.com/thombles/impractical_tcp" target="_blank" rel="noopener noreferrer">https://github.com/thombles/impractical_tcp</a></p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="88142049" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/3e208d1f-794d-47da-b0d7-e60f988a93a1?videoFileIds=1688813"/>
            <media:community>
                <media:statistics views="159"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/8EXFKSGc2pV8qDU2NsgxWi"/>
            <media:player url="https://tube.hoga.fr/w/8EXFKSGc2pV8qDU2NsgxWi"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/ec34556b-1b7d-4d9d-ab27-97eae0ba4e0b-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/d0884e52-2d30-40f3-ad95-d3bb25bad468-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/e114d989-9588-4e85-aeec-dae07a722e34-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/95582567-9514-4688-8a4b-dbb0642e3a94-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="88142049" url="https://scitech.video/static/webseed/3e208d1f-794d-47da-b0d7-e60f988a93a1-1080.mp4" framerate="30" duration="838" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="55139855" url="https://scitech.video/static/webseed/3e208d1f-794d-47da-b0d7-e60f988a93a1-720.mp4" framerate="30" duration="838" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="38071583" url="https://scitech.video/static/webseed/3e208d1f-794d-47da-b0d7-e60f988a93a1-480.mp4" framerate="30" duration="838" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="22551444" url="https://scitech.video/static/webseed/3e208d1f-794d-47da-b0d7-e60f988a93a1-240.mp4" framerate="30" duration="838" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/132adcd2-85bc-4938-b1a9-788eae61a621.jpg" height="480" width="850"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/b41cbe17-0595-498e-abeb-7aab504b453f.jpg" height="122" width="223"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Simultaneous open - TCP without a server</media:title>
            <media:description type="plain">A fun quirk of TCP/IP is that you can create a connection without a listening socket. In this video we briefly review how that works, then write a Rust program to trigger the unusual behaviour on real Linux hosts. Code: [https://github.com/thom...</media:description>
        </item>
        <item>
            <title><![CDATA[Async/await server pt.4 - timeouts]]></title>
            <link>https://tube.hoga.fr/w/34TCRRP5Ls6e5jjXX6HSZF</link>
            <guid>https://tube.hoga.fr/w/34TCRRP5Ls6e5jjXX6HSZF</guid>
            <pubDate>Sat, 21 Mar 2020 08:10:54 GMT</pubDate>
            <description><![CDATA[A gentle exploration of building a identd for Linux using async/await and tokio 0.2. This part demonstrates halting an await after a configurable time limit, both using tokio's timeout() helper and with the select! macro from the futures crate.]]></description>
            <content:encoded><![CDATA[<p>A gentle exploration of building a identd for Linux using async/await and tokio 0.2. This part demonstrates halting an await after a configurable time limit, both using tokio's timeout() helper and with the select! macro from the futures crate.</p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="54874117" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/10bd5484-5531-4935-8d08-d14a29f3bff1?videoFileIds=1688776"/>
            <media:community>
                <media:statistics views="31"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/34TCRRP5Ls6e5jjXX6HSZF"/>
            <media:player url="https://tube.hoga.fr/w/34TCRRP5Ls6e5jjXX6HSZF"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/5e638259-a374-4a4a-b151-a29b22206c43-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/7dc0d4c1-31d5-49a2-800e-d53a42fc64c8-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/b2d60101-858b-4754-83c8-31f794b2215c-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/9420ca52-9620-4df1-a71f-684cdae99491-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="54874117" url="https://scitech.video/static/webseed/10bd5484-5531-4935-8d08-d14a29f3bff1-1080.mp4" framerate="30" duration="450" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="33315384" url="https://scitech.video/static/webseed/10bd5484-5531-4935-8d08-d14a29f3bff1-720.mp4" framerate="30" duration="450" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="22347665" url="https://scitech.video/static/webseed/10bd5484-5531-4935-8d08-d14a29f3bff1-480.mp4" framerate="30" duration="450" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="12654406" url="https://scitech.video/static/webseed/10bd5484-5531-4935-8d08-d14a29f3bff1-240.mp4" framerate="30" duration="450" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/51c87a0a-b8c0-4b28-8907-2f977fd0d915.jpg" height="122" width="223"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/a273aeee-7009-4375-85a5-ef8d11aecbef.jpg" height="480" width="850"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Async/await server pt.4 - timeouts</media:title>
            <media:description type="plain">A gentle exploration of building a identd for Linux using async/await and tokio 0.2. This part demonstrates halting an await after a configurable time limit, both using tokio's timeout() helper and with the select! macro from the futures crate.</media:description>
        </item>
        <item>
            <title><![CDATA[Async/await server pt.3 - running a process]]></title>
            <link>https://tube.hoga.fr/w/nuLMSsT7TJzhRtGgzE49ic</link>
            <guid>https://tube.hoga.fr/w/nuLMSsT7TJzhRtGgzE49ic</guid>
            <pubDate>Sun, 17 Nov 2019 03:13:55 GMT</pubDate>
            <description><![CDATA[A gentle exploration of building a identd for Linux using async/await, tokio 0.2 and Rust 1.39. This part demonstrates running a process asynchronously and capturing standard output, either all at once or line by line.]]></description>
            <content:encoded><![CDATA[<p>A gentle exploration of building a identd for Linux using async/await, tokio 0.2 and Rust 1.39. This part demonstrates running a process asynchronously and capturing standard output, either all at once or line by line.</p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="55027022" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/ae14573c-b28c-4699-9ef9-7c86e5c3143d?videoFileIds=1688623"/>
            <media:community>
                <media:statistics views="60"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/nuLMSsT7TJzhRtGgzE49ic"/>
            <media:player url="https://tube.hoga.fr/w/nuLMSsT7TJzhRtGgzE49ic"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/7e485c7b-b4eb-47ec-ad94-5d920efe1b57-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/57574a56-736d-4ccb-b1a7-8f64156313ae-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/bed9864a-255d-4843-b1e9-99d56b638124-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/0c619a5b-325a-4686-83ba-da2c25b0d7c8-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="55027022" url="https://scitech.video/static/webseed/ae14573c-b28c-4699-9ef9-7c86e5c3143d-1080.mp4" framerate="30" duration="503" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="33974329" url="https://scitech.video/static/webseed/ae14573c-b28c-4699-9ef9-7c86e5c3143d-720.mp4" framerate="30" duration="503" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="22727394" url="https://scitech.video/static/webseed/ae14573c-b28c-4699-9ef9-7c86e5c3143d-480.mp4" framerate="30" duration="503" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="13416730" url="https://scitech.video/static/webseed/ae14573c-b28c-4699-9ef9-7c86e5c3143d-240.mp4" framerate="30" duration="503" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/4ec21f5f-527b-40d8-88fa-31f15583d4e6.jpg" height="122" width="223"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/65392780-00f6-4f5c-ba24-eb5dbd07480f.jpg" height="480" width="850"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Async/await server pt.3 - running a process</media:title>
            <media:description type="plain">A gentle exploration of building a identd for Linux using async/await, tokio 0.2 and Rust 1.39. This part demonstrates running a process asynchronously and capturing standard output, either all at once or line by line.</media:description>
        </item>
        <item>
            <title><![CDATA[Async/await server pt.2 - line-oriented protocols]]></title>
            <link>https://tube.hoga.fr/w/sE47vX1Dr8d1Bs3HuVzHpz</link>
            <guid>https://tube.hoga.fr/w/sE47vX1Dr8d1Bs3HuVzHpz</guid>
            <pubDate>Tue, 12 Nov 2019 23:16:22 GMT</pubDate>
            <description><![CDATA[A gentle exploration of building a identd for Linux using async/await, tokio 0.2 and Rust 1.39. This part demonstrates sending and receiving messages as complete lines, and discusses the Send requirements for local variables when awaiting.]]></description>
            <content:encoded><![CDATA[<p>A gentle exploration of building a identd for Linux using async/await, tokio 0.2 and Rust 1.39. This part demonstrates sending and receiving messages as complete lines, and discusses the Send requirements for local variables when awaiting.</p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="71873346" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/d7ddc956-5e0d-42af-a813-6e0ce83cbe53?videoFileIds=1688618"/>
            <media:community>
                <media:statistics views="48"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/sE47vX1Dr8d1Bs3HuVzHpz"/>
            <media:player url="https://tube.hoga.fr/w/sE47vX1Dr8d1Bs3HuVzHpz"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/aed39732-326b-48f8-9b9a-25232fe0b911-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/c2e3da4f-733c-48f4-9d61-8221f539df82-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/064aa80a-a8d4-49db-ba26-8bd22683e432-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/9b64033f-c3ae-47ce-8171-ad35440fae0c-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="71873346" url="https://scitech.video/static/webseed/d7ddc956-5e0d-42af-a813-6e0ce83cbe53-1080.mp4" framerate="30" duration="656" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="43830124" url="https://scitech.video/static/webseed/d7ddc956-5e0d-42af-a813-6e0ce83cbe53-720.mp4" framerate="30" duration="656" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="29624616" url="https://scitech.video/static/webseed/d7ddc956-5e0d-42af-a813-6e0ce83cbe53-480.mp4" framerate="30" duration="656" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="17652779" url="https://scitech.video/static/webseed/d7ddc956-5e0d-42af-a813-6e0ce83cbe53-240.mp4" framerate="30" duration="656" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/2c941620-9147-43dc-a202-f4a68af8e38f.jpg" height="122" width="223"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/0384b966-0c34-4596-a3ea-585646956943.jpg" height="480" width="850"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Async/await server pt.2 - line-oriented protocols</media:title>
            <media:description type="plain">A gentle exploration of building a identd for Linux using async/await, tokio 0.2 and Rust 1.39. This part demonstrates sending and receiving messages as complete lines, and discusses the Send requirements for local variables when awaiting.</media:description>
        </item>
        <item>
            <title><![CDATA[Async/await server pt.1 - accepting TCP connections]]></title>
            <link>https://tube.hoga.fr/w/wDYsnaVEosWsWPHofpSjiw</link>
            <guid>https://tube.hoga.fr/w/wDYsnaVEosWsWPHofpSjiw</guid>
            <pubDate>Sun, 10 Nov 2019 02:26:37 GMT</pubDate>
            <description><![CDATA[A gentle exploration of building a identd for Linux using async/await, tokio 0.2 and Rust 1.39. This first part includes creating a TCP listener and accepting clients, and demonstrates various ways to get it wrong.]]></description>
            <content:encoded><![CDATA[<p>A gentle exploration of building a identd for Linux using async/await, tokio 0.2 and Rust 1.39. This first part includes creating a TCP listener and accepting clients, and demonstrates various ways to get it wrong.</p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="363619247" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/f83f787c-ca84-4581-aa8c-240075efa280?videoFileIds=1688604"/>
            <media:community>
                <media:statistics views="54"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/wDYsnaVEosWsWPHofpSjiw"/>
            <media:player url="https://tube.hoga.fr/w/wDYsnaVEosWsWPHofpSjiw"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/f67fce89-9033-4b8d-9a12-e7cdb61602ca-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/12af494c-8352-46c4-b2ea-eb0d09f8cf46-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/ea5b55b8-0cdb-439e-9da5-abffd684b402-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/276f9ef9-9a01-4f40-8ae4-f47466196602-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="363619247" url="https://scitech.video/static/webseed/f83f787c-ca84-4581-aa8c-240075efa280-1080.mp4" framerate="30" duration="607" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="32057371" url="https://scitech.video/static/webseed/f83f787c-ca84-4581-aa8c-240075efa280-720.mp4" framerate="30" duration="607" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="22908601" url="https://scitech.video/static/webseed/f83f787c-ca84-4581-aa8c-240075efa280-480.mp4" framerate="30" duration="607" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="14871915" url="https://scitech.video/static/webseed/f83f787c-ca84-4581-aa8c-240075efa280-240.mp4" framerate="30" duration="607" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/31be1284-61b3-49e6-a46a-d27ef5091d9c.jpg" height="480" width="850"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/0c2a3728-dfbd-4bc5-94a1-feae9e4f7e9a.jpg" height="122" width="223"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Async/await server pt.1 - accepting TCP connections</media:title>
            <media:description type="plain">A gentle exploration of building a identd for Linux using async/await, tokio 0.2 and Rust 1.39. This first part includes creating a TCP listener and accepting clients, and demonstrates various ways to get it wrong.</media:description>
        </item>
        <item>
            <title><![CDATA[Async and its alternatives]]></title>
            <link>https://tube.hoga.fr/w/ikzsgA5GC7GGRVHnvFJGuh</link>
            <guid>https://tube.hoga.fr/w/ikzsgA5GC7GGRVHnvFJGuh</guid>
            <pubDate>Sat, 19 Oct 2019 10:29:40 GMT</pubDate>
            <description><![CDATA[Rust libraries come in a variety of API styles and futures are just one option. In this video we compare and contrast four styles from three crates: Synchronous blocking functions (websocket), Single thread reactor (ws-rs), Non-blockin...]]></description>
            <content:encoded><![CDATA[<p>Rust libraries come in a variety of API styles and futures are just one option. In this video we compare and contrast four styles from three crates:</p>
<ol>
<li>Synchronous blocking functions (websocket)</li>
<li>Single thread reactor (ws-rs)</li>
<li>Non-blocking synchronous state machine (quiche)</li>
<li>Futures-based async (websocket)</li>
</ol>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="81142340" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/8c671add-3435-4fb8-8221-ebf7caea6fe8?videoFileIds=1688595"/>
            <media:community>
                <media:statistics views="52"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/ikzsgA5GC7GGRVHnvFJGuh"/>
            <media:player url="https://tube.hoga.fr/w/ikzsgA5GC7GGRVHnvFJGuh"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/ad38f292-8673-4146-88db-f557fc7f067c-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/b4817282-20c8-4570-b921-e61da1f8b62b-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/459c0ac0-262d-49b2-a673-dbb52ef32b49-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/c86f244c-44d3-4c99-b1d3-2766f9b8af26-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="81142340" url="https://scitech.video/static/webseed/8c671add-3435-4fb8-8221-ebf7caea6fe8-1080.mp4" framerate="30" duration="863" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="45401719" url="https://scitech.video/static/webseed/8c671add-3435-4fb8-8221-ebf7caea6fe8-720.mp4" framerate="30" duration="863" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="31309411" url="https://scitech.video/static/webseed/8c671add-3435-4fb8-8221-ebf7caea6fe8-480.mp4" framerate="30" duration="863" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="20810340" url="https://scitech.video/static/webseed/8c671add-3435-4fb8-8221-ebf7caea6fe8-240.mp4" framerate="30" duration="863" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/f39ac6be-18a1-4f62-9452-bce96ff9321b.jpg" height="122" width="223"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/2479f574-fd92-4c15-80b1-152ade66ac4b.jpg" height="480" width="850"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Async and its alternatives</media:title>
            <media:description type="plain">Rust libraries come in a variety of API styles and futures are just one option. In this video we compare and contrast four styles from three crates: Synchronous blocking functions (websocket), Single thread reactor (ws-rs), Non-blockin...</media:description>
        </item>
        <item>
            <title><![CDATA[Cancelling Tokio Intervals]]></title>
            <link>https://tube.hoga.fr/w/uq7SbctAa7DubFL2iGVmHb</link>
            <guid>https://tube.hoga.fr/w/uq7SbctAa7DubFL2iGVmHb</guid>
            <pubDate>Sat, 21 Sep 2019 04:40:27 GMT</pubDate>
            <description><![CDATA[A discussion of how futures are given to an async executor and later dropped. Examples of cancelling an Interval stream by erroring out of for_each, and by selecting against another future.]]></description>
            <content:encoded><![CDATA[<p>A discussion of how futures are given to an async executor and later dropped. Examples of cancelling an Interval stream by erroring out of for_each, and by selecting against another future.</p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="68546839" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/e61df6b6-e376-490a-ae4c-a387047debcc?videoFileIds=1688562"/>
            <media:community>
                <media:statistics views="52"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/uq7SbctAa7DubFL2iGVmHb"/>
            <media:player url="https://tube.hoga.fr/w/uq7SbctAa7DubFL2iGVmHb"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/4726a8f9-afe3-4a34-bbe5-a57c44169537-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/577907d2-3266-4328-a332-ac2af35825af-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/0da22f16-586c-4aa9-9484-adeade86bee4-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/4fe08d06-fd75-4b1f-8de7-82d1d6d0af5d-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="68546839" url="https://scitech.video/static/webseed/e61df6b6-e376-490a-ae4c-a387047debcc-1080.mp4" framerate="30" duration="723" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="42316772" url="https://scitech.video/static/webseed/e61df6b6-e376-490a-ae4c-a387047debcc-720.mp4" framerate="30" duration="723" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="29670108" url="https://scitech.video/static/webseed/e61df6b6-e376-490a-ae4c-a387047debcc-480.mp4" framerate="30" duration="723" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="18453592" url="https://scitech.video/static/webseed/e61df6b6-e376-490a-ae4c-a387047debcc-240.mp4" framerate="30" duration="723" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/869ae54b-dcc5-48cd-87ac-4e267118e0e4.jpg" height="157" width="280"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/672022b5-9ede-4789-a293-a8beca516c0d.jpg" height="480" width="850"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Cancelling Tokio Intervals</media:title>
            <media:description type="plain">A discussion of how futures are given to an async executor and later dropped. Examples of cancelling an Interval stream by erroring out of for_each, and by selecting against another future.</media:description>
        </item>
        <item>
            <title><![CDATA[Use Rust in iOS Apps]]></title>
            <link>https://tube.hoga.fr/w/5PGwYmW57JTLNSNKgiRYx6</link>
            <guid>https://tube.hoga.fr/w/5PGwYmW57JTLNSNKgiRYx6</guid>
            <pubDate>Thu, 05 Sep 2019 18:48:05 GMT</pubDate>
            <description><![CDATA[A tutorial to create a new Rust library, compile it as a static library for iOS, and use it in an Xcode project. We then automate a convenient development workflow and explore some of the data types and callbacks that you can use to communicate be...]]></description>
            <content:encoded><![CDATA[<p>A tutorial to create a new Rust library, compile it as a static library for iOS, and use it in an Xcode project. We then automate a convenient development workflow and explore some of the data types and callbacks that you can use to communicate between Rust and Swift over a C-based FFI.</p>
<p>This is a video reproduction of a workshop that was presented at the /dev/world conference in Melbourne on 2 September 2019.</p>
<p>Online notes and exercises: <a href="https://github.com/thombles/dw2019rust" target="_blank" rel="noopener noreferrer">https://github.com/thombles/dw2019rust</a></p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="418190171" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/270d7de6-1895-417d-9960-b9e0758460c3?videoFileIds=1688548"/>
            <media:community>
                <media:statistics views="130"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/5PGwYmW57JTLNSNKgiRYx6"/>
            <media:player url="https://tube.hoga.fr/w/5PGwYmW57JTLNSNKgiRYx6"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/93f9d884-8f3e-4076-b263-d40788e5ff23-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/6284fee2-c47d-405f-9150-26f5c3671559-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/5650477c-8f00-443f-9df4-72da9af16031-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/7fc83ed1-e71d-4881-b6fb-587b22bed64a-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="418190171" url="https://scitech.video/static/webseed/270d7de6-1895-417d-9960-b9e0758460c3-1080.mp4" framerate="30" duration="3331" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="239341557" url="https://scitech.video/static/webseed/270d7de6-1895-417d-9960-b9e0758460c3-720.mp4" framerate="30" duration="3331" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="157853844" url="https://scitech.video/static/webseed/270d7de6-1895-417d-9960-b9e0758460c3-480.mp4" framerate="30" duration="3331" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="91556739" url="https://scitech.video/static/webseed/270d7de6-1895-417d-9960-b9e0758460c3-240.mp4" framerate="30" duration="3331" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/69ced872-6376-4222-9f71-ce0ff88e6165.jpg" height="122" width="223"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/bbc8e116-5aeb-4a61-b72d-a641b2e15996.jpg" height="480" width="850"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Use Rust in iOS Apps</media:title>
            <media:description type="plain">A tutorial to create a new Rust library, compile it as a static library for iOS, and use it in an Xcode project. We then automate a convenient development workflow and explore some of the data types and callbacks that you can use to communicate be...</media:description>
        </item>
        <item>
            <title><![CDATA[Type erasure in Rust/C FFI — structs, generics, trait objects]]></title>
            <link>https://tube.hoga.fr/w/g9EwvLBhYHzHNQWhDo78sM</link>
            <guid>https://tube.hoga.fr/w/g9EwvLBhYHzHNQWhDo78sM</guid>
            <pubDate>Sun, 18 Aug 2019 12:51:29 GMT</pubDate>
            <description><![CDATA[Exploring how to create data structures that are owned by C and pass pointers back to Rust to operate on them. This is easy for a basic struct but when you introduce generics or traits, things get interesting. Content warning: inadvisable C code.]]></description>
            <content:encoded><![CDATA[<p>Exploring how to create data structures that are owned by C and pass pointers back to Rust to operate on them. This is easy for a basic struct but when you introduce generics or traits, things get interesting.</p>
<p>Content warning: inadvisable C code.</p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="141144222" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/7aaec5c9-8f7a-46c4-a4af-46bf33d9d17d?videoFileIds=1688536"/>
            <media:community>
                <media:statistics views="52"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/g9EwvLBhYHzHNQWhDo78sM"/>
            <media:player url="https://tube.hoga.fr/w/g9EwvLBhYHzHNQWhDo78sM"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/f2ad3350-fd90-4c7a-b5d3-c539f444e5bc-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/96d8a0a8-72db-4157-994c-c946a7a4de63-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/94042063-9761-4f37-beb2-33cbdba0c496-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/94146961-e087-4eff-af04-3c253c16a8fc-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="141144222" url="https://scitech.video/static/webseed/7aaec5c9-8f7a-46c4-a4af-46bf33d9d17d-1080.mp4" framerate="30" duration="1280" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="85472548" url="https://scitech.video/static/webseed/7aaec5c9-8f7a-46c4-a4af-46bf33d9d17d-720.mp4" framerate="30" duration="1280" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="58663890" url="https://scitech.video/static/webseed/7aaec5c9-8f7a-46c4-a4af-46bf33d9d17d-480.mp4" framerate="30" duration="1280" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="34914933" url="https://scitech.video/static/webseed/7aaec5c9-8f7a-46c4-a4af-46bf33d9d17d-240.mp4" framerate="30" duration="1280" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/79725978-0d8d-46dd-a31f-28f7a659be8d.jpg" height="122" width="223"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/23436d2f-04ec-446a-8132-02bada4b843d.jpg" height="315" width="560"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Type erasure in Rust/C FFI — structs, generics, trait objects</media:title>
            <media:description type="plain">Exploring how to create data structures that are owned by C and pass pointers back to Rust to operate on them. This is easy for a basic struct but when you introduce generics or traits, things get interesting. Content warning: inadvisable C code.</media:description>
        </item>
        <item>
            <title><![CDATA[Tokio I/O futures]]></title>
            <link>https://tube.hoga.fr/w/wHnuKFASxp976ae9vgFGDR</link>
            <guid>https://tube.hoga.fr/w/wHnuKFASxp976ae9vgFGDR</guid>
            <pubDate>Sun, 07 Jul 2019 06:29:23 GMT</pubDate>
            <description><![CDATA[Experiments with tokio’s lines() function, fold(), and a custom multi-stage future with inner futures and the try_ready macro. With this episode, we are now up to four sub-optimal ways to count the number of lines in a file.]]></description>
            <content:encoded><![CDATA[<p>Experiments with tokio’s lines() function, fold(), and a custom multi-stage future with inner futures and the try_ready macro. With this episode, we are now up to four sub-optimal ways to count the number of lines in a file.</p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="69220978" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/f8b8e6ce-c58a-4317-9970-79db906fb6db?videoFileIds=1688521"/>
            <media:community>
                <media:statistics views="73"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/wHnuKFASxp976ae9vgFGDR"/>
            <media:player url="https://tube.hoga.fr/w/wHnuKFASxp976ae9vgFGDR"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/6f350221-f384-4e64-8f0c-c71b879c92cf-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/6c52b53a-f327-4f03-acf4-dbd17766f36a-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/836811c9-946c-4818-ba2a-17d1540e2bcc-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/6e09fa9a-e806-4e8f-be71-2471960803dd-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="69220978" url="https://scitech.video/static/webseed/f8b8e6ce-c58a-4317-9970-79db906fb6db-1080.mp4" framerate="30" duration="693" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="42797998" url="https://scitech.video/static/webseed/f8b8e6ce-c58a-4317-9970-79db906fb6db-720.mp4" framerate="30" duration="693" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="29749263" url="https://scitech.video/static/webseed/f8b8e6ce-c58a-4317-9970-79db906fb6db-480.mp4" framerate="30" duration="693" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="18203244" url="https://scitech.video/static/webseed/f8b8e6ce-c58a-4317-9970-79db906fb6db-240.mp4" framerate="30" duration="693" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/a48f97ff-a14d-4c00-840b-63f3af67774b.jpg" height="122" width="223"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/cd1e8c91-8965-414d-8e3a-241f46744d6e.jpg" height="315" width="560"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Tokio I/O futures</media:title>
            <media:description type="plain">Experiments with tokio’s lines() function, fold(), and a custom multi-stage future with inner futures and the try_ready macro. With this episode, we are now up to four sub-optimal ways to count the number of lines in a file.</media:description>
        </item>
        <item>
            <title><![CDATA[Making a leaf future for tokio]]></title>
            <link>https://tube.hoga.fr/w/gGsk42CtW2SVNjXFprnPLU</link>
            <guid>https://tube.hoga.fr/w/gGsk42CtW2SVNjXFprnPLU</guid>
            <pubDate>Sun, 30 Jun 2019 01:54:42 GMT</pubDate>
            <description><![CDATA[I play around with a standalone future to see how the tokio executor’s polling works in practice. I then adapt a callback-based API to work with futures, including a full implementation of a leaf future that transitions from NotReady to Ready.]]></description>
            <content:encoded><![CDATA[<p>I play around with a standalone future to see how the tokio executor’s polling works in practice. I then adapt a callback-based API to work with futures, including a full implementation of a leaf future that transitions from NotReady to Ready.</p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="86525205" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/7f1f0e63-8501-4b38-b52d-d04b70d0b840?videoFileIds=1688513"/>
            <media:community>
                <media:statistics views="42"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/gGsk42CtW2SVNjXFprnPLU"/>
            <media:player url="https://tube.hoga.fr/w/gGsk42CtW2SVNjXFprnPLU"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/cce45271-fcc7-47db-9502-3f621df5089b-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/12fb0faa-d13c-4fd0-a90d-d6bb51e32cb2-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/44c9db0f-d1b1-4ed0-b2f8-f74615da6c22-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/592e7537-aa8d-40f4-9506-f832ec346bfc-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="86525205" url="https://scitech.video/static/webseed/7f1f0e63-8501-4b38-b52d-d04b70d0b840-1080.mp4" framerate="30" duration="895" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="52480549" url="https://scitech.video/static/webseed/7f1f0e63-8501-4b38-b52d-d04b70d0b840-720.mp4" framerate="30" duration="895" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="36628890" url="https://scitech.video/static/webseed/7f1f0e63-8501-4b38-b52d-d04b70d0b840-480.mp4" framerate="30" duration="895" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="22735873" url="https://scitech.video/static/webseed/7f1f0e63-8501-4b38-b52d-d04b70d0b840-240.mp4" framerate="30" duration="895" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/e3bbf7f9-d405-49fb-8818-43fa87b5774a.jpg" height="157" width="280"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/79f6cc92-7712-4750-bf3a-9246be103a5f.jpg" height="315" width="560"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Making a leaf future for tokio</media:title>
            <media:description type="plain">I play around with a standalone future to see how the tokio executor’s polling works in practice. I then adapt a callback-based API to work with futures, including a full implementation of a leaf future that transitions from NotReady to Ready.</media:description>
        </item>
        <item>
            <title><![CDATA[Rust Autocomplete and Debugging in VS Code]]></title>
            <link>https://tube.hoga.fr/w/8s8kAo4LDMpy82FJZYN8FP</link>
            <guid>https://tube.hoga.fr/w/8s8kAo4LDMpy82FJZYN8FP</guid>
            <pubDate>Sun, 23 Jun 2019 03:19:35 GMT</pubDate>
            <description><![CDATA[Visual Studio Code is a convenient cross-platform environment for writing Rust code. By installing and configuring a few extra plugins—Better TOML, RLS and CodeLLDB—it can quickly become a full-fledged IDE. Nightly components status Mac: https...]]></description>
            <content:encoded><![CDATA[<p>Visual Studio Code is a convenient cross-platform environment for writing Rust code. By installing and configuring a few extra plugins—Better TOML, RLS and CodeLLDB—it can quickly become a full-fledged IDE.</p>
<p>Nightly components status<br />
Mac: <a href="https://rust-lang.github.io/rustup-components-history/x86_64-apple-darwin.html" target="_blank" rel="noopener noreferrer">https://rust-lang.github.io/rustup-components-history/x86_64-apple-darwin.html</a><br />
Linux: <a href="https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu.html" target="_blank" rel="noopener noreferrer">https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu.html</a></p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="32471807" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/3c55d4aa-4f7b-48e6-96a8-5fbe289be351?videoFileIds=1688509"/>
            <media:community>
                <media:statistics views="201"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/8s8kAo4LDMpy82FJZYN8FP"/>
            <media:player url="https://tube.hoga.fr/w/8s8kAo4LDMpy82FJZYN8FP"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/9e623884-9a25-4257-82ee-43a3d76625b5-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/3d47554b-6f8c-4569-994f-5ff9e0f216a7-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/9949431a-cfa1-4af0-8f8b-0e3d36c37fb3-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/38c9d747-2eb6-4d71-8e79-c2364fb2e06a-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="32471807" url="https://scitech.video/static/webseed/3c55d4aa-4f7b-48e6-96a8-5fbe289be351-1080.mp4" framerate="30" duration="448" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="22392450" url="https://scitech.video/static/webseed/3c55d4aa-4f7b-48e6-96a8-5fbe289be351-720.mp4" framerate="30" duration="448" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="16234748" url="https://scitech.video/static/webseed/3c55d4aa-4f7b-48e6-96a8-5fbe289be351-480.mp4" framerate="30" duration="448" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="10743281" url="https://scitech.video/static/webseed/3c55d4aa-4f7b-48e6-96a8-5fbe289be351-240.mp4" framerate="30" duration="448" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/066aee23-7dbd-4c07-8554-453a9ee854a2.jpg" height="122" width="223"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/df378b8a-0f22-4398-a77c-e32b4cdbe539.jpg" height="315" width="560"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">Rust Autocomplete and Debugging in VS Code</media:title>
            <media:description type="plain">Visual Studio Code is a convenient cross-platform environment for writing Rust code. By installing and configuring a few extra plugins—Better TOML, RLS and CodeLLDB—it can quickly become a full-fledged IDE. Nightly components status Mac: https...</media:description>
        </item>
        <item>
            <title><![CDATA[std threads vs tokio Runtime]]></title>
            <link>https://tube.hoga.fr/w/kLpFvVhLLe1vf9KFn4DZbW</link>
            <guid>https://tube.hoga.fr/w/kLpFvVhLLe1vf9KFn4DZbW</guid>
            <pubDate>Mon, 17 Jun 2019 05:24:09 GMT</pubDate>
            <description><![CDATA[In Rust code, two ways to run concurrent tasks are spawning threads using the standard library, and using the tokio crate for async I/O. In this video I make a test program with 100 tasks that take different amounts of time and compare how threads...]]></description>
            <content:encoded><![CDATA[<p>In Rust code, two ways to run concurrent tasks are spawning threads using the standard library, and using the tokio crate for async I/O. In this video I make a test program with 100 tasks that take different amounts of time and compare how threads are utilised with each approach.</p>
]]></content:encoded>
            <dc:creator>Dodgy Coding</dc:creator>
            <category>Science &amp; Technology</category>
            <enclosure length="57319424" type="video/mp4" url="https://tube.hoga.fr/download/videos/generate/a010f45d-0129-4a4e-ac98-7f93964193d6?videoFileIds=1688498"/>
            <media:community>
                <media:statistics views="60"/>
            </media:community>
            <media:embed url="https://tube.hoga.fr/videos/embed/kLpFvVhLLe1vf9KFn4DZbW"/>
            <media:player url="https://tube.hoga.fr/w/kLpFvVhLLe1vf9KFn4DZbW"/>
            <media:group>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/11796add-ced6-4239-98c7-3ea2abb0291f-1580.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/ee36a478-209d-40e6-b033-a320689886f3-1080.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/af6158dc-fb2b-48f0-91c6-5085299a8e2a-720.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/91998819-7629-4d06-aadf-cc39c45da12e-480.torrent" isDefault="false"/>
                <media:peerLink type="application/x-bittorrent" href="https://tube.hoga.fr/lazy-static/torrents/65846e0e-9d7e-403a-811b-724e7513de8b-240.torrent" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="1580" fileSize="57319424" url="https://scitech.video/static/webseed/a010f45d-0129-4a4e-ac98-7f93964193d6-1580.mp4" framerate="60" duration="333" isDefault="true"/>
                <media:content type="video/mp4" medium="video" height="1080" fileSize="32792144" url="https://scitech.video/static/webseed/a010f45d-0129-4a4e-ac98-7f93964193d6-1080.mp4" framerate="60" duration="333" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="720" fileSize="19366249" url="https://scitech.video/static/webseed/a010f45d-0129-4a4e-ac98-7f93964193d6-720.mp4" framerate="60" duration="333" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="480" fileSize="12059527" url="https://scitech.video/static/webseed/a010f45d-0129-4a4e-ac98-7f93964193d6-480.mp4" framerate="30" duration="333" isDefault="false"/>
                <media:content type="video/mp4" medium="video" height="240" fileSize="6236108" url="https://scitech.video/static/webseed/a010f45d-0129-4a4e-ac98-7f93964193d6-240.mp4" framerate="30" duration="333" isDefault="false"/>
            </media:group>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/85d8fe01-1f39-4c9d-b607-48a047ce6dd1.jpg" height="122" width="223"/>
            <media:thumbnail url="https://tube.hoga.fr/lazy-static/thumbnails/9396fd48-17c5-41e9-90d7-e08a2ff0323f.jpg" height="315" width="560"/>
            <media:rating>nonadult</media:rating>
            <media:title type="plain">std threads vs tokio Runtime</media:title>
            <media:description type="plain">In Rust code, two ways to run concurrent tasks are spawning threads using the standard library, and using the tokio crate for async I/O. In this video I make a test program with 100 tasks that take different amounts of time and compare how threads...</media:description>
        </item>
    </channel>
</rss>