<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <updated>2026-06-05T05:39:08Z</updated>
  <generator>https://njump.me</generator>

  <title>Nostr notes by Ьλ∂λ</title>
  <author>
    <name>Ьλ∂λ</name>
  </author>
  <link rel="self" type="application/atom+xml" href="https://njump.me/npub1lkxwap55syxrcz9d4759xx4hs7mw226x3elnf9nrvc45u4tx8hgseg4a7c.rss" />
  <link href="https://njump.me/npub1lkxwap55syxrcz9d4759xx4hs7mw226x3elnf9nrvc45u4tx8hgseg4a7c" />
  <id>https://njump.me/npub1lkxwap55syxrcz9d4759xx4hs7mw226x3elnf9nrvc45u4tx8hgseg4a7c</id>
  <icon>https://static.mamot.fr/accounts/avatars/000/385/231/original/f5379c77810f2caf.png</icon>
  <logo>https://static.mamot.fr/accounts/avatars/000/385/231/original/f5379c77810f2caf.png</logo>




  <entry>
    <id>https://njump.me/nevent1qqs8ddd2lsqzv8pkl46v6nq4gcdtk935qff69mzc6cr6559m0vrkuzszyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7azvrt0uc</id>
    
      <title type="html">Yup, this is very surprising... On my machine the threshold is ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs8ddd2lsqzv8pkl46v6nq4gcdtk935qff69mzc6cr6559m0vrkuzszyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7azvrt0uc" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs9zx353g34dse4lhf30nt0p9yhcnvpx4ljw6y9yshlk6mjuc83y2s8a92vu&#39;&gt;nevent1q…92vu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Yup, this is very surprising... On my machine the threshold is `setTimeout(..., 9)`. Safari 18.5, M1 MacBook Air&lt;br/&gt;&lt;br/&gt;From the JS side, it works as expected (logging .textContent shows &amp;#34;blocking&amp;#34;). &lt;br/&gt;&lt;br/&gt;Even if you trigger a sync layout in JS (with .getBoundingClientRect()), the UI isn&amp;#39;t updated until after the blocking code returns.&lt;br/&gt;&lt;br/&gt;It looks like they over-optimized the rendering scheduler.
    </content>
    <updated>2025-09-04T15:58:43Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsrqqlg4kmtaqgg8afpeqq3dys9ckmlvfmw5whusjlwdhug7ul0gnczyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7az9w6hg2</id>
    
      <title type="html">setTimeout schedules a (macro)task. Assuming setStatus is ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsrqqlg4kmtaqgg8afpeqq3dys9ckmlvfmw5whusjlwdhug7ul0gnczyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7az9w6hg2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsd39zqshp7l87jxguqyrdndxu78yc87qan4z3awhg52muaasc769qdhz8nu&#39;&gt;nevent1q…z8nu&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;setTimeout schedules a (macro)task.&lt;br/&gt;&lt;br/&gt;Assuming setStatus is synchronous (or scheduled for  the upcoming microtask queue which is drained immediately after synchronous code is done), the UI should be updated and this would be a Safari bug...
    </content>
    <updated>2025-09-04T13:57:20Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqszspymlx7l682tmemslyks0p02aw0n47qscwq8gkkgz496xhm778czyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7azdmtxtn</id>
    
      <title type="html">Why not use the closure scope for private fields as you&amp;#39;d do ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqszspymlx7l682tmemslyks0p02aw0n47qscwq8gkkgz496xhm778czyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7azdmtxtn" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2lsux7s8t35w4m42ls2z0wcc5j0faajjy2duzc2lhr9y2wjexcvsana7xn&#39;&gt;nevent1q…a7xn&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;Why not use the closure scope for private fields as you&amp;#39;d do in plain JS ?&lt;br/&gt;&lt;br/&gt;...&lt;br/&gt;&lt;br/&gt;Replying to myself : I guess it can make figuring things out with the debugger more ergonomic. Do you have other reasons ?
    </content>
    <updated>2025-03-17T20:54:00Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2lsux7s8t35w4m42ls2z0wcc5j0faajjy2duzc2lhr9y2wjexcvszyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7azyl268c</id>
    
      <title type="html">I might have initially missed the point... The chalenge is to use ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2lsux7s8t35w4m42ls2z0wcc5j0faajjy2duzc2lhr9y2wjexcvszyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7azyl268c" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsp8lz26nkrldcr8ld0dq2trrgts2kapuu4ttth0nct0f9grgskgjc5cg0p3&#39;&gt;nevent1q…g0p3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;I might have initially missed the point... &lt;br/&gt;&lt;br/&gt;The chalenge is to use the factory pattern with pseudo-private fields through type shenanigans ?
    </content>
    <updated>2025-03-17T20:45:17Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqsy9w0xjujarv2f7des67sdsvacdygjuez24fvm4pj8sey0xdpm0vqzyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7azzxl0y2</id>
    
      <title type="html">What about this ? interface Incrementor { readonly counter: ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqsy9w0xjujarv2f7des67sdsvacdygjuez24fvm4pj8sey0xdpm0vqzyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7azzxl0y2" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqs2zlyv9574fh03d3k4kycx8kpgtsdhc0rlt2jd4f8rv8pnetskwqg0p3qy3&#39;&gt;nevent1q…3qy3&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;What about this ?&lt;br/&gt;&lt;br/&gt;interface Incrementor {&lt;br/&gt;  readonly counter: number;&lt;br/&gt;  inc(): void&lt;br/&gt;}&lt;br/&gt;function createIncrementor2(i = 0): Incrementor {&lt;br/&gt;  return {&lt;br/&gt;    get counter() {return i},&lt;br/&gt;    inc() {&lt;br/&gt;      i&#43;&#43;;&lt;br/&gt;    },&lt;br/&gt;  }&lt;br/&gt;}&lt;br/&gt;&lt;br/&gt;&lt;a href=&#34;https://www.typescriptlang.org/play/#code/JYOwLgpgTgZghgYwgAgJIgVCBbC4D2UyA3gFDLJZwAm&#43;IANgJ7IL4Cu40AXMiG9gCNoAbnLJQCABQBKHgDd8waqQC&#43;pGBwRhgdFlUjpMOPGEIAmSQjZQs4ZAF5kABlloMWXASJkKWMNZASMQoAcwgwFnZOKBkSPwCWa1swFQAaYPEMWJ8KXKsbEwBqQtFc5DSxNTUgA&#34;&gt;https://www.typescriptlang.org/play/#code/JYOwLgpgTgZghgYwgAgJIgVCBbC4D2UyA3gFDLJZwAm&#43;IANgJ7IL4Cu40AXMiG9gCNoAbnLJQCABQBKHgDd8waqQC&#43;pGBwRhgdFlUjpMOPGEIAmSQjZQs4ZAF5kABlloMWXASJkKWMNZASMQoAcwgwFnZOKBkSPwCWa1swFQAaYPEMWJ8KXKsbEwBqQtFc5DSxNTUgA&lt;/a&gt;
    </content>
    <updated>2025-03-17T20:01:44Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs2xzdful6wdqrq3qz6wcdnyexc56473mfdet4trnjlt60scdzpmjszyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7azw24gtx</id>
    
      <title type="html">You can only turn bluetooth off until the next reboot on iPhone. ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs2xzdful6wdqrq3qz6wcdnyexc56473mfdet4trnjlt60scdzpmjszyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7azw24gtx" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqsvlgj36uhpqmrc38t0sfymexq9p8sv2eagnxka2fgr5jwsf9z33kq0nh6hx&#39;&gt;nevent1q…h6hx&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;You can only turn bluetooth off until the next reboot on iPhone. It been like this for years, no idea why.
    </content>
    <updated>2025-03-16T21:34:29Z</updated>
  </entry>

  <entry>
    <id>https://njump.me/nevent1qqs8ua6r4pu38p0fr2wvfnvazu26wchs4qs5kuvluhqkpm4xzmfyfgqzyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7az3az9g3</id>
    
      <title type="html">But if you&amp;#39;re quoting plain language, double quotes let one ...</title>
    
    <link rel="alternate" href="https://njump.me/nevent1qqs8ua6r4pu38p0fr2wvfnvazu26wchs4qs5kuvluhqkpm4xzmfyfgqzyr7cem5xjjqsc0qg4kh6s5c6k7rmdeftg6887dykvdnzknj4vc7az3az9g3" />
    <content type="html">
      In reply to &lt;a href=&#39;/nevent1qqspvvn93ds4s6k2max7p9rdx9kqxes5qzs5q4d37m5e36lmazd93ushxas2l&#39;&gt;nevent1q…as2l&lt;/a&gt;&lt;br/&gt;_________________________&lt;br/&gt;&lt;br/&gt;But if you&amp;#39;re quoting plain language, double quotes let one have unescaped apostrophes, which are pretty common in English and many other languages (more so than quoted text).
    </content>
    <updated>2025-02-16T17:07:33Z</updated>
  </entry>

</feed>