{"generator":"GNU social 2.0.2-dev","title":"Conversation","totalItems":13,"items":[{"actor":{"id":"https:\/\/hachyderm.io\/users\/blaise","displayName":"Blaise Pab\u00f3n - controlpl4n3","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/36622-original-tmp20230620024809.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/36622-96-20240126201842.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/36622-48-20240126201842.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/36622-24-20240126201842.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"36622"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/36622-96-20240126201842.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Open Source Apothecary, Internet Elder\ud83c\uddfa\ud83c\uddf8 \ud83c\uddea\ud83c\uddf8 \ud83c\uddf5\ud83c\uddf7 \ud83c\uddf2\ud83c\uddfd \ud83c\uddef\ud83c\uddf5  and back again.#ADHD #autism #bass player  #boricua #ComplexityWranglers #coop #fountainpens #HamRadio #mycology #Sanskrit #neurodivergence #yogaFollow @blaise for steady boosts of #OpenSource, #python","url":"https:\/\/hachyderm.io\/@blaise","portablecontacts_net":{"preferredUsername":"blaise","displayName":"Blaise Pab\u00f3n - controlpl4n3","note":"Open Source Apothecary, Internet Elder\ud83c\uddfa\ud83c\uddf8 \ud83c\uddea\ud83c\uddf8 \ud83c\uddf5\ud83c\uddf7 \ud83c\uddf2\ud83c\uddfd \ud83c\uddef\ud83c\uddf5  and back again.#ADHD #autism #bass player  #boricua #ComplexityWranglers #coop #fountainpens #HamRadio #mycology #Sanskrit #neurodivergence #yogaFollow @blaise for steady boosts of #OpenSource, #python"}},"content":"RT @blaise It's like having a 200% test suite for free; you feel confident making changes.","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/blaise\/statuses\/116772803198438902\/activity","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435271308323","objectType":"note","content":"<p>But! He pair programmed his way out of it thanks to the compiler:<\/p><p>Jochen:<\/p><p>&gt; \"Those 78 errors were my path of what I needed to fix to get to the results. You change something up the chain and 78 reduces to 50, and so on down the line. It is your implementation guide.\"<\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435271308323","status_net":{"notice_id":null}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771658","source":"ActivityPub","repeat_of":"12771645"}},"published":"2026-06-18T19:39:54+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"title":"blaise repeated a notice by bbelderbos","verb":"share","url":"https:\/\/hachyderm.io\/users\/blaise\/statuses\/116772803198438902\/activity"},{"actor":{"id":"https:\/\/hachyderm.io\/users\/blaise","displayName":"Blaise Pab\u00f3n - controlpl4n3","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/36622-original-tmp20230620024809.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/36622-96-20240126201842.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/36622-48-20240126201842.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/36622-24-20240126201842.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"36622"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/36622-96-20240126201842.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Open Source Apothecary, Internet Elder\ud83c\uddfa\ud83c\uddf8 \ud83c\uddea\ud83c\uddf8 \ud83c\uddf5\ud83c\uddf7 \ud83c\uddf2\ud83c\uddfd \ud83c\uddef\ud83c\uddf5  and back again.#ADHD #autism #bass player  #boricua #ComplexityWranglers #coop #fountainpens #HamRadio #mycology #Sanskrit #neurodivergence #yogaFollow @blaise for steady boosts of #OpenSource, #python","url":"https:\/\/hachyderm.io\/@blaise","portablecontacts_net":{"preferredUsername":"blaise","displayName":"Blaise Pab\u00f3n - controlpl4n3","note":"Open Source Apothecary, Internet Elder\ud83c\uddfa\ud83c\uddf8 \ud83c\uddea\ud83c\uddf8 \ud83c\uddf5\ud83c\uddf7 \ud83c\uddf2\ud83c\uddfd \ud83c\uddef\ud83c\uddf5  and back again.#ADHD #autism #bass player  #boricua #ComplexityWranglers #coop #fountainpens #HamRadio #mycology #Sanskrit #neurodivergence #yogaFollow @blaise for steady boosts of #OpenSource, #python"}},"content":"RT @blaise Here is the full breakdown of Jochen's transition from Python -&gt; Rust,https:\/\/belderbos.dev\/blog\/jochen-rust-cohort-beat-cpython\/","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/hachyderm.io\/users\/blaise\/statuses\/116772800439788672\/activity","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435332225871","objectType":"note","content":"<p>AI is useful, but you need real *friction* to really learn and avoid deskilling. <\/p><p>If you want a genuine challenge that forces you to level up, building a complete project in Rust as a Pythonista is one of the best ways to stay sharp and future-proof your career. \ud83d\ude80<\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435332225871","status_net":{"notice_id":null}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771651","source":"ActivityPub","repeat_of":"12771649"}},"published":"2026-06-18T19:39:07+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"title":"blaise repeated a notice by bbelderbos","verb":"share","url":"https:\/\/hachyderm.io\/users\/blaise\/statuses\/116772800439788672\/activity"},{"actor":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos","displayName":"Bob Belderbos","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/269271-original-tmp20240710145323.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-48-20240710145323.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-24-20240710145323.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"269271"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites","url":"https:\/\/fosstodon.org\/@bbelderbos","portablecontacts_net":{"preferredUsername":"bbelderbos","displayName":"Bob Belderbos","note":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites"}},"content":"<p>When friction becomes your best friend, meet <a href=\"https:\/\/fosstodon.org\/tags\/Rust\" class=\"mention hashtag\" rel=\"tag\">#Rust<\/a> \ud83e\udd80<\/p><p>&gt; \"I never had the feeling that I was fighting the borrow checker. The error messages were my friends right out of the gate. They had a good explanation of the error, but also a hint about what you could do differently.\"<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435060896888","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435060896888","objectType":"note","content":"<p>When friction becomes your best friend, meet <a href=\"https:\/\/fosstodon.org\/tags\/Rust\" class=\"mention hashtag\" rel=\"tag\">#Rust<\/a> \ud83e\udd80<\/p><p>&gt; \"I never had the feeling that I was fighting the borrow checker. The error messages were my friends right out of the gate. They had a good explanation of the error, but also a hint about what you could do differently.\"<\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435060896888","status_net":{"notice_id":null},"tags":[{"objectType":"http:\/\/activityschema.org\/object\/hashtag","displayName":"rust"}]},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771638","source":"ActivityPub"}},"published":"2026-06-18T19:38:57+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435060896888"},{"actor":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos","displayName":"Bob Belderbos","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/269271-original-tmp20240710145323.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-48-20240710145323.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-24-20240710145323.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"269271"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites","url":"https:\/\/fosstodon.org\/@bbelderbos","portablecontacts_net":{"preferredUsername":"bbelderbos","displayName":"Bob Belderbos","note":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites"}},"content":"<p>So he changed the entry point to take a borrowed string with an explicit lifetime (a lifetime is Rust's way of letting you reference data without copying it, while proving the reference can't outlive the data) and ran `cargo check`<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435122672522","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435122672522","objectType":"note","content":"<p>So he changed the entry point to take a borrowed string with an explicit lifetime (a lifetime is Rust's way of letting you reference data without copying it, while proving the reference can't outlive the data) and ran `cargo check`<\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435122672522","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435108235582","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435108235582"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771643","source":"ActivityPub"}},"published":"2026-06-18T19:38:56+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435122672522"},{"actor":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos","displayName":"Bob Belderbos","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/269271-original-tmp20240710145323.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-48-20240710145323.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-24-20240710145323.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"269271"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites","url":"https:\/\/fosstodon.org\/@bbelderbos","portablecontacts_net":{"preferredUsername":"bbelderbos","displayName":"Bob Belderbos","note":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites"}},"content":"<p>The clearest sign of how his thinking changed came in the final week of our Rust cohort. <\/p><p>Three of his four benchmark datasets were already beating Python; one wasn't. He suspected the parser was copying the entire input onto the heap instead of borrowing it.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435108235582","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435108235582","objectType":"note","content":"<p>The clearest sign of how his thinking changed came in the final week of our Rust cohort. <\/p><p>Three of his four benchmark datasets were already beating Python; one wasn't. He suspected the parser was copying the entire input onto the heap instead of borrowing it.<\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435108235582","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435093684016","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435093684016"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771641","source":"ActivityPub"}},"published":"2026-06-18T19:38:56+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435108235582"},{"actor":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos","displayName":"Bob Belderbos","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/269271-original-tmp20240710145323.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-48-20240710145323.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-24-20240710145323.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"269271"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites","url":"https:\/\/fosstodon.org\/@bbelderbos","portablecontacts_net":{"preferredUsername":"bbelderbos","displayName":"Bob Belderbos","note":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites"}},"content":"<p>This is Jochen, who also said:<\/p><p>&gt; \"Rust is for people who want to be punished.\" <\/p><p>But after diving deep writing a performant JSON parser, he also concluded he can trust it more than Python.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435093684016","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435093684016","objectType":"note","content":"<p>This is Jochen, who also said:<\/p><p>&gt; \"Rust is for people who want to be punished.\" <\/p><p>But after diving deep writing a performant JSON parser, he also concluded he can trust it more than Python.<\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435093684016","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435060896888","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435060896888"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771639","source":"ActivityPub"}},"published":"2026-06-18T19:38:56+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435093684016"},{"actor":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos","displayName":"Bob Belderbos","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/269271-original-tmp20240710145323.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-48-20240710145323.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-24-20240710145323.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"269271"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites","url":"https:\/\/fosstodon.org\/@bbelderbos","portablecontacts_net":{"preferredUsername":"bbelderbos","displayName":"Bob Belderbos","note":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites"}},"content":"<p>78 errors \ud83d\udca5 <\/p><p>Talking about an intimidating language \ud83d\ude05<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435256800653","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435256800653","objectType":"note","content":"<p>78 errors \ud83d\udca5 <\/p><p>Talking about an intimidating language \ud83d\ude05<\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435256800653","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435122672522","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435122672522"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771644","source":"ActivityPub"}},"published":"2026-06-18T19:38:55+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435256800653"},{"actor":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos","displayName":"Bob Belderbos","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/269271-original-tmp20240710145323.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-48-20240710145323.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-24-20240710145323.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"269271"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites","url":"https:\/\/fosstodon.org\/@bbelderbos","portablecontacts_net":{"preferredUsername":"bbelderbos","displayName":"Bob Belderbos","note":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites"}},"content":"<p>It's like having a 200% test suite for free; you feel confident making changes.<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435285660305","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435285660305","objectType":"note","content":"<p>It's like having a 200% test suite for free; you feel confident making changes.<\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435285660305","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435271308323","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435271308323"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771646","source":"ActivityPub"}},"published":"2026-06-18T19:38:54+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435285660305"},{"actor":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos","displayName":"Bob Belderbos","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/269271-original-tmp20240710145323.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-48-20240710145323.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-24-20240710145323.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"269271"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites","url":"https:\/\/fosstodon.org\/@bbelderbos","portablecontacts_net":{"preferredUsername":"bbelderbos","displayName":"Bob Belderbos","note":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites"}},"content":"<p>But! He pair programmed his way out of it thanks to the compiler:<\/p><p>Jochen:<\/p><p>&gt; \"Those 78 errors were my path of what I needed to fix to get to the results. You change something up the chain and 78 reduces to 50, and so on down the line. It is your implementation guide.\"<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435271308323","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435271308323","objectType":"note","content":"<p>But! He pair programmed his way out of it thanks to the compiler:<\/p><p>Jochen:<\/p><p>&gt; \"Those 78 errors were my path of what I needed to fix to get to the results. You change something up the chain and 78 reduces to 50, and so on down the line. It is your implementation guide.\"<\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435271308323","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435256800653","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435256800653"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771645","source":"ActivityPub"}},"published":"2026-06-18T19:38:54+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435271308323"},{"actor":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos","displayName":"Bob Belderbos","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/269271-original-tmp20240710145323.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-48-20240710145323.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-24-20240710145323.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"269271"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites","url":"https:\/\/fosstodon.org\/@bbelderbos","portablecontacts_net":{"preferredUsername":"bbelderbos","displayName":"Bob Belderbos","note":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites"}},"content":"<p>To me it's not only the real world app development our cohorts mirror, it sparks something in people to give it their all so they come out pleasantly surprised how far they could stretch. \ud83d\udcaa<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435317661972","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435317661972","objectType":"note","content":"<p>To me it's not only the real world app development our cohorts mirror, it sparks something in people to give it their all so they come out pleasantly surprised how far they could stretch. \ud83d\udcaa<\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435317661972","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435300675872","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435300675872"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771648","source":"ActivityPub"}},"published":"2026-06-18T19:38:53+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435317661972"},{"actor":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos","displayName":"Bob Belderbos","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/269271-original-tmp20240710145323.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-48-20240710145323.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-24-20240710145323.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"269271"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites","url":"https:\/\/fosstodon.org\/@bbelderbos","portablecontacts_net":{"preferredUsername":"bbelderbos","displayName":"Bob Belderbos","note":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites"}},"content":"<p>The rewrite turned a parser that collected every token into a list up front into one that reads tokens on demand in a single pass. <\/p><p>His coach Jim remarked:<\/p><p>&gt; \"This is such a clean functional style API for your tokenizer, it's evolved and matured nicely.\"<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435300675872","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435300675872","objectType":"note","content":"<p>The rewrite turned a parser that collected every token into a list up front into one that reads tokens on demand in a single pass. <\/p><p>His coach Jim remarked:<\/p><p>&gt; \"This is such a clean functional style API for your tokenizer, it's evolved and matured nicely.\"<\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435300675872","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435285660305","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435285660305"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771647","source":"ActivityPub"}},"published":"2026-06-18T19:38:53+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435300675872"},{"actor":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos","displayName":"Bob Belderbos","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/269271-original-tmp20240710145323.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-48-20240710145323.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-24-20240710145323.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"269271"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites","url":"https:\/\/fosstodon.org\/@bbelderbos","portablecontacts_net":{"preferredUsername":"bbelderbos","displayName":"Bob Belderbos","note":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites"}},"content":"<p>Here is the full breakdown of Jochen's transition from Python -&gt; Rust,<\/p><p><a href=\"https:\/\/belderbos.dev\/blog\/jochen-rust-cohort-beat-cpython\/\" rel=\"nofollow\">https:\/\/belderbos.dev\/blog\/jochen-rust-cohort-beat-cpython\/<\/a><\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771439489203913","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771439489203913","objectType":"note","content":"<p>Here is the full breakdown of Jochen's transition from Python -&gt; Rust,<\/p><p><a href=\"https:\/\/belderbos.dev\/blog\/jochen-rust-cohort-beat-cpython\/\" rel=\"nofollow\">https:\/\/belderbos.dev\/blog\/jochen-rust-cohort-beat-cpython\/<\/a><\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771439489203913","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435332225871","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435332225871"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771650","source":"ActivityPub"}},"published":"2026-06-18T19:38:52+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771439489203913"},{"actor":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos","displayName":"Bob Belderbos","status_net":{"avatarLinks":[{"url":"https:\/\/gnusocial.jp\/avatar\/269271-original-tmp20240710145323.webp","rel":"avatar","type":"image\/webp","width":400,"height":400},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-48-20240710145323.webp","rel":"avatar","type":"image\/webp","width":48,"height":48},{"url":"https:\/\/gnusocial.jp\/avatar\/269271-24-20240710145323.webp","rel":"avatar","type":"image\/webp","width":24,"height":24}],"profile_info":{"local_id":"269271"}},"image":{"url":"https:\/\/gnusocial.jp\/avatar\/269271-96-20240710145323.webp","rel":"avatar","type":"image\/webp","width":96,"height":96},"objectType":"person","summary":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites","url":"https:\/\/fosstodon.org\/@bbelderbos","portablecontacts_net":{"preferredUsername":"bbelderbos","displayName":"Bob Belderbos","note":"Software developer and entrepreneur. Helping people grow their Python + programming skills through @pybites"}},"content":"<p>AI is useful, but you need real *friction* to really learn and avoid deskilling. <\/p><p>If you want a genuine challenge that forces you to level up, building a complete project in Rust as a Pythonista is one of the best ways to stay sharp and future-proof your career. \ud83d\ude80<\/p>","generator":{"id":"tag:gnusocial.jp,2026-08-10:notice-source:ActivityPub","objectType":"application","status_net":{"source_code":"ActivityPub"}},"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435332225871","object":{"id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435332225871","objectType":"note","content":"<p>AI is useful, but you need real *friction* to really learn and avoid deskilling. <\/p><p>If you want a genuine challenge that forces you to level up, building a complete project in Rust as a Pythonista is one of the best ways to stay sharp and future-proof your career. \ud83d\ude80<\/p>","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435332225871","status_net":{"notice_id":null},"inReplyTo":{"objectType":"note","id":"https:\/\/fosstodon.org\/users\/bbelderbos\/statuses\/116771435317661972","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435317661972"}},"to":[{"objectType":"http:\/\/activitystrea.ms\/schema\/1.0\/collection","id":"http:\/\/activityschema.org\/collection\/public"}],"status_net":{"conversation":"tag:gnusocial.jp,2026-06-18:objectType=thread:nonce=a544dbf8ee5a170a","notice_info":{"local_id":"12771649","source":"ActivityPub"}},"published":"2026-06-18T19:38:52+00:00","provider":{"objectType":"service","displayName":"GNU social JP","url":"https:\/\/gnusocial.jp\/"},"verb":"post","url":"https:\/\/fosstodon.org\/@bbelderbos\/116771435332225871"}],"links":[{"url":"https:\/\/gnusocial.jp\/conversation\/6488002","rel":"alternate","type":"text\/html"}]}