<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-07-24T08:39:03Z</updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by Anže</title>
  <author>
    <name>Anže</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub15wdfr9znyzrrucep9sa57p4p823cpue65gch3r83wtn8qxax2l6qw8rte4.rss" />
  <link href="https://nostr.ae/npub15wdfr9znyzrrucep9sa57p4p823cpue65gch3r83wtn8qxax2l6qw8rte4" />
  <id>https://nostr.ae/npub15wdfr9znyzrrucep9sa57p4p823cpue65gch3r83wtn8qxax2l6qw8rte4</id>
  <icon>https://cdn.fosstodon.org/accounts/avatars/109/298/191/316/533/288/original/083b1245649c37d0.jpeg</icon>
  <logo>https://cdn.fosstodon.org/accounts/avatars/109/298/191/316/533/288/original/083b1245649c37d0.jpeg</logo>




  <entry>
    <id>https://nostr.ae/nevent1qqsxl8jzmn0kqkvylmdf2ds42p2wu2fvduz6duwjfux2cslmujxfe7gzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgsa4aey</id>
    
      <title type="html">Running Claude in a loop to push our test coverage. After 24&#43; ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxl8jzmn0kqkvylmdf2ds42p2wu2fvduz6duwjfux2cslmujxfe7gzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgsa4aey" />
    <content type="html">
      Running Claude in a loop to push our test coverage.&lt;br/&gt;&lt;br/&gt;After 24&#43; hours and 22,000 new lines of tests, coverage climbed from 92% to 95%. No clue if it’ll get merged, but it&amp;#39;s a really fun experiment 👀&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/116/607/245/689/266/897/original/d99f74dca94743fd.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-05-20T13:56:06Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstvc66tlrfl4he7du6yemypav405rq3xnu5qsfs83flsew3gd24wczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgakpmyd</id>
    
      <title type="html">Fun fact, I was reviewing for 3 hours straight on Saturday while ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstvc66tlrfl4he7du6yemypav405rq3xnu5qsfs83flsew3gd24wczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgakpmyd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsra7g7fym7e30q9p4q9l7egf4cyqxaju8xz9rtt97krh59j8qgguqhwpmyx&#39;&gt;nevent1q…pmyx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Fun fact, I was reviewing for 3 hours straight on Saturday while the Raglan surf competition was on. There was A LOT of waiting between sets, so I could focus on proposals for most of it!&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/116/592/266/145/427/865/original/f042e4b21c57941b.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-05-17T22:26:35Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsra7g7fym7e30q9p4q9l7egf4cyqxaju8xz9rtt97krh59j8qgguqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgy27pwp</id>
    
      <title type="html">Over the last week, I&amp;#39;ve been reviewing PyCon Portugal talk ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsra7g7fym7e30q9p4q9l7egf4cyqxaju8xz9rtt97krh59j8qgguqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgy27pwp" />
    <content type="html">
      Over the last week, I&amp;#39;ve been reviewing PyCon Portugal talk and workshop proposals, and I just finished reviewing them all! 😎&lt;br/&gt;&lt;br/&gt;Some really good ones in the mix that got me really excited about the conference in September. Make sure to grab your ticket!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://2026.pycon.pt&#34;&gt;https://2026.pycon.pt&lt;/a&gt;&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/116/592/266/029/133/351/original/bd36ecf32cd57a02.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-05-17T22:26:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsd84rxxd7u2mwuquma2kdvmrzwlqxk7unsyrr5uy4th0f0ee346nczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgxn3gtv</id>
    
      <title type="html">here it is! https://blog.pecar.me/fedidevs-postmortem/</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsd84rxxd7u2mwuquma2kdvmrzwlqxk7unsyrr5uy4th0f0ee346nczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgxn3gtv" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsgj4xsma5xjena0flrgujw47kzsjp37e00u3ad28f6xzwl9qfqs0set70x4&#39;&gt;nevent1q…70x4&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;here it is! &lt;a href=&#34;https://blog.pecar.me/fedidevs-postmortem/&#34;&gt;https://blog.pecar.me/fedidevs-postmortem/&lt;/a&gt;
    </content>
    <updated>2026-05-13T09:21:12Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgj4xsma5xjena0flrgujw47kzsjp37e00u3ad28f6xzwl9qfqs0szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgstmj67</id>
    
      <title type="html">when Claude figures out the root cause 😂</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgj4xsma5xjena0flrgujw47kzsjp37e00u3ad28f6xzwl9qfqs0szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgstmj67" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstd6rm734aar4tnv3w4a4c5qn8fala0hhzw6azey79fwxrrpf84xg6yl065&#39;&gt;nevent1q…l065&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;when Claude figures out the root cause 😂
    </content>
    <updated>2026-05-13T08:46:55Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsr4rft9g00w7t2uvxza5pnjvygylnjcemh9qnvcmdtrvg9eef89tqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgrgdsj2</id>
    
      <title type="html">Fedidevs had quite an outage today. It went offline just as I ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsr4rft9g00w7t2uvxza5pnjvygylnjcemh9qnvcmdtrvg9eef89tqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgrgdsj2" />
    <content type="html">
      Fedidevs had quite an outage today. It went offline just as I went to bed and I didn&amp;#39;t see it until I woke up this morning 🫣&lt;br/&gt;&lt;br/&gt;Still better uptime than GitHub 😅&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/116/566/362/502/471/567/original/d3909dcf9cd5a3f4.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-05-13T08:38:57Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsde5mg70h3he7hshumt76sapn56frz0hk9hnqejw3qjw8dmhdrc7czyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgl2s70z</id>
    
      <title type="html">dogs are the best!</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsde5mg70h3he7hshumt76sapn56frz0hk9hnqejw3qjw8dmhdrc7czyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgl2s70z" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8kapsvam27dvcwh753lrvmrcux926nmhf76up98nq9elzrnz5vqs4aeyxv&#39;&gt;nevent1q…eyxv&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;dogs are the best!
    </content>
    <updated>2026-05-12T20:34:19Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2qefuyn4u82cppjcxmmpy83v6gwtvuwd90y82ks787hn8cjrr35szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgz776lq</id>
    
      <title type="html">Months of training runs with my dog. Went solo today and broke ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2qefuyn4u82cppjcxmmpy83v6gwtvuwd90y82ks787hn8cjrr35szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgz776lq" />
    <content type="html">
      Months of training runs with my dog. Went solo today and broke almost every PR I had. He’s the real coach 🐕&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/116/563/496/146/287/929/original/98e3cc8c1ef38170.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/116/563/496/416/761/260/original/e8bb10fbc88ec998.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-05-12T20:30:10Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyzktyntx2frdf6df8llzfkuksdyzpm6x7arsxcskcpu0vdw2wwcszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgp8zxjf</id>
    
      <title type="html">RE: https://fosstodon.org/@anze3db/116558364408886679 The supply ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyzktyntx2frdf6df8llzfkuksdyzpm6x7arsxcskcpu0vdw2wwcszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgp8zxjf" />
    <content type="html">
      RE: &lt;a href=&#34;https://fosstodon.org/@anze3db/116558364408886679&#34;&gt;https://fosstodon.org/@anze3db/116558364408886679&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;The supply chain attack has now spread to PyPI:&lt;br/&gt;&lt;br/&gt;mistralai: 2.4.6 &lt;br/&gt;guardrails-ai: 0.10.1&lt;br/&gt;&lt;br/&gt;Pause your dependency updates or use package cooldowns (--uploaded-prior-to flag in latest pip)&lt;br/&gt;&lt;br/&gt;Stay safe!&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting &lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/note1f243e89zfsc85gj9ykv0kaet2dqkmv2pxx6lsxkrtm8cn63gu64ql4nz9h&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;note1f24…nz9h&lt;/a&gt;&lt;/span&gt;&lt;br/&gt; &lt;/div&gt; 🚨 There was another supply chain attack, this time affecting tanstack npm packages. Make sure you haven&#39;t installed the compromised packages either in your CI or locally.&lt;br/&gt;&lt;br/&gt;I would also hold off on updating any dependency for the next week or so until the dust settles from this.&lt;br/&gt;&lt;br/&gt;Blog post with more information on all of this. Stay safe out there!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://socket.dev/blog/tanstack-npm-packages-compromised-mini-shai-hulud-supply-chain-attack&#34;&gt;https://socket.dev/blog/tanstack-npm-packages-compromised-mini-shai-hulud-supply-chain-attack&lt;/a&gt; &lt;/blockquote&gt;
    </content>
    <updated>2026-05-12T09:13:20Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsy42cunj3ycvr6yfzjtx8mwu44xstdk9qnrd0crtp4anufag5wd2szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgkfjyvw</id>
    
      <title type="html">🚨 There was another supply chain attack, this time affecting ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsy42cunj3ycvr6yfzjtx8mwu44xstdk9qnrd0crtp4anufag5wd2szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgkfjyvw" />
    <content type="html">
      🚨 There was another supply chain attack, this time affecting tanstack npm packages. Make sure you haven&amp;#39;t installed the compromised packages either in your CI or locally.&lt;br/&gt;&lt;br/&gt;I would also hold off on updating any dependency for the next week or so until the dust settles from this.&lt;br/&gt;&lt;br/&gt;Blog post with more information on all of this. Stay safe out there!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://socket.dev/blog/tanstack-npm-packages-compromised-mini-shai-hulud-supply-chain-attack&#34;&gt;https://socket.dev/blog/tanstack-npm-packages-compromised-mini-shai-hulud-supply-chain-attack&lt;/a&gt;
    </content>
    <updated>2026-05-11T22:44:55Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsv2m4nh5qrcftgj808zh8e3ed8eex5ullsd00mr0ut0xgyp7c9s6qzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg0rkpvu</id>
    
      <title type="html">Claude had to force-remove conflicting packages, reinstall the ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsv2m4nh5qrcftgj808zh8e3ed8eex5ullsd00mr0ut0xgyp7c9s6qzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg0rkpvu" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfm4tlhcjn6n6x0vcxjlm5fd58d2qyehdxa2kagq0qfgms8nwh5eq4j4q0c&#39;&gt;nevent1q…4q0c&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Claude had to force-remove conflicting packages, reinstall the Trixie versions, and use dpkg -i --force-overwrite where the metadata still disagreed about file ownership. I would have given up and reinstalled.&lt;br/&gt;&lt;br/&gt;Full write-up in my latest blog post 👇&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://blog.pecar.me/letting-claude-upgrade-my-raspberry-pi/&#34;&gt;https://blog.pecar.me/letting-claude-upgrade-my-raspberry-pi/&lt;/a&gt;
    </content>
    <updated>2026-05-11T09:59:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfm4tlhcjn6n6x0vcxjlm5fd58d2qyehdxa2kagq0qfgms8nwh5eqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgawea59</id>
    
      <title type="html">I told Claude to upgrade my Raspberry Pi from Debian 12 to 13 and ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfm4tlhcjn6n6x0vcxjlm5fd58d2qyehdxa2kagq0qfgms8nwh5eqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgawea59" />
    <content type="html">
      I told Claude to upgrade my Raspberry Pi from Debian 12 to 13 and went to enjoy my Sunday.&lt;br/&gt;&lt;br/&gt;It wasn&amp;#39;t an easy upgrade. apt kept tripping over Debian&amp;#39;s t64 transition, but Claude managed to unstuck it. When I came back, the box rebooted cleanly into Debian 13. 😲
    </content>
    <updated>2026-05-11T09:59:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2kwyp0fngsz2af8pjck20lupa2ywtlp0xl3f3d3ml49zlp9w4yyszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgzjf3nw</id>
    
      <title type="html">Meetup page for the event: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2kwyp0fngsz2af8pjck20lupa2ywtlp0xl3f3d3ml49zlp9w4yyszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgzjf3nw" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsr2pw3tazm4fve0wyfhrggx2sljx8cdm2l6ldgsg2cjwvnt68sqxca6fgxy&#39;&gt;nevent1q…fgxy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Meetup page for the event: &lt;a href=&#34;https://www.meetup.com/python-lisbon-meetup/events/314097850/&#34;&gt;https://www.meetup.com/python-lisbon-meetup/events/314097850/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;More info: &lt;a href=&#34;https://python-lisbon-meetup.github.io/&#34;&gt;https://python-lisbon-meetup.github.io/&lt;/a&gt;
    </content>
    <updated>2026-05-04T08:49:39Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsr2pw3tazm4fve0wyfhrggx2sljx8cdm2l6ldgsg2cjwvnt68sqxczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgakenyc</id>
    
      <title type="html">We have another Python Lisbon Meetup coming up on Thursday 🐍 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsr2pw3tazm4fve0wyfhrggx2sljx8cdm2l6ldgsg2cjwvnt68sqxczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgakenyc" />
    <content type="html">
      We have another Python Lisbon Meetup coming up on Thursday 🐍&lt;br/&gt;&lt;br/&gt;This time Yulia will be giving a talk on strong and weak references!&lt;br/&gt;&lt;br/&gt;See you on May 7 @ 19:00 at IST, Pavilhão de Matemática, room 3.10!
    </content>
    <updated>2026-05-04T08:49:39Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsq7cgwrx27pn24zrzutlh2qqe2wp0e68vx8jvhnz4rjfsyt7q7g8szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg3cqnmf</id>
    
      <title type="html">I haven&amp;#39;t heard it until now but out of the box it seems to ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsq7cgwrx27pn24zrzutlh2qqe2wp0e68vx8jvhnz4rjfsyt7q7g8szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg3cqnmf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswuprhjk6tk4wu5rtddaxscf97vuxz0q0tj7y4f9nwt9z8f2f3afqfd07ly&#39;&gt;nevent1q…07ly&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I haven&amp;#39;t heard it until now but out of the box it seems to have the same limitations as pyright, ty, pyrefly that I describe in the blog post.&lt;br/&gt;&lt;br/&gt;With zuban I&amp;#39;m seeing over 7k type errors in my codebase where mypy &#43; django-stubs has 0.&lt;br/&gt;&lt;br/&gt;I&amp;#39;ll play around a bit more with it when I have more time, but I think the general rule of the blog post still stands: You either choose completeness with mypy&#43;django-stubs or you choose speed but then have to deal with attr-defined errors.
    </content>
    <updated>2026-04-28T14:11:58Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs23fl5ms4wkp7m427arp9ys3rufdx7ejs370w4r03d9g75vthrjgqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgc0hsq4</id>
    
      <title type="html">Finally wrote up my notes from DjangoCon Europe 2026 in Athens ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs23fl5ms4wkp7m427arp9ys3rufdx7ejs370w4r03d9g75vthrjgqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgc0hsq4" />
    <content type="html">
      Finally wrote up my notes from DjangoCon Europe 2026 in Athens 🇬🇷&lt;br/&gt;&lt;br/&gt;I climbed the Acropolis, ate great food, hung out with amazing people, gave a lightning talk, and fixed one regression in Django main during the sprints.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://blog.pecar.me/djangocon-europe-2026/&#34;&gt;https://blog.pecar.me/djangocon-europe-2026/&lt;/a&gt;
    </content>
    <updated>2026-04-28T10:02:03Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsd0pqd80zpk6r7rshhh8rjl9ccghfmjn04kcajd3ajymhenfevkgqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgu9ytkl</id>
    
      <title type="html">With all the supply chain attacks going around, we have to be ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsd0pqd80zpk6r7rshhh8rjl9ccghfmjn04kcajd3ajymhenfevkgqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgu9ytkl" />
    <content type="html">
      With all the supply chain attacks going around, we have to be very careful about how we update our dependencies. I&amp;#39;ve written a full blog post about it, but here is the TLDR:&lt;br/&gt;&lt;br/&gt;1. Pin to hashes, not just versions&lt;br/&gt;2. Automate the updates&lt;br/&gt;3. Use dependency cooldowns&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://blog.pecar.me/how-to-safely-update-your-dependencies/&#34;&gt;https://blog.pecar.me/how-to-safely-update-your-dependencies/&lt;/a&gt;
    </content>
    <updated>2026-04-20T09:57:05Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs05d7kt377crax2qqatzltkme6snpzky59avklgmcxyhg04hjssvqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgurh37n</id>
    
      <title type="html">Everyone’s favorite web framework is now also in the gelato ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs05d7kt377crax2qqatzltkme6snpzky59avklgmcxyhg04hjssvqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgurh37n" />
    <content type="html">
      Everyone’s favorite web framework is now also in the gelato business 🤤&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/116/391/837/651/603/616/original/4c38e6851495dee2.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-04-12T12:55:00Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9mrg6ruqcrslmk7yhnnu3qa2n6gdajdm3efrgnksnwvgrjwd53jczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg2933g2</id>
    
      <title type="html">Another Python Lisbon Meetup in the books! Looking forward to the ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9mrg6ruqcrslmk7yhnnu3qa2n6gdajdm3efrgnksnwvgrjwd53jczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg2933g2" />
    <content type="html">
      Another Python Lisbon Meetup in the books! Looking forward to the next one on May 7 👀&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/116/340/099/622/197/792/original/049a178112d5ce06.jpg&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/116/340/100/510/163/139/original/eef571212bb29f43.jpeg&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/116/340/100/515/738/206/original/0a42bc059b7f0f6b.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-04-03T09:37:38Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0fl0xvxzg2kl7xnvwn6w30vs3kz8v8mn3y7aw7ctsnhtztzrgexqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgg0usqq</id>
    
      <title type="html">I&amp;#39;ll be giving a talk about lazy imports at the next Python ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0fl0xvxzg2kl7xnvwn6w30vs3kz8v8mn3y7aw7ctsnhtztzrgexqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgg0usqq" />
    <content type="html">
      I&amp;#39;ll be giving a talk about lazy imports at the next Python Lisbon Meetup!&lt;br/&gt;&lt;br/&gt;See you there? 😀&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.meetup.com/python-lisbon-meetup/events/313903112/?eventOrigin=home_next_event_you_are_attending&#34;&gt;https://www.meetup.com/python-lisbon-meetup/events/313903112/?eventOrigin=home_next_event_you_are_attending&lt;/a&gt;
    </content>
    <updated>2026-03-30T09:02:02Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs29r3k6mqtcmehwgexepppf3y8uctmpg7ehset42e4fn2vmjcrl8czyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlglzv2gm</id>
    
      <title type="html">With recent Python supply chain attacks (Trivy/LiteLLM), it’s ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs29r3k6mqtcmehwgexepppf3y8uctmpg7ehset42e4fn2vmjcrl8czyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlglzv2gm" />
    <content type="html">
      With recent Python supply chain attacks (Trivy/LiteLLM), it’s worth mentioning uv’s `exclude-newer = &amp;#34;x days&amp;#34;` config.&lt;br/&gt;&lt;br/&gt;It forces uv to only installs packages published more than x days ago, reducing risks since problematic packages should be yanked by then.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://docs.astral.sh/uv/reference/settings/#exclude-newer&#34;&gt;https://docs.astral.sh/uv/reference/settings/#exclude-newer&lt;/a&gt;
    </content>
    <updated>2026-03-25T15:11:50Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst4zpq9ymhevrcpwyjaz92kg0daratvn9rcpgksg2xrqf4pe9eklszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgxyhcfn</id>
    
      <title type="html">I wrote a post on how we tracked down slow imports in our Django ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst4zpq9ymhevrcpwyjaz92kg0daratvn9rcpgksg2xrqf4pe9eklszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgxyhcfn" />
    <content type="html">
      I wrote a post on how we tracked down slow imports in our Django app, fixed them by making imports lazy, and added a lint check to prevent regressions.&lt;br/&gt;&lt;br/&gt;Now I’m waiting for Python 3.15 to make all of this easier! 🚀&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://blog.pecar.me/speeding-up-django-startup-times-with-lazy-imports/&#34;&gt;https://blog.pecar.me/speeding-up-django-startup-times-with-lazy-imports/&lt;/a&gt;
    </content>
    <updated>2026-03-23T10:59:03Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrd9dp8h2zy5h09d4pkj3zz9u3s0l20esynp0h8my8sjhrd5nl24czyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgtyk79c</id>
    
      <title type="html">yes, lazy imports are used heavily in larger web applications. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrd9dp8h2zy5h09d4pkj3zz9u3s0l20esynp0h8my8sjhrd5nl24czyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgtyk79c" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0wfw3stxa36p8rxa3stqadzdyvpjnapp3e8nhcxanlw40wvq0npq6e4d5a&#39;&gt;nevent1q…4d5a&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;yes, lazy imports are used heavily in larger web applications. Although they are a double edged sword becasue they can offload slow imports into the request/response cycle. So in prod you usually have to then &amp;#34;warm up&amp;#34; the process before it starts serving requests.&lt;br/&gt;&lt;br/&gt;In our case, most of those heavy imports are used by celery tasks so nothing to really no need to import them when starting the web server.
    </content>
    <updated>2026-03-16T10:25:07Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszl5y5er46vsth9ty8x0ze8a6dlc8x0x0566zvl8zd9uw8ue6pgdczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgwzk754</id>
    
      <title type="html">I agree. I would even go as far and say that imports should have ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszl5y5er46vsth9ty8x0ze8a6dlc8x0x0566zvl8zd9uw8ue6pgdczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgwzk754" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvennmxeeucd0qjtlu78gp2stmr9p6qsqm59lfw3knwzuxfvr775cxe2a5e&#39;&gt;nevent1q…2a5e&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I agree. I would even go as far and say that imports should have been lazy by default. But having the ability to opt into lazy imports by not needing to move imports into functions is going to be a great addition!
    </content>
    <updated>2026-03-15T22:21:55Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgxaypsgpx8vc593vpce6k98t9za84tcvag5q3vmyzsqskgdq9fhqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgeud6n0</id>
    
      <title type="html">Can&amp;#39;t wait for lazy imports in Python 3.15! I spent a bunch ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgxaypsgpx8vc593vpce6k98t9za84tcvag5q3vmyzsqskgdq9fhqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgeud6n0" />
    <content type="html">
      Can&amp;#39;t wait for lazy imports in Python 3.15! I spent a bunch of time and tokens over the weekend inlining heavy imports so that they don&amp;#39;t get loaded during initial start of a Django app.&lt;br/&gt;&lt;br/&gt;The `&lt;a href=&#34;https://manage.py&#34;&gt;https://manage.py&lt;/a&gt; check` command is now 3.8x faster (9.45s down to 2.48s).&lt;br/&gt;&lt;video controls width=&#34;100%&#34; class=&#34;max-h-[90vh] bg-neutral-300 dark:bg-zinc-700&#34;&gt;&lt;source src=&#34;https://cdn.fosstodon.org/media_attachments/files/116/234/867/539/065/013/original/7293437898250f63.mp4&#34;&gt;&lt;/video&gt;&lt;br/&gt;
    </content>
    <updated>2026-03-15T19:35:30Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsrny60s28d2vds4r33az74avdtmgtpvzyt4q0tytf3yt8lx2dtnegzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg6jym7d</id>
    
      <title type="html">cool talk, thanks for the link! I&amp;#39;ve also added it to the ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsrny60s28d2vds4r33az74avdtmgtpvzyt4q0tytf3yt8lx2dtnegzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg6jym7d" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8sz6m70xcrfhxf2svudw8yg2a9mcnxgnqdutzhp3sujp8mj4cvdsfmyeql&#39;&gt;nevent1q…yeql&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;cool talk, thanks for the link! I&amp;#39;ve also added it to the blog post.
    </content>
    <updated>2026-03-14T15:31:48Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszvavvy47dl8kfgnpjnml6mp89c3uqprlpkmrc55kns7nzpg4fc7gzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgn638cr</id>
    
      <title type="html">I wrote a blog post about some of the options for adding type ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszvavvy47dl8kfgnpjnml6mp89c3uqprlpkmrc55kns7nzpg4fc7gzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgn638cr" />
    <content type="html">
      I wrote a blog post about some of the options for adding type checking to your Django project!&lt;br/&gt;&lt;br/&gt;Historically, Django projects have been tough to type-check, but the future feels bright, especially if PEP 827 gets accepted!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://blog.pecar.me/typing-your-django-project-in-2026/&#34;&gt;https://blog.pecar.me/typing-your-django-project-in-2026/&lt;/a&gt;
    </content>
    <updated>2026-03-13T11:59:02Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstjvzwvdgnulfj2hhzyl6x7lky7fzfr5g2syhfr6s92mrkq6ymclszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgf8f923</id>
    
      <title type="html">Like pretty much everyone with a static blog site in the last 6 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstjvzwvdgnulfj2hhzyl6x7lky7fzfr5g2syhfr6s92mrkq6ymclszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgf8f923" />
    <content type="html">
      Like pretty much everyone with a static blog site in the last 6 months, I asked Claude to migrate it to a different static site generator.&lt;br/&gt;&lt;br/&gt;Here&amp;#39;s a blog post about it, along with some of my general thoughts on agentic code.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://blog.pecar.me/agentic-adventures/&#34;&gt;https://blog.pecar.me/agentic-adventures/&lt;/a&gt;
    </content>
    <updated>2026-03-05T12:02:04Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdmlu3hwm89m0ez0x7a8qa9uynqn4v7nq2ersfh0gs52afeh0gnyqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgj043kk</id>
    
      <title type="html">Hey all! It&amp;#39;s almost time for the next Python Lisbon Meetup! ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdmlu3hwm89m0ez0x7a8qa9uynqn4v7nq2ersfh0gs52afeh0gnyqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgj043kk" />
    <content type="html">
      Hey all! It&amp;#39;s almost time for the next Python Lisbon Meetup! 🐍&lt;br/&gt;&lt;br/&gt;On Thursday, pyctrl will be talking about exceptions. We&amp;#39;ll cover the origin of exceptions, their usage in OOP, how best to manage them, and more. It&amp;#39;s going to be exceptional! 💎
    </content>
    <updated>2026-02-27T12:46:31Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdq3avu7chacnwg0vhsqsm8a3ew3lgtrg3n4q0rh3tynd2n47elpgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg6usrr5</id>
    
      <title type="html">See you on Mar 5 @ 19:00 at IST, Pavilhão de Matemática, room ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdq3avu7chacnwg0vhsqsm8a3ew3lgtrg3n4q0rh3tynd2n47elpgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg6usrr5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsdmlu3hwm89m0ez0x7a8qa9uynqn4v7nq2ersfh0gs52afeh0gnyqzaddf0&#39;&gt;nevent1q…ddf0&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;See you on Mar 5 @ 19:00 at IST, Pavilhão de Matemática, room 3.10!&lt;br/&gt;&lt;br/&gt;Check out our website for more info on how to join our community!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://python-lisbon-meetup.github.io/&#34;&gt;https://python-lisbon-meetup.github.io/&lt;/a&gt;
    </content>
    <updated>2026-02-27T12:46:31Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsg68f9g77e78jdcwkwqpgtxyhrd3twlmnjsfjx6gw9ahu2m24pvggzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg6ymwft</id>
    
      <title type="html">hey thank you for reaching out and sorry the follow button ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsg68f9g77e78jdcwkwqpgtxyhrd3twlmnjsfjx6gw9ahu2m24pvggzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg6ymwft" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspftd8v0jgr9hpylx3ygl4ud6dqyjzk98697emagvgve64c6p6mfsyyarad&#39;&gt;nevent1q…arad&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;hey thank you for reaching out and sorry the follow button didn&amp;#39;t work.&lt;br/&gt;&lt;br/&gt;I see in the logs that the following the account failed because of a Mastodon API error, but I don&amp;#39;t see what the API error was.&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve added some more logging that will hopefully give me a hint. Could you try to follow one or more accounts again?
    </content>
    <updated>2026-01-26T23:34:07Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqf2e0rlzuqk8rljdrj8styunj2wf8xgjswmh77qzu8knhvldqgtqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgf52rka</id>
    
      <title type="html">Hey, yes I&amp;#39;m hoping to add support for pixelfed accounts ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqf2e0rlzuqk8rljdrj8styunj2wf8xgjswmh77qzu8knhvldqgtqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgf52rka" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsx4kdxhktnzwzdwaen0gfpu5jaccuvcmvs6v5vs3dpcj2ptw2e8zc7v5hg3&#39;&gt;nevent1q…5hg3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Hey, yes I&amp;#39;m hoping to add support for pixelfed accounts eventually but I don&amp;#39;t have a timeline.&lt;br/&gt;&lt;br/&gt;Here is the GitHub issue about it: &lt;a href=&#34;https://github.com/anze3db/fedidevs/issues/98&#34;&gt;https://github.com/anze3db/fedidevs/issues/98&lt;/a&gt;
    </content>
    <updated>2026-01-23T11:02:18Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyu5ena3w97q9kydaetn6ea8jsr5g84usf2ep62rpf006h6pqnthqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg2mlyc9</id>
    
      <title type="html">New board! ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyu5ena3w97q9kydaetn6ea8jsr5g84usf2ep62rpf006h6pqnthqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg2mlyc9" />
    <content type="html">
      New board!&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/758/519/567/162/839/original/a390a719722b3b71.jpeg&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/758/519/722/898/555/original/7fb4ef821d298730.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-21T16:33:56Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqc5xcm42j2yn2ahvrwsewqdun36sa0dm4cukt457pynsay3xpdmszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlguj6dhu</id>
    
      <title type="html">Nice! I really like your solution for day 7. Very clean!</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqc5xcm42j2yn2ahvrwsewqdun36sa0dm4cukt457pynsay3xpdmszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlguj6dhu" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsrqupxq9w2kes4kyddh6dz5ck66waf3apuecfheha3hgtucjjkwyqsjxwsw&#39;&gt;nevent1q…xwsw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Nice! I really like your solution for day 7. Very clean!
    </content>
    <updated>2025-12-14T22:57:04Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2l6h8t7epek4f6rapjjn3rru6cfn7wclhxdrr60pfj496dgagrnszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg7c5drl</id>
    
      <title type="html">I wrote a blog post about this year&amp;#39;s Advent of Code. I had a ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2l6h8t7epek4f6rapjjn3rru6cfn7wclhxdrr60pfj496dgagrnszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg7c5drl" />
    <content type="html">
      I wrote a blog post about this year&amp;#39;s Advent of Code. I had a blast and I am already looking forward to 2026!&lt;br/&gt;&lt;br/&gt;* All my Python solutions were under 1s using pure Python and 100ms with a little help from mypy/scipy&lt;br/&gt;• The AoC community is the best ❤️&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://blog.pecar.me/advent-of-code-2025&#34;&gt;https://blog.pecar.me/advent-of-code-2025&lt;/a&gt;
    </content>
    <updated>2025-12-14T16:42:30Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqspl99pjt99w6440225rq3j8j8r3hed6jhddpmt43anqkql0tt4jfszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg8jljgm</id>
    
      <title type="html">I&amp;#39;ve finished #adventofcode 2025 and this is the first year ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqspl99pjt99w6440225rq3j8j8r3hed6jhddpmt43anqkql0tt4jfszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg8jljgm" />
    <content type="html">
      I&amp;#39;ve finished #adventofcode 2025 and this is the first year that I managed to get all solutions under 100ms ⚡&lt;br/&gt;&lt;br/&gt;All but two are under 10ms. Not bad for the slowest popular language out there 🐍, although I did have to use numpy a few times.&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/706/918/064/511/039/original/1ef0d17c74b0936d.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-12T13:50:57Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsypjel32t5f2ruf7gzv894x8hz090ggw4ea6svx084y52hcxy6pyszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgqdcfza</id>
    
      <title type="html">It has been 15 years since I joined GitHub 😱 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsypjel32t5f2ruf7gzv894x8hz090ggw4ea6svx084y52hcxy6pyszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgqdcfza" />
    <content type="html">
      It has been 15 years since I joined GitHub 😱&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/677/631/763/428/409/original/e48bf8afa43463ab.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-07T09:43:03Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9mvkknw8se3srzyptqmmcgek4wlmlkxgptjwyfpwqdgepwvsk8kqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgn28cf9</id>
    
      <title type="html">New release of adventofcode PyPI package today improves the ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9mvkknw8se3srzyptqmmcgek4wlmlkxgptjwyfpwqdgepwvsk8kqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgn28cf9" />
    <content type="html">
      New release of adventofcode PyPI package today improves the display of alternative solutions for each day:&lt;br/&gt;&lt;br/&gt;1. Slower solutions are no longer counted in totals&lt;br/&gt;2. Slower solutions are dimmed out&lt;br/&gt;&lt;br/&gt;Why limit yourself to one #adventofcode solution per day? 😆&lt;br/&gt;&lt;br/&gt;Happy solving! 🎄&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/676/914/436/602/555/original/c9ed9c883ceb3b0f.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-07T06:40:37Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2qg8tf0fdchfp485e37ks8sxn5xuf0wvs2458k9smetqn7tjjkrczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgmpy2dd</id>
    
      <title type="html">I compared the first 4 #adventofcode solutions on two different ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2qg8tf0fdchfp485e37ks8sxn5xuf0wvs2458k9smetqn7tjjkrczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgmpy2dd" />
    <content type="html">
      I compared the first 4 #adventofcode solutions on two different CPUs.&lt;br/&gt;&lt;br/&gt;* Rows with a red background are on 8x Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz.&lt;br/&gt;* Rows with a green background are on Apple M3 Max.&lt;br/&gt;&lt;br/&gt;So if you want to be better at advent of code just get a better CPU? 😆&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/661/614/033/156/970/original/87cfadeba76b3f65.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-04T13:49:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyp6tgq04wqh2qufz5fm5rhluceqmefdulkut4445fqddqw6yl3wczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgalpr5e</id>
    
      <title type="html">I wonder how long I&amp;#39;ll be able to keep all the days green ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyp6tgq04wqh2qufz5fm5rhluceqmefdulkut4445fqddqw6yl3wczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgalpr5e" />
    <content type="html">
      I wonder how long I&amp;#39;ll be able to keep all the days green like this #adventofcode 🟢&lt;br/&gt;&lt;br/&gt;Today I learned that you can use None when slicing a list in Python:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [1,2,3][:None]&lt;br/&gt;[1, 2, 3]&lt;br/&gt;Useful to avoid the edge case where [:0] would give an empty list:&lt;br/&gt;&amp;gt;&amp;gt;&amp;gt; [1,2,3][:0]&lt;br/&gt;[]&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/654/189/819/563/277/original/fa81eb4e7c9b34f7.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-03T06:21:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqn74sv9tks89w63lfkqqu53fg56kkswafx5p3gpx82sxvuw63cyczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgtczrns</id>
    
      <title type="html">Just launched version 25.4 of my adventofcode PyPI package! 🚀 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqn74sv9tks89w63lfkqqu53fg56kkswafx5p3gpx82sxvuw63cyczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgtczrns" />
    <content type="html">
      Just launched version 25.4 of my adventofcode PyPI package! 🚀&lt;br/&gt;&lt;br/&gt;25.4 adds a `adventofcode run` command that removes the ugly boilerplate that you had to have in your puzzle files until now!&lt;br/&gt;&lt;br/&gt;Before:                                                    After:&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/649/152/552/602/364/original/9ced7f3847c22c6a.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/649/152/715/098/382/original/d982592a74534c33.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-02T09:00:27Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw65xhphk3qyk37evw4c3e5gtedgvq9355hs8rawf8sw64r366s4qzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgtnp8ls</id>
    
      <title type="html">I&amp;#39;m using Python and also re-parsing the input for each step.</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw65xhphk3qyk37evw4c3e5gtedgvq9355hs8rawf8sw64r366s4qzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgtnp8ls" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyfuapkeflm5q3tymqdnzyv2cz26fwu9adxd0avanhv55hwgng5mgjpd6vs&#39;&gt;nevent1q…d6vs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I&amp;#39;m using Python and also re-parsing the input for each step.
    </content>
    <updated>2025-12-02T07:18:40Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs2qyx3snyg6mln57flp528pmecmh0em4lvfma0ccf56fk6y2ryq2qzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgug7e6p</id>
    
      <title type="html">Day 2 of #adventofcode kinda felt easier than day 1 or was it ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs2qyx3snyg6mln57flp528pmecmh0em4lvfma0ccf56fk6y2ryq2qzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgug7e6p" />
    <content type="html">
      Day 2 of #adventofcode kinda felt easier than day 1 or was it just me?&lt;br/&gt;&lt;br/&gt;I got to the solution fairly quickly but it was a bit slow. I then spent the next hour optimizing it and managed to make part 1 200x faster and part 2 500x faster 🎉&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/648/724/812/057/106/original/3e259d49cffd5208.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-02T07:11:38Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgw2vfw0x4sgw4csw5xc7amajq03tlvldqc3fk5nmkxxhdg0e2y5qzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgulpsp6</id>
    
      <title type="html">Day 1 of #adventofcode felt a bit harder than previous day 1 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgw2vfw0x4sgw4csw5xc7amajq03tlvldqc3fk5nmkxxhdg0e2y5qzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgulpsp6" />
    <content type="html">
      Day 1 of #adventofcode felt a bit harder than previous day 1 puzzles. It took me way longer to figure out part 2 than I care to admit, but I&amp;#39;m blaming this on my sleepy brain 😅&lt;br/&gt;&lt;br/&gt;My code took 1.1ms for both parts without any perf optimizations 🎉&lt;br/&gt;&lt;br/&gt;Eleven more to go!&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/645/180/171/529/537/original/b6d708c4993f606c.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-12-01T16:10:11Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsf0qqm9zfrvph06qu35fhd6w20re7atzxr2xfjmax4k2986xmvljszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgj5s4x8</id>
    
      <title type="html">6 hours until the first advent of code puzzle unlocks. Who&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsf0qqm9zfrvph06qu35fhd6w20re7atzxr2xfjmax4k2986xmvljszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgj5s4x8" />
    <content type="html">
      6 hours until the first advent of code puzzle unlocks. Who&amp;#39;s going to participate this year? 🎄&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/641/138/419/616/752/original/5d67c93269898f1e.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-11-30T23:02:19Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0uq0x9luv03eja0kydvxe3n2tnk6xnaneaw8d2054vx22l6x74kgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg3jkrl5</id>
    
      <title type="html">I&amp;#39;ve also added a benchmarking utility so that I can have a ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0uq0x9luv03eja0kydvxe3n2tnk6xnaneaw8d2054vx22l6x74kgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg3jkrl5" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsy3u75l8ll0a2lm54mrp4lecyszxjex6m65xj9lk2u89p57p5426cjqtscw&#39;&gt;nevent1q…tscw&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve also added a benchmarking utility so that I can have a fancy README with all the run times 😎&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/638/623/048/952/508/original/798d8509fe46bcf6.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-11-30T12:24:16Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw9fpqe6534zvejwuxkc9fj4plk685j9q9k55chjm7dhgm7pjpn9qzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgvp2qxd</id>
    
      <title type="html">RE: https://mastodon.social/@nixCraft/115633791960750253 So this ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw9fpqe6534zvejwuxkc9fj4plk685j9q9k55chjm7dhgm7pjpn9qzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgvp2qxd" />
    <content type="html">
      RE: &lt;a href=&#34;https://mastodon.social/@nixCraft/115633791960750253&#34;&gt;https://mastodon.social/@nixCraft/115633791960750253&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;So this is the strategy AGI came up with for generating investment returns? 😆&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.youtube.com/shorts/pLnyjxgFxew&#34;&gt;https://www.youtube.com/shorts/pLnyjxgFxew&lt;/a&gt;&lt;blockquote class=&#34;border-l-05rem border-l-strongpink border-solid&#34;&gt;&lt;div class=&#34;-ml-4 bg-gradient-to-r from-gray-100 dark:from-zinc-800 to-transparent mr-0 mt-0 mb-4 pl-4 pr-2 py-2&#34;&gt;quoting &lt;br/&gt;&lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Article&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/note1dvnaf496fsqa4tav9htzdd5vew9980nagvf85l04lr2mvezk4t7sjqdzv4&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;note1dvn…dzv4&lt;/a&gt;&lt;/span&gt;&lt;br/&gt; &lt;/div&gt; Leak confirms OpenAI is preparing ads on ChatGPT for public roll out as it has around 1 billion users with all sorts of personal data.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.bleepingcomputer.com/news/artificial-intelligence/leak-confirms-openai-is-preparing-ads-on-chatgpt-for-public-roll-out/&#34;&gt;https://www.bleepingcomputer.com/news/artificial-intelligence/leak-confirms-openai-is-preparing-ads-on-chatgpt-for-public-roll-out/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;So, after stealing data from all books, artists, source repos, Wikipedia, Forum posts, &amp; everything else created voluntarily by humans, it is now being sold back to the highest bidder with all your personal data  Remember, they are also asking for government IDs &amp; burning all plants resources they come with Ads. such a big idea!&lt;br/&gt; &lt;img src=&#34;https://files.mastodon.social/media_attachments/files/115/633/770/360/293/944/original/d546dcc92aa1ee4e.png&#34;&gt; &lt;br/&gt; &lt;/blockquote&gt;
    </content>
    <updated>2025-11-29T20:12:54Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsy3u75l8ll0a2lm54mrp4lecyszxjex6m65xj9lk2u89p57p5426czyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgdd60vd</id>
    
      <title type="html">I&amp;#39;ve just published a new version of my adventofcode PyPI ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsy3u75l8ll0a2lm54mrp4lecyszxjex6m65xj9lk2u89p57p5426czyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgdd60vd" />
    <content type="html">
      I&amp;#39;ve just published a new version of my adventofcode PyPI package, just in time for Advent of Code that starts in 36 hours! 🎉 &lt;br/&gt;&lt;br/&gt;I&amp;#39;ve added a command line tool that helps you scaffold all the files for puzzle days because I got annoyed by copy pasting the same file each time!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://pypi.org/project/adventofcode/&#34;&gt;https://pypi.org/project/adventofcode/&lt;/a&gt;&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/634/033/655/854/073/original/eb3d0c1e6547f0ed.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/634/033/791/198/414/original/254b53c115d5a17b.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-11-29T16:55:30Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqu5ah9qau6wwwdfhvzgxnu4w8dz7tka53txq8fmnevg7ympl83fgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgky7wgw</id>
    
      <title type="html">Carlton&amp;#39;s proposal to move Django to an annual release cycle ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqu5ah9qau6wwwdfhvzgxnu4w8dz7tka53txq8fmnevg7ympl83fgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgky7wgw" />
    <content type="html">
      Carlton&amp;#39;s proposal to move Django to an annual release cycle makes all the sense.&lt;br/&gt;&lt;br/&gt;The x.2 LTS releases always felt wrong to me since it has always been much easier and safer to upgrade each version rather than doing the LTS to LTS leap in one go.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://buttondown.com/carlton/archive/an-annual-release-cycle-for-django/&#34;&gt;https://buttondown.com/carlton/archive/an-annual-release-cycle-for-django/&lt;/a&gt;
    </content>
    <updated>2025-10-31T12:00:48Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8pea7e83ucm3r7tgcd4n9nz3v07ghjlefjxsh5jcchl8ark23swczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg37rnvf</id>
    
      <title type="html">It&amp;#39;s always DNS: &amp;gt; We have identified a potential root ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8pea7e83ucm3r7tgcd4n9nz3v07ghjlefjxsh5jcchl8ark23swczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg37rnvf" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq5h3ws7ttr4kdllvytqykny4s6p9k0dze66ukgm9c948kssjr5yqw88wxz&#39;&gt;nevent1q…8wxz&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;It&amp;#39;s always DNS:&lt;br/&gt;&lt;br/&gt;&amp;gt; We have identified a potential root cause for error rates for the DynamoDB APIs in the US-EAST-1 Region. Based on our investigation, the issue appears to be related to DNS resolution of the DynamoDB API endpoint in US-EAST-1
    </content>
    <updated>2025-10-20T09:22:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsq5h3ws7ttr4kdllvytqykny4s6p9k0dze66ukgm9c948kssjr5yqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgegng0t</id>
    
      <title type="html">us-east-1 is down, happy Monday! ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsq5h3ws7ttr4kdllvytqykny4s6p9k0dze66ukgm9c948kssjr5yqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgegng0t" />
    <content type="html">
      us-east-1 is down, happy Monday!&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/405/652/528/467/943/original/6ea24e70cba0ada7.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-10-20T08:55:09Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9n5tqhnsy0xt6vsnjfd7xvxc5ay25xljyntlxrzya3zjmgmy0ffqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgyk6wqr</id>
    
      <title type="html">I had a memory issue with Django&amp;#39;s bulk_update queryset ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9n5tqhnsy0xt6vsnjfd7xvxc5ay25xljyntlxrzya3zjmgmy0ffqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgyk6wqr" />
    <content type="html">
      I had a memory issue with Django&amp;#39;s bulk_update queryset method. &lt;br/&gt;&lt;br/&gt;The TLDR version is that bulk_update prepares all the update statements in advance (even when batch_size is set) which can use more memory than expected.&lt;br/&gt;&lt;br/&gt;Details and a solution in the blog:&lt;br/&gt;&lt;a href=&#34;https://blog.pecar.me/django-bulk-update-memory-issue&#34;&gt;https://blog.pecar.me/django-bulk-update-memory-issue&lt;/a&gt;
    </content>
    <updated>2025-10-13T09:57:02Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvpfn50ya8tmqe9vzvftqzah0r6p8cj2tw3kcxu8yr8265l8dhysqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg02v70q</id>
    
      <title type="html">I have not. Can it generate a count from a left outer join?</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvpfn50ya8tmqe9vzvftqzah0r6p8cj2tw3kcxu8yr8265l8dhysqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg02v70q" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswmhyk35rpz8kug7gm79ddz2czzz4ud0z5xpl6t482a2muym6mhgg5r3gqd&#39;&gt;nevent1q…3gqd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I have not. Can it generate a count from a left outer join?
    </content>
    <updated>2025-10-11T11:16:02Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqszfvlfh3tvljmzt8gmagx8ucdt3n4kl3gpsva4f2gzxpsfk5dw4zczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlglksczs</id>
    
      <title type="html">not the first read model, not even on this particular project but ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqszfvlfh3tvljmzt8gmagx8ucdt3n4kl3gpsva4f2gzxpsfk5dw4zczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlglksczs" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsv9e5suqmvs8qk6m7cczjx33e0u8sprvheuajle55h7c6k58gh50ggwc244&#39;&gt;nevent1q…c244&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;not the first read model, not even on this particular project but it’s always fun to see how much overhead a left outer join can cause.
    </content>
    <updated>2025-10-11T11:11:09Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8zxpm7mstc26whm6dne3fxx0shpfkfe7pwfhvzagwdwpslqz0lpgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgcactkt</id>
    
      <title type="html">I&amp;#39;ve improved the performance of the starter packs list query ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8zxpm7mstc26whm6dne3fxx0shpfkfe7pwfhvzagwdwpslqz0lpgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgcactkt" />
    <content type="html">
      I&amp;#39;ve improved the performance of the starter packs list query from about 200ms to 2ms. 🎉&lt;br/&gt;&lt;br/&gt;The trick was to stop dynamically computing the number of accounts in a starter pack and instead precompute it in a column.&lt;br/&gt;&lt;br/&gt;A bit more work on each update, but worth it!&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/115/354/804/798/945/653/original/cf9114068356c21a.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-10-11T09:23:55Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsq6z32plme6aqejj2ywvc2fykycc35zxtsrx82w44zn2mjmy4smlqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgfgzadj</id>
    
      <title type="html">Yesterday, Python 3.14 was released, and today all of my Django ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsq6z32plme6aqejj2ywvc2fykycc35zxtsrx82w44zn2mjmy4smlqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgfgzadj" />
    <content type="html">
      Yesterday, Python 3.14 was released, and today all of my Django side projects are running on 3.14. 🎉&lt;br/&gt;&lt;br/&gt;The upgrade didn&amp;#39;t require any code changes on my part, but I did see a few return statements in the finally block SyntaxWarnings in a few dependencies.
    </content>
    <updated>2025-10-08T08:49:22Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswtq52vtr709mvhedec3xp4up3gtrzt9k6596xx24zppruww4sweqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgvd0ery</id>
    
      <title type="html">my existing Gunicorn config was very basic: proc_name = ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswtq52vtr709mvhedec3xp4up3gtrzt9k6596xx24zppruww4sweqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgvd0ery" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyzgn66du2wftuehr9cy2htkypwywvvv3fr5gzhx35yjflrgqe53gz8sp6l&#39;&gt;nevent1q…sp6l&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;my existing Gunicorn config was very basic:&lt;br/&gt;&lt;br/&gt;proc_name = &amp;#34;fedidevs&amp;#34;&lt;br/&gt;bind = &amp;#34;unix:fedidevs.sock&amp;#34;&lt;br/&gt;workers = 4&lt;br/&gt;threads = 4&lt;br/&gt;&lt;br/&gt;So it was easy to translate to Granian&amp;#39;s command line arguments:&lt;br/&gt;&lt;br/&gt;granian \&lt;br/&gt;    --interface wsgi fedidevs.wsgi:application \&lt;br/&gt;    --process-name fedidevs \&lt;br/&gt;    --uds fedidevs.sock \&lt;br/&gt;    --workers 4 \&lt;br/&gt;    --blocking-threads 4&lt;br/&gt;&lt;br/&gt;(I&amp;#39;ve added this to the article since I think it&amp;#39;s worth seeing the comparison, thank you for the idea!).
    </content>
    <updated>2025-09-29T15:19:09Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvqjf7et6f4lehk3c3dxs0un70w9tdnrca3p2wljw5xlukyydamcqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgu8k7qt</id>
    
      <title type="html">yes, no bugs and more speed! 😄</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvqjf7et6f4lehk3c3dxs0un70w9tdnrca3p2wljw5xlukyydamcqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgu8k7qt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxzmcacew9nvv2yvdvp850gsfrujp0whgd6y0rmedk2ejxm2nlpwgt07us2&#39;&gt;nevent1q…7us2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;yes, no bugs and more speed! 😄
    </content>
    <updated>2025-09-29T10:41:28Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvmnfepk2ex7tr4gf5xzgtn5hj3q2v8twl2cjucglzetrxnz68xeqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgzg7v30</id>
    
      <title type="html">I can&amp;#39;t talk from first-hand experience about uvicorn because ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvmnfepk2ex7tr4gf5xzgtn5hj3q2v8twl2cjucglzetrxnz68xeqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgzg7v30" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqe3nhvc2qr29klgym4ujs9fr06xhjqvav86j3vkdm2mx2d34a0ag087ttd&#39;&gt;nevent1q…7ttd&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I can&amp;#39;t talk from first-hand experience about uvicorn because I don&amp;#39;t use uvicorn in production for any of my apps.&lt;br/&gt;&lt;br/&gt;I&amp;#39;d say it&amp;#39;s a similar story to Gunicorn. All Uvicorn features are supported in Granian, and you won&amp;#39;t notice any difference in performance. Your ASGI server is rarely the bottleneck for your app in any case 🤷‍♂️
    </content>
    <updated>2025-09-29T08:18:04Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstzlv8wahh8l2pm0vhjw5225q7ut7hedayq0f6ne6tsjv48cccdjgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg9y3ew5</id>
    
      <title type="html">Over the weekend, I migrated one of my Django Apps from Gunicorn ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstzlv8wahh8l2pm0vhjw5225q7ut7hedayq0f6ne6tsjv48cccdjgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg9y3ew5" />
    <content type="html">
      Over the weekend, I migrated one of my Django Apps from Gunicorn to Granian.&lt;br/&gt;&lt;br/&gt;TLDR:&lt;br/&gt;• The migration went smoothly.&lt;br/&gt;• There were no visible performance gains.&lt;br/&gt;• I still can&amp;#39;t set a timeout for requests.&lt;br/&gt;&lt;br/&gt;I also wrote a blog post about this: &lt;a href=&#34;https://blog.pecar.me/migrating-gunicorn-to-granian&#34;&gt;https://blog.pecar.me/migrating-gunicorn-to-granian&lt;/a&gt;
    </content>
    <updated>2025-09-29T07:56:03Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfvnzpdq5yzlh79vnh82rwg0p852whpptej67h5e4cp9sdlnuxzggzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgnhktfy</id>
    
      <title type="html">I&amp;#39;ll be giving a talk about Free-threaded Python at the #01 - ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfvnzpdq5yzlh79vnh82rwg0p852whpptej67h5e4cp9sdlnuxzggzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgnhktfy" />
    <content type="html">
      I&amp;#39;ll be giving a talk about Free-threaded Python at the  #01 - Python Lisbon Meetup next week (Oct 2)! 🎉&lt;br/&gt;&lt;br/&gt;Hope to see you there!&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.meetup.com/python-lisbon-meetup/events/311204520/&#34;&gt;https://www.meetup.com/python-lisbon-meetup/events/311204520/&lt;/a&gt;
    </content>
    <updated>2025-09-24T18:23:10Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqspj8tynxx8yxxehf3256k05qnes0gkvyv66qd2gs692xlp288crtgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgfu5vgh</id>
    
      <title type="html">The plan with this meetup group is to meet on every first ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqspj8tynxx8yxxehf3256k05qnes0gkvyv66qd2gs692xlp288crtgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgfu5vgh" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsfvnzpdq5yzlh79vnh82rwg0p852whpptej67h5e4cp9sdlnuxzggjrdlxn&#39;&gt;nevent1q…dlxn&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;The plan with this meetup group is to meet on every first Thursday of the month. To get up to date info join us on Discord&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://discord.gg/23emSpY7&#34;&gt;https://discord.gg/23emSpY7&lt;/a&gt;
    </content>
    <updated>2025-09-24T18:23:10Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9r2yam29vt740jh4fhj9d5f6lh5f3z5wmp93krpe30klc7ytv7sszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgq3k7pa</id>
    
      <title type="html">Hey, sorry about that! It was a problem on my end. I have just ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9r2yam29vt740jh4fhj9d5f6lh5f3z5wmp93krpe30klc7ytv7sszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgq3k7pa" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsqdheqclw8jg5h7nlgph358qzz2hwlpdx2kgf4vt9trjnngfyzy4gn9feql&#39;&gt;nevent1q…feql&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Hey, sorry about that! It was a problem on my end. I have just pushed a fix. Can you try logging in again?
    </content>
    <updated>2025-08-24T09:10:57Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsfhldh0d8j37vshtcgax6cxves69egdv3czfrlu4tlzavxd4vhgvczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg6zgvq2</id>
    
      <title type="html">The best TED Talk I&amp;#39;ve seen was about tying shoes. It&amp;#39;s ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsfhldh0d8j37vshtcgax6cxves69egdv3czfrlu4tlzavxd4vhgvczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg6zgvq2" />
    <content type="html">
      The best TED Talk I&amp;#39;ve seen was about tying shoes. &lt;br/&gt;&lt;br/&gt;It&amp;#39;s mind blowing that we are all taught the weaker form of the knot as kids and never learn that there is a stronger version.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.ted.com/talks/terry_moore_how_to_tie_your_shoes&#34;&gt;https://www.ted.com/talks/terry_moore_how_to_tie_your_shoes&lt;/a&gt;
    </content>
    <updated>2025-08-05T14:02:54Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0l9vmc3s85v0qw0lapk52g3va4y8jazdcwf20f9jjc6c3hzmmtrszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgh2txlg</id>
    
      <title type="html">LLMs really are an amazing peace of technology. How were we ever ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0l9vmc3s85v0qw0lapk52g3va4y8jazdcwf20f9jjc6c3hzmmtrszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgh2txlg" />
    <content type="html">
      LLMs really are an amazing peace of technology. How were we ever able to live without them?&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/958/545/355/536/048/original/77944752c85b0b1e.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-08-02T09:49:55Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxfz2feupke6h47e8wwxkk2ptgjkvnl2ag5gr4p2j04kcqp4wcrdszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgl4870l</id>
    
      <title type="html">Early birthday present has arrived! 🎂 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxfz2feupke6h47e8wwxkk2ptgjkvnl2ag5gr4p2j04kcqp4wcrdszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgl4870l" />
    <content type="html">
      Early birthday present has arrived! 🎂&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/953/764/945/245/294/original/af3168e8e3b57e52.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-08-01T13:34:12Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsveqyj4hdlpvfm778gpx4x57gywqwwgrpgzksn4adly6duuszswrszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg4g9hcv</id>
    
      <title type="html">ah, no that was not it. psutill is used just to automatically ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsveqyj4hdlpvfm778gpx4x57gywqwwgrpgzksn4adly6duuszswrszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg4g9hcv" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsz263g2u2jtqm5d89gc7cu6fap3ht3ltzppd59pmeslxeazkn9p3sejzs2j&#39;&gt;nevent1q…zs2j&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;ah, no that was not it. psutill is used just to automatically figure out the number of cores to use but I was specifying the number of cores manually.&lt;br/&gt;&lt;br/&gt;The culprit ended up being Django Debug Toolbar. 🙃&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://fosstodon.org/@anze3db/114831609043746577&#34;&gt;https://fosstodon.org/@anze3db/114831609043746577&lt;/a&gt;
    </content>
    <updated>2025-07-10T23:49:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsxqy65edk2x5je06up4rpet9refge38w0ytnmmek5hqaf6k27gwnszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgah43mw</id>
    
      <title type="html">I figured out that Django Debug Toolbar was blocking xdist. We ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsxqy65edk2x5je06up4rpet9refge38w0ytnmmek5hqaf6k27gwnszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgah43mw" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsf2zamajydpgqc4rhzjkr5fv5sxaq69nrrv7d35z7vrkzd6g857hq9v5kge&#39;&gt;nevent1q…5kge&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I figured out that Django Debug Toolbar was blocking xdist.&lt;br/&gt;&lt;br/&gt;We had a check that disabled debug toolbar during tests:&lt;br/&gt;&lt;br/&gt;ENABLE_DEBUG_TOOLBAR = any([&amp;#34;test&amp;#34; in arg for arg in sys.argv])&lt;br/&gt;&lt;br/&gt;but this was no longer False when the tests were run through xdist.&lt;br/&gt;&lt;br/&gt;The test suite now finishes in 17s 🎉
    </content>
    <updated>2025-07-10T23:48:20Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsf2zamajydpgqc4rhzjkr5fv5sxaq69nrrv7d35z7vrkzd6g857hqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg0nrf20</id>
    
      <title type="html">that’s sort of what I was expecting to see from xdist and it ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsf2zamajydpgqc4rhzjkr5fv5sxaq69nrrv7d35z7vrkzd6g857hqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg0nrf20" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsyw5en7wk95ad5uwm7rt7f6h293v24fqt37vhjwet34xpcf2hxv3qhkcq2j&#39;&gt;nevent1q…cq2j&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;that’s sort of what I was expecting to see from xdist and it matches my numbers with Django’s test runner that speed up my tests from 60s down to 20s.&lt;br/&gt;&lt;br/&gt;I have no idea what’s blocking xdist 🙁
    </content>
    <updated>2025-07-10T12:50:06Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsd2as3pyhkcesmk2lh0kw6hymxc5d2crs09ec35flm4x2pucjxfhszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgzq6q9z</id>
    
      <title type="html">Has anybody had any luck speeding up Django tests with ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsd2as3pyhkcesmk2lh0kw6hymxc5d2crs09ec35flm4x2pucjxfhszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgzq6q9z" />
    <content type="html">
      Has anybody had any luck speeding up Django tests with pytest-xdist? On a single core, the test suite takes about 67s to complete, but regardless of the number of cores I set with xdist, it doesn&amp;#39;t finish faster than 60s.&lt;br/&gt;&lt;br/&gt;./manage.py test --parallel can finish in less than 20s.
    </content>
    <updated>2025-07-10T11:35:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsy4y9l27pcjq3z0mvy3sv35wz5vn8v7z9uu4qpz5km4jw5rjdwymszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg70tyev</id>
    
      <title type="html">True! 😆</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsy4y9l27pcjq3z0mvy3sv35wz5vn8v7z9uu4qpz5km4jw5rjdwymszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg70tyev" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsq5tmtpspa3hfsfhvve5xty5s2jjlkekwu9y9zwwdx5x9ahvtqe0geqfql8&#39;&gt;nevent1q…fql8&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;True! 😆
    </content>
    <updated>2025-07-07T14:56:21Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8y7d67j8nay0tn9gppyuyqecsk9l6gday9tr0sh3t7afyrffagtqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgcw5z9d</id>
    
      <title type="html">that could work but it&amp;#39;s a bit more difficult to get all the ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8y7d67j8nay0tn9gppyuyqecsk9l6gday9tr0sh3t7afyrffagtqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgcw5z9d" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp59lwa0zxyjskggsd7zqn76rfzutg4gepmzvnndf7hkepeczawmcsrzw9h&#39;&gt;nevent1q…zw9h&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;that could work but it&amp;#39;s a bit more difficult to get all the devs on the team to do this when running tests 😅
    </content>
    <updated>2025-07-07T14:27:32Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsz0kandyz2fgc6petv634qd5e4ww3uct3kp8cxnnnl56zskev89rszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgkw27cj</id>
    
      <title type="html">it also reproduces on the official cpython builds. I&amp;#39;ve ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsz0kandyz2fgc6petv634qd5e4ww3uct3kp8cxnnnl56zskev89rszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgkw27cj" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2xq8ccrr0e3ke5mn5yaxmdrmtev5f73fwar7240lqt3evyplz9nqsp3c9l&#39;&gt;nevent1q…3c9l&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;it also reproduces on the official cpython builds. I&amp;#39;ve opened an issue on the CPython repo: &lt;a href=&#34;https://github.com/python/cpython/issues/136385&#34;&gt;https://github.com/python/cpython/issues/136385&lt;/a&gt;
    </content>
    <updated>2025-07-07T14:26:24Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgjc2rr5mt03w8y759vchc0qe9lcs6snhyx9fnp3fxdwzlk7ay97czyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg6488wy</id>
    
      <title type="html">It&amp;#39;s easy for an unexpected network request to sneak past ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgjc2rr5mt03w8y759vchc0qe9lcs6snhyx9fnp3fxdwzlk7ay97czyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg6488wy" />
    <content type="html">
      It&amp;#39;s easy for an unexpected network request to sneak past your mocks.&lt;br/&gt;&lt;br/&gt;In a new blog post I show how a Pytest fixture helped me find these sneaky requests and how it will hopefully catch future ones too. 🤞&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://blog.pecar.me/disable-network-requets-when-running-pytest&#34;&gt;https://blog.pecar.me/disable-network-requets-when-running-pytest&lt;/a&gt;
    </content>
    <updated>2025-07-07T14:02:02Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsv74drquueghdh8zv2a96rnv00mm72dh5ykq02gg4phzw3vtue8hszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgwhumqd</id>
    
      <title type="html">I haven&amp;#39;t found a resolution yet and it&amp;#39;s still happening ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsv74drquueghdh8zv2a96rnv00mm72dh5ykq02gg4phzw3vtue8hszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgwhumqd" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2xq8ccrr0e3ke5mn5yaxmdrmtev5f73fwar7240lqt3evyplz9nqsp3c9l&#39;&gt;nevent1q…3c9l&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I haven&amp;#39;t found a resolution yet and it&amp;#39;s still happening although only once every 100 test runs so hard to reproduce. I&amp;#39;ll switch to using an official pythonbuild to rule out an issue with standalone. Thanks for the suggestion!
    </content>
    <updated>2025-07-06T23:41:05Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst8nw4u57psr6m4u9tcjawt6zadc7ej3p4mg7jaju4uehera2dhyqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgxt8wd9</id>
    
      <title type="html">I know that making network requests is bad but a similar error ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst8nw4u57psr6m4u9tcjawt6zadc7ej3p4mg7jaju4uehera2dhyqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgxt8wd9" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqswdvfepe7ccttavq2f8u5t2y0mxawzk4jv59sjjdk046ew30y7syqfakafy&#39;&gt;nevent1q…kafy&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I know that making network requests is bad but a similar error also happens with using Django&amp;#39;s test mailer backend (locmem.py) and in any case the python interpreter shouldn&amp;#39;t just crash in the middle of running tests like this.&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/783/263/347/602/621/original/77b1889b5934647e.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-07-02T10:53:40Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9jlpgxwe5enj7p8ge08e67c3pl7npqhm7a9qsjx3a4evcawv2hhczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgpfctqz</id>
    
      <title type="html">will try 👍</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9jlpgxwe5enj7p8ge08e67c3pl7npqhm7a9qsjx3a4evcawv2hhczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgpfctqz" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs0sh8p3luunynzzuw28xuqnzyndqc524xyjuy62e40cccj5674nxcxtrh5e&#39;&gt;nevent1q…rh5e&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;will try 👍
    </content>
    <updated>2025-07-02T10:53:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswdvfepe7ccttavq2f8u5t2y0mxawzk4jv59sjjdk046ew30y7syqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlggcazkq</id>
    
      <title type="html">Has anybody seen a Fatal Python error: Aborted error when running ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswdvfepe7ccttavq2f8u5t2y0mxawzk4jv59sjjdk046ew30y7syqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlggcazkq" />
    <content type="html">
      Has anybody seen a Fatal Python error: Aborted error when running pytest? &lt;br/&gt;&lt;br/&gt;It seems to come from &lt;a href=&#34;https://socket.py&#34;&gt;https://socket.py&lt;/a&gt; but we haven&amp;#39;t been able to reproduce outside of pytest. It&amp;#39;s sporadic and very hard to reproduce consistently. Any ideas on how to debug this?&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/783/230/171/387/311/original/37d4848ed4dde871.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-07-02T10:44:57Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8p4zy2gavghqz4lsj98tpafn4vgxpyxnpgfd4lqcvzvwez84g0dszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgjchqfk</id>
    
      <title type="html">I&amp;#39;ve just ran `docker system prune -f` Total reclaimed space: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8p4zy2gavghqz4lsj98tpafn4vgxpyxnpgfd4lqcvzvwez84g0dszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgjchqfk" />
    <content type="html">
      I&amp;#39;ve just ran `docker system prune -f`&lt;br/&gt;&lt;br/&gt;Total reclaimed space: 359.5GB&lt;br/&gt;&lt;br/&gt;😅
    </content>
    <updated>2025-06-24T19:03:13Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgr8wxzpu0t5xkh0ujw6gfv2jjvparxngt9afdnz5tdkdvwt5k7kqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlganeps5</id>
    
      <title type="html">I&amp;#39;ve written a quick post on how to disable the runserver ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgr8wxzpu0t5xkh0ujw6gfv2jjvparxngt9afdnz5tdkdvwt5k7kqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlganeps5" />
    <content type="html">
      I&amp;#39;ve written a quick post on how to disable the runserver warning that was added in Django 5.2.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://blog.pecar.me/disable-runserver-warning-in-django-5-2&#34;&gt;https://blog.pecar.me/disable-runserver-warning-in-django-5-2&lt;/a&gt;
    </content>
    <updated>2025-06-24T09:11:34Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsp8k0cr6zcz3fe4pkycuxnuc6lf7r5258fmmga3yenluxvat024wgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgra6ml4</id>
    
      <title type="html">ok, I&amp;#39;ve just pushed a small change that should make follow ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsp8k0cr6zcz3fe4pkycuxnuc6lf7r5258fmmga3yenluxvat024wgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgra6ml4" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsthx0vx600jy48fe6608m67elg63uwjsgyezll5s87gnm44nhkexcyz2ku6&#39;&gt;nevent1q…2ku6&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;ok, I&amp;#39;ve just pushed a small change that should make follow all more reliable.&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve tried following all accounts from the public spaces conferences and it worked for me with the following exceptions:&lt;br/&gt;1. one account has moved to another instance so following of that account has failed (I need to fix how I detect/show moved accounts on the site)&lt;br/&gt;2. two accounts are set as locked so it is up to the owner of the account to approve the follow.
    </content>
    <updated>2025-06-13T19:20:59Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsthx0vx600jy48fe6608m67elg63uwjsgyezll5s87gnm44nhkexczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg0tjtyq</id>
    
      <title type="html">Hey! I&amp;#39;m the dev behind fedidevs. I see that both follow and ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsthx0vx600jy48fe6608m67elg63uwjsgyezll5s87gnm44nhkexczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg0tjtyq" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8px73lk658suk6maazguu2czm02u2mxxfukyrs7pg9pcpvu4k66c0psm5v&#39;&gt;nevent1q…sm5v&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Hey! I&amp;#39;m the dev behind fedidevs. I see that both follow and follow all buttons aren&amp;#39;t working. I wasn&amp;#39;t aware about it until now. 😢&lt;br/&gt;&lt;br/&gt;I can&amp;#39;t look into it right now because I&amp;#39;m at work but I&amp;#39;ll try to get this fixed either later today or over the weekend. Sorry again!
    </content>
    <updated>2025-06-13T16:07:31Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsdl9crgvxc3gvy8r97qxxakfchc6vlpfnlds6xq0qpql678l6c4rqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgyw3ccn</id>
    
      <title type="html">The scary thing about vibe code is that it appears convincing ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsdl9crgvxc3gvy8r97qxxakfchc6vlpfnlds6xq0qpql678l6c4rqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgyw3ccn" />
    <content type="html">
      The scary thing about vibe code is that it appears convincing enough to make you approve changes even when they break things. 😱&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/670/840/154/236/711/original/9d3308d939d32923.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-06-12T14:22:42Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsp8u736uzcnxpg200wputhay222dxs7697l2ev6t4k3wwydw54d5szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgvytr5u</id>
    
      <title type="html">The smallest sardines that I’ve ever had at Santos Populares ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsp8u736uzcnxpg200wputhay222dxs7697l2ev6t4k3wwydw54d5szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgvytr5u" />
    <content type="html">
      The smallest sardines that I’ve ever had at Santos Populares but they were still delicious 🤤🐟🎉&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/661/008/287/067/538/original/be1ab972e73c4ad0.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-06-10T20:42:22Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsz6g9mkcxu3grhmaye9mpd4e0dmw305s88y5mchjklstld8jfsreczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgm66vx5</id>
    
      <title type="html">After a long break from writing, I finally published a new blog! ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsz6g9mkcxu3grhmaye9mpd4e0dmw305s88y5mchjklstld8jfsreczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgm66vx5" />
    <content type="html">
      After a long break from writing, I finally published a new blog! It&amp;#39;s about generating the image that you should see in the link preview unless it didn&amp;#39;t work! 🤞&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://blog.pecar.me/autogenerating-og-image-with-jekyll&#34;&gt;https://blog.pecar.me/autogenerating-og-image-with-jekyll&lt;/a&gt;
    </content>
    <updated>2025-06-10T13:58:01Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9umzzmpu094l5vqxweyq9gvlj6azhhzprh053hny96tcc24fpc6szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgfx09ws</id>
    
      <title type="html">And today Portugal won the League of Nations! Not a bad weekend ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9umzzmpu094l5vqxweyq9gvlj6azhhzprh053hny96tcc24fpc6szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgfx09ws" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsx4rmvwm2mrz2qncdnkr7yzaxkad05hz8wre9r7rm3vdnnjc2knzsvp893y&#39;&gt;nevent1q…893y&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;And today Portugal won the League of Nations! Not a bad weekend for 🇵🇹!!!&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/650/025/303/553/805/original/37bb03483e8b42de.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-06-08T22:09:49Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsx4rmvwm2mrz2qncdnkr7yzaxkad05hz8wre9r7rm3vdnnjc2knzszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg88jucp</id>
    
      <title type="html">The Portuguese ladies dominated the first challenger series ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsx4rmvwm2mrz2qncdnkr7yzaxkad05hz8wre9r7rm3vdnnjc2knzszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg88jucp" />
    <content type="html">
      The Portuguese ladies dominated the first challenger series event! 🏄‍♀️🏄‍♀️🏄‍♀️&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/647/176/249/850/499/original/f8493d67590a6303.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-06-08T10:04:40Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqt5kvgqp3r6gzrcmwalgfztgk49n0554cjljaa7qfwduwccvpugczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgy9m3f3</id>
    
      <title type="html">I&amp;#39;ve made it to #PyConIT25 just in time for Django&amp;#39;s 20th ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqt5kvgqp3r6gzrcmwalgfztgk49n0554cjljaa7qfwduwccvpugczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgy9m3f3" />
    <content type="html">
      I&amp;#39;ve made it to #PyConIT25 just in time for Django&amp;#39;s 20th birthday cake! 🎂&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/587/643/572/190/906/original/df0cedd942080a95.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-05-28T21:44:43Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs8j2s45zgarlxk7zrwa50wf3rky2fv4shaft39nqe2une47k499rgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg5g2kg6</id>
    
      <title type="html">If I keep this up, I’ll need to take a second vacation just to ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs8j2s45zgarlxk7zrwa50wf3rky2fv4shaft39nqe2une47k499rgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg5g2kg6" />
    <content type="html">
      If I keep this up, I’ll need to take a second vacation just to recover from the current vacation 😅&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/473/068/727/009/421/original/36fe45484d191a39.png&#34;&gt; &lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/473/068/830/052/527/original/764aef8b413bb8f3.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-05-08T16:06:52Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswntjvc5kd04henvq8xpykmf67ersurjvd5mnrw3ptps3frjqxqsgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgdkp7zc</id>
    
      <title type="html">Your daily reminder that the AI overlords are not to be trusted! ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswntjvc5kd04henvq8xpykmf67ersurjvd5mnrw3ptps3frjqxqsgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgdkp7zc" />
    <content type="html">
      Your daily reminder that the AI overlords are not to be trusted!&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/432/799/227/909/696/original/376548c10cc46bcd.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-05-01T13:25:47Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsx53hmv4e3kc363qxk8vs349dhqcre33jnr67fvnznjjsagjlcxdgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg8td64q</id>
    
      <title type="html">Managed to break into the &amp;#34;e&amp;#34; scores in Balatro. 🎉 ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsx53hmv4e3kc363qxk8vs349dhqcre33jnr67fvnznjjsagjlcxdgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg8td64q" />
    <content type="html">
      Managed to break into the &amp;#34;e&amp;#34; scores in Balatro. 🎉&lt;br/&gt;&lt;br/&gt;Next milestone is to try and hit NaN, but that&amp;#39;s almost impossible on a unseeded run, so highly unlikely.&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/363/806/980/800/370/original/f534c7000cc65c3d.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-04-19T09:00:08Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvx2ezfcvcxu2l26wkwt07z9sdccp7lu6wkdh407ql0cy46dezz3szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgn3ne7w</id>
    
      <title type="html">hey! Sorry for the late reply. Are you thinking of being able to ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvx2ezfcvcxu2l26wkwt07z9sdccp7lu6wkdh407ql0cy46dezz3szyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgn3ne7w" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs220rkcfyz5kwdcnyn8mpv85uu5pxdusmdealhlzv4gazk4g90ccc02rfq2&#39;&gt;nevent1q…rfq2&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;hey! Sorry for the late reply.&lt;br/&gt;&lt;br/&gt;Are you thinking of being able to add hashtags to a starter pack so that people can follow both accounts and hashtags? Or do you have something else in mind?
    </content>
    <updated>2025-04-15T10:14:31Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0s0cxg8yu0j3cd44ax8vlylnaa3ehutfrva5jwt6la7ccvemazvszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg0596ym</id>
    
      <title type="html">We are all time travellers, journeying together into the future. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0s0cxg8yu0j3cd44ax8vlylnaa3ehutfrva5jwt6la7ccvemazvszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg0596ym" />
    <content type="html">
      We are all time travellers, journeying together into the future.&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/324/183/280/539/971/original/48fed7cfb9a11ea1.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-04-12T09:03:18Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsde563h6zkyzsjrauj3k58qj8z00t9vv6zj49yhxxdd07me5w2p6qzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgenue8r</id>
    
      <title type="html">PEP 750 - https://peps.python.org/pep-0750/ And the slide that I ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsde563h6zkyzsjrauj3k58qj8z00t9vv6zj49yhxxdd07me5w2p6qzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgenue8r" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsw0kznnmjxe9mlz3t2ev2vr56mjqdusk4f8avn8v84gmhhgesqdksng8dvs&#39;&gt;nevent1q…8dvs&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;PEP 750 - &lt;a href=&#34;https://peps.python.org/pep-0750/&#34;&gt;https://peps.python.org/pep-0750/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;And the slide that I referenced.&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/319/621/894/538/403/original/2f3beef34a4fd7f4.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-04-11T13:43:17Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsw0kznnmjxe9mlz3t2ev2vr56mjqdusk4f8avn8v84gmhhgesqdkszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg9hzvyw</id>
    
      <title type="html">Now that the Template Strings PEP has been accepted, we&amp;#39;ll be ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsw0kznnmjxe9mlz3t2ev2vr56mjqdusk4f8avn8v84gmhhgesqdkszyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg9hzvyw" />
    <content type="html">
      Now that the Template Strings PEP has been accepted, we&amp;#39;ll be able to reproduce that famous JavaScript slide in Python!&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/114/319/621/732/848/455/original/fe63fe21f6fc3601.png&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2025-04-11T13:43:14Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsysf0h0ljgmzl0vnwynnw50sxpm2wepzfmxz8talkgyx5furk7mjczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgyuj0l3</id>
    
      <title type="html">hm... how do you use it to test 3rd party apis? From what I can ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsysf0h0ljgmzl0vnwynnw50sxpm2wepzfmxz8talkgyx5furk7mjczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgyuj0l3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsxxchje43x6eueehk5qc94up5d79fngv54kkzj3kmkmkfg970tgngsct5gp&#39;&gt;nevent1q…t5gp&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;hm... how do you use it to test 3rd party apis? From what I can tell you have to have a way to change example.com/api/xy in your code to localhost:1024/api/xy, right?
    </content>
    <updated>2025-04-09T10:29:48Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstg5h8mqe7xka26vwwpfqdtddfkj9xhcxvv33y7zjf8j8yrsvm7tgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlghldmka</id>
    
      <title type="html">Anybody in my social circles has any experience with vcrpy? Is it ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstg5h8mqe7xka26vwwpfqdtddfkj9xhcxvv33y7zjf8j8yrsvm7tgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlghldmka" />
    <content type="html">
      Anybody in my social circles has any experience with vcrpy? Is it a good tool to use for testing integrations with 3rd party APIs or best to use something like RESPX and create all the response fixtures manually?
    </content>
    <updated>2025-04-09T07:56:01Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9za2ezmswjyg99up3eeuajprpg8zasf8djs099yj58qm55n7qwpqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgj22v6y</id>
    
      <title type="html">I do like this idea, I&amp;#39;ll see if I can add it! Thank you for ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9za2ezmswjyg99up3eeuajprpg8zasf8djs099yj58qm55n7qwpqzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlgj22v6y" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs23vr8w4apyxnagdykps0xxjtudxzn920csflnrvtezv98juz2tccld9jyt&#39;&gt;nevent1q…9jyt&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I do like this idea, I&amp;#39;ll see if I can add it! Thank you for the feedback!
    </content>
    <updated>2025-04-06T10:21:31Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqe3xmy8pylrl236tk8kdf5kk7kgyjmgsl0sv4h3065anxflwk2tczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg47a0ul</id>
    
      <title type="html">We finally migrated the work project to Python 3.13, which means ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqe3xmy8pylrl236tk8kdf5kk7kgyjmgsl0sv4h3065anxflwk2tczyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlg47a0ul" />
    <content type="html">
      We finally migrated the work project to Python 3.13, which means that I&amp;#39;m now using Python 3.13 everywhere. Feels good 😎
    </content>
    <updated>2025-04-03T10:59:02Z</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs0u7xxp9z0ft02qzhdqq727lnhnxmw6nvt3auxnj0rak2pry6gxfgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlggwl6nt</id>
    
      <title type="html">not true. REST is one of the most widespread software ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs0u7xxp9z0ft02qzhdqq727lnhnxmw6nvt3auxnj0rak2pry6gxfgzyz3e4yv52vsgv0nryykrkncx5ya28q8n823rz7yv79ewvuqm5etlggwl6nt" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs94klp8rlyt7a574lj0kw9zxg469cfr6satxlyghjlyhu9zdmen6spqtdas&#39;&gt;nevent1q…tdas&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;not true. REST is one of the most widespread software architecture styles and open to anyone to use 🤪
    </content>
    <updated>2025-03-26T09:52:22Z</updated>
  </entry>

</feed>