<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title><![CDATA[My Blog]]></title>
<description><![CDATA[My Blog]]></description>
<link>https://jure.smolar.si/</link>
<atom:link href="https://jure.smolar.si/rss.xml" rel="self" type="application/rss+xml" />
<lastBuildDate>Tue, 28 Jul 2026 14:59:10 +0200</lastBuildDate>
<item>
  <title><![CDATA[Commutative diagrams on the blog]]></title>
  <description><![CDATA[
<p>
Ladies and gentlemen. Peek this crazy shit:
</p>

<p>
<span class="latex-svg"><img src="/ltximg/latex-39812a74a495455702a70c36a99a608579c5a7da.svg" alt="\[\begin{tikzcd}
	A &amp;&amp; B \\
	\\
	{A&apos;} &amp;&amp; {B&apos;}
	\arrow[&quot;f&quot;, from=1-1, to=1-3]
	\arrow[&quot;g&quot;&apos;, from=1-1, to=3-1]
	\arrow[&quot;h&quot;, from=1-3, to=3-3]
	\arrow[&quot;{f&apos;}&quot;&apos;, from=3-1, to=3-3]
\end{tikzcd}\]" /></span>
</p>
<div class="taglist"><a href="https://jure.smolar.si/tags.html"><span class="tag-label">Tags</span></a><span class="tag-separator">: </span><span class="taglist__tags"><a href="https://jure.smolar.si/tag-meta.html" class="tag" data-tag="meta" data-index="0">meta</a> </span></div>]]></description>
  <category><![CDATA[meta]]></category>
  <link>https://jure.smolar.si/20260723235900-commutative_diagrams_on_the_blog.html</link>
  <guid>https://jure.smolar.si/20260723235900-commutative_diagrams_on_the_blog.html</guid>
  <pubDate>Thu, 23 Jul 2026 00:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Links for June 2026]]></title>
  <description><![CDATA[
<ul class="org-ul">
<li><a href="https://www.youtube.com/watch?v=jE83YERuwFQ">Zotero - YouTube</a></li>
<li><a href="https://ncatlab.org/nlab/show/Science+of+Logic">Science of Logic in nLab</a></li>
<li><a href="https://www.youtube.com/watch?v=cPf9E66_Ib4">Barefoot Gen (1983) is an anime based on Keiji Nakazawa's manga, Hiroshima bombed tragedy. - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=zv0KSY3VbPE">Barefoot Gen's Hiroshima Trailer - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=t-2eEz5-Fp0">The Alchemistress | The Art of Large Format Photography - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=RiF-NFMbfvA">CORRUPT KNIGHT (hexcore) - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=Yc4aKEcxeJU">Walter Wick and the I Spy Connected Universe - YouTube</a></li>
<li><p>
<a href="https://www.experimental-history.com/p/stop-eating-lady-gagas-oreos">Stop eating Lady Gaga's Oreos - by Adam Mastroianni</a>
</p>
<blockquote>
<p>
I think this is why we now tolerate such blatant greed among famous people: we think we have a chance of becoming one of them. We once saw ourselves as temporarily embarrassed millionaires; now we see ourselves as temporarily unknown celebrities.
</p>
</blockquote></li>
<li><a href="https://www.youtube.com/watch?v=sz8luEznxbM">How 'I Spy' Books Are Made - YouTube</a></li>
<li><p>
<a href="https://en.wikipedia.org/wiki/Max_Martin">Max Martin - Wikipedia</a>
</p>
<blockquote>
<p>
Since 1998, Martin has written or co-written 30 Billboard Hot 100 number-one hit songs (most of which he has also produced or co-produced). Eight of these songs debuted at number one on the chart.
</p>

<ol class="org-ol">
<li>1998 – "&#x2026;Baby One More Time" by Britney Spears</li>
<li>2000 – "It's Gonna Be Me" by NSYNC</li>
<li>2008 – "I Kissed a Girl" by Katy Perry</li>
<li>2008 – "So What" by Pink</li>
<li>2009 – "My Life Would Suck Without You" by Kelly Clarkson</li>
<li>2009 – "3" by Britney Spears</li>
<li>2010 – "California Gurls" by Katy Perry featuring Snoop Dogg</li>
<li>2010 – "Teenage Dream" by Katy Perry</li>
<li>2010 – "Raise Your Glass" by Pink</li>
<li>2011 – "Hold It Against Me" by Britney Spears</li>
<li>2011 – "E.T." by Katy Perry featuring Kanye West</li>
<li>2011 – "Last Friday Night (T.G.I.F.)" by Katy Perry</li>
<li>2012 – "Part of Me" by Katy Perry</li>
<li>2012 – "One More Night" by Maroon 5</li>
<li>2012 – "We Are Never Ever Getting Back Together" by Taylor Swift</li>
<li>2013 – "Roar" by Katy Perry</li>
<li>2013 – "Dark Horse" by Katy Perry featuring Juicy J</li>
<li>2014 – "Shake It Off" by Taylor Swift</li>
<li>2014 – "Blank Space" by Taylor Swift</li>
<li>2015 – "Bad Blood" by Taylor Swift featuring Kendrick Lamar</li>
<li>2015 – "Can't Feel My Face" by The Weeknd</li>
<li>2016 – "Can't Stop the Feeling!" by Justin Timberlake</li>
<li>2019 – "Blinding Lights" by The Weeknd</li>
<li>2021 – "Save Your Tears" by The Weeknd and Ariana Grande</li>
<li>2021 – "My Universe" by Coldplay and BTS</li>
<li>2024 – "Yes, And?" by Ariana Grande</li>
<li>2024 – "We Can't Be Friends (Wait for Your Love)" by Ariana Grande</li>
<li>2025 – "The Fate of Ophelia" by Taylor Swift</li>
<li>2026 – "Opalite" by Taylor Swift</li>
<li>2026 - "Hate That I Made You Love Me" by Ariana Grande</li>
</ol>
</blockquote></li>
<li><a href="https://www.youtube.com/watch?app=desktop&amp;v=2jJgafeg2pc">MIRA TURNS INTO STONE?! KPop Demon Hunters Animation - YouTube</a>
The first time I encountered "true" slop. Fascinating.</li>
<li><a href="https://www.youtube.com/watch?v=8dIBqrRCCYE">The final act of genius is being retarded - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=ojHE4fK0EgM">Roaring Knight Gets Run Over (But it's Discord) - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=EgsUDby0X1M">Dirac's Belt Trick: Why a 2π rotation twists space but a 4π rotation fixes it - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=eq7fR9ISuCw">Electricity Does Not "Split" H₂O. And That's VERY Useful. - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=wnXCdwHfzEU">「The Best Villains ❄️」Johan Liebert x Griffith - Sleepwalker「AMV/EDIT」4K - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=nGIvc3VqQoM">Butterflies - Jacob Collier [OFFICIAL AUDIO] - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=qT62D-sWNE4">Poor Man's Clean Room - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=Qpg_3PMPFrM">How to Read a Newspaper - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=GqJl67MHhnM">deltarune chapter 5, apparently - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=NgHvdCcmQ4o">Once you see this, You’ll see Competitive Games Differently - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=IbownJoPASI">You Need 140+ IQ To Understand This Video - YouTube</a>
Perfect schizopost. Peak slop. Love this shit.</li>
<li><a href="https://www.youtube.com/watch?v=fO9iRDPXvT4">The Most Arrogant Science Book Ever Written - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=qv6OOuPI5c0">George Washington- [Brad Neely] - YouTube</a></li>
</ul>
<div class="taglist"><a href="https://jure.smolar.si/tags.html"><span class="tag-label">Tags</span></a><span class="tag-separator">: </span><span class="taglist__tags"><a href="https://jure.smolar.si/tag-links.html" class="tag" data-tag="links" data-index="0">links</a> </span></div>]]></description>
  <category><![CDATA[links]]></category>
  <link>https://jure.smolar.si/20260601235900-links_for_june_2026.html</link>
  <guid>https://jure.smolar.si/20260601235900-links_for_june_2026.html</guid>
  <pubDate>Wed, 01 Jul 2026 00:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Links for May 2026]]></title>
  <description><![CDATA[
<ul class="org-ul">
<li><a href="https://www.youtube.com/watch?v=7YrdI7h2XoY">Glass is glass - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=Jr58Uf1srfo">nosferatu vogueing - YouTube</a></li>
<li><p>
<a href="https://www.youtube.com/watch?v=KnUFH5GX_fI">Nobody understands the point of hybrid cars - YouTube</a>
</p>
<blockquote>
<p>
<a href="https://www.youtube.com/watch?v=KnUFH5GX_fI&amp;t=1657">That is why the car doesn't charge the battery with its engine unless the battery is too low</a>.
When the car is parked as it was in the car wash, it does use the battery pack like a buffer to power its accessories, and will run the engine for a few minutes at a time to charge it back up when it gets low.
In fact, here's exactly what that looks like: with the vehicle stationary, once the battery pack dips below 40%, the engine switches on and charges the battery up to about 48%, a process which takes three minutes.
And then it will shut the engine back off and use the energy it just stored until it's too low again.
But that's just a fancy kind of idling this drivetrain can do thanks to its fully electric suite of accessories.
Otherwise, when the vehicle is being driven, the battery pack is charged almost exclusively with regenerative braking.
</p>
</blockquote></li>
<li><a href="https://www.youtube.com/watch?v=Yva2RpQrWQs">Lighting Then VS Now: Fire Before Electricity - YouTube</a></li>
<li><a href="https://app.wallabag.it/share/6a04a851f17059.22385411">As We May Think</a></li>
<li><a href="https://www.youtube.com/watch?v=2JZ4AemnZRk">The Legend of the HP Palmtop Computer - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?app=desktop&amp;v=h-5BC5OXw1k">jerma skrillex - YouTube</a></li>
<li><a href="https://www.bbc.co.uk/programmes/p006lpdb">BBC One - Animal Camera, Airborne, In-flight movies</a></li>
<li><a href="https://www.youtube.com/watch?v=pI63Rbxml5U">Breathtaking Eagle POV Flying Over The Alps in 4K - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=_YEyzvtMx3s">GoPro: Pelican Learns To Fly - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=D3YrDp_v0gI">Jeff Nippard Is Coaching Me Through The Starvation In Gaza 🇵🇸🏋‍♂️ - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=jagKnS2mE7w">The Ancient Practice of Mongolian Eagle Hunting | The Red Bulletin Presents - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=1fQFi3lzrGM">The Last Eagle Hunters Of Mongolia | Foreign Correspondent - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=FZeVzpYQFf8">The Making of Loop Hero | Noclip Documentary - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=h7cN7x35qJQ">I'M NOT A BIG FAN OF ARGONIANS - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=PiYSbR2B85w">How Much Muscle Did I Gain In 365 Days? (Scientific Experiment) - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=0CQhBN9vqtw">My Grandparents' Border Dispute with Neighbors: Every Day - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=h3hnTa3zOrk">Switch Angel - Destroy! Destroy! (Animated Music Video) - YouTube</a></li>
<li><a href="https://www-cs-faculty.stanford.edu/~knuth/iaq.html">Knuth: Infrequently Asked Questions</a></li>
<li><a href="https://en.wikipedia.org/wiki/Operation_Vegetarian">Operation Vegetarian - Wikipedia</a></li>
<li><a href="https://www.youtube.com/watch?v=VVw9o6kSDtc">[SDVX] 666 [MXM] PUC - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=V3QF1uAvbkU">Emacs or VI: The Definitive Answer. - YouTube</a></li>
<li><a href="https://supermemo.guru/wiki/SuperMemo_does_not_work_for_kids">SuperMemo does not work for kids - supermemo.guru</a></li>
<li><a href="https://www.youtube.com/watch?v=NFBqrICd9Kk">Al-Aqsa Mosque: The status quo explained - YouTube</a></li>
<li><a href="https://arslan.io/2025/11/18/my-two-part-desk-setup/">My two-part desk setup</a></li>
</ul>
<div class="taglist"><a href="https://jure.smolar.si/tags.html"><span class="tag-label">Tags</span></a><span class="tag-separator">: </span><span class="taglist__tags"><a href="https://jure.smolar.si/tag-links.html" class="tag" data-tag="links" data-index="0">links</a> </span></div>]]></description>
  <category><![CDATA[links]]></category>
  <link>https://jure.smolar.si/20260501224352-links_for_may_2026.html</link>
  <guid>https://jure.smolar.si/20260501224352-links_for_may_2026.html</guid>
  <pubDate>Mon, 01 Jun 2026 00:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Links for April 2026]]></title>
  <description><![CDATA[
<p>
I was too lazy to write up excerpts for the links this month. Mea maxima culpa.
</p>
<ul class="org-ul">
<li><a href="https://www.youtube.com/watch?v=n2ZHXTiM9j0">Coca: The Coke Plant - Metta Beshay</a></li>
<li><a href="https://chrismaiorana.com/git-commits-tell-the-story/">Let the commits tell the story - Chris Maiorana</a></li>
<li><a href="https://www.youtube.com/watch?v=IBRL7D0wcXM">Keeping your refrigerator stocked will get you many women - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=NWHXo3clywk">My Chevy Caprice on 24s and I, Ballin at MCDONALDS!! - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=uDYvpmvYg9Q">Ants on Drugs - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=essY2Phw91Q">Apashe Live Orchestra At Montreal Jazz Festival [Full Show] - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=mrZcEk_4oNI">[Jerma] Groggy Gary (Best Joke 2022 Candidate) - YouTube</a>
Probably the best stupid video I've seen this month. Only 4 years late.</li>
<li><a href="https://en.wikipedia.org/wiki/Maze:_Solve_the_World%27s_Most_Challenging_Puzzle">Maze: Solve the World's Most Challenging Puzzle - Wikipedia</a>
The main inspiration for the fantastic Blue Prince which I finished this month.
Tempted to give it a try.</li>
<li><a href="https://en.wikipedia.org/wiki/Taguchi_methods">Taguchi methods - Wikipedia</a></li>
<li><a href="https://www.jneurosci.org/content/36/43/11133.long">The Rubber Tail Illusion as Evidence of Body Ownership in Mice | Journal of Neuroscience</a></li>
<li><a href="https://www.smithsonianmag.com/smart-news/octopuses-fall-for-the-rubber-hand-illusion-just-like-humans-pointing-to-a-sense-of-body-ownership-180987024/">Octopuses Fall for the Rubber Hand Illusion, Just Like Humans, Pointing to a Sense of Body Ownership</a></li>
<li><a href="https://www.youtube.com/watch?v=NNC6raUvXbM">oOOOooo&#x2026; you want to learn about lichen~ - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=R7ela4cZPjA">The 3 Types of Men Who Practice Semen Retention - YouTube</a>
Not a video or channel to be taken too seriously, but immaculate vibes.</li>
<li><a href="https://juliamartins.co.uk/the-business-of-virginity-in-18th-century-london">The Business of Virginity in 18th-Century London</a></li>
<li><a href="https://ebrary.net/120631/philosophy/hellebore_borage">Hellebore and Borage - Philosophical Issues in Pharmaceutics: Development, Dispensing, and Use</a></li>
<li><a href="https://www.youtube.com/watch?v=1kHAoXR-Ksw">Fenomen - Vrni se (1986 Slovenian synth pop) - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=xRAAqyfFuHU">Very Strange House in Minecraft That I Did NOT Build&#x2026; - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=PpeC_ex6Bkc">67 Aluminum Plates - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=wO61D9x6lNY">Outside In - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=8jVogdTJESw">Pushing Simulation to the LIMIT to Find Order in Chaos - YouTube</a></li>
<li><a href="https://www.youtube.com/watch?v=RICbYFot2mQ">Can you beat the ORIGINAL Skyblock? - YouTube</a></li>
</ul>
<div class="taglist"><a href="https://jure.smolar.si/tags.html"><span class="tag-label">Tags</span></a><span class="tag-separator">: </span><span class="taglist__tags"><a href="https://jure.smolar.si/tag-links.html" class="tag" data-tag="links" data-index="0">links</a> </span></div>]]></description>
  <category><![CDATA[links]]></category>
  <link>https://jure.smolar.si/20260406230308-links_for_april_2026.html</link>
  <guid>https://jure.smolar.si/20260406230308-links_for_april_2026.html</guid>
  <pubDate>Fri, 01 May 2026 00:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Links for March 2026]]></title>
  <description><![CDATA[
<ul class="org-ul">
<li><a href="https://www.nytimes.com/2026/03/02/world/asia/china-education-ai.html">China's Parents Are Outsourcing the Homework Grind to A.I.</a></li>
<li><a href="https://www.youtube.com/watch?v=QTEUiTe3AAM">Cave Story: A Lyrical Walkthrough (Full Vid) - CaveStoryRap</a></li>
<li><a href="https://www.youtube.com/watch?v=55WS15Lj5Zo">Wolves and Ravens: Nature's Best Friends - YouTube</a></li>
<li><p>
<a href="https://acoup.blog/2026/03/13/collections-warfare-in-dune-part-ii-the-fremen-jihad/">Collections: Warfare in Dune, Part II: The Fremen Jihad – A Collection of Unmitigated Pedantry</a>
</p>
<blockquote>
<p>
That position – that the destruction of the Fremen Jihad is not merely possible but inevitable to the point
that Paul cannot stop it – puts a very, very high bar on its military plausibility. In particular it rules out any
defense that Fremen victory is simply because Paul, as a prescient military leader, can simply pull an
endless series of ‘inside straights.’ Remember: the Fremen explicitly still win even in Paul Muad’Dib
Atredies [sic] is dead at the hands of Feyd Rautha Harkonnen. <b>It is not enough for it to be possible for the
Fremen to win, it must be impossible for them to lose.</b>
</p>


<p>
Now in the thematic world of Dune, that is because military victory is fundamentally a product of the
Fremen Mirage: <b>societies have an inherent vitality to them and the Fremen are vital</b>, hardened by the
harshness of Arrakis, in a way that the Great Houses are not. In Herbert’s mind, that is enough: <b>the ‘hard
men’ created by the ‘hard times’ of Arrakis will inevitably triumph</b> once an event – the emergence of Paul
as a heroic figure – spurs them into action. Paul is thus die Weltseele zu Pferde, “the world-spirit on
horseback,” the archetypal ‘great man of history’ who embodies supposed historical forces which are
larger than him, which act through him and which would act without him.
</p>
</blockquote></li>
<li><p>
<a href="https://www.usgs.gov/centers/national-minerals-information-center/mineral-commodity-summaries">Mineral Commodity Summaries | U.S. Geological Survey</a>
</p>

<blockquote>
<p>
Published on an annual basis, this report is the earliest Government publication to furnish estimates covering nonfuel mineral industry data. Data sheets contain information on the domestic industry structure, Government programs, tariffs, and 5-year salient statistics for over 90 individual minerals and materials.
</p>
</blockquote>
<p>
It's insane, in a good way, that something like this is publicly available for free. A breakdown of US and global mineral production stats. They give both a general overview and then a breakdown for each of the 94 tracked minerals. Wow.
</p></li>
<li><p>
<a href="https://www.youtube.com/watch?v=wsAzlmz5dso">Mining For Beginners - How Does a Metals and Mineral Mine Work? - Energy and Mining Innovation</a>
</p>

<p>
So fucking Factorio.
</p></li>
<li><p>
<a href="https://www.youtube.com/watch?v=uiGIbdrQjbI">Saw | ContraPoints - YouTube</a>
</p>

<p>
This is why she's still the fucking goat. I tend to prefer her more abstract pieces, like <a href="https://www.youtube.com/watch?v=bqloPw5wp48">Twilight</a> and (especially) <a href="https://www.youtube.com/watch?v=aPhrTOg1RUk">Envy</a> so I had a great time.
</p></li>
<li><p>
<a href="https://github.com/SymbolicsGenera">SymbolicsGenera (Official Symbolics Ivory Emulator) · GitHub</a>
</p>

<p>
For a few days in March, the official Symbolics Genera organisation contained a repository named Licensing which had a (draconian) "friends of lisp" contract one could sign to get access to the Genera source. It seems to be gone now. Sadly I failed to archive the PDF. It was quite funny with, for instance, a clause noting the necessity of deletion of all Genera software from your computers upon death. I ended up not applying, mainly because the process involved typing one's full address into the Github issues tracker. We'll see if they put together anything less restrictive.
</p></li>
<li><p>
<a href="https://github.com/hanshuebner/lisp-mcp/">GitHub - hanshuebner/lisp-mcp · GitHub</a>
</p>

<p>
Seems to have been renamed from <code>genera-mcp</code>. Maybe the restrictive license? This guy was the first to get in to the aforementioned program. Happy hacking brother.
</p></li>
<li><p>
<a href="https://www.youtube.com/watch?v=_S5w18sjYLk">Britain Still Has Conversion Therapists. Here’s Why - Philosophy Tube</a>
</p>

<p>
A superb look into the history and (tragically) the present of conversion practices. Definitely worth a watch.
</p>

<p>
The interested watcher can find an even deeper dive in <a href="https://www.youtube.com/watch?v=JiOc0r31-Os">Debunking Transphobia</a> of JasperDasper. It's been a while since I saw it so I do not recall the overlap.
</p>

<blockquote>
<p>
"It was never about helping people. It was always about authority." [~31:00]
</p>
</blockquote>

<blockquote>
<p>
"The state of mind has been replaced by the Cass Review. A nice clean document that produces that moment of disconnect between what folks working in the NHS believe they are doing and what they are really doing." [~1:59:00]
</p>
</blockquote>

<blockquote>
<p>
(re: Hilary Cass's BBC interview, Feb 2026): "This is the same false theory that justified abuse and conversion practices on queer kids in the 1950s. It is very worrying that a woman presented by British media and politics as an expert on our healthcare was allowed on the BBC to rehash unchallenged the 75-year-old nonsense of a dead pedophile." [~1:44:00]
</p>
</blockquote></li>
<li><a href="https://acoup.blog/2026/03/25/miscellanea-the-war-in-iran/">Miscellanea: The War in Iran – A Collection of Unmitigated Pedantry</a></li>
<li><p>
<a href="https://kguttag.com/2024/03/01/apple-vision-pros-optics-blurrier-lower-contrast-than-meta-quest-3/">Apple Vision Pro’s Optics Blurrier &amp; Lower Contrast than Meta Quest 3 – KGOnTech</a>
</p>

<p>
This is quite a niche post, balanced out by the interesting and quite unexpected fact it talks about. As said in <a href="https://hugo.blog/2024/03/11/vision-pro/">Vision Pro is an over-engineered “devkit”</a> (emphasis mine):
</p>
<blockquote>
<p>
With this design decision, Apple is no doubt giving up a bit of the Vision Pro display’s high pixel resolution in order to achieve overall smoother graphics. You are definitely losing some text crispness in order to gain a higher perception of quality for images, video and 3D animations. This is a big benefit of starting with an ultra high-resolution micro-OLED display — <b>Apple had enough pixels to work with that they could afford to make this trade-off</b>. This is the kind of thing that our hardcore VR engineers at Oculus would have fought against to the end of the world, and I doubt we could have ever shipped a “blurred headset”, LOL!
</p>
</blockquote></li>
<li><p>
<a href="https://www.youtube.com/watch?v=XRcwwZXJ8gk">The easiest way to make the world smarter - Rabbit hole</a>
</p>

<p>
A history of iodine deficiency and supplementation. A somber reminder that the world we know is not an immovable thing but a process that must be kept in motion continuously by many sober hands. See also <a href="https://www.lesswrong.com/posts/qnvmZCjzspceWdgjC/the-world-keeps-getting-saved-and-you-don-t-notice">The World Keeps Getting Saved and You Don’t Notice</a> (TW: LessWrong). Our safety makes us forget. A similar trend in the eradication of diseases like polio is a big component of modern vaccine skepticism. Just Like one can assume there's no need for iodine in salt because nobody has goiters, one has the <i>privilege</i> of assuming that vaccines either don't work or are simply a tool of the deep state or whatnot. These sorts of things feel like the closest thing there is to a genuine <a href="https://en.wikipedia.org/wiki/Luxury_belief">luxury belief</a>.
</p></li>
<li><p>
<a href="https://www.youtube.com/watch?v=NnTycJg1MIo">Destroying A World That Doesn't Exist - Wifies</a>
</p>

<p>
The sequel to one of the candidates for the best Minecraft video of 2025, <a href="https://www.youtube.com/watch?v=3V7Rvo4Gvic">Searching For A World That Doesn’t Exist</a>, a cross between the genres of an ARG analysis video, an ARG in itself and a creepypasta. The sequel is bombastic, a perfect continuation with, most notably, completely breathtaking set design, i.e. builds. Back in the day, even a small part of one of these would have been a jaw-dropping video to be shared for months. The level that we got to is incredible.
</p></li>
</ul>
<div class="taglist"><a href="https://jure.smolar.si/tags.html"><span class="tag-label">Tags</span></a><span class="tag-separator">: </span><span class="taglist__tags"><a href="https://jure.smolar.si/tag-links.html" class="tag" data-tag="links" data-index="0">links</a> </span></div>]]></description>
  <category><![CDATA[links]]></category>
  <link>https://jure.smolar.si/2026-03-links.html</link>
  <guid>https://jure.smolar.si/2026-03-links.html</guid>
  <pubDate>Tue, 31 Mar 2026 00:00:00 +0200</pubDate>
</item>
<item>
  <title><![CDATA[Unija z rangom]]></title>
  <description><![CDATA[
<p>
A test post from my old notes. The content is not very well written or well-organised, but it has both a code block and \(\LaTeX\), so serves as a good test for the site's features.
</p>
<div id="outline-container-org5044434" class="outline-2">
<details open>
<summary>
<h2 id="org5044434">Operations:</h2>
</summary>
<div class="outline-text-2" id="text-org5044434">
<ul class="org-ul">
<li><code>singleton(x)</code> . ustvari singleton \(\{x\}\)</li>
<li><code>find(x)</code>           . poišči predstavnika komponente, ki vsebuje \(x\)</li>
<li><code>merge(x, y)</code>   . združi komponenti/množici, v katerih sta \(x\) in \(y\)</li>
</ul>
</div>

</details>
</div>
<div id="outline-container-org24daa6c" class="outline-2">
<details open>
<summary>
<h2 id="org24daa6c">Unija z rangom</h2>
</summary>
<div class="outline-text-2" id="text-org24daa6c">
<p>
Množice prestavimo z DAG, kjer gre iz vsakega elementa natanko ena povezava
Potem ima vsaka komponenta natanko en ponor.
</p>

<p>
To shranimo z dvema tabelama, v eni imamo predhodnik od vsakega elementa (če je v enojcu je sam svoj prednik),
v drugi pa <code>rang</code> elementa.
</p>
</div>

</details>
</div>
<div id="outline-container-org4125cb1" class="outline-2">
<details open>
<summary>
<h2 id="org4125cb1">Lastnosti ranga za union-find</h2>
</summary>
<div class="outline-text-2" id="text-org4125cb1">
<ol class="org-ol">
<li><code>rang(x)</code> &lt; <code>rang(π(x))</code>, če <code>x≠π(x)</code>.</li>
<li>Če je \(x\) ranga \(k\), ima \(x\) pod sabo vsaj \(2^k\) vozlišč (vključno s seboj).</li>
<li>Če imamo \(n\) elementov, imamo lahko največ \(\frac{n}{2^k}\) vozlišč ranga \(k\).</li>
<li>Sledi, da je maksimalen rang lahko \(\log n\)</li>
</ol>
</div>
<div id="outline-container-orga22a58b" class="outline-3">
<details open>
<summary>
<h3 id="orga22a58b">Primer:</h3>
</summary>
<div class="outline-text-3" id="text-orga22a58b">
<p>
Vzemimo \(\{A,C,D,F,G,H\}\) in \(\{B,E\}\).
</p>

<p>
Tabela:
</p>
<div class="table-wrapper"><table>


<colgroup>
<col  class="org-left">

<col  class="org-left">

<col  class="org-left">

<col  class="org-left">

<col  class="org-left">

<col  class="org-left">

<col  class="org-left">

<col  class="org-left">

<col  class="org-left">

<col  class="org-left">
</colgroup>
<thead>
<tr>
<th scope="col" class="org-left">x</th>
<th scope="col" class="org-left">A</th>
<th scope="col" class="org-left">B</th>
<th scope="col" class="org-left">C</th>
<th scope="col" class="org-left">D</th>
<th scope="col" class="org-left">E</th>
<th scope="col" class="org-left">F</th>
<th scope="col" class="org-left">G</th>
<th scope="col" class="org-left">H</th>
<th scope="col" class="org-left">&#xa0;</th>
</tr>
</thead>
<tbody>
<tr>
<td class="org-left">π(x)</td>
<td class="org-left">F</td>
<td class="org-left">E</td>
<td class="org-left">H</td>
<td class="org-left">H</td>
<td class="org-left">E</td>
<td class="org-left">H</td>
<td class="org-left">D</td>
<td class="org-left">H</td>
<td class="org-left">&lt;- Predhodnik</td>
</tr>

<tr>
<td class="org-left">rang(x)</td>
<td class="org-left">0</td>
<td class="org-left">0</td>
<td class="org-left">0</td>
<td class="org-left">1</td>
<td class="org-left">1</td>
<td class="org-left">1</td>
<td class="org-left">0</td>
<td class="org-left">2</td>
<td class="org-left">&lt;- Globina drevesa pod x</td>
</tr>
</tbody>
</table></div>
</div>

</details>
</div>
<div id="outline-container-org7c73016" class="outline-3">
<details open>
<summary>
<h3 id="org7c73016">Operacije:</h3>
</summary>
<div class="outline-text-3" id="text-org7c73016">
<div class="org-src-container">
<pre class="src src-python"><span class="org-keyword">from</span> functools <span class="org-keyword">import</span> <span class="org-builtin">reduce</span>

<span class="org-variable-name">&#960;</span> <span class="org-operator">=</span> <span class="org-rainbow-delimiters-depth-1">{}</span>
<span class="org-variable-name">rang</span> <span class="org-operator">=</span> <span class="org-rainbow-delimiters-depth-1">{}</span>

<span class="org-keyword">def</span> <span class="org-function-name">singleton</span><span class="org-rainbow-delimiters-depth-1">(</span>x<span class="org-rainbow-delimiters-depth-1">)</span>:
      <span class="org-variable-name">&#960;</span><span class="org-rainbow-delimiters-depth-1">[</span>x<span class="org-rainbow-delimiters-depth-1">]</span> <span class="org-operator">=</span> x
      <span class="org-variable-name">rang</span><span class="org-rainbow-delimiters-depth-1">[</span>x<span class="org-rainbow-delimiters-depth-1">]</span> <span class="org-operator">=</span> 0
      <span class="org-keyword">return</span> x

<span class="org-keyword">def</span> <span class="org-function-name">find</span><span class="org-rainbow-delimiters-depth-1">(</span>x<span class="org-rainbow-delimiters-depth-1">)</span>:
      <span class="org-keyword">while</span> x <span class="org-operator">!=</span> &#960;<span class="org-rainbow-delimiters-depth-1">[</span>x<span class="org-rainbow-delimiters-depth-1">]</span>:
          <span class="org-variable-name">x</span> <span class="org-operator">=</span> &#960;<span class="org-rainbow-delimiters-depth-1">[</span>x<span class="org-rainbow-delimiters-depth-1">]</span>
      <span class="org-keyword">return</span> x

<span class="org-keyword">def</span> <span class="org-function-name">find_amortized</span><span class="org-rainbow-delimiters-depth-1">(</span>x<span class="org-rainbow-delimiters-depth-1">)</span>:
      <span class="org-doc">"Na vsakem koraku malo flattenaj"</span>
      <span class="org-keyword">if</span> x <span class="org-operator">!=</span> &#960;<span class="org-rainbow-delimiters-depth-1">[</span>x<span class="org-rainbow-delimiters-depth-1">]</span>:
          <span class="org-variable-name">&#960;</span><span class="org-rainbow-delimiters-depth-1">[</span>x<span class="org-rainbow-delimiters-depth-1">]</span> <span class="org-operator">=</span> find_amortized<span class="org-rainbow-delimiters-depth-1">(</span>&#960;<span class="org-rainbow-delimiters-depth-2">[</span>x<span class="org-rainbow-delimiters-depth-2">]</span><span class="org-rainbow-delimiters-depth-1">)</span>
      <span class="org-keyword">return</span> &#960;<span class="org-rainbow-delimiters-depth-1">[</span>x<span class="org-rainbow-delimiters-depth-1">]</span>

<span class="org-keyword">def</span> <span class="org-function-name">merge</span><span class="org-rainbow-delimiters-depth-1">(</span>x, y<span class="org-rainbow-delimiters-depth-1">)</span>:
      <span class="org-variable-name">p_x</span> <span class="org-operator">=</span> find<span class="org-rainbow-delimiters-depth-1">(</span>x<span class="org-rainbow-delimiters-depth-1">)</span>
      <span class="org-variable-name">p_y</span> <span class="org-operator">=</span> find<span class="org-rainbow-delimiters-depth-1">(</span>y<span class="org-rainbow-delimiters-depth-1">)</span>
      <span class="org-keyword">if</span> p_x <span class="org-operator">==</span> p_y:
            <span class="org-keyword">return</span> p_x
      <span class="org-keyword">else</span>:
            <span class="org-keyword">if</span> rang<span class="org-rainbow-delimiters-depth-1">[</span>p_x<span class="org-rainbow-delimiters-depth-1">]</span> <span class="org-operator">&gt;</span> rang<span class="org-rainbow-delimiters-depth-1">[</span>p_y<span class="org-rainbow-delimiters-depth-1">]</span>:
                  <span class="org-variable-name">&#960;</span><span class="org-rainbow-delimiters-depth-1">[</span>p_y<span class="org-rainbow-delimiters-depth-1">]</span> <span class="org-operator">=</span> p_x
                  <span class="org-keyword">return</span> p_x
            <span class="org-keyword">else</span>:
                  <span class="org-variable-name">&#960;</span><span class="org-rainbow-delimiters-depth-1">[</span>p_x<span class="org-rainbow-delimiters-depth-1">]</span> <span class="org-operator">=</span> p_y
                  <span class="org-keyword">if</span> rang<span class="org-rainbow-delimiters-depth-1">[</span>p_x<span class="org-rainbow-delimiters-depth-1">]</span> <span class="org-operator">==</span> rang<span class="org-rainbow-delimiters-depth-1">[</span>p_y<span class="org-rainbow-delimiters-depth-1">]</span>:
                        <span class="org-variable-name">rang</span><span class="org-rainbow-delimiters-depth-1">[</span>p_y<span class="org-rainbow-delimiters-depth-1">]</span> <span class="org-operator">+=</span> 1
                        <span class="org-keyword">return</span> p_y


  <span class="org-comment-delimiter"># </span><span class="org-comment">Primer od prej:
</span>
  <span class="org-comment-delimiter">#</span><span class="org-comment">for el in ["A", "B", "C", "D", "E", "F", "G", "H"]:
</span>  <span class="org-comment-delimiter">#    </span><span class="org-comment">singleton(el)
</span>  <span class="org-comment-delimiter">#</span><span class="org-comment">reduce(merge, ["A", "C", "D", "F", "G", "H"])
</span>  <span class="org-comment-delimiter">#</span><span class="org-comment">reduce(merge, ["B", "E"])
</span>
<span class="org-variable-name">&#960;</span> <span class="org-operator">=</span> <span class="org-rainbow-delimiters-depth-1">[</span>0,0,1,3,3,4<span class="org-rainbow-delimiters-depth-1">]</span>
<span class="org-variable-name">rang</span> <span class="org-operator">=</span> <span class="org-rainbow-delimiters-depth-1">[</span>2,1,0,2,1,0<span class="org-rainbow-delimiters-depth-1">]</span>

<span class="org-builtin">print</span><span class="org-rainbow-delimiters-depth-1">(</span>&#960;<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-builtin">print</span><span class="org-rainbow-delimiters-depth-1">(</span>rang<span class="org-rainbow-delimiters-depth-1">)</span>

find_amortized<span class="org-rainbow-delimiters-depth-1">(</span>2<span class="org-rainbow-delimiters-depth-1">)</span>

<span class="org-builtin">print</span><span class="org-rainbow-delimiters-depth-1">(</span>&#960;<span class="org-rainbow-delimiters-depth-1">)</span>
<span class="org-builtin">print</span><span class="org-rainbow-delimiters-depth-1">(</span>rang<span class="org-rainbow-delimiters-depth-1">)</span>

</pre>
</div>

<pre class="example">
[0, 0, 1, 3, 3, 4]
[2, 1, 0, 2, 1, 0]
[0, 0, 0, 3, 3, 4]
[2, 1, 0, 2, 1, 0]
</pre>


<p>
Načeloma <code>singleton</code> in <code>merge</code> ne rabita vračati, to je le zavoljo primera, saj lahko s tem uporabimo reduce za konstrukcijo množice.
Rezultat se razlikuje od zgornje postavitve, ker več DAG-ov predstavlja isto množico. Če se drevo nariše, se jasno vidi, da množici predstavljata isto particijo.
</p>
</div>
<div id="outline-container-org476a091" class="outline-4">
<details open>
<summary>
<h4 id="org476a091">Zahtevnosti:</h4>
</summary>
<div class="outline-text-4" id="text-org476a091">
<ul class="org-ul">
<li>Singleton: \(O(1)\)</li>
<li>Poišči: \(O(\log n)\)</li>
<li>Amortiziran poišči: \(O(\log^*|V|)\)</li>
<li>Združi \(O(\log n)\)</li>
</ul>

<p>
Z izboljšavo dobimo <a href="broken-link.html" class="broken-link">amortizirano časovno zahtevnost</a>.
</p>
</div>

</details>
</div>
<div id="outline-container-orgc2d3c7f" class="outline-4">
<details open>
<summary>
<h4 id="orgc2d3c7f">Opomba:</h4>
</summary>
<div class="outline-text-4" id="text-orgc2d3c7f">
<p>
Z uporabo amortiziranega poišči je tudi združi amortizirane časovne zahtevnosti (saj je le dva poišči in nekaj konstantnih operacij).
</p>
</div>

</details>
</div>

</details>
</div>

</details>
</div>
<div id="outline-container-org6727648" class="outline-2">
<details open>
<summary>
<h2 id="org6727648">Union-find with path compression</h2>
</summary>
<div class="outline-text-2" id="text-org6727648">
</div>
<div id="outline-container-org50b4b09" class="outline-3">
<details open>
<summary>
<h3 id="org50b4b09">Back</h3>
</summary>
<div class="outline-text-3" id="text-org50b4b09">
<p>
Koliko nas stane paket \(m\) operacij <code>poišči</code> na \(n\) vozliščih?
</p>
<ul class="org-ul">
<li>\(\log^*n\) - kolikokrat moramo zaporedoma narediti logaritem, da pridemo na 1 ali manj.</li>
<li>\(\log\log\log\log 1000 \leq 1 \implies \log^{*}1000 = 4\)</li>
<li><code>Poišči</code> nas stane v povprečju \(O(\log^{*}n)\)</li>
<li>V resnici bi zaporedje \(m\) operacij stalo \(O(m\log^{*}n) + O(n\log^{*}n)\).</li>
</ul>

<p>
Rang se ohranja, a ne predstavlja več globine drevesa. Range razdelimo na intervale:
\[ [1], [2], [3, 4], [5, 16], [17, 2^{16}], [2^{16} + 1, 2^{2^{16}}], \dots
\]
Ko vozlišče ranga iz \([k + 1, 2^k]\) neha biti koren, mu damo žepnino \(2^k\) žetonov.
En žeton porabi en skok po povezavi. Vozlišč iz tega intervala je največ
\[ \frac{n}{2^{k+1}} + \frac{n}{2^{k+2}} + \cdots + \frac{n}{2^{2^k}} \leq \frac{n}{2^k}
\]
Vsak interval dobi največ \(n\) žepnin. Intervalov je največ \(\log^{*}n\). Operacija <code>poišči(x)</code> porabi toliko, kot je dolga veriga:
\[
x = y_0 \rightarrow y_1 \rightarrow \cdots \rightarrow y_r
\]
Vrednosti \(\rang(y_i)\) in \(\rang(\pi(y_i))\) sta lahko ali v različnih intervalih, kar se lahko zgodi le \(\log^{*}n\)-krat, ali pa v istem intervalu. V tem primeru \(y_{i}\) prispeva en žeton, s čimer smo povečali \(\rang(\pi(y_i))\). V kombinaciji z večimi združi se to lahko zgodi kvečjemu \(2^k\)-krat, saj je vozlišč največ \(\frac{n}{2^k}\). Torej imamo dovolj žepnine.
</p>
</div>

</details>
</div>

</details>
</div>
<div class="taglist"></div>]]></description>
  <link>https://jure.smolar.si/20211125173234-union_find.html</link>
  <guid>https://jure.smolar.si/20211125173234-union_find.html</guid>
  <pubDate>Wed, 02 Feb 2022 00:00:00 +0100</pubDate>
</item>
</channel>
</rss>
