<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-07-27T18:42:46&#43;02:00</updated>
  <generator>https://nostr.ae</generator>

  <title>Nostr notes by Andrew Tropin</title>
  <author>
    <name>Andrew Tropin</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://nostr.ae/npub109eqdt7yn6rc5ylm3rn4u6zcjlcgn6z3l5xkcy2mjqyrfa3x2mcqx5suq0.rss" />
  <link href="https://nostr.ae/npub109eqdt7yn6rc5ylm3rn4u6zcjlcgn6z3l5xkcy2mjqyrfa3x2mcqx5suq0" />
  <id>https://nostr.ae/npub109eqdt7yn6rc5ylm3rn4u6zcjlcgn6z3l5xkcy2mjqyrfa3x2mcqx5suq0</id>
  <icon>https://cdn.fosstodon.org/accounts/avatars/000/110/000/original/c6a8ed24127361a4.jpg</icon>
  <logo>https://cdn.fosstodon.org/accounts/avatars/000/110/000/original/c6a8ed24127361a4.jpg</logo>




  <entry>
    <id>https://nostr.ae/nevent1qqsz5826kwu4fddx8n29q2qe7nqcdlgf8hd34d2t47fzxehagam389qzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0q6s2wfy</id>
    
      <title type="html">Yesterday, during a social ride, I talked with a guy who was ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsz5826kwu4fddx8n29q2qe7nqcdlgf8hd34d2t47fzxehagam389qzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0q6s2wfy" />
    <content type="html">
      Yesterday, during a social ride, I talked with a guy who was working in Borland back in the days (~30 years ago). He mentioned that Open Source killed a lot of software business at that time.&lt;br/&gt;&lt;br/&gt;Our talk reminded me that often it&amp;#39;s better to pay for Free and Open Source Software despite it being free (as in a free beer).&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://trop.in/blog/pay-for-software-that-respects-you&#34;&gt;https://trop.in/blog/pay-for-software-that-respects-you&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#foss #floss #opensource #linux #grapheneos #fdroid #mastodon&lt;br/&gt; &lt;img src=&#34;https://cdn.fosstodon.org/media_attachments/files/116/989/743/098/816/580/original/46723ba15d06fc6b.jpeg&#34;&gt; &lt;br/&gt;
    </content>
    <updated>2026-07-27T05:20:40&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsqu8w6awytp4a7chav3mhl08n8d55g3k7j80c98pggx9t6c3w3l5qzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0q3mas5e</id>
    
      <title type="html">Reflection on REPL, nREPL, ad-hoc protocols on top of tcp REPLs ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsqu8w6awytp4a7chav3mhl08n8d55g3k7j80c98pggx9t6c3w3l5qzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0q3mas5e" />
    <content type="html">
      Reflection on REPL, nREPL, ad-hoc protocols on top of tcp REPLs in the context of editors/IDE/programmatic tooling, what better suites them and stands the test of time. &lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://batsov.com/articles/2026/05/20/nrepl-forever/&#34;&gt;https://batsov.com/articles/2026/05/20/nrepl-forever/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#clojure #lisp #scheme #repl #nrepl
    </content>
    <updated>2026-06-05T04:56:42&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvtyufrpjamz82nux92qg47z0s9qlzqcpkrjyr5ej5cawxmfgp9wszypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0q4k7ur2</id>
    
      <title type="html">I&amp;#39;ve opened https://vim-jp.org/vimdoc-en/filetype.html and ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvtyufrpjamz82nux92qg47z0s9qlzqcpkrjyr5ej5cawxmfgp9wszypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0q4k7ur2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqstn2c2zg8y6vv2qaff6evrk9pu027vhje09djs79uvphv7vuwkq9smg59u7&#39;&gt;nevent1q…59u7&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I&amp;#39;ve opened&lt;br/&gt;&lt;a href=&#34;https://vim-jp.org/vimdoc-en/filetype.html&#34;&gt;https://vim-jp.org/vimdoc-en/filetype.html&lt;/a&gt; and got hard flash backs. &lt;br/&gt;&lt;br/&gt;It looks exceptionally cool and nostalgic, but when I scrolled to VimL listings I almost got an anxiety attack.
    </content>
    <updated>2026-03-01T14:10:06&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqstn2c2zg8y6vv2qaff6evrk9pu027vhje09djs79uvphv7vuwkq9szypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0q80vg2g</id>
    
      <title type="html">One of the reasons I don&amp;#39;t like &amp;#34;Plain Text&amp;#34; is that ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqstn2c2zg8y6vv2qaff6evrk9pu027vhje09djs79uvphv7vuwkq9szypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0q80vg2g" />
    <content type="html">
      One of the reasons I don&amp;#39;t like &amp;#34;Plain Text&amp;#34; is that you have to do this fucking trickery to get any useful syntax tree out of it:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://blog.pulsar-edit.dev/posts/20231110-savetheclocktower-modern-tree-sitter-part-5/#markdown-and-front-matter&#34;&gt;https://blog.pulsar-edit.dev/posts/20231110-savetheclocktower-modern-tree-sitter-part-5/#markdown-and-front-matter&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;or just™ use regexp and get it working 60% of the time (e.g. as most language modes do in #emacs, or filetype&amp;#39;s -syntax were in #vim).&lt;br/&gt;&lt;br/&gt;P.S. Parsing with grammars (&#43;nested grammars injections) is much more reliable than regexps, but still have a number of edge cases, where it fails.
    </content>
    <updated>2026-03-01T14:04:12&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsd2ljnh2jt5zh4l0w7d2tlz5kypwayd45pyjfhzp6324gg3fs8hvgzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qzjz2xe</id>
    
      <title type="html">Internet thinks we need good associative data structures and sane ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsd2ljnh2jt5zh4l0w7d2tlz5kypwayd45pyjfhzp6324gg3fs8hvgzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qzjz2xe" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs8hmzshvq5fswp3kct3hz6yp4cllm6d8kl7mnupeyxxhuarssqv8q69ve75&#39;&gt;nevent1q…ve75&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Internet thinks we need good associative data structures and sane pattern matching for them :)
    </content>
    <updated>2026-01-24T14:18:22&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsvem8y8seqdclw37kqxedpxqd0y0ufu3fxg5nqjhfjuguc2futn8gzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qjrj09g</id>
    
      <title type="html">Cooking is where reproducibility crisis really shines. Have you ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsvem8y8seqdclw37kqxedpxqd0y0ufu3fxg5nqjhfjuguc2futn8gzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qjrj09g" />
    <content type="html">
      Cooking is where reproducibility crisis really shines. Have you ever tried to cook the same dish in the other country? or a couple years later after your previous try? or both &amp;gt;&amp;lt;?&lt;br/&gt;&lt;br/&gt;Where is my guix cook?
    </content>
    <updated>2025-11-26T10:02:55&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqs9qdeyjlavqem8j6pwgvdk6ppv2phdkdw8n6pnaa2wm8erkmjwzcszypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qzst4vl</id>
    
      <title type="html">Imagine I have a couple VPNs&#43;NAT and a few socks proxies (ssh ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqs9qdeyjlavqem8j6pwgvdk6ppv2phdkdw8n6pnaa2wm8erkmjwzcszypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qzst4vl" />
    <content type="html">
      Imagine I have a couple VPNs&#43;NAT and a few socks proxies (ssh tunnel, shadowsocks, vless, etc). Can you suggest a good way to monitor the &amp;#34;connection quality&amp;#34; of each of them? (on my local machine)&lt;br/&gt;&lt;br/&gt;I want to easily see, which are degraded (usually due to ISP/gov doing DPI and blocking related traffic) and which are nice and healthy.&lt;br/&gt;&lt;br/&gt;Cc: &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1fnejmanw24sxweer9t5ncla5v5ekdf6mvtwnjmkm7em6vxjnxf6swp87ll&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;Daniel Lakeland&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1fne…87ll&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt; &lt;br/&gt;&lt;br/&gt;#proxy #i2p #tor #freedom #network #networking #socks #dpi #wireguard #vless #shadowsocks #AskFedi #AskLemmy
    </content>
    <updated>2025-09-08T07:49:14&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgj8c6g5p6pw7g9et2c0eely55hr8vpy2xefymrxfdt7kpx54pdcqzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0quhcnh4</id>
    
      <title type="html">I found simple, non-intrusive, and surprisingly powerful tool for ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgj8c6g5p6pw7g9et2c0eely55hr8vpy2xefymrxfdt7kpx54pdcqzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0quhcnh4" />
    <content type="html">
      I found simple, non-intrusive, and surprisingly powerful tool for web analytics. And it&amp;#39;s also looks very neat.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://trop.in/blog/no-js-no-bs-ethical-web-analytics&#34;&gt;https://trop.in/blog/no-js-no-bs-ethical-web-analytics&lt;/a&gt;
    </content>
    <updated>2025-06-01T10:12:37&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsgzalmdqndvq5sjapllysnhml87g9wnrmsyev7ndsfrvrh0r7xgwqzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qjrf03d</id>
    
      <title type="html">This e-ink gadget is sexy: ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsgzalmdqndvq5sjapllysnhml87g9wnrmsyev7ndsfrvrh0r7xgwqzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qjrf03d" />
    <content type="html">
      This e-ink gadget is sexy:&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://shop.m5stack.com/products/m5papers3-esp32s3-development-kit&#34;&gt;https://shop.m5stack.com/products/m5papers3-esp32s3-development-kit&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#eink #ebook #esp32
    </content>
    <updated>2025-04-10T06:45:34&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswt8zx662jjfc9ap0xel6zyfhw4ejh2jyh0xd2kvgyn3944wj3hngzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qu9cxaf</id>
    
      <title type="html">Do you remember that Guix Social is tomorrow (January 16)? Guess ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswt8zx662jjfc9ap0xel6zyfhw4ejh2jyh0xd2kvgyn3944wj3hngzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qu9cxaf" />
    <content type="html">
      Do you remember that Guix Social is tomorrow (January 16)?&lt;br/&gt;&lt;br/&gt;Guess who is giving a talk on modern and extensible Guile IDE? :)&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.meetup.com/guix-social/events/304634420/&#34;&gt;https://www.meetup.com/guix-social/events/304634420/&lt;/a&gt;&lt;br/&gt;&lt;a href=&#34;https://meet.jit.si/london-guix-meetup&#34;&gt;https://meet.jit.si/london-guix-meetup&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;#guile #guix #scheme #lisp
    </content>
    <updated>2025-01-15T15:23:02&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsy2xgg725mrw6eheqrpkdndrf44psdkt5tknmlpuzpref9hcsrfnczypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0q24knep</id>
    
      <title type="html">Privacy-conserned regular laptop user: covers a webcam with tape. ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsy2xgg725mrw6eheqrpkdndrf44psdkt5tknmlpuzpref9hcsrfnczypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0q24knep" />
    <content type="html">
      Privacy-conserned regular laptop user: covers a webcam with tape.&lt;br/&gt;&lt;br/&gt;Privacy-conserned Linux Distro dev: not bothered enough to finish web camera driver.
    </content>
    <updated>2024-12-27T07:50:38&#43;01:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsyjt0sphp0jjznmpjhshmn6v0lr5wnzmd083c43gm5mnsf4pfcghczypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qgdck5e</id>
    
      <title type="html">I had a lot of talks recently with Guile hackers, explorers and ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsyjt0sphp0jjznmpjhshmn6v0lr5wnzmd083c43gm5mnsf4pfcghczypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qgdck5e" />
    <content type="html">
      I had a lot of talks recently with Guile hackers, explorers and&lt;br/&gt;educators on the cons and pros of Guile.&lt;br/&gt;&lt;br/&gt;One particular issue is a lack of common language idioms and best&lt;br/&gt;practicies.  The zoo of SRFIs and ICE-9s, 3 implementation of&lt;br/&gt;exceptions, 3 of records and a bunch more.&lt;br/&gt;&lt;br/&gt;On possible solution is a style guide, which contains idioms, best&lt;br/&gt;practices for writing Guile.  We can start simple as&lt;br/&gt;&lt;a href=&#34;https://github.com/bbatsov/clojure-style-guide&#34;&gt;https://github.com/bbatsov/clojure-style-guide&lt;/a&gt; and grow it into&lt;br/&gt;something like &lt;a href=&#34;https://practical.li/clojure/testing/unit-testing/&#34;&gt;https://practical.li/clojure/testing/unit-testing/&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;WDYT?&lt;br/&gt;&lt;br/&gt;#guile #lisp
    </content>
    <updated>2024-08-30T18:06:01&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqsg5wln6jcn6g790327ktvfvvd8t4ev9udcxm9muk9q4xycqwrvpgszypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0q62u79t</id>
    
      <title type="html">Which hand do you use to tap space while typing? #keyboard ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqsg5wln6jcn6g790327ktvfvvd8t4ev9udcxm9muk9q4xycqwrvpgszypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0q62u79t" />
    <content type="html">
      Which hand do you use to tap space while typing?&lt;br/&gt;&lt;br/&gt;#keyboard #layout #ergonomics
    </content>
    <updated>2024-08-21T11:20:02&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqst8mvkgqq9s0kc9ggh5c6hkxc974956cu73tcnyd89du52ngnkaeszypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qswps7r</id>
    
      <title type="html">Have anybody tried Zed editor? What is your experience? At first ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqst8mvkgqq9s0kc9ggh5c6hkxc974956cu73tcnyd89du52ngnkaeszypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qswps7r" />
    <content type="html">
      Have anybody tried Zed editor? What is your experience?&lt;br/&gt;&lt;br/&gt;At first glance it looks really nice. Slim, performant, no legacy, tree-sitter first (no more regexp hell, hacks and bugs).&lt;br/&gt;&lt;br/&gt;WebAssembly for extensions, which means you can write them in whatever compiles to wasm, including guile-hoot scheme.&lt;br/&gt;&lt;br/&gt;#wasm #vim #emacs #scheme #lisp #zed #vscode
    </content>
    <updated>2024-08-18T11:57:38&#43;02:00</updated>
  </entry>

  <entry>
    <id>https://nostr.ae/nevent1qqswh5kq7ft5hhhm0n6mkjmxqm80ql4r600jknlvyyeaupfj9ry7mrgzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qrugjnq</id>
    
      <title type="html">Magit is the tool that makes me fire dozens of commits weekly ...</title>
    
    <link rel="alternate" href="https://nostr.ae/nevent1qqswh5kq7ft5hhhm0n6mkjmxqm80ql4r600jknlvyyeaupfj9ry7mrgzypuhyp40cj0g0zsnlwywwhngtztlpz0g287s6mq3twgqsd8kyet0qrugjnq" />
    <content type="html">
      Magit is the tool that makes me fire dozens of commits weekly without getting in the way or triggering RSI.&lt;br/&gt;&lt;br/&gt;Rebasing, branch and worktree management, amends, fixups and all other important functionality is 3-4 presses away.&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://emacsair.me/2024/08/09/magit-4.0/&#34;&gt;https://emacsair.me/2024/08/09/magit-4.0/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Good work &lt;span itemprop=&#34;mentions&#34; itemscope itemtype=&#34;https://schema.org/Person&#34;&gt;&lt;a itemprop=&#34;url&#34; href=&#34;/npub1ghj9galhz2k3t24kuxjn9etqujgqcuz7qpvdzuypts6gck3fhkxqh56ajz&#34; class=&#34;bg-lavender dark:prose:text-neutral-50 dark:text-neutral-50 dark:bg-garnet px-1&#34;&gt;&lt;span&gt;npub1ghj9galhz2k3t24kuxjn9etqujgqcuz7qpvdzuypts6gck3fhkxqh56ajz&lt;/span&gt; (&lt;span class=&#34;italic&#34;&gt;npub1ghj…6ajz&lt;/span&gt;)&lt;/a&gt;&lt;/span&gt;, keep rocking.&lt;br/&gt;&lt;br/&gt;Support magit project financially or by spreading the word, especially if you benifit from it financially or it saves your precious time.&lt;br/&gt;&lt;br/&gt;#emacs #magit #git #foss #floss #funding
    </content>
    <updated>2024-08-11T06:24:30&#43;02:00</updated>
  </entry>

</feed>