<?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/">
    <channel>
        <title>etcetera</title>
        <link>https://paragraph.com/@etcetera</link>
        <description>writing rust (sometimes on-chain) / wannabe cypherpunk</description>
        <lastBuildDate>Fri, 28 Aug 2026 07:45:28 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>etcetera</title>
            <url>https://storage.googleapis.com/papyrus_images/cd6060749e3716cd73d6bbb179e479af17b7d32c1233032b1c8354df61a0c313.jpg</url>
            <link>https://paragraph.com/@etcetera</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Day 2 - Reality Check & Readjustments]]></title>
            <link>https://paragraph.com/@etcetera/day-2-reality-check-readjustments</link>
            <guid>0EnZdLf8LivNWrfGsvas</guid>
            <pubDate>Wed, 03 Sep 2025 13:14:03 GMT</pubDate>
            <description><![CDATA[I started digging into rollups by reading Vitalik’s An Incomplete Guide to Rollups article. At a high level, the picture makes sense:On-chain smart contract: minimal, responsible for deposits, withdrawals, and proof verification.Off-chain computation: where the heavy lifting happens.That gave me a solid mental model. I also joined the zkSync Discord, shared what I was doing, and got pointed to their core/prover docs and community discussions. It felt like a signal that I’m in the right place....]]></description>
            <content:encoded><![CDATA[<p>I started digging into rollups by reading Vitalik’s <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://vitalik.eth.limo/general/2021/01/05/rollup.html">An Incomplete Guide to Rollups</a> article. At a high level, the picture makes sense:</p><ul><li><p><strong>On-chain smart contract:</strong> minimal, responsible for deposits, withdrawals, and proof verification.</p></li><li><p><strong>Off-chain computation:</strong> where the heavy lifting happens.</p></li></ul><p>That gave me a solid mental model.</p><p>I also joined the zkSync Discord, shared what I was doing, and got pointed to their core/prover docs and community discussions. It felt like a signal that I’m in the right place. At the same time, it also made me realize just how deep this rabbit hole is.</p><p>After sharing my goals and plan with a close friend who’s more experienced in systems/Rust we had a long chat and he told me that jumping straight into building a sequencer (even a toy one) might be biting off more than I can chew right now.</p><p>His advice was to first <strong>deepen my Rust fundamentals</strong> through smaller, quicker feedback loop projects before tackling something as ambitious as rollup infra.</p><p>Instead of burning out on a huge project early, building up intuition and confidence layer by layer with quick wins seemed like solid advice to me.</p><p>So, I made some adjustments to my original plan and I feel a lot more confident with this new path, with much clearer, concrete and achievable steps now.</p><h3 id="h-my-updated-plan" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">My updated plan</h3><h4 id="h-step-1-rust-foundations" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0"><strong>Step 1: Rust foundations</strong></h4><p>We start with solidifying the fundamentals.</p><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://doc.rust-lang.org/book/">The Rust Book</a> → I&apos;m at chapter 15.5 right now and taking it slow to understand things well</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://rust-unofficial.github.io/too-many-lists/">Too Many Linked Lists</a> → next in line for learning low-level development, unsafe, memory management</p></li></ul><p>To practice what I learn, I am thinking of following a pattern of small exercises + a medium sized project alongside the theory. Right now it is like so:</p><p><strong>Exercises:</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://exercism.org/tracks/rust">Exercism rust track</a></p><p><strong>Project:</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.codecrafters.io/courses/git/introduction?track=rust">Codecrafters Build Your Own Git</a></p><h4 id="h-step-2-digging-deeper-for-performance" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0"><strong>Step 2: Digging deeper for performance</strong></h4><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://doc.rust-lang.org/nomicon/">The Rustonomicon</a> → invariants, unsafe patterns</p></li><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://marabos.nl/atomics/">Rust Atomics and Locks</a> → concurrency + CPU-level considerations</p></li></ul><p><strong>Project:</strong> <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://app.codecrafters.io/courses/bittorrent/overview">Codecrafters Build Your Own Bittorrent</a></p><h4 id="h-step-3-algorithms" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0"><strong>Step 3: Algorithms</strong></h4><p>It is worth getting a hang of some common programming patterns, for interviews and potentially when fiddling with low-level system programs.</p><ul><li><p>LeetCode (1 problem/day)</p></li></ul><h4 id="h-step-4-systems-wizardry-optional" class="text-xl font-header !mt-6 !mb-3 first:!mt-0 first:!mb-0"><strong>Step 4: Systems wizardry</strong> (optional)</h4><ul><li><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.computerenhance.com/p/table-of-contents">Computer Enhance</a> → assembly, instruction-level parallelism, and what it really means for code to be “fast”</p></li></ul><p>This way I can keep making progress, but with a more realistic foundation that won’t collapse under its own weight.</p><p>Once I’ve leveled up through these, I think I&apos;ll have a solid enough foundation to both apply for jobs and start making meaningful contributions to some of the infra level client and SDK repos.</p><p>One thing I do want to point out is that while I&apos;ve laid this stuff out linearly, I probably would be jumping back and forth between some of these resources to keep myself engaged, nevertheless I feel like it is a good general guideline that I&apos;ll more or less adhere to.</p><p>Thanks for reading this! If you wanna follow my journey, you can subscribe below or <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://x.com/HubertEtcetera">follow me on twitter</a>.</p><div data-type="subscribeButton" class="center-contents"><a class="email-subscribe-button" href="null">Subscribe</a></div>]]></content:encoded>
            <author>etcetera@newsletter.paragraph.com (etcetera)</author>
        </item>
        <item>
            <title><![CDATA[Day 1: Defining the goal — Learning Blockchain Infrastructure Development As A Novice Rust Developer]]></title>
            <link>https://paragraph.com/@etcetera/day-1-defining-the-goal-learning-blockchain-infrastructure-development-as-a-novice-rust-developer</link>
            <guid>zrGU537NqsYJb03A6KJt</guid>
            <pubDate>Fri, 29 Aug 2025 13:16:25 GMT</pubDate>
            <description><![CDATA[This is a continuation of my article Learning Blockchain Infrastructure Development As A Novice Rust Developer that described the inspiration for this journey.Day 1: Defining the goalI&apos;ve been dabbling with frontend interfaces that interact with blockchains for a few years. I have an okay-ish understanding of how blockchains function. I even know a couple of buzzwords without knowing what they actually mean... but I&apos;ve never really written a solidity smart contract or learned exactl...]]></description>
            <content:encoded><![CDATA[<p>This is a continuation of my article <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://mirror.xyz/0xA74Bfd864Efe6F4DB8627709b74b69BDE6DfA0c2/zP4gj-7Gg0W6BJuGTOhE8Q7rFUyk9BnXJJbQhYaoKKo">Learning Blockchain Infrastructure Development As A Novice Rust Developer</a> that described the inspiration for this journey.</p><h1 id="h-day-1-defining-the-goal" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0"><strong>Day 1: Defining the goal</strong></h1><p>I&apos;ve been dabbling with frontend interfaces that interact with blockchains for a few years.</p><p>I have an okay-ish understanding of how blockchains function. I even know a couple of buzzwords without knowing what they actually mean... but I&apos;ve never really written a solidity smart contract or learned exactly how a rollup works.</p><p>Sure, high level they take either an optimistic or a SNARKy approach for state root verification and batch transactions using Ethereum as the settlement layer. But I have no clue how this actually functions in practice.</p><p>There&apos;s 2 main problems I envision I&apos;ll face:</p><ol><li><p>I have no idea about the design choices and technical limitations of Ethereum and its adjacent rollups/chains or the why behind them</p></li><li><p>I have some pre-conceived ideas of how certain things work which may simply be wrong</p></li></ol><p>Before I jump head first into mastering blockchain infra, I need to clearly define what that mastery means.</p><p>There&apos;s so many potential areas of expertise: sequencers, execution environments, zk, smart contracts, consensus, probably a bunch of other stuff that I don&apos;t even know or understand.</p><p>Working backwards from my end goal to contribute to at least one of the projects that is doing meaningful work in furthering the peer-to-peer vision at an infra level (e.g. reth, lighthouse, zkSync, starknet, etc.), I&apos;d probably need to:</p><ol><li><p>Read &amp; navigate their (large) codebase</p></li><li><p>Understand the I/O contracts of the infra (sequencer, VM, prover, state manager)</p></li><li><p>Implement a scoped feature or bugfix (e.g. extend a VM opcode)</p></li><li><p>Probably other stuff that I&apos;m too naive to know right now</p></li></ol><p>My current mental model (possibly wrong) to approach this is:</p><ol><li><p>Find the right communities, share what I&apos;m trying to learn and seek feedback on the plan</p></li><li><p>Build and document a minimal Rust rollup pipeline (sequencer + execution, maybe proof) as a learning project</p><ul><li><p>One potentially useful resource I found is the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/l2beat/byor?tab=readme-ov-file">BYOR - Build Your Own Rollup</a> repo by l2beat</p></li></ul></li><li><p>Make at least one (meaningful) merged contribution to an active Rust infra repo (reth, Lighthouse, zkSync, or Starknet)</p></li></ol><p>I&apos;m pretty sure the actual path wouldn&apos;t be quite this straightforward and I&apos;d discover things along the way, but you don&apos;t know what you don&apos;t know.</p><p>So, step one: I&apos;m going to start building a rollup and try to get it to work.</p><p>If you have any suggestions, please do send them to me on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://x.com/HubertEtcetera">X / Twitter</a>.</p><div data-type="subscribeButton" class="center-contents"><a class="email-subscribe-button" href="null">Subscribe</a></div>]]></content:encoded>
            <author>etcetera@newsletter.paragraph.com (etcetera)</author>
        </item>
        <item>
            <title><![CDATA[Learning Blockchain Infrastructure Development As A Novice Rust Developer]]></title>
            <link>https://paragraph.com/@etcetera/learning-blockchain-infrastructure-development-as-a-novice-rust-developer</link>
            <guid>NvjlQkO4NK8NoMuUV6qX</guid>
            <pubDate>Thu, 28 Aug 2025 04:23:50 GMT</pubDate>
            <description><![CDATA[Day 0: InspirationLately, I&apos;ve been feeling dissatisfied with my frontend dev job. For one, I feel like I&apos;m severely underpaid ($2500/mo). Two, I don&apos;t feel bullish on the team&apos;s ability to raise funds or successfully bootstrap liquidity needed for the project. Here&apos;s why:I feel like my feedback falls on deaf ears.The team lacks focus and good judgment from the leadership.They consistently fail to triage problems, tasks, responsibilities and even goals are vague and u...]]></description>
            <content:encoded><![CDATA[<h1 id="h-day-0-inspiration" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Day 0: Inspiration</h1><p>Lately, I&apos;ve been feeling dissatisfied with my frontend dev job.</p><p>For one, I feel like I&apos;m severely underpaid ($2500/mo). Two, I don&apos;t feel bullish on the team&apos;s ability to raise funds or successfully bootstrap liquidity needed for the project.</p><p>Here&apos;s why:</p><ul><li><p>I feel like my feedback falls on deaf ears.</p></li><li><p>The team lacks focus and good judgment from the leadership.</p></li><li><p>They consistently fail to triage problems, tasks, responsibilities and even goals are vague and unclear.</p></li><li><p>Despite such confusion and lack of clarity there&apos;s a weird underlying expectation to somehow be autonomous. They offload ambiguity and call it autonomy and ownership.</p></li></ul><p>When I reflect back on the times I felt like my work was genuinely enjoyable and fulfilling:</p><ol><li><p>I felt I was learning something new and pushing right at the edge of my abilities. Not so hard that the work feels impossible, yet not so easy that it felt trivial.</p></li><li><p>The work felt like my contributions were meaningful.</p></li><li><p>I made many mistakes, but I learned and grew exponentially from each one.</p></li></ol><p>But in this job, I feel like I&apos;m literally stuck for the sake of paying my bills. Needless to say, I feel like I&apos;m not learning anything new or growing professionally in anyway.</p><p>I&apos;m craving that sweet spot of challenge + meaning.</p><p>I&apos;ve been reading Walkaway lately and it resurfaced my cypherpunk side who&apos;s absolutely discontent with the current state of the web and the most of the world in general.</p><ul><li><p>The original dream of the peer-to-peer internet feels like it’s dying.</p></li><li><p>Surface-level apps in crypto have devolved into <strong>degenerate gambling</strong>.</p></li><li><p>This isn’t the world I want to live in, let alone build for.</p></li></ul><p>Reading the work of core devs in Ethereum and adjacent blockchains, I felt the opposite vibe at the <strong>infra layer</strong>. With deep seated values of privacy, curiosity, resilience.</p><p>Combine those values with my love for rust and lust for money, blockchain infra seemed like the perfect next step.</p><p>What&apos;s there to lose anyway?</p><div data-type="subscribeButton" class="center-contents"><a class="email-subscribe-button" href="null">Subscribe</a></div>]]></content:encoded>
            <author>etcetera@newsletter.paragraph.com (etcetera)</author>
        </item>
    </channel>
</rss>