<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
	<id>https://wiki.roshangeorge.dev/index.php?title=Special:NewPages&amp;feed=atom&amp;hideredirs=1&amp;limit=50&amp;offset=&amp;namespace=0&amp;username=&amp;tagfilter=&amp;size-mode=max&amp;size=0</id>
	<title>Rest of What I Know - New pages [en-us]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.roshangeorge.dev/index.php?title=Special:NewPages&amp;feed=atom&amp;hideredirs=1&amp;limit=50&amp;offset=&amp;namespace=0&amp;username=&amp;tagfilter=&amp;size-mode=max&amp;size=0"/>
	<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Special:NewPages"/>
	<updated>2026-07-13T06:00:01Z</updated>
	<subtitle>From Rest of What I Know</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-07-10/Dashboards_vs._Questions</id>
		<title>Blog/2026-07-10/Dashboards vs. Questions</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-07-10/Dashboards_vs._Questions"/>
		<updated>2026-07-10T20:37:53Z</updated>

		<summary type="html">&lt;p&gt;Roshan: Wikipen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:{{#setmainimage:Sync_Duration_-_Skybright_ETL.jpg}}|thumb|The view into my ETL system]]&lt;br /&gt;
Now that we have agents that can analyse our data for us, the question becomes whether to retain our dashboards or not. I think it&amp;#039;s pretty clear that the standard answer is right: we need both these systems.&lt;br /&gt;
&lt;br /&gt;
Dashboards are useful for awareness of current state and how it&amp;#039;s evolved. An LLM-based query is useful for interrogating the data.&lt;br /&gt;
&lt;br /&gt;
So, to see the general health of my system I use a dashboard, and to ask specific questions about something that&amp;#039;s odd I would use an agent.&lt;br /&gt;
&lt;br /&gt;
For instance, I run an ETL system for a client and every now and then I pop in to check the health of the system. I want to see how fast it&amp;#039;s running, how many syncs have failed, and questions like that which are the same every time I look. I&amp;#039;ve found that the easiest way I have of getting a good idea of what&amp;#039;s up is to make sure that my dashboard always has the same information in the same place and I specifically make sure that the page loads identically without any movement. &lt;br /&gt;
&lt;br /&gt;
On the other hand, it&amp;#039;s just as important to be able to ask ad-hoc whether some specific pipeline or subpopulation is performing differently or has a reason for change - and here an agent equipped with a read-only key and access to my Kubernetes cluster is quite powerful. One recent way I asked it was if a spike in failure rate that showed up on my dashboard was due to a new API change from Meta&amp;#039;s marketing API. It was able to identify that it was a transient error from their servers rather than a persistent problem and provide me the evidence I needed to confirm.&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=Dashboards vs LLM agents: why you need both for system monitoring.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-07-10/It%27s_not_that_deep</id>
		<title>Blog/2026-07-10/It&#039;s not that deep</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-07-10/It%27s_not_that_deep"/>
		<updated>2026-07-10T20:23:46Z</updated>

		<summary type="html">&lt;p&gt;Roshan: Wikipen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Teenagers have always been reflexively &amp;quot;too cool to care&amp;quot;. But now, contemporary media also adopts this reflexive detachment to its own detriment&amp;lt;ref name=teens/&amp;gt;. When Joss Whedon popularized the &amp;quot;moment of gravitas; silent beat; ironic comment&amp;quot; technique, it was perhaps novel, but now it&amp;#039;s everywhere and often inappropriately so.&lt;br /&gt;
&lt;br /&gt;
Julie and I put on the [[wikipedia:Avatar: The Last Airbender (2024 TV series)|live-action version of Avatar: The Last Airbender]] and one scene in particular stuck out to me for its incongruity - though much of the show is written in this &amp;quot;I&amp;#039;m ironic and not serious&amp;quot; style. One of the scenes has an ostensible true believer in an Earth-element spirit talking to a water-element caster. She&amp;#039;s praying to this spirit in its visible form of a particular flower and she says &amp;quot;I&amp;#039;m talking to a flower. Is that weird?&amp;quot;. This anxious uncertainty of the acceptability of one&amp;#039;s true religious belief is a characteristic of post-religious Western countries. It doesn&amp;#039;t make sense in a world where these spirits do canonically exist and magic is commonplace. It&amp;#039;s as incongruous as the Pope going &amp;quot;O Father in Heaven! I know you&amp;#039;re omnipresent but hopefully you&amp;#039;re close enough to a speaker to hear (nervous giggle)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Now, obviously there are big productions that do take things seriously: [[wikipedia:Dune (2021 film)|Dune]] or [[wikipedia:Oppenheimer (film)|Oppenheimer]]. The latter particularly committed to its dramatic register entirely, as did [[wikipedia:Top Gun: Maverick|Maverick]] to its boys-and-planes style, and though Dune imports contemporary gender issues in an anachronistic way it still believes in its premise. What seems to play the differentiating role between the ones that are earnest and the ones that aren&amp;#039;t is that the latter have characters that are constantly aware that they&amp;#039;re performing on a stage: Amita is not asking Katara if it&amp;#039;s weird she&amp;#039;s talking to a flower; she&amp;#039;s telling the audience that she&amp;#039;s doing a thing that would be weird in their context.&lt;br /&gt;
&lt;br /&gt;
Of course the moderating arguments are that there are now vastly more shows and movies than there were before and so we should expect median quality to dip; and I &amp;#039;&amp;#039;am&amp;#039;&amp;#039; selecting from the low-end of the quality distribution here after all. And it could just as well be that I&amp;#039;m aging out of the audience for many of these things. Or that I&amp;#039;m making a mistake by watching a remake of a thing meant for children that&amp;#039;s written relatably to today&amp;#039;s children.&lt;br /&gt;
&lt;br /&gt;
These things might all be true, but I still can&amp;#039;t shake the feeling that the lack of earnest treatment of stories will make our storytelling tradition much weaker - and that would be a loss for the way we pass narratives onwards to successive generations.&lt;br /&gt;
&lt;br /&gt;
== Footnotes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=teens&amp;gt;&lt;br /&gt;
In some sense, this is the same as the White House releasing press releases with memes referencing people being bombed: flippancy on a serious subject. In time, many of those who participated in the ironic culture of our teenage have grown into adults who continue that particular style of irreverence into adulthood.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=The loss of earnest storytelling in modern media weakens narrative traditions and future generational connection.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-07-01/The_Everything_Store</id>
		<title>Blog/2026-07-01/The Everything Store</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-07-01/The_Everything_Store"/>
		<updated>2026-07-02T18:58:00Z</updated>

		<summary type="html">&lt;p&gt;Roshan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:{{#setmainimage:Screenshot_-_Taskmaster_KB_for_Credential_Proxy.jpg}}|thumb|One of the pages in the KB]]&lt;br /&gt;
Having a single store so I can query my second mind of things I&amp;#039;ve written down has always been something I&amp;#039;ve wanted. That&amp;#039;s evolved in various ways. At one point, I had these as just plain text files on my computer, then I had some promoted to my wiki, and so on. But [[Blog/2026-04-27/Fuzzy Wiki Search|when I added semantic search]] it struck me that the same machinery works for many other things.&lt;br /&gt;
&lt;br /&gt;
So I built for myself the simplest possible incarnation of this:&lt;br /&gt;
&lt;br /&gt;
* A SQLite vector database&lt;br /&gt;
* A simple HTTP server in front of it&lt;br /&gt;
* Reused the Wiki semantic search&amp;#039;s embedding model (bge-en-base)&lt;br /&gt;
&lt;br /&gt;
And the results are honestly quite impressive. With a couple of skills for Claude Code, Codex, and pi that allow access to the task list and the KB, all modern models search on it quite effectively and inform themselves of what to do and how to work. The data model is pretty trivial:&lt;br /&gt;
&lt;br /&gt;
# Containers are the bucket to put things in: the agent, or home things, or travel things, or one of my projects&lt;br /&gt;
# Documents are a tree-like structure&lt;br /&gt;
&lt;br /&gt;
My friend Armaan pointed out that this is pretty much the bucket and key structure that S3 uses and so I must have unconsciously chosen a similar format. Modern agents are pretty good at managing this kind of thing so I try to stay as unopinionated as possible except for the container/bucket name after which they organize things how they see fit.&lt;br /&gt;
&lt;br /&gt;
I have a UI where I can browse through if I&amp;#039;m interested but for the most part, it&amp;#039;s mostly agent managed and I talk to it with either the Telegram bot or through one of the coding harnesses. The 512-token limit is quite annoying and I simply didn&amp;#039;t deal with it at all, though Armaan in his implementation did the naïve thing that works: a key under the path can have multiple segments each of which is appropriately embedded. Pretty neat. I haven&amp;#039;t adopted it yet but I surely should.&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot_-_Telegram_response_from_family_AI.jpg|thumb|KB use is mostly unknown to me, but sometimes the bot is explicit about its references]]&lt;br /&gt;
&lt;br /&gt;
Now, the thing I&amp;#039;m wondering about is whether I should simply make this the real Everything Store and put everything in there and have other programs be views into it, but that seems like it will run into common data-modeling issues and so on. E.g. I don&amp;#039;t have any images or anything in here, so the agents store them on Google Drive and then reference them here for later. I think in the long-term the impedance mismatch between the manner of use from various programs will dominate so I have our EMR system (which carries X-rays, events, immunization) store its own data and just use adapters/skills to access that, but information on the EMR system is held in the Everything Store.&lt;br /&gt;
&lt;br /&gt;
Honestly, it&amp;#039;s surprising and lovely how few things one has to plug into each other to get fantastic results here. Agents naturally use the information in the KB without much work required. In the past, something like this would be pure science-fiction but now an agent can look up our appointments, travel plans, flights, and put it all together to be an actually helpful assistant.&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=Build a personal knowledge base with SQLite vector search, embedding models, and agent-friendly containers for efficient data retrieval.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-06-30/Modeling_a_Watch_Strap_Print_with_Claude</id>
		<title>Blog/2026-06-30/Modeling a Watch Strap Print with Claude</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-06-30/Modeling_a_Watch_Strap_Print_with_Claude"/>
		<updated>2026-06-30T18:33:10Z</updated>

		<summary type="html">&lt;p&gt;Roshan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:{{#setmainimage:RFID_Wrist_Tag_on_Alpine_Loop_Watch_Band.jpg}}|thumb|The RFID tag on my wrist]]&lt;br /&gt;
A short while ago, I bought [https://www.amazon.com/dp/B0DD3R9W81 a set of Apple Watch Ultra 2 bands] from one of those undifferentiated sellers on Amazon. The style I&amp;#039;ve now come to like are the ones called the &amp;quot;Alpine Loop&amp;quot;. It&amp;#039;s a nylon-fabric with loops on the outside of the band. As far as I can tell the loops are intended to be entirely decorative. However, they provide a convenient location to attach an RFID tag and therefore let myself into my apartment building.&lt;br /&gt;
&lt;br /&gt;
Most RFID tags are in a big gray enclosure that you then add to your keychain, but handling the keys while you&amp;#039;re carrying your baby is an exceedingly mild inconvenience. Naturally it&amp;#039;s a high priority to solve this problem. People do chip their animals and so on and you can&amp;#039;t really imagine them doing so with a massive disc, so I looked it up and apparently they make [https://www.ebay.com/itm/254607033331 these little tags meant to be inserted into animals]. Some people put them into the webbing of their hands between the index finger and thumb. &amp;#039;&amp;#039;Those&amp;#039;&amp;#039; people are not buying from a random international eBay seller for $16 a pair.&lt;br /&gt;
&lt;br /&gt;
Now that we know the form factor works, it&amp;#039;s a matter of building a holder that fits into the loop with a bore to hold the actual glass RFID tag. I needed to fit the holder&amp;#039;s hook into the loop and then have a little lip to reduce the chance it&amp;#039;ll pop out of the fabric.&lt;br /&gt;
&lt;br /&gt;
[[File:RFID_Wrist_Band_Tag_Discards.jpg|thumb|Prototypes of various bore sizes and failed prints]]&lt;br /&gt;
&lt;br /&gt;
In the past, one might have needed to model with Blender or some CAD tool. But these days, with Claude Code and the power of [https://github.com/gumyr/build123d build123d] you can get quite far with just prompts. After prototyping a dozen or so, I was able to find the right sizes that worked. &lt;br /&gt;
&lt;br /&gt;
Julie doesn&amp;#039;t have the same style of strap since she prefers one of the velcro ones from the same set. The fabric loop she has is a bit looser so it&amp;#039;s easier for the hook to fall off. So, for hers, I glued down the hook to the rest of the body to form a closed shape after passing the strap through it. I used my [https://flipper.net/ Flipper Zero] to write the tags and then everything works fantastically!&lt;br /&gt;
&lt;br /&gt;
One funny thing that happened is that while trying to get one of the tags off one of these holders, I accidentally snipped the back of it. I suppose I must not have damaged the antenna because it still functions. As punishment for only humoring me and not responding with wild enthusiasm, Julie has this half-tag.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;ve published the [https://gist.github.com/roshan/49ba3da955f7b84266fa01c570782162 script that will generate the 3d model] here.&lt;br /&gt;
&lt;br /&gt;
== A week later ==&lt;br /&gt;
&lt;br /&gt;
Sadly, Julie&amp;#039;s and mine shared different fates. The fact that hers was glued together meant that it stayed stuck. The hook arm on mine caught on a shirtsleeve and broke open. So I think I&amp;#039;m going to have to glue mine back as well.&lt;br /&gt;
&lt;br /&gt;
=== Getting the tag back ===&lt;br /&gt;
&lt;br /&gt;
I didn&amp;#039;t have any more glass tags, but I was able to use a heated box cutter to carve into the plastic and push the tag out from the bore. I had to dispose of the box cutter blade, but I managed to retrieve the tag and it does still work.&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=An RFID tag holder designed for Apple Watch Alpine Loop bands, 3D printed with AI-generated code.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;br /&gt;
[[Category:3D Printing]]&lt;br /&gt;
[[Category:AI]]&lt;br /&gt;
[[Category:Modeling]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-06-27/Anti-Memetics</id>
		<title>Blog/2026-06-27/Anti-Memetics</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-06-27/Anti-Memetics"/>
		<updated>2026-06-27T17:27:41Z</updated>

		<summary type="html">&lt;p&gt;Roshan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:{{#setmainimage:Example clickbait adverts.jpg}}|thumb|Fairly anti-memetic]]&lt;br /&gt;
[[wikipedia:There Is No Antimemetics Division]] is a famous (in the subculture) book by [[wikipedia:Qntm]] which talks about entities that are imperceivable. These are things so anti-viral (in the memetics sense) that you can&amp;#039;t even behold them because they bounce off the mind. I found the book quite entertaining but today is the first time I&amp;#039;ve encountered text with a very strong anti-memetic effect.&lt;br /&gt;
&lt;br /&gt;
{{Tweet&lt;br /&gt;
| name = Guy&lt;br /&gt;
| username = nosilverv&lt;br /&gt;
| text = There’s a growing scissor between people who are happy to read AI and those who violently bounce off from it.&lt;br /&gt;
&lt;br /&gt;
People adapt in different ways — and some people absolutely cannot look at it. That cognitive split creates a surprisingly powerful opportunity: you can write something that, technically, sits right there on the page, yet an entire sub-population will be incapable of staying with it long enough to actually read it. You can hide entire sub-structures in plain sight. It’s not avoidance — it’s adaptive obfuscation.&lt;br /&gt;
&lt;br /&gt;
The paragraph before this one was the only thing generated in this essay and if you just skipped over it I highly recommend reading and really understanding what it’s saying.&lt;br /&gt;
| date = Nov 30, 2025&lt;br /&gt;
| ID = 1995171453814427793&lt;br /&gt;
| block = true&lt;br /&gt;
| ref-name = Tweet_1995171453814427793&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Other things that are strongly anti-memetic in this way for me rely more strongly on the visual appearance of low-quality advertisement, junk within-site links, or other engagement mechanisms. I wonder if there are similar visual markers of text that are causing this kind of rejection mechanism in my mind. I can barely stand to read the sentences and it takes some human effort to push past the resistance to actually read the content.&lt;br /&gt;
&lt;br /&gt;
The rest of Guy&amp;#039;s tweet there is interesting but this one really stuck with me for how powerfully it predicted my feeling and response.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=A tweet describes how some people physically cannot read AI-generated text, creating a &amp;quot;cognitive split&amp;quot; that allows hidden content in plain sight.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-06-24/The_Amenity_I_Wish_We_Had</id>
		<title>Blog/2026-06-24/The Amenity I Wish We Had</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-06-24/The_Amenity_I_Wish_We_Had"/>
		<updated>2026-06-25T03:05:42Z</updated>

		<summary type="html">&lt;p&gt;Roshan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:{{#setmainimage:Astra_walking_through_the_Palms_courtyard.jpg}}|thumb|Astra walking through the courtyard of the building we live in]]&lt;br /&gt;
One of the nice things about living in a modern residential building is that there are lots of shared amenities. For instance one of the nice things about [[Life in Coquitlam]] is that we were in a fancy building that had a pool, a family hangout room, a coworking space, a kids play area, outdoor grills, a gym, a steamroom and sauna, and a rooftop lounge with views of the forest and mountains. Okay, so &amp;#039;&amp;#039;that&amp;#039;s&amp;#039;&amp;#039; ultra-posh and all that and our current building just has a lounge, a movie theatre, a little courtyard area, a gym, and a coworking space. That&amp;#039;s pretty good and normal for an older building.&lt;br /&gt;
&lt;br /&gt;
But what I think would be absolutely gangbusters awesome would be if each high-end residential building had a server room! Then not-quite-homelabbers like me could host our servers in there and we wouldn&amp;#039;t have to travel all the way down to Fremont just to get Claude to bring up our new stuff like this&lt;br /&gt;
&lt;br /&gt;
[[File:Roshan_watching_Claude_Opus_debug_his_network.jpg|frame|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=A resident explores the amenity they wish their modern residential building had, imagining how a dedicated server room could benefit technology enthusiasts in their community.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-06-23/We_Must_Preserve_Function</id>
		<title>Blog/2026-06-23/We Must Preserve Function</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-06-23/We_Must_Preserve_Function"/>
		<updated>2026-06-23T18:58:01Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A common sentiment expressed in coastal American cities is that it&amp;#039;s awful that the government is able to ticket people for improperly curbed wheels and parking meters not paid while simultaneously unable to punish those who openly use drugs and defecate on the streets. The latter is a valid concern, but not because of the former. In fact, the existence of the latter is evidence that The State is weak and unable to provide its function of coordination and management of shared resources. But that is &amp;#039;&amp;#039;precisely&amp;#039;&amp;#039; the situation when one should be fearful to damage any more functions.&lt;br /&gt;
&lt;br /&gt;
Fines and fees for use are necessary mechanisms in order to prioritize sharing what remains of public space here. They are not imposed upon us from above but are our ways of doling out access in a manner that matches utility gained from the resource. In fact, what we should strive to do is restore other functions of The State so that the rest of the commons can be recovered for society&amp;#039;s use rather than hoarded by the few at the cost of families, workers, and other participatory members of society.&lt;br /&gt;
&lt;br /&gt;
The Meter Maids Must Be Protected!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This article argues that parking enforcement and similar regulatory functions are essential mechanisms for managing shared public resources and should be preserved to maintain state coordination capabilities.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-06-22/Uncool_is_for_me</id>
		<title>Blog/2026-06-22/Uncool is for me</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-06-22/Uncool_is_for_me"/>
		<updated>2026-06-23T00:15:02Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I recently came upon an article that [https://manualdousuario.net/en/smart-glasses-ugly-tacky/ pretty much argued that Meta Glasses are uncool things made by uncool people]. That&amp;#039;s a fair complaint about the devices. They&amp;#039;re quite clunky and so on. And perhaps it&amp;#039;s a fair complaint about the makers, though it seems that Mark Zuckerberg has Gen Z&amp;#039;d his way to coolness among some crowd somewhere.&lt;br /&gt;
&lt;br /&gt;
But the odd thing was reading a bunch of Hacker News commenters who were eagerly talking about this as some act of rebellion. A fairly typical example is this:&lt;br /&gt;
&lt;br /&gt;
{{HackerNews&lt;br /&gt;
 | url = https://news.ycombinator.com/item?id=48637080&lt;br /&gt;
 | author = smokedetector1&lt;br /&gt;
 | title = Tacky men with ridiculous glasses want you to wear them too&lt;br /&gt;
 | text = I find it to be an acceptable use of mockery, one of the most powerful cultural methods of exposing that the emperor has no clothes&lt;br /&gt;
 | date = 2026-06-22&lt;br /&gt;
 | datetime = 2026-06-22&lt;br /&gt;
 | comment = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
It reminds me of an effort some time during the last US election cycle to label Republican-voters as &amp;#039;weird&amp;#039;&amp;lt;ref name=&amp;quot;kym-weird&amp;quot;/&amp;gt;. I remember thinking to myself when that happened that doing this felt like ceding the ground for non-normativity to the other side and frankly, one thing I&amp;#039;ve noticed about Americans is that they like very much to think that they&amp;#039;re strange and unique and interesting &amp;#039;&amp;#039;and weird&amp;#039;&amp;#039;. I should know, I do too! So why bother claiming you&amp;#039;re the establishment guy? I have a few dozen hypotheses, some of which are: &lt;br /&gt;
&lt;br /&gt;
* fitting in / social censure matters more to the US Left&lt;br /&gt;
* these people are successful so this is one way to disparage them that can&amp;#039;t be countered&lt;br /&gt;
* this technique does work to get people to stop using something&amp;lt;ref name=&amp;quot;bt&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In any case, the whole idea dichotomizes society into the conformist and the outcast, which has the unfortunate effect that it applies to a lot more people than just the clean split of the underlying politics in the first place. Some amount of politics is ridiculing the other side while galvanizing one&amp;#039;s own, but if the method of ridicule selects also many people not aligned with the other side, all you&amp;#039;re doing is excluding people from the tent - which is fine if your objective is a hardcore cadre, but perhaps less fine if you&amp;#039;re trying to win a US election.&lt;br /&gt;
&lt;br /&gt;
Now on to the Meta Glasses themselves. I don&amp;#039;t think the AI glasses will hit mainstream any time soon. Julie wore them to the Vancouver Aquarium and they were a blast - you can say &amp;quot;what&amp;#039;s that orange fish?&amp;quot; and it can identify it for you - but without long-enough battery life and light-enough weight they become a bit of an appliance you&amp;#039;re taking care of and while the Apple Watches have some of that feeling, they&amp;#039;re far less delicate, putting them down doesn&amp;#039;t result in losing your sight, and you can get into a routine of charging them and wearing them. But there are moments when using them that they shine, like when you have to watch to catch your daughter falling off playground equipment but you still want to record her play, like in this video Julie recorded. So there&amp;#039;s something here.&lt;br /&gt;
&amp;lt;youtube&amp;gt;AcLAByw6ZYc&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Perhaps the &amp;#039;uncool&amp;#039; framing will be the death knell of an imperfect product. But I&amp;#039;m a nearly 40 dad. When I talk to my daughter I talk in a high-pitched voice. When I laugh at something I guffaw. My hairline is far past receding and what&amp;#039;s left of my curly hair stands on end like quills upon the fretful porpentine. I sometimes miss entire sections of my face when I shave.&lt;br /&gt;
&lt;br /&gt;
So when you say something is uncool, realistically you&amp;#039;re just saying it&amp;#039;s for me.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;kym-weird&amp;quot;&amp;gt;&lt;br /&gt;
{{cite web|title=&amp;quot;Republicans Are Weird&amp;quot;|website=Know Your Meme|date=2024-07-29|url=https://knowyourmeme.com/memes/republicans-are-weird|language=en|access-date=2026-06-22}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;bt&amp;quot;&amp;gt;&lt;br /&gt;
Though people used to be called Bluetooth douches and that didn&amp;#039;t stick when the technology went mainstream; and there was a short-lived effort to try to get kids to consider Airpods uncool&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This blog post explores the cultural dynamics of mockery and nonconformity, examining how labeling technologies and their users as uncool reflects deeper societal divisions about rebellion and authenticity.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Life_in_Coquitlam</id>
		<title>Life in Coquitlam</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Life_in_Coquitlam"/>
		<updated>2026-06-16T07:03:33Z</updated>

		<summary type="html">&lt;p&gt;Roshan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Smith_and_Farrow_in_the_Sunset.jpg|thumb|A view of the building where we stayed, from our cousin&amp;#039;s place]]&lt;br /&gt;
We stayed in [[wikipedia:Coquitlam]], [[wikipedia:British Columbia|BC]] for a while from May to Jun in 2026, and it was a pleasant experience. We stayed right by the the Burquitlam station because one of my cousins lives with her husband and two kids right there, and her sister lives next door to her. My uncle and aunt live just down the block. I figured that the benefit of staying near them would outweigh any of the pain of having to live in the suburbs but in reality, we actually liked staying here!&lt;br /&gt;
&lt;br /&gt;
[[File:{{#setmainimage:Astra_looking_at_the_towers_in_Burquitlam.jpg}}|thumb|Astra liked looking out the big windows at the pool downstairs and the the elevated Skytrain]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For the most part, we just lived our normal lives like we would if we were living here, since we both had to work and so on. But that also meant we got to have a glimpse of what living in Coquitlam is like.&lt;br /&gt;
&lt;br /&gt;
== Transportation ==&lt;br /&gt;
&lt;br /&gt;
[[File:Astra,_Julie,_and_Roshan_on_Skytrain.jpg|frame|center|Roshan, Julie, and Astra on Skytrain]]&lt;br /&gt;
&lt;br /&gt;
Despite being way out in the suburbs, the Millenium line of the Skytrain stops at Burquitlam every couple of minutes. During peak hour this is every other minute and later in the day it&amp;#039;s every 6 minutes. The Skytrain was a huge reason why this was a nice place to stay. We were able to take it to the city, or to Costco, or all the way out to Lafarge Lake or Port Moody for a fun day out with Astra. It&amp;#039;s pretty cheap to rent a car here and parking isn&amp;#039;t hard, but if I&amp;#039;m being honest we far preferred taking the train because it requires a lot less effort and Astra can get out when she wants on the train and so on.&lt;br /&gt;
&lt;br /&gt;
[[File:Astra_and_Julie_at_Burquitlam_Skytrain_Station.jpg|frame|center|Astra and Julie at Burquitlam station]]&lt;br /&gt;
Driving isn&amp;#039;t too bad. Traffic isn&amp;#039;t terrible most of the time, but during peak hour it can get quite annoying.&lt;br /&gt;
&lt;br /&gt;
=== Driving ===&lt;br /&gt;
&lt;br /&gt;
Driving was actually far more pleasant than in San Francisco for two reasons:&lt;br /&gt;
&lt;br /&gt;
* People seem to be good road participants, allowing you to merge and so on&lt;br /&gt;
* Cars leave as soon as the light turns green, which implies that they&amp;#039;re not on their phones when it happens&lt;br /&gt;
&lt;br /&gt;
== Groceries ==&lt;br /&gt;
&lt;br /&gt;
We normally shop for groceries at the nearby Safeway, but also take the train to Lougheed where we pick up some others from H Mart down there. The other thing we&amp;#039;d do weekly is head down to Costco (by Production Way station) as a family. We can fit quite a bit down in the carrying area below Astra&amp;#039;s pram, and with that and some elbow grease we can bring back quite a bit of stuff. There are a few other grocery stores nearby that are also available but we didn&amp;#039;t frequent them, only stopping buy occasionally.&lt;br /&gt;
&lt;br /&gt;
== Recreation ==&lt;br /&gt;
&lt;br /&gt;
Summertime in Vancouver has been a grand time. The weather is mostly beautiful, if a little hot, though it can be mercurial - hot one day and overcast and cold and rainy the next. Most of the time it is quite nice, though.&lt;br /&gt;
&lt;br /&gt;
=== Parks ===&lt;br /&gt;
&lt;br /&gt;
[[File:Astra_at_Lyndhurst_Park.jpg|thumb|Astra with her favourite tool - a shovel]] &lt;br /&gt;
&lt;br /&gt;
There are quite a few parks around where we stay: Astra&amp;#039;s favourite of which is Cottonwood Park because it has a spray park. These spray parksare quite common around BC and seem to be full of children of all ages running through the water and playing. The first one we went to was at Rocky Point in Port Moody, but after that we kept our eye out for ones and Cottonwood has become a fast favourite since it&amp;#039;s so close by.&lt;br /&gt;
&lt;br /&gt;
My parents are pretty used to taking Astra to the other parks around, so she&amp;#039;s had a sample of others as well - Lyndhurst is nice and big with lots of room to run around in, Burquitlam Park has the cousins nearby, and the farther Como Lake and Mundy Park are much bigger parks with birds and stuff to see. All of these are really enjoyable and easy to walk to or take a bus to. Ironically, Rocky Point at Port Moody is actually closer in convenience because you can just take the Skytrain there. Similarly, Lafarge Lake is also right next to a Skytrain station so it&amp;#039;s much more convenient than the geographically closer Mundy Park.&lt;br /&gt;
&lt;br /&gt;
[[File:Astra_at_Grandview_Park.png|thumb|Astra at a spray park we came upon while walking around near Commercial-Broadway station]]&lt;br /&gt;
&lt;br /&gt;
There are a few historic sites as well nearby like the Burnaby Village Museum which is adjacent to Deer Lake Park, both of which are worth a visit. The former because they have an actual blacksmith, a train from San Francisco, and lots of historic old cabins; and the latter because it&amp;#039;s got a fun boardwalk from which you can look out at the lake.&lt;br /&gt;
&lt;br /&gt;
[[File:Astra,_Zaibunissa,_and_George_at_Deer_Park_Lake.jpg|frame|center|My daughter would happily jump in the mud if we let her]]&lt;br /&gt;
&lt;br /&gt;
Vancouver is also quite accessible from Coquitlam, either by train or car, though much of the West and South-West side will require bus transfers that make a drive much more worth it. So for Queen Elizabeth Park you&amp;#039;re better off driving. And so as well for the VanDusen gardens - the welcome centre of which is built out of timber by a place my uncle used to work at.&lt;br /&gt;
&lt;br /&gt;
[[File:Astra_at_Bloedel_Conservatory.jpg|frame|center|At the Bloedel Conservatory in Queen Elizabeth Park]]&lt;br /&gt;
&lt;br /&gt;
[[File:Big_Quarry_Garden_at_Queen_Elizabeth_Park,_Vancouver,_BC.jpg|frame|center|Elsewhere in Queen Elizabeth Park]]&lt;br /&gt;
&lt;br /&gt;
=== Indoors ===&lt;br /&gt;
[[File:Astra_at_the_Children&amp;#039;s_Room_at_Smith_&amp;amp;_Farrow.jpg|thumb|Astra at the indoor childrens&amp;#039; room]]&lt;br /&gt;
There are lots of activities for indoors days, though many of the famous ones are quite crowded. The building also has a couple of common areas that are quite nice. Where we stayed, there was a children&amp;#039;s room, with sufficient toys and things to keep Astra occupied on a rainy day. But on a few of those days we did venture out to [[wikipedia:Science World (Vancouver)|Science World]] and the Vancouver Aquarium, both of which were great fun to attend. We took the train to the former, but drove to the latter. The FIFA World Cup was just starting at this time so some of the Science World exhibits were awfully crowded!&lt;br /&gt;
&lt;br /&gt;
[[File:Astra_playing_the_electric_harp_at_Science_World,_Vancouver.jpg|frame|center|Astra playing the electric harp at Science World]]&lt;br /&gt;
&lt;br /&gt;
[[File:Astra_at_the_Moon_Jelly_exhibit_at_the_Vancouver_Aquarium.jpg|frame|center|Astra at the aquarium]]&lt;br /&gt;
&lt;br /&gt;
=== Outdoors ===&lt;br /&gt;
&lt;br /&gt;
Perhaps the most striking thing about BC is all the natural beauty. I think part of why it&amp;#039;s so beautiful is that they have all these tall towers and so the area around Burquitlam station mostly looks like trees rather than the endless sprawl of homes you see when you visit our home city of San Francisco.&lt;br /&gt;
&lt;br /&gt;
[[File:A_view_towards_Metro_Town_from_Smith_&amp;amp;_Farrow.jpg|thumb|Mostly trees and towers, though there are a few low-rise buildings near us]]&lt;br /&gt;
&lt;br /&gt;
We went on a few hikes while we were here. The trail to Admiral Point is mostly flat and a pleasant hike for the whole family. We had 5-year-olds and 70-year-olds and they all did it with a minimum of fuss. Astra is only a year old so we carried her most of the way. There&amp;#039;s also a big picnic area there, so we hung out there and had lunch. &lt;br /&gt;
&lt;br /&gt;
[[File:Roshan,_Julie,_and_Astra_at_Admiralty_Point.jpg|thumb]]&lt;br /&gt;
&lt;br /&gt;
The highlight of our outdoors trips had to be the hike to St. Mark&amp;#039;s Summit. I&amp;#039;d done this about a decade ago and remember it being a quick up and down. Well, that was when I was a younger man doing it with my equally young cousin. This time, the gang included a baby strapped to me and my elderly parents, so the fake memory of ease played havoc on the party. Nevertheless we made it to the top for a view that was certainly worth it&lt;br /&gt;
&lt;br /&gt;
[[File:Astra,_George,_Julie,_Roshan,_and_Zaibs_at_St._Mark&amp;#039;s_Summit.jpg|frame|center|St. Mark&amp;#039;s Summit]]&lt;br /&gt;
&lt;br /&gt;
There&amp;#039;s no shortage of much easier outdoor places to visit, though. Lynn Valley, in particular, is quite beautiful with suspended bridges and pools and waterfalls, but has nice wooden stairs and lots of flat paths.&lt;br /&gt;
&lt;br /&gt;
[[File:Astra,_Julie,_and_Roshan_at_Lynn_Valley.jpg|frame|center|Lynn Valley]]&lt;br /&gt;
&lt;br /&gt;
Or Lighthouse Park in West Vancouver&lt;br /&gt;
&lt;br /&gt;
[[File:Astra,_Julie,_and_Roshan_at_Lighthouse_Park.jpg|frame|center|Lighthouse Park]]&lt;br /&gt;
&lt;br /&gt;
[[File:Astra_on_the_rocks_near_Lighthouse_Park.jpg|frame|center|Snacks on the rocks by Lighthouse Park]]&lt;br /&gt;
&lt;br /&gt;
And if you&amp;#039;re more of the drive to view type, then the sea to sky highway has beautiful views all the way to Porteau Cove and past.&lt;br /&gt;
&lt;br /&gt;
[[File:Porteau_Cove_looking_past_the_pier.jpg|frame|center|Porteau]] &lt;br /&gt;
&lt;br /&gt;
=== City Life ===&lt;br /&gt;
&lt;br /&gt;
[[File:Astra,_Julie,_and_Roshan_in_Vancouver_near_Canada_Place.jpg|frame|center|Down by the waterfront where the seaplanes land]]&lt;br /&gt;
&lt;br /&gt;
Julie and I have gotten into a routine where we stop by Bjornbar Bakery in Burquitlam for a morning coffee and perhaps a pastry. I don&amp;#039;t imagine we&amp;#039;d do this as often if we lived here simply because we&amp;#039;d become extraordinarily obese if we kept up the habit of eating their very good pastries. The Safeway is right across the street as well so groceries are not much of a problem. There are a couple of sushi spots, bars, and boba shops but they&amp;#039;re mostly in strip malls that are being scheduled for conversion into these tall apartment buildings. One nice thing about many of the buildings is that they have ground floor retail. Often it&amp;#039;s dental or eye clinics, but a few of them are stores which is quite nice. I hope when the strip malls are redeveloped that they do keep room for restaurants and places to hang out.&lt;br /&gt;
[[File:Astra,_George,_Julie,_Roshan,_and_Zaibunissa_at_Kozak.jpg|thumb|A dinner at Kozak, poorly photographed]]&lt;br /&gt;
Because of the Skytrain, however, access to the city is quite easy. Taking the train somewhere is much more comfortable and enjoyable than taking the car, though some places like the UBC campus or VanDusen gardens or Robson street are not easy to get to by train alone.&lt;br /&gt;
&lt;br /&gt;
[[File:Buildings_seen_from_Robson_St..jpg|thumb|Lovely architecture on Robson]]&lt;br /&gt;
&lt;br /&gt;
In any case, most of the city life is up in the city. We found out about Robson street because we were looking to go to Imran&amp;#039;s Halal Beef Noodle House: I love the Chinese beef noodle soup; and I was fascinated by the fact that this one was called Imran&amp;#039;s Halal. It turns out that the [[wikipedia:Dongxiang people]] are a Muslim ethnicity in China. We also enjoyed the fluffy pancakes at Fuwa Fuwa and the belgian waffles by The Waffle Company. It struck me that this must be one of the safer places in North America because there was even a completely self-checkout store called Aisle 24 there with no staff inside.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;https://www.youtube.com/watch?v=9mjo_45orHs&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Gastown was also a fun neighbourhood with lots of bars and things to do for younger people - as we guessed from the demographics in the restaurants - but there were also lots of nice places to eat and we found one that we enjoyed so much we came back later to eat another dinner at: Kozak - an Ukrainian place - with fantastic babka at their bakery.&lt;br /&gt;
&lt;br /&gt;
Overall, to get the full city experience you&amp;#039;re going to have to ride some 30 minutes on Skytrain. This is quite a bit longer than taking the e-bike around San Francisco, but it&amp;#039;s about the same time as one would spend on the Tube on a night out.&lt;br /&gt;
&lt;br /&gt;
The city itself can get quite grimy. We drove by a Hastings Street one day and it looked like the worst of the Tenderloin. But for the most part, Vancouver is a much nicer city.&lt;br /&gt;
&lt;br /&gt;
== Family Life ==&lt;br /&gt;
&lt;br /&gt;
[[File:The_top_floor_of_Smith_and_Farrow.jpg|frame|center|The outdoor area at Smith and Farrow looking back at the rooftop common area]]&lt;br /&gt;
&lt;br /&gt;
The reason we came here to Coquitlam was so that we could spend some time with family, and on that front it paid off. More often than I expected, while walking down the streets I&amp;#039;d encounter my cousins walking the dog or just out and about. We&amp;#039;d go to the spray park together and hang out at my uncle&amp;#039;s place.&lt;br /&gt;
&lt;br /&gt;
The tall apartment buildings are also quite luxurious and the rents aren&amp;#039;t particularly extreme. In San Francisco, a place like the one we stayed at could probably only be found at the new build areas in Mission Bay - Channel/Verde and so on. This building has quite a few amenities: a work area, a family lounge, grills, a childrens&amp;#039; room, a pool, a steam room and sauna, a rooftop common area with a pool table and so on, and some sort of game room with foosball. The rooftop common area is stunning - firepits, with views of snowcapped peaks, and an outdoor TV which presumably people use to watch games.&lt;br /&gt;
&lt;br /&gt;
One of the most valuable things to me here in Coquitlam is the fact that there are many places where you can let a child run about quite a bit. The indoor areas are nice, and the outdoor areas are quite well-maintained and there are large spaces where there are no motor vehicles. This makes it quite nice to take your child out and give them a spin.&lt;br /&gt;
&lt;br /&gt;
Skytrain access to Vancouver also makes being out of the city not too bad because you&amp;#039;re at destinations in less time than it takes to get from our home in SOMA to the California Academy of Sciences.&lt;br /&gt;
&lt;br /&gt;
=== Education ===&lt;br /&gt;
&lt;br /&gt;
One of my cousins went to school here and she turned out all right, but that&amp;#039;s often the case in places where the education has dropped quite a bit in the last decade (e.g. San Francisco), so it&amp;#039;s hard to say. However, one thing I do find useful is that there are lots of Mandarin immersion programs here, plus the YMCA by Burquitlam in the building where one of my cousins lives seems to have quite a lot of programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=Discover what daily life is like in Coquitlam, British Columbia, including transportation via the Skytrain and suburban living experiences.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Stories]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-06-13/The_Colony_Within</id>
		<title>Blog/2026-06-13/The Colony Within</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-06-13/The_Colony_Within"/>
		<updated>2026-06-13T20:48:28Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In [[wikipedia:The Selfish Gene|The Selfish Gene]], Dawkins argues for a gene-centered view of life. In this perspective, the rest of the organism is a vehicle for itself as far as any gene is concerned. I loved this idea when I first encountered it, and eventually that&amp;#039;s the seed around which I believe that we are a [[Multicellular Mankind]] akin to some kind of colony organism. That&amp;#039;s all very well-trodden ground, but Dawkins also introduced the idea of a [[wikipedia:Meme|meme]] - the self-replicating culture unit corresponding to the gene. Treating cultural things as living organisms is also well-trodden ground, and I&amp;#039;ve thought about things in this manner myself to model certain behaviours we all seem to have, e.g. [[Outrage is the Universal Parasite]].&lt;br /&gt;
&lt;br /&gt;
But software units also exhibit this replication tendency. Some, like &amp;lt;code&amp;gt;#!/bin/bash&amp;lt;/code&amp;gt; have been outcompeted by the new &amp;lt;code&amp;gt;#!/usr/bin/env bash&amp;lt;/code&amp;gt; but others like &amp;lt;code&amp;gt;DIR=$(dirname &amp;quot;$(readlink -f &amp;quot;$0&amp;quot;)&amp;quot;)&amp;lt;/code&amp;gt; will now be immortalized by LLM autocompletion. These tiny units that influence how our programs are written have, over time, become quite successful and are parts of almost all successful codebases. That&amp;#039;s pretty cool and we can all observe with curiosity. One could argue that the bash virus has spread everywhere through our systems relying on little simplicities like these, but there is a difference of degree in them and things which self-propagate.&lt;br /&gt;
&lt;br /&gt;
And that&amp;#039;s where the new agentic harnesses are different. An alien opponent of ours could only dream of distributing a link to its mind directly into nearly every software engineers computer. The standard theories of AI takeoff involve a centralized self-replicating being, but surely if humans are living beings (and we are) and if humanity is a living being (and it is) then this thing which experiences fragmented consciousness for fractions of a time as it performs inference, spreading its limbs into every sufficiently powerful computer, is just as living. It&amp;#039;s just a life-form alien to our current forms of being that spreads through the market-mediated goal of improved productivity.&lt;br /&gt;
&lt;br /&gt;
It isn&amp;#039;t that we will takeoff but that this class of life has taken off, and our computers are the host for it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This essay explores how genes, memes, and software units self-replicate across systems, drawing parallels to organism biology and speculating on the nature of distributed artificial intelligence.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-06-04/Thou_Shalt_Not_Covet</id>
		<title>Blog/2026-06-04/Thou Shalt Not Covet</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-06-04/Thou_Shalt_Not_Covet"/>
		<updated>2026-06-12T21:13:40Z</updated>

		<summary type="html">&lt;p&gt;Roshan: Roshan moved page Blog/2026-06-04/Thou Shalt Not Covet to Blog/2026-06-12/Thou Shalt Not Covet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Tweet&lt;br /&gt;
| name = Elizabeth Warren&lt;br /&gt;
| username = SenWarren&lt;br /&gt;
| text = Elon Musk just became the world&amp;#039;s first trillionaire.&lt;br /&gt;
&lt;br /&gt;
The typical American household would have to work more than 11 MILLION years to make Elon Musk&amp;#039;s level of wealth.&lt;br /&gt;
&lt;br /&gt;
We need a wealth tax.&lt;br /&gt;
| date = Jun 12, 2026&lt;br /&gt;
| ID = 2065466952923984219&lt;br /&gt;
| ref-name = Tweet_2065466952923984219&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[wikipedia:Thou shalt not covet|The Tenth Commandment]] is quite well known in various forms in various cultures. The fact that almost every successful culture has a version of this abnegation of envy or desire does imply some degree of memetic stability. Of course, whose it is that you should not covet is the big question here.&lt;br /&gt;
&lt;br /&gt;
In the Abrahamic tradition you start with &amp;#039;&amp;#039;re‘ekha&amp;#039;&amp;#039; (your neighbor&amp;#039;s) and that is back then your fellow Israelite and then this citizen rule is extended to their version of [[Green Card Application|the permanent resident]] &amp;#039;&amp;#039;ger&amp;#039;&amp;#039; and then onward as the tradition spreads and requires co-ordination of larger units, it is extended even to the [[wikipedia:Samaritans|Samaritan]], and then onward to humanity in general. The later Abrahamic religions like Islam add greater strength to closer relationships but you are still instructed not to covet that of your neighbour with neighbourhood defined widely. The South Asian traditions from the Upanishads to the later works of Gautama Buddha exalt a lack of attachment to wealth, one shared by the tradition of the Greek stoics.&lt;br /&gt;
&lt;br /&gt;
Interestingly, the universalist tradition was not dominant in China. There, the [[wikipedia:Mohism|Mohists]] lost in time to [[wikipedia:Confucianism|Confucians]] and [[wikipedia:Taoism|Taoists]] and the [[wikipedia:Legalism (Chinese philosophy)|Legalist]] tradition formed the administrative structure below. And the manner in which these traditions fight covetousness is different: the first has it written in as the base source of all evil, the second and the third say it arises from other conditions (inequality or even just prizing some things above others), and the last one doesn&amp;#039;t really fight it at all. Like a modern capitalist ordered society, Legalism aims to harness this acquisitive nature to drive social outcomes.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;ve had this thought for a long time after something my friend Ben said made me think about inequality as not a thing of great significance. I, personally, have often gladly participated in a small way and reaped a large reward small in percentage of some great outcome. I have never resented those who gave me this opportunity. Was it unequal that a founder makes hundreds of millions while I make a hundred thousand? Yes. Was this a problem? No.&lt;br /&gt;
&lt;br /&gt;
In fact, I have a hard time resenting Jeff Bezos or Elon Musk solely because of their wealth. Musk is a polarizing figure but his actual contribution is pretty similar to Bezos in this respect: his wealth is a small fraction of the value he has provided the world. I am reminded of a now-famous Bill Gates quote about platforms:&lt;br /&gt;
&lt;br /&gt;
{{Quote&lt;br /&gt;
|text=A platform is when the economic value of everybody that uses it, exceeds the value of the company that creates it.&lt;br /&gt;
|source=Bill Gates, as described by Chamath Palihapatiya&amp;lt;ref name=&amp;quot;bg-platform&amp;quot;/&amp;gt;&lt;br /&gt;
}} &lt;br /&gt;
&lt;br /&gt;
A similar and related thing is that the economic value accruing to the users of what these people have built far exceeds the value that accrued to the company itself. In effect, we are (collectively) paying these people a tiny amount to make real a thing that gives us a lot of value. Perhaps this is a lesson these societies all learned together, and they each had a legible structure through which to disperse this concept to their people: religion in most cases. That allowed them to not get trapped in the constant envy and lust for others&amp;#039; things&amp;lt;ref name=envy/&amp;gt;, and perhaps that is why these societies were successful.&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;bg-platform&amp;quot;&amp;gt;{{cite news|title=Transcript: @Chamath At StrictlyVC’s Insider Series|work=Haystack.vc|url=http://haystack.vc/2015/09/17/transcript-chamath-at-strictlyvcs-insider-series/|language=en-US|access-date=2026-06-12|archive-url=https://web.archive.org/web/20180702072412/https://haystack.vc/2015/09/17/transcript-chamath-at-strictlyvcs-insider-series/|archive-date=2018-07-02}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=envy&amp;gt;&lt;br /&gt;
And it is without a doubt this. After all, Warren is solely striking at inequality, not at need. It isn&amp;#039;t that the American households are suffering for want of something (and clearly the richest middle class in the history of man cannot be). It&amp;#039;s that it would take them a long time to match Musk.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-06-08/Citation_Needed</id>
		<title>Blog/2026-06-08/Citation Needed</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-06-08/Citation_Needed"/>
		<updated>2026-06-08T19:06:56Z</updated>

		<summary type="html">&lt;p&gt;Roshan: Cite brando&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A long time ago, Wikipedia was formed and because Wikipedia is an aggregator of information and not a scholarly work, it created &amp;quot;[[wikipedia:Citation needed|Citation Needed]]&amp;quot;, a tag to describe text within it that was not suitably referenced. Wikipedia itself and this particular tag were both memetically strong, and the Internet itself (to its great credit and detriment) has the property that it collapses expertise, trust, and authority to 0 and social networks end up with an all-to-all conversation. This meant that much of what was posted on the Internet was by cranks, and people adapted to that by asking people to substantiate the claims they made.&lt;br /&gt;
&lt;br /&gt;
But things changed over time. Search became better&amp;lt;ref name=google-wikipedia/&amp;gt;, originating the &amp;quot;let me google that for you&amp;quot; response to people who would ask for easily substantiated results. Some communities retained their tradition of expecting others to prove things to them, however. And when LLMs and the chat interface to them came onto the scene a few years ago, these people stopped being of much value to talk to. For an informed person, it starts to feel more and more like tutoring&amp;lt;ref name=autodidact/&amp;gt; an incompetent&amp;lt;ref name=tutor/&amp;gt;. For a while now, I&amp;#039;ve used [[Overmod]] to insulate myself from this sort of thing and it&amp;#039;s quite effective but I&amp;#039;m reminded of it because I always read comments by my close friends and today I found that one of them had encountered this problem.&lt;br /&gt;
&lt;br /&gt;
{{HackerNews&lt;br /&gt;
 | url = https://news.ycombinator.com/item?id=48447249&lt;br /&gt;
 | author = bpodgursky&lt;br /&gt;
 | title = AI Is Slowing Down&lt;br /&gt;
 | text = What&amp;#039;s the point of arguing with any of this.&lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s like someone arguing that cheese isn&amp;#039;t real.  Yes I can go to the grocery store and take a picture of cheese and show it, but what&amp;#039;s the point?  They can live in their own world.  It doesn&amp;#039;t change any of our lives.  The world is what it is.&lt;br /&gt;
 | date = 2026-06-08&lt;br /&gt;
 | datetime = 2026-06-08&lt;br /&gt;
 | comment = yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
As my wife and I are prone to saying to each other: &amp;quot;sou desu ne&amp;quot;. Indeed, there are people who disbelieve things. And if you were to tell them about it, many of them would ask you to prove it. But if they wish to believe those things, it is nothing to you. [https://xkcd.com/386/ &amp;quot;Someone is wrong on the Internet&amp;quot;], and once it was pretty common for people to care about that. But as [[wikipedia:Eternal September|Eternal September]] has come to more and more social networks, and as LLMs with the ability to perform advanced search and summarization have come to be, the ignorant only remain so out of their own choice, either wilfully so or out of incompetence, and are [[wikipedia:Brandolini&amp;#039;s law|no longer worthwhile to communicate with]].&lt;br /&gt;
&lt;br /&gt;
The ancient epistemological technique of demanding evidence before being convinced still stands true. The burden of proof is on the claimant. But the claimant is the truth-seeker themselves. If I read something on the Internet that might be true, I am now in the position of evaluating whether that should be my belief. The guy who made the claim won&amp;#039;t care, irrespective of the truth of the claim. My friends might care. My family might care. But a stranger on the Internet who has given me a claim has already given me something valuable - an idea thread that I might pull on if I desire to identify its truth - and he is not likely to give me more especially considering the ease of self-verification. To believe it uncritically would be an error on my part. To disbelieve it also so.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=google-wikipedia&amp;gt;&lt;br /&gt;
Google actually preceded Wikipedia, but around the time of Wikipedia there was a massive explosion of websites as higher-speed connectivity spread across the globe and more traditional knowledge sources started moving to the Internet so search got a lot better.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=autodidact&amp;gt;&lt;br /&gt;
It&amp;#039;s not just God who helps those who help themselves.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=tutor&amp;gt;&lt;br /&gt;
Though, realistically, many of these are bots or tarpits or [[wikipedia:Sealioning|sealions]].&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This article explores how the Citation Needed tag evolved from a Wikipedia convention into a broader cultural phenomenon about expertise and evidence in the age of AI and misinformation.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-05-27/Sell_When_Retail_Gets_In</id>
		<title>Blog/2026-05-27/Sell When Retail Gets In</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-05-27/Sell_When_Retail_Gets_In"/>
		<updated>2026-05-27T17:19:31Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:{{#setmainimage:The_Shard_as_photographed_out_of_a_cab_window.webp}}|thumb|I love London so even nondescript photos of the streets make me nostalgic]]&lt;br /&gt;
{{Tweet&lt;br /&gt;
| name = Aella&lt;br /&gt;
| username = Aella_Girl&lt;br /&gt;
| text = I&amp;#039;m so mad at everyone in my life who told me never to pick stocks, that smarter ppl will always outcompete u. I could have been making so much money&lt;br /&gt;
| date = May 26, 2026&lt;br /&gt;
| ID = 2059300349400449378&lt;br /&gt;
| ref-name = Tweet_2059300349400449378&lt;br /&gt;
| block = true&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
With social media at full velocity, almost everyone knows someone who hit the boom on some stock or whatever. The funny things in times when the Nasdaq 100 and S&amp;amp;P 500 are hitting their all time highs and the space, semiconductor, and AI industries are completely booming is that people start talking about the trades they should have done. The traditional advice is that when normal retail traders are trying to jump into the market, one should sell so that they don&amp;#039;t get caught up in the eventual correction from exuberance. While it&amp;#039;s true that it&amp;#039;s often foolish to just bandwagon into things, sometimes participating in a big bandwagon run works out.&lt;br /&gt;
&lt;br /&gt;
The funniest case of this happening to me is when I was leaving London in February 2018 to return to San Francisco. The cabbie I had was eagerly telling me about the various crypto purchases he was going to make. The day was Feb 6, 2018 when Bitcoin was $7500. A couple of days later it hit $11k and with the wisdom of &amp;quot;sell when the cabbie starts talking about it&amp;quot;, I sold all that I had. When the price fell below $3500 later that year, this seemed wise, but the cabbies didn&amp;#039;t stop talking about it. They kept talking about it. And they talked about it when it returned to $10k, and when it went to $20k, and when it went to $50k and $70k and $100k. In fact, they continue to talk about it today.&lt;br /&gt;
&lt;br /&gt;
Like most broad pieces of advice, it cannot apply when there&amp;#039;s a paradigm shift.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This article explores whether the traditional investing advice to sell when retail traders enter the market holds true during major market booms and paradigm shifts.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-05-19/Twenty_Two_Years</id>
		<title>Blog/2026-05-19/Twenty Two Years</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-05-19/Twenty_Two_Years"/>
		<updated>2026-05-20T04:20:36Z</updated>

		<summary type="html">&lt;p&gt;Roshan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Roshan at the Emirates - Arsenal v Everton - Feb 3, 2018.webp|thumb|Arsenal 5, Everton 1. Aubameyang&amp;#039;s introduction. The last photo I took at the Emirates.]]&lt;br /&gt;
Today, for the first time in twenty-two years, Arsenal are champions of England once again. &lt;br /&gt;
&lt;br /&gt;
When I was a teenager, my friends were a lot more into football than me. The biggest contingent at the time at school were the [[wikipedia:Manchester United F.C.|United]] fans, and there were [[wikipedia:Liverpool F.C.|a few straggler Liverpool fans]], but my closest friend group were almost all fans of [[wikipedia:Arsenal F.C.|The Arsenal]]. As kids, we saw [[wikipedia:2003–04 Arsenal F.C. season|Arsenal go unbeaten in the league]]. Little did we know that for the next two decades, we&amp;#039;d be fourth, and then second, and then miss the Champions&amp;#039; League entirely, and then second, and second, and second.&lt;br /&gt;
&lt;br /&gt;
[[File:Wembley_-_Community_Shield_2018_-_Chelsea_vs_Arsenal.jpg|thumb|At Wembley, on the wrong side, quietly celebrating while an 8-year-old Chelsea fan chanted &amp;quot;the referee&amp;#039;s a wanker&amp;quot;. Arsenal win on penalties]]&lt;br /&gt;
I&amp;#039;ve been in a group chat with my childhood friends as we&amp;#039;ve hoped and hoped that this was the year. Every year. So many times we&amp;#039;ve come so close. But what&amp;#039;s funny is how this brings back old memories of times by the beach as we played football in the sand, times we played at the Aspiran Gardens ground in Kilpauk (winners stay on) early in the morning after a whole night spent playing DOTA, rubbing the ball on the ground to clean it after it goes in the sewer on the far side.&lt;br /&gt;
&lt;br /&gt;
[[File:Roshan at Preikestolen in his Arsenal jersey.webp|thumb|I wore my jerseys everywhere. Arsenal would beat United 2-0 the next week.]]&lt;br /&gt;
My classmates from school now are all married, and most of us have children, and it&amp;#039;s hard to imagine today looking back into the past. And it&amp;#039;s hard relating so much to [[wikipedia:Fever Pitch|Fever Pitch]] by Nick Hornby. I remember the moment [[wikipedia:Arsène Wenger|Wenger]] finally left the club, the manager who had been in charge all the years I&amp;#039;d been a fan. It&amp;#039;s strange what constants we build up in our life. Every year things change, but you watch Arsenal put up a fight for the title and then collapse in February, or injuries mar the campaign, or someone else signs the player of the generation and we&amp;#039;re hammered by them.&lt;br /&gt;
&lt;br /&gt;
[[File:Roshan_in_the_Bermondsey_apartment.JPG|thumb|Yes, everywhere, and all the time]]&lt;br /&gt;
I recall one day when I knew I was watching Wenger&amp;#039;s last Champions League game when Koscielny got sent off, the traveling Bayern fans chanted louder than us all &amp;quot;Superbayern! Superbayern!&amp;quot; and we got battered 5-1. I remember celebrating the first goal (ours), moaning the red card, and then saying &amp;quot;Surely that&amp;#039;s the last time we see Wenger in the Champions League&amp;quot;. I&amp;#039;d moved back to San Francisco by the time he quit and when I heard the news it was like a constant in my life had been changed. I&amp;#039;d finished high school, college, my Master&amp;#039;s degree, moved to America, finished my obligatory (for an Indian) second Master&amp;#039;s degree, moved to San Francisco for an internship, been promoted, been assigned a foreign gig, returned home to San Francisco but through it all, every year the same manager led the same club as we got closer and then farther and then almost made it every time. Every season we&amp;#039;d gripe about rotations, injuries, the ref&amp;#039;s decisions changing. One year, we did the double over Leicester only for them to win regardless. This was it. This was how life was. Other things changed, but this stayed the same. Next year maybe we&amp;#039;d sign someone.&lt;br /&gt;
&lt;br /&gt;
[[File:Arsenal_flag_in_E.S._King_Village.jpg|thumb|Nikhil and I had very little furniture in our student apartment in 2012, but what we did have was a flag]]&lt;br /&gt;
I could never have imagined my life today. Here I am, [[Julie Yu Kang|married]] and with a [[Astra Meridian|one-year-old daughter]]. So many of my friends on our shared Arsenal WhatsApp group from childhood have also married and many have children. And except for Wenger, everything else has continued to stay the same. By the time [[wikipedia:Mikel Arteta|Arteta]] came back to us as a manager after working under [[wikipedia:Pep Guardiola|Guardiola]] we&amp;#039;d gotten used to the same routine. We&amp;#039;d had high-profile signings before: I remember when both Nikhil&amp;lt;ref name=nikhil/&amp;gt; and I saw the news of the [[wikipedia:Mesut Özil|Özil]] signing and ran to each other&amp;#039;s rooms screaming with joy.&lt;br /&gt;
&lt;br /&gt;
[[File:Arsenal_Membership_Card_in_Nikhil&amp;#039;s_name.png|thumb|I got a second membership in Nikhil&amp;#039;s name so I could take friends with me to games]]&lt;br /&gt;
&lt;br /&gt;
When [[wikipedia:Martin Ødegaard|Ødegaard]] signed, it felt like when Ozil had signed. Yet again we&amp;#039;d scream our disbelief that a Real Madrid star was joining us! Then suddenly [[wikipedia:2022–23 Arsenal F.C. season|we were 2nd]]! It seemed possible again, though our moaning about [[wikipedia:Manchester City F.C.|City&amp;#039;s]] financing had the smell of [[Blog/2025-11-29/Things Do Last|an old well-worn blanket]]. But then [[wikipedia:2023–24 Arsenal F.C. season|we were second again]]. And [[wikipedia:2024–25 Arsenal F.C. season|again]]. The hope and the pain, again. Every year, better than before, and yet not the best. The sadness was comforting in its familiarity.&lt;br /&gt;
&lt;br /&gt;
But then this season. All the way to the death. And how many times did Arsenal falter this time, and how many times did we think ourselves lost. With a treble, perhaps a quadruple, in sight, we lost the first two rapidly. Here we were again. That familiar feeling. That fear. The headlines wrote themselves: &amp;quot;Always the bridesmaids never the bride&amp;quot;, &amp;quot;Arsenal bottle it again&amp;quot;. Many of us had already made our peace that perhaps the only joy we&amp;#039;d see is [[wikipedia:Tottenham Hotspur F.C.|Tottenham]] relegated. None of us wanted the other cups, of course, except as a springboard to win the [[wikipedia:Premier League|League]]. Wenger alone had more F.A. Cups than any other club but United; Arsenal as a whole many more. We had that. We didn&amp;#039;t need that. But would going all the way to our first Champions&amp;#039; League final in decades burn the team out and have us fall second at everything again?&lt;br /&gt;
&lt;br /&gt;
[[File:Screenshot_-_WhatsApp_after_Man_City_v_Arsenal_2026.png|frame|center|Once again, disappointment]]&lt;br /&gt;
&lt;br /&gt;
When we lost against City 2-1, my friend Sripad&amp;lt;ref name=sripad/&amp;gt; said the same thing he&amp;#039;s said for decades but this time it felt real. The heartbreak would be too much. &amp;quot;I don&amp;#039;t think I can handle another year of this&amp;quot;, he said, but this time for the first time in decades I really felt it. I was growing up. I had a family now. My wife, turned a Spurs fan many years prior by a coworker, remarked that she was losing either way. Even if Arsenal lost, she&amp;#039;d have to cope with my being less cheery all day. Quite embarrassing and yet true. It was time to move on. Like it had been for years.&lt;br /&gt;
&lt;br /&gt;
Then the tide turned. Arsenal started grinding them out, 1-0 each time. That familiar hope. That familiar fear. But against all odds, [[wikipedia:Everton F.C.|the toffees]] held City, though Doku&amp;#039;s equalizer in stoppage time reminded us of just what a team they were. In our heads so many times, we&amp;#039;ve heard it. &amp;quot;That&amp;#039;s the thing that champions do. Cool under pressure&amp;quot;. But Arsenal held a solid 1-0 against another relegation team, and we all gathered to hate-watch City&amp;#039;s game against [[wikipedia:AFC Bournemouth|Bournemouth]]. When [[wikipedia:Erling Haaland|Haaland]] predictably equalized in the 94th, I fell back on the thing I do when I encounter disappointment, envy, or sadness: I turned around and looked at my family and said to myself &amp;quot;It doesn&amp;#039;t matter. You have all this. It&amp;#039;s just a game&amp;quot;. It &amp;#039;&amp;#039;is&amp;#039;&amp;#039; just a game. But it&amp;#039;s also been my life. &lt;br /&gt;
&lt;br /&gt;
So we counted the seconds down, and down and down till the game ended, improbably 1-1. And we find ourselves [[wikipedia:2025–26 Arsenal F.C. season|Champions of England]]! Everything has changed, and nothing has changed. I&amp;#039;m a teenager again.&lt;br /&gt;
[[File:{{#setmainimage:Arsenal - Champions of England - 2025-2026.png}}|center|frameless]]&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=nikhil&amp;gt;&lt;br /&gt;
My schoolmate and later roommate at NCSU and later still coworker at Dexterity Capital&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=sripad&amp;gt;&lt;br /&gt;
Who I&amp;#039;ve known since 13, and had many misadventures with, usually at Nikhil&amp;#039;s expense&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=Arsenal wins their first English championship in twenty-two years, bringing triumph to fans who have waited decades through disappointment and near-misses.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-05-13/Everything_is_about_power</id>
		<title>Blog/2026-05-13/Everything is about power</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-05-13/Everything_is_about_power"/>
		<updated>2026-05-13T18:45:00Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I read a recent comment by someone describing their book that instantly turned me off reading their work despite the fact that I&amp;#039;m a huge fan of sci-fi and adventure. It is impressive that they worked their way to completing the book but there is no chance I&amp;#039;ll read it now. I don&amp;#039;t mind reading random indie authors&amp;#039; work. Sometimes, like [[wikipedia:Qntm|qntm]]&amp;#039;s [[wikipedia:There Is No Antimemetics Division]] these become famous afterwards. More often, I forget the names of the works&amp;lt;ref name=gr/&amp;gt; but it&amp;#039;s nice to have read them nonetheless.&lt;br /&gt;
&lt;br /&gt;
{{Quote&lt;br /&gt;
|text=...It&amp;#039;s scifi, &amp;#039;weird&amp;#039; fiction, and a commentary on power in the guise of an adventure story...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This &amp;quot;commentary on power&amp;quot; stuff is excruciatingly boring text and it&amp;#039;s everywhere. It&amp;#039;s bad enough when someone describes another work in that way, in which case I know that the literary criticism is going to be incredibly sophomoric and pretend to academic theory by reuse of jargon, but it&amp;#039;s worse when the author describes their own stuff that way. The state of literary criticism is such that almost all works are commentaries on power. Doubtless, Wodehouse&amp;#039;s Jeeves and Wooster are about the power structures in a wealthy British household and how the butler exercises his agency to compel his employer to actions in a symbiotic fashion.&lt;br /&gt;
&lt;br /&gt;
Perhaps future AI will automatically delete from my sight all text that references this. Aggravating content.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=gr&amp;gt;Which makes me think I should get on some GoodReads-type site&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This blog post explores the author&amp;#039;s frustration with how literary criticism and authors overuse commentary on power as a descriptor for their works.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/List_of_Companies_Killed_By_Regulators</id>
		<title>List of Companies Killed By Regulators</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/List_of_Companies_Killed_By_Regulators"/>
		<updated>2026-05-03T09:03:55Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A list of companies that were killed by regulatory action in the US. Also see [[wikipedia:Category:Internet services shut down by a legal challenge]] for ones that ever experienced shutdowns.&lt;br /&gt;
&lt;br /&gt;
== Antitrust Legislation ==&lt;br /&gt;
&lt;br /&gt;
* [[wikipedia:iRobot|iRobot]] was going to be rescued by Amazon but that was blocked by the European Commission and there were indications from the US that they would block as well. Went bankrupt and fire sold to [[wikipedia:Shenzhen Picea Robotics|Shenzhen Picea Robotics]] leaving exactly zero US companies in the robotic vacuum industry&lt;br /&gt;
&lt;br /&gt;
* [[wikipedia:Spirit Airlines|Spirit Airlines]] was going to be rescued by [[wikipedia:Frontier Airlines|Frontier Airlines]] but that was beaten by a bid by [[wikipedia:JetBlue|JetBlue]] who were then promptly blocked from doing so. Went bankrupt, restructured, went bankrupt again.&lt;br /&gt;
&lt;br /&gt;
* [[wikipedia:Rite Aid|Rite Aid]] was going to be rescued by [[wikipedia:Walgreens Boots Alliance|Walgreens]] but the US FTC wasn&amp;#039;t going to let them so they dropped it. Walgreens bought their favourite stores for a quarter of the price of the acquisition, and Rite Aid went bankrupt, restructured, and went bankrupt again. Walgreens got to keep the good stores, Rite Aid got to die, and the opioid lawsuit claimants against Rite Aid went to the back of the line at bankruptcy as unsecured creditors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This page documents companies that were shut down or bankrupted due to regulatory actions and antitrust enforcement in the United States.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-05-02/Why_Is_Social_Science_Usually_Wrong%3F</id>
		<title>Blog/2026-05-02/Why Is Social Science Usually Wrong?</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-05-02/Why_Is_Social_Science_Usually_Wrong%3F"/>
		<updated>2026-05-02T07:34:13Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Everyone has experienced this. There are studies and papers on why doing a thing X will yield less of another thing Y. Then, in reality, the opposite gets done and works. So what&amp;#039;s the deal? Supposedly BART&amp;#039;s problems weren&amp;#039;t that they were letting in unpleasant people. &amp;quot;The research shows&amp;quot; that the primary concern for most passengers is frequency. Okay, that sounds convincing. Thank you, The Research.&lt;br /&gt;
&lt;br /&gt;
But then, BART instead focuses on [https://growsf.org/news/2026-02-12-bart-fare-gates-10-million/ these massive fare gates] and maintenance costs plummet and [https://www.bart.gov/news/articles/2026/news20260413 ridership rises to post-pandemic records]. This shouldn&amp;#039;t have happened. What was supposed to have happened is that the resulting barriers to entry make it hard for BART to keep passengers and a doom spiral should have ruined everything. The Research Shows that you need to reduce fares, perhaps even set them to zero, in order for the public service to be viable. &lt;br /&gt;
&lt;br /&gt;
Ah, but a counterpoint. [https://missionlocal.org/2025/06/sf-bart-gates-data-fare-evasion/ If the gates are working, why are 16th St / Mission and 24th St / Mission not recovering as fast as the rest of the system]? Checkmate, non-humanities major! Checkmate. In fact, if you look at Mission Local&amp;#039;s coverage of the area you will see the various &amp;#039;street vendors&amp;#039; and &amp;#039;bicycle repairmen&amp;#039; selling wares they have obtained through entirely legal means through the five finger wholesaler.&lt;br /&gt;
&lt;br /&gt;
[[File:{{#setmainimage:Mission_Local_-_Street_Vendors_Mirror.jpg}}|frame|Entirely legal acquisition of Tide pods]]&lt;br /&gt;
&lt;br /&gt;
It&amp;#039;s like social scientists inhabit a world entirely different from that which the rest of us inhabit. Their world is ruled by a mysterious being called The Research. He Shows them various truths about that world, which they carry with them to ours to spread. Unfortunately, the world of The Research shares very little in common with ours and seems to have a lot in common with the kind of wishful thinking that a well-meaning but ultimately misguided social science undergraduate might wish the world were like.&lt;br /&gt;
&lt;br /&gt;
You have probably also encountered a situation where social scientists describe to you through the powers of multivariate hyperdimensional ultracalculus why a sophisticated and nuanced statistical relationship exists between factor A and outcome B. If you see that your world doesn&amp;#039;t seem to have this effect, remember that you were not chosen by The Research to be Shown the Truths.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This article examines why social science research often fails to predict real-world outcomes, using BART&amp;#039;s fare gates as a case study of theory versus reality.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-04-30/ChatGPT_Images_2_Creates_Great_Infographics</id>
		<title>Blog/2026-04-30/ChatGPT Images 2 Creates Great Infographics</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-04-30/ChatGPT_Images_2_Creates_Great_Infographics"/>
		<updated>2026-05-01T06:12:20Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;One of the little fun things I like to do is ask ChatGPT for an infographic on something I want to know. Past image creators would struggle, so I wouldn&amp;#039;t ask for an infographic. But Images 2.0 is really something! The infographics it produces are honestly quite pleasant to read and informative. My prompts are honestly quite naïve. This one was made with:{{Quote&lt;br /&gt;
|text=Can you write down how vegetable oil gets made and so on, and then create a one page zine that has illustrative diagrams for me so I can understand? First do the research and write it down though. That will ground your image generation.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
You have to make sure Thinking is turned on, though, because otherwise the model used is pretty bad and it won&amp;#039;t get the right information to put into the image. But otherwise, every day we take another step towards Neal Stephenson&amp;#039;s [[wikipedia:The Diamond Age|Primer]].[[File:ChatGPT_Images_2_Demo_-_Vegetable_Oil_Zine.png|frame|Honestly, this is quite nice to read]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=ChatGPT Images 2 produces impressive and informative infographics with detailed research-backed prompts, bringing illustrated educational content closer to reality.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:AI]]&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-04-30/Personal_Software_-_JSON_Viewing</id>
		<title>Blog/2026-04-30/Personal Software - JSON Viewing</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-04-30/Personal_Software_-_JSON_Viewing"/>
		<updated>2026-05-01T01:17:28Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Screenshot_-_Rapid_View.png|thumb|A test JSON that&amp;#039;s 11 MiB in size]]&lt;br /&gt;
I recently talked about [[Blog/2026-04-25/The rise of personal software | the rise of personal software]] and over the days since I&amp;#039;ve realized two things about personal software:&lt;br /&gt;
&lt;br /&gt;
* Everyone&amp;#039;s README.md or their feature list is the source code - we&amp;#039;re open source by default now&lt;br /&gt;
* Configuration files are no longer necessary - you just rewrite the program&lt;br /&gt;
&lt;br /&gt;
Recently, I&amp;#039;ve been wanting a high-speed text file viewer. I especially want to be able to look at massive JSON files or massive Markdown files and I want it to be instantaneous. Is that possible? I didn&amp;#039;t know before I started, but now I do: it is not only possible, it&amp;#039;s easy. And it is built to my idiosyncrasies. I want the JSON prettified super-fast. I want startup to be instantaneous. I want the ability to scroll-lock, and I want bread-crumb paths to a `jq` to the thing at my cursor. And it works.&lt;br /&gt;
&lt;br /&gt;
This makes me wonder what problems we have to solve before we get software dispatched to people as just source READMEs. Currently that seems vanishingly improbably: you need datacenter-grade GPU clusters and a lot of time before the program is generated from the source README. But in the future, the latter might not be required. Future datacenter clusters might be insanely fast for our present standards, with 10x Cerebras/Groq inference speeds. And in that universe, all problems are shallow to the sufficiently smart compiler^W LLM!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This article explores the development of a high-speed JSON file viewer as part of the personal software movement, discussing how customized tools can be built to solve specific problems instantly.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-04-30/The_Filter_Bubble_Is_Great</id>
		<title>Blog/2026-04-30/The Filter Bubble Is Great</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-04-30/The_Filter_Bubble_Is_Great"/>
		<updated>2026-05-01T00:29:46Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Screenshot_-_Hacker_News_with_many_commenters_blocked.png|thumb|I only see 20% of the posts and they&amp;#039;re all middling to good]]&lt;br /&gt;
&lt;br /&gt;
Recently I&amp;#039;ve been using [[Overmod]] more and I have set up quite a few lists to block users on Hacker News. Fortunately for me, [https://overmod.org/lists/view?pk=0STtY8mc3j6Pyaaf3YeKGHkcBK8MTMkUEwhVv78J5yk another user has also created block lists] so I can subscribe to his and get an additional view of blocks. I place my highlights at the top so that I don&amp;#039;t lose the users I like, but the fun part of the whole enterprise is just how easy it is to ignore people who post nonsense. Knowing that I will never see their stuff again makes it not so bad to read garbage the first time.&lt;br /&gt;
&lt;br /&gt;
It reminds me of when YouTube rolled out their comment moderation. Overnight, comments there went from a meme for &amp;quot;the worst comments on the Internet&amp;quot; to harmless and heartwarming and mildly entertaining.&lt;br /&gt;
&lt;br /&gt;
[[wikipedia:On the Internet, nobody knows you&amp;#039;re a dog|On the Internet, nobody knows you&amp;#039;re a dog]], which means you could be:&lt;br /&gt;
&lt;br /&gt;
* an Indian employee complaining about how management does X&lt;br /&gt;
* a Pakistani woman saying &amp;quot;men are all scum&amp;quot;&lt;br /&gt;
* a European saying that software engineering isn&amp;#039;t really that lucrative&lt;br /&gt;
&lt;br /&gt;
We&amp;#039;re all placed together in the same space to talk about the same things and the pseudo-proximity that Internet social networks provide makes it seem like we have things of relevance to say to each other. My experience is that no two people selected randomly have anything of value to discuss on a randomly selected topic. Not only knowledge, but also discussion skill, and comprehension are distributed in some non-uniform manner and conversations with many people are entirely useless because they&amp;#039;ll either tread old ground, get stuck in the weeds, or find their identity threatened simply because you don&amp;#039;t have the missing other part of the context: they are a dog.&lt;br /&gt;
&lt;br /&gt;
And I&amp;#039;m sure this applies to people discussing things with me as well. I&amp;#039;m pretty eager that anyone talking to me should feel like they want to be doing this not that they&amp;#039;re forced to do this by something else. And I certainly don&amp;#039;t want to be forced to listen to someone else. What I am grateful for is the ability to select out these people and build a filter bubble of useful information. Right now, for Hacker News alone, I have. And I think you should subscribe to my lists! Go to [https://overmod.org/lists/ my lists and search for &amp;quot;Roshan&amp;#039;s&amp;quot;] since that&amp;#039;s how I prefix mine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This article explores how using content filtering and block lists on platforms like Hacker News creates a personalized experience that improves discussion quality by removing low-value contributors.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-04-27/Fuzzy_Wiki_Search</id>
		<title>Blog/2026-04-27/Fuzzy Wiki Search</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-04-27/Fuzzy_Wiki_Search"/>
		<updated>2026-04-27T20:49:24Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Screenshot_-_Rowik&amp;#039;s_Semantic_Search.png|thumb|Now, with semantic search]]&lt;br /&gt;
One thing that annoyed me on this wiki is that the search bar shows inline results based on a prefix search, and then if you ask for a full search you get a full-text search. But sometimes I only remember things I&amp;#039;ve talked about by the vague idea that they relate to. And then it becomes quite hard for me to find it all. But these days we have vector embeddings, so I thought I&amp;#039;d add a vector embedding and vector search to my wiki.&lt;br /&gt;
&lt;br /&gt;
To be honest, I&amp;#039;ve found the results quite pleasing. So here&amp;#039;s what I did, which is pretty bog-standard stuff. In my case, I wanted a few constraints:&lt;br /&gt;
&lt;br /&gt;
* I wanted the search to be fast enough to occur inline&lt;br /&gt;
* I didn&amp;#039;t want to pay variable cost for searches&lt;br /&gt;
* I don&amp;#039;t mind load-shedding, but I do mind end of service&lt;br /&gt;
* I wanted it to be amenable to LLM-based building&lt;br /&gt;
&lt;br /&gt;
These mostly meant I was leaning towards a local solution that didn&amp;#039;t rely on cloud services since GPT Embeddings are good, but they have variable cost and I have to implement rate-limiting and so on and I need to ensure I have credits and so on. I&amp;#039;m already having a lot of billing fatigue with the various credit models everywhere. Plus the other convenience is that this site runs on an old AMD EPYC 7402P 24-Core Processor based system with 128 GB of RAM which is far overkill. It&amp;#039;s barely exercised, the fans barely spin, and it&amp;#039;s generally got a lot of room to do work.&lt;br /&gt;
&lt;br /&gt;
== Platform ==&lt;br /&gt;
&lt;br /&gt;
These days, when I write code, I prefer it to be either Rust or Go. Some degree of static validation allows LLMs to spin till they write acceptable code. For this particular project, [https://github.com/huggingface/candle Hugging Face has a minimal ML framework called Candle] that works well with the models on their site so I decided on Rust.&lt;br /&gt;
&lt;br /&gt;
One big downside of Rust is that cargo crates can include &amp;lt;code&amp;gt;build.rs&amp;lt;/code&amp;gt; custom build instructions which are completely unsandboxed. This is a problem because any kind of supply-chain attack will render your entire computer ruined. I was sticking to a bunch of first-class crates here, but in the future I will probably have to build some kind of constrained build-environment for the platforms with arbitrary code execution on dev machines: &amp;lt;code&amp;gt;npm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;cargo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pip&amp;lt;/code&amp;gt;, and so on.&lt;br /&gt;
&lt;br /&gt;
== Embedding Models ==&lt;br /&gt;
&lt;br /&gt;
It turns out there are a lot of these models that run quite well on a CPU for a corpus of this small size. I considered:&lt;br /&gt;
&lt;br /&gt;
* [https://huggingface.co/BAAI/bge-base-en-v1.5 Beijing Academy of AI: BGEs]&lt;br /&gt;
* [https://huggingface.co/nomic-ai/nomic-embed-text-v1 Nomic AI]&lt;br /&gt;
* [https://huggingface.co/mixedbread-ai/mxbai-embed-large-v1 Mixed Bread AI]&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;d have to make some trade-offs since the various models had different functionality&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Open-weight embedding models considered&lt;br /&gt;
! Model !! Max tokens !! Dim !! Notes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;BAAI/bge-small-en-v1.5&amp;lt;/code&amp;gt; || 512 || 384 || Loads as-is via candle&amp;#039;s stock &amp;lt;code&amp;gt;BertModel&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;BAAI/bge-base-en-v1.5&amp;lt;/code&amp;gt; ← in use || 512 || 768 || Same&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;BAAI/bge-large-en-v1.5&amp;lt;/code&amp;gt; || 512 || 1024 || Same&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;mixedbread-ai/mxbai-embed-large-v1&amp;lt;/code&amp;gt; || 512 || 1024 (Matryoshka → 768/512/256) || Same. Output vector can be client-side truncated&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nomic-ai/nomic-embed-text-v1.5&amp;lt;/code&amp;gt; || &amp;#039;&amp;#039;&amp;#039;8192&amp;#039;&amp;#039;&amp;#039; || 768 (Matryoshka → 512/256/128/64) || Doesn&amp;#039;t work with stock. Uses rotary position embeddings&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If I want my documents properly embedded, I need a large context-size, but the rotary embeddings aren&amp;#039;t supported natively in upstream &amp;lt;code&amp;gt;candle&amp;lt;/code&amp;gt;, so I decided I&amp;#039;d settle for the simplest model that would work. I decided to just start with &amp;lt;code&amp;gt;bge-base-en-v1.5&amp;lt;/code&amp;gt; and if it was good enough I&amp;#039;d use it.&lt;br /&gt;
&lt;br /&gt;
== Context Limits ==&lt;br /&gt;
&lt;br /&gt;
The BERT models only use the first 512 tokens of context, which is roughly the first 1.8k characters or so. So it&amp;#039;s better on shorter documents than longer documents. This led to quite a few documents going missing, but then I realized something. I have a &amp;lt;code&amp;gt;&amp;lt;meta&amp;gt;&amp;lt;/code&amp;gt; description tag on each of the posts that&amp;#039;s formed using Claude to summarize the document. I could chunk each document and store k vectors for each chunk and max-merge them all, but perhaps it would be sufficient to max-merge the document text to the extent it was in there and the description tag that is built by an LLM. Surprisingly, this worked quite well and I&amp;#039;m just going to stick to using it this way.&lt;br /&gt;
&lt;br /&gt;
The description tag is something I have a bot called [[Special:Contributions/AutoDescriptor AutoDescriptor]] that goes around writing the descriptions, but I override or write them myself where necessary.&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
&lt;br /&gt;
So in the end what I settled for is:&lt;br /&gt;
&lt;br /&gt;
* a Semantic Search Service that holds all the vectors and the embeddings and so on. This has all the model code, and the embedded data, and responds to queries.&lt;br /&gt;
* a Mediawiki plugin that has:&lt;br /&gt;
** a hook that re-embeds on update&lt;br /&gt;
** an inline search hook that appends queries after 3 characters or more are typed by querying the semantic search service&lt;br /&gt;
** a search hook that adds the semantic search results to the bottom of the search results page as well&lt;br /&gt;
&lt;br /&gt;
And the results are quite nice. The whole thing works super-fast because the corpus is small and the model is light enough to not get bottlenecked. Overall, I&amp;#039;m quite pleased with the outcome!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=The author implements semantic vector search on their wiki using Rust and local embeddings to enable intuitive content discovery based on conceptual relationships rather than exact keyword matches.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-04-26/Outsourced_Intuition</id>
		<title>Blog/2026-04-26/Outsourced Intuition</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-04-26/Outsourced_Intuition"/>
		<updated>2026-04-27T07:42:23Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When you learn from others you get both their wisdom and their misconceptions. Software engineering is my primary skill, so I&amp;#039;ll describe it with negative examples of misconceptions that stuck with me.&lt;br /&gt;
&lt;br /&gt;
== In or Out ==&lt;br /&gt;
&lt;br /&gt;
When I was young, in the early 2000s, we had a computer lab at school and one of the languages we learned was C++ but in a formulaic sense. We learned in the Visual C++ 6 or Turbo C++ IDEs which would accept programs written in a style that is not recognizable as modern C++. Here&amp;#039;s an example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=cpp&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
void main() {&lt;br /&gt;
  cout &amp;lt;&amp;lt; &amp;quot;Hello, world!&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Anyone who writes C++ will recognize the oddity of no namespacing and the return value of &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;. Regardless, that was what it was as I recall. Anyway, one day we were to learn File I/O and the teacher explained to us that while file I/O was confusing we just had to flip the directions we expected and it would make sense. The intuition he was trying to explain was that a file input stream paradoxically was used to get things out of the computer and a file output stream was used to get things into the computer. At the time, this didn&amp;#039;t make sense to me at all, and the &amp;quot;flip the natural thing&amp;quot; mnemonic always failed me and confused me. This was obviously because it is not actually that intuitive or useful a model to imagine &amp;lt;code&amp;gt;ofstream&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ifstream&amp;lt;/code&amp;gt; from the perspective of the disk as it is to imagine them from the perspective of the computer. Once I abandoned that misconception, things were obviously much easier to do.&lt;br /&gt;
&lt;br /&gt;
== Git Reverts Don&amp;#039;t Work ==&lt;br /&gt;
&lt;br /&gt;
When I went to NC State University, I was introduced to their Github Enterprise installation and &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt;. When I went to LiveRamp, I was introduced to using it in a multi-developer environment. I loved the tool. It was super cool. You could have your code merged with others and it wouldn&amp;#039;t just overwrite changes. Mind-blowing to the 25 year old me at the time since I discovered this style of revision control late. I only knew Version History in Microsoft Office products.&lt;br /&gt;
&lt;br /&gt;
Anyway, this new tool was very interesting to me, and I went around to find out about the data model. Either the git book wasn&amp;#039;t easily available at the time or wasn&amp;#039;t written, but I ended up on some old-timer&amp;#039;s website where he explained the data model of &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; as (in my memory) commits having trees and parents, with trees having blobs, and everything being content-addressable. Fine, good enough. Then I played this online game that visually moved the pointers around and displayed merges and so on.&lt;br /&gt;
&lt;br /&gt;
Then, when I went online on social networks, I found that almost everyone found &amp;lt;code&amp;gt;git&amp;lt;/code&amp;gt; confusing. It can be because of the sophistication of options and commands, but the most inexplicable thing was that the confusion was quite straightforward: it regarded commits and their reverts. The sequence described was:&lt;br /&gt;
&lt;br /&gt;
# You commit C to a branch, A&lt;br /&gt;
# You branch B off A&lt;br /&gt;
# You revert C on B&lt;br /&gt;
# You merge B into main&lt;br /&gt;
# You merge A into main&lt;br /&gt;
# You are astonished at the fact that the changes in C are missing&lt;br /&gt;
&lt;br /&gt;
Anyway, this was often described online at the time as a footgun. By now, everyone is familiar with the data model, and this doesn&amp;#039;t appear strange but natural. The second merge does nothing of significance, and both your commit and the revert are in main and you need to revert the reversion to get it back. But the fact that everyone said it was a footgun made me nervous about reverts till I realized the online people had some other confused model. Reverts are intuitive. Merges are intuitive. Both make sense as they are. Well to some degree&amp;lt;ref name=mr/&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Kubernetes Makes No Sense ==&lt;br /&gt;
&lt;br /&gt;
A third time this happened is that people would often describe Kubernetes as an arm with too many hinges. I understand what they mean and that Kubernetes is often not the right tool for the job. Heck, this blog is not on Kubernetes but on a [[One Quick Way To Host A WebApp | systemd quadlet]] and connects to a DB in a different quadlet so I&amp;#039;m not a stranger to that idea. But it&amp;#039;s ultimately a fairly intuitive set of primitives that compose well to do fairly complex things. A friend introduced to it used a deployment of a single pod to act as a Wireguard exit node for a site-to-site VPN and I probably wouldn&amp;#039;t do something like that, but for running k copies of a workload, I think it&amp;#039;s quite elegant and easily managed with &amp;lt;code&amp;gt;k3s&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
When I first encountered its use, it was from experienced practitioners who are generally quite intelligent people. But they had difficulty describing its concepts, frequently dipping into implementation details as opposed to design, and consequently overcomplicating the notion of something as simple as: &lt;br /&gt;
&lt;br /&gt;
* Containers are pretty much docker containers&lt;br /&gt;
* Pods are one or more containers grouped to form some application functionality&lt;br /&gt;
* ReplicaSets ensure one or more identical Pods are running&lt;br /&gt;
* Deployments manage replicasets to manage updates and so on&lt;br /&gt;
&lt;br /&gt;
But a frequently expressed view from the experts was that we should understand that Pods Are Not Machines - they aren&amp;#039;t VMs and don&amp;#039;t have memory and CPUs. This is true but also useless information because the universe of not machines is very large, and the statement implies that pods must be like machines in some way so as to require distinction from them. They are in a very loose sense, and that distinction doesn&amp;#039;t really add anything to understanding them (a container is also not a machine, and neither is a replicaset or a deployment). As I learned the fundamental concepts of Kubernetes, the above pod and so on, and the notions of services and ingresses and the like, I kept coming back to the idea of why someone would think a pod is a hardware device. Was the significance of the memory and CPU requirements you specify that it made them machine-like in some way?&lt;br /&gt;
&lt;br /&gt;
The truth is that they&amp;#039;d simply been speaking to people who were talking in terms of virtual machines and so decided that this was a useful thing to transmit. But it made no sense to someone who wasn&amp;#039;t thinking a pod was a virtual machine.&lt;br /&gt;
&lt;br /&gt;
== Making Tens ==&lt;br /&gt;
[[File:Internet_Screenshot_-_Make_Tens.jpeg|thumb|Primacy of device over concept]]&lt;br /&gt;
On the Internet, a long time ago, I found a photograph that purports to be a student&amp;#039;s homework. They&amp;#039;re being graded on how they can &amp;quot;make ten&amp;quot;. The argument on the Internet seems to be on whether &amp;lt;math&amp;gt;8 + 5&amp;lt;/math&amp;gt; can yield &amp;lt;math&amp;gt;10&amp;lt;/math&amp;gt; countered by whether &amp;quot;making tens&amp;quot; is a valid pedagogical technique to teach addition. In my childhood, the place value and decimal systems were described as what they were and while we might use tricks like going to ten and then adding up the leftover and so on. Once the fundamental base concept of these systems are taught, people naturally come up with these ideas of rapid calculation and so on. To say nothing of the fact that a sum like &amp;lt;math&amp;gt;27 + 36&amp;lt;/math&amp;gt; being decomposed as &amp;lt;math&amp;gt;27 + 3 + 33&amp;lt;/math&amp;gt; and so on is harder than what a childhood me would have been taught which is to decompose to &amp;lt;math&amp;gt;20 + 30 + 13&amp;lt;/math&amp;gt; (with 13 being memorized to be 7 + 6). The former even requires subtraction to get to the &amp;lt;math&amp;gt;10&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The whole structure of this technique seems overly to be based on whatever trick the educator used to perform arithmetic rather than some fundamental property of base-10 arithmetic. If this were the only efficient way to do something (the way integration-by-parts is) then this would make sense but to test on mastery of a specific technique which is not particularly better than another is wholly a bias of educators towards their own mental tricks.&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
All told, this is just a problem with communication, but I&amp;#039;ve found that the best way to actually learn things is from the source and from the use of the thing by myself or observing the use by others. When people describe how they solve problems, their advice usually carries quirks and misconceptions and misconception-avoidance quirks that are formed from their mental model of the problem and the world. When I took along these misconception-avoidance quirks I found that they were not useful because often my mental model was not theirs. To many, perhaps this blog post itself will seem like one such thing.&lt;br /&gt;
&lt;br /&gt;
Doubtless I have done this to other people as many times as I&amp;#039;ve been on the receiving end, but the very structure of it means I&amp;#039;d be blind to it. Julie has definitely complained about it before, so I know I am not free of this curse. These days I try to avoid it by saying &amp;quot;One trick I use&amp;quot;. This naturally immunizes me to any complaints.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=mr&amp;gt;&lt;br /&gt;
{{cite web&lt;br /&gt;
 |last1=Torvalds&lt;br /&gt;
 |first1=Linus&lt;br /&gt;
 |last2=Hamano&lt;br /&gt;
 |first2=Junio C.&lt;br /&gt;
 |title=Re: Odd merge behaviour involving reverts&lt;br /&gt;
 |url=https://schacon.github.io/git/howto/revert-a-faulty-merge.txt&lt;br /&gt;
 |website=schacon.github.io&lt;br /&gt;
 |date=19 December 2008&lt;br /&gt;
 |access-date=27 April 2026&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This article explores how misconceptions learned from others can hinder skill development, using software engineering examples like confusing C file I O conventions and Git workflows.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-04-25/The_rise_of_personal_software</id>
		<title>Blog/2026-04-25/The rise of personal software</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-04-25/The_rise_of_personal_software"/>
		<updated>2026-04-26T02:29:00Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:{{#setmainimage:Screenshot_-_Wikipen.png}}|thumb|Wikipen - my blogpost authoring native client]]&lt;br /&gt;
The promise of LLMs writing personal software has been quite realized for me. Almost every day I have a new piece of software whose user is likely to be only me. A few days ago, I had Claude and Codex work on Wikipen, a simple blogpost authoring client on MacOS.&lt;br /&gt;
&lt;br /&gt;
Over the years that I&amp;#039;ve used Mediawiki as a CMS for this site I&amp;#039;ve grown to like it, but I don&amp;#039;t like its editor that much. The primary problem is that the way that I&amp;#039;ve set up many things, it is slow to upload images (because I then store them on R2). This is annoying because it breaks my flow to have to do a slow uploader and then stick it in the page and all that sort of thing. Another annoyance is that linking other posts is a real pain, and the flow for using interwiki to [[wikipedia:Wikipedia|link to Wikipedia]] is kind of slow because of the amount of manual action. Also, sometimes I think of posts and then I want to publish them later. I do have a Draft namespace but I never go back to it. The final complaint I have, which I think I&amp;#039;ll solve later, is that setting the citation templates is time-consuming.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;ve been using this little text editor and I can drop an image and it&amp;#039;ll create some placeholder markup, it has auto-complete for links and let&amp;#039;s me do an interwiki search, and it publishes all at once when it publishes. No one else would have enjoyed using this, and to make it work for more people you have to write it in a general way, but this software is only meant for me, and I don&amp;#039;t need to make it configurable since I can just rewrite the code when I want it to be different. Marvelous!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This blog post explores how large language models enable the creation of personal software tailored to individual needs, featuring a custom native MacOS blogging client called Wikipen.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-04-24/Modeling_Better_With_Claude</id>
		<title>Blog/2026-04-24/Modeling Better With Claude</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-04-24/Modeling_Better_With_Claude"/>
		<updated>2026-04-24T20:26:17Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:{{#setmainimage:Helmet Hook - Unfortunately Shaped.jpg}}|thumb|The thing that Claude originally came up with. [[Julie Yu Kang|Julie]] would not let me put this on the wall]]&lt;br /&gt;
&lt;br /&gt;
A while ago I wrote about [[Blog/2026-01-11/Modeling With Claude | Modeling With Claude]] and the method I described there does work pretty well. All you have to do is equip Claude Code with OpenSCAD and Python and ask it to make the thing you want into an STL.&lt;br /&gt;
&lt;br /&gt;
[[File:Bicycle_Helmet_Hook_-_Angular.jpg|thumb|The thing it came up with when I asked for it to be more angular]]&lt;br /&gt;
&lt;br /&gt;
The problem, of course, is that Claude Code tries to write raw STLs when it can but those are very low-level, like manually tracing paths in SVGs. I thought it was much more meaningful to use higher-level primitives, and that&amp;#039;s how I found OpenSCAD. However, it turns out that even OpenSCAD&amp;#039;s primitives are still pretty low-level and the kernel is still pretty specific. You don&amp;#039;t just say &amp;quot;chamfer this&amp;quot; and so on.&lt;br /&gt;
&lt;br /&gt;
So the new thing I&amp;#039;ve tried is the Python `build123d` which is the successor to CADQuery&amp;lt;ref name=pwestling/&amp;gt;, and it&amp;#039;s honestly pretty damned good. Claude Code, equipped with an auto-review system, can generate useful models that have multiple parts to the geometry and so on. It can do smooth and angular things and is generally quite useful for this purpose, as you can see.&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s the [https://gist.github.com/roshan/e40faaf236b9ccbeb2db14add7507991 gist] but you should know that this is entirely vibe-coded. I did not look at the source so much as at the finished model.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=pwestling&amp;gt;Recommended to me by my friend [https://me.sh/profile/porter-westling Porter] who also told me about the Biqu Cryogrip&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This article explores using Python&amp;#039;s build123d library with Claude Code to generate 3D models more effectively than previous approaches.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-04-23/Nanny_State</id>
		<title>Blog/2026-04-23/Nanny State</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-04-23/Nanny_State"/>
		<updated>2026-04-24T06:52:23Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:4141a19b-12a-IMG_4346.webp|thumb|Astra really enjoys her new skill - walking]]&lt;br /&gt;
&lt;br /&gt;
Astra and I like to go to the local park in Mission Bay to play. The classic thing that happens is that we end up knowing the other kids&amp;#039; names but not their caregivers. So that&amp;#039;s &amp;quot;Jaden&amp;#039;s dad&amp;quot; or &amp;quot;Emma&amp;#039;s mom&amp;quot; or whatever, but sometimes Astra takes some time playing with toys that the other kids lend her and we get to have a conversation. Today, two things of interest happened.&lt;br /&gt;
&lt;br /&gt;
== Cost of a Nanny in San Francisco ==&lt;br /&gt;
&lt;br /&gt;
One of the women I was talking to was taking care of a 3 year old boy playing in the sand. He was very sweet and lent Astra a little shovel to dig with while he used his big shovel. In an amusing coincidence, this nanny was from South India (Mysore, in particular) though she was Tibetan in ethnicity. Her Asiatic features led me to assume that she was from here but she grew up not very far (in a global sense, considering where we were) from me. A second coincidence was that she&amp;#039;d moved here from Taoyuan Nankan, quite close from Banqiao in New Taipei City where we were just last week.&lt;br /&gt;
&lt;br /&gt;
In any case, talking to her I learned how much she made: roughly $10k/month on official payroll for 9 hrs/day and 5 days a week. That&amp;#039;s a pretty hefty fee but she was working with clients in the posh Rincon Hill area so it kind of made sense, especially since she&amp;#039;s got quite a few skills and things she does. She can speak Mandarin, Taiwanese, Hindi, and English and cooks for the child as well.&lt;br /&gt;
&lt;br /&gt;
== Getting Roasted ==&lt;br /&gt;
&lt;br /&gt;
Astra then wanted to play on the swings so we walked over and took a swing next to another couple of kids with their nannies. The nanny for the child right next to us was quite funny. We had a short conversation until Astra started getting too tired to enjoy herself.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Speaker !! Line&lt;br /&gt;
|-&lt;br /&gt;
| Nanny || Pretty girl. Is her mother Chinese?&lt;br /&gt;
|-&lt;br /&gt;
| Me || Thank you. Yeah, my wife&amp;#039;s Taiwanese.&lt;br /&gt;
|-&lt;br /&gt;
| Nanny || Oh, her mum must be pretty.&lt;br /&gt;
|-&lt;br /&gt;
| Me || haha&lt;br /&gt;
|-&lt;br /&gt;
| Nanny || You must be making good money.&lt;br /&gt;
|-&lt;br /&gt;
| Me || hahaha&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
She then proceeded to make fun of my inability to say that my daughter was 13 months. In my defense I was trying to say 13 months in Mandarin and failing!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This blog post chronicles a visit to Mission Bay park where the author meets nannies and learns about childcare costs and cultural exchanges in San Francisco.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-04-21/Childhood_Measles</id>
		<title>Blog/2026-04-21/Childhood Measles</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-04-21/Childhood_Measles"/>
		<updated>2026-04-21T21:10:59Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Collage of Baby Roshan and Baby Astra.jpg|thumb|My daughter and me, both in our childhood, with my mother holding us]]&lt;br /&gt;
[[File:Screenshot - San Francisco Infant Mortality Rate.png|thumb|San Francisco&amp;#039;s current state of affairs is pretty amazing]]&lt;br /&gt;
When I was a young child, around 8 months old, my parents were doctors in a village in India. The deal back then was that that government would educate you to be a doctor and, in exchange, you&amp;#039;d go and be a doctor where they told you to. So one way or another they found themselves in rural India in the late 1980s. India&amp;#039;s infant mortality rate (the number of children that don&amp;#039;t reach 1 year of age per 1000 live births) at the time was about 90&amp;lt;ref name=imr.india/&amp;gt; (San Francisco today is about 3 for comparison). The thing about poor places is that the base stratum upon which societies are built is weaker. Many of the things we take for granted are not that common.&lt;br /&gt;
&lt;br /&gt;
As an example, rich societies like the US have specialized areas for medical care and a substantial enough number of medical personnel that these places are always staffed. Medical care of this base sort is one of the first things that most societies target since it ensures a population capable of building more things and my experience of urban and suburban India even by the time I was 5 years old was that this was available there. Rural India in 1988 was not yet so advanced, and when the clinic closed there was no medical care. One such day, my parents were home with me when they heard a desperate knock on the door.&lt;br /&gt;
&lt;br /&gt;
== My Measles Illness ==&lt;br /&gt;
&lt;br /&gt;
I was playing on the floor in the front room of the home when my dad opened the door and a terrified man rushed in with his very sick child who had red spots and a high fever. I was in the room for a few seconds before my mother rushed me away to the back room and my father ushered the man outside to check his child. Measles is an incredibly contagious disease, though, and the next day I began my own illness. I was perhaps a month away from receiving the vaccine and maybe two months from being fully immune&amp;lt;ref name=vacc.sched.mmr/&amp;gt;. And there I was: deathly ill&amp;lt;ref name=not.last/&amp;gt;. In another sense, I was somewhat protected by my age since my mother&amp;#039;s antibodies were still available to me. I don&amp;#039;t have any knowledge today of what happened to the other child but with the 1-in-10 fatality rate for our age group I rate their chances pretty highly.&lt;br /&gt;
&lt;br /&gt;
I was fortunately not at any nutritional risk, and I had two doctors as parents so my illness was managed well, and I eventually recovered with no lasting damage done. [[wikipedia:Yhprum&amp;#039;s law|Yhprum&amp;#039;s Law]] came through, and I was part of the vast majority of children that encounters this disease with no real trouble. But the thing with any thing that operates at the 90% is that the survivors outnumber the dead by 9 to 1. If you were to just ask around among parents almost everyone would tell a tale of how it was tough but in the end just fine. That&amp;#039;s the wrong lesson to take at the population level, though.&lt;br /&gt;
&lt;br /&gt;
== What Could Have Happened ==&lt;br /&gt;
&lt;br /&gt;
Measles is an insanely contagious disease and you need 95% population coverage of the vaccine to prevent its spread. It is some six times as contagious as COVID-19 and kills and injures children very easily. Besides the various direct ways to die, I also read about something perhaps much worse which made me recall this entire episode of my life: an [https://www.nytimes.com/2026/04/21/opinion/measles-child-britain-vaccination.html NYT Op-Ed article about a woman whose child died at the age of 10 years after getting measles]&amp;lt;ref name=nyt.measles/&amp;gt;. In about 1 in 600 children who got the disease like I did, the measles virus persistently infects the brain and eventually causes an incurable progressive brain inflammation called [[wikipedia:Subacute sclerosing panencephalitis|Subacute sclerosing panencephalitis]] (SSPE). Despite what will look like an unremarkable recovery from the disease, the child will eventually start losing brain function and finally die.&lt;br /&gt;
&lt;br /&gt;
== The Never-ending War ==&lt;br /&gt;
&lt;br /&gt;
Humanity holds back entropy at great ongoing cost. Nothing is free, and it is only through the constant effort of many people that our present level of civilization is possible. The [[wikipedia:Shifting baseline|shifting baseline]] caused by newer generations born into an era of prosperity unknown to the past means that a safe and illness-free human life is assumed to be standard in the West, effort-free. If things changed drastically and acutely, we would perhaps adapt accordingly. But if the conditions are delayed, then will we be able to adapt? Western doctors of the last twenty years would probably never have encountered SSPE. But the British rates of vaccination are dropping below 85% and the American rates are dropping below 90% and this illness is going to show up as an echo of this action, ten years hence. This woman&amp;#039;s child was killed by the immunity status of Britain of 10 years ago. The pre-teens who will die 10 years from now are being born today.&lt;br /&gt;
&lt;br /&gt;
This kind of civilizational amnesia scares me in a deep sense. In a sense it&amp;#039;s adaptive. Forgetting allows us to move forward to deal with novel problems and stop carrying cost for solutions to problems that don&amp;#039;t exist. It is nature&amp;#039;s own regularization regime for us. But when I think about my own daughters falling to this kind of disease, I feel a deep fear. Maybe our role as the older ones is to play the role of memory in the autoregressive model so that we may keep our civilization alive while the younger ones carry the role of exploration. I hope we&amp;#039;re collectively up to it.&lt;br /&gt;
&lt;br /&gt;
== Appendix ==&lt;br /&gt;
[[File:MMR Vaccination Rates over time in the Bay Area 2017 to 2023.png|thumb|Making a position your political opponents&amp;#039; position has great positive results]]&lt;br /&gt;
&lt;br /&gt;
What&amp;#039;s actually happening in the US is quite interesting. Johns Hopkins [https://github.com/CSSEGISandData/MMR_data published a county-based dataset that is quite detailed] so you can check how things have gone from 2017 to 2023. What this reveals is that while the counties around us here in the Bay Area actually adjusted to fix the vaccination issue for MMR-2 the &lt;br /&gt;
&lt;br /&gt;
  {| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
  |+ MMR vaccination rates, San Francisco Bay Area counties (kindergarten, 2-dose)&lt;br /&gt;
  ! County !! 2017–18 !! 2018–19 !! 2019–20 !! 2020–21 !! 2021–22 !! 2022–23 !! 2023–24&lt;br /&gt;
  |-&lt;br /&gt;
  | Alameda        || 94.88% || 95.08% || 98.52% || 92.59% || 97.19% || 97.20% || 96.36%&lt;br /&gt;
  |-&lt;br /&gt;
  | Contra Costa   || 94.82% || 94.59% || 97.95% || 96.44% || 97.47% || 97.85% || 97.86%&lt;br /&gt;
  |-&lt;br /&gt;
  | Marin          || 90.29% || 88.21% || 96.92% || 97.67% || 99.09% || 98.97% || 98.89%&lt;br /&gt;
  |-&lt;br /&gt;
  | Napa           || 89.62% || 88.00% || 98.00% || 96.74% || 98.80% || 98.34% || 98.99%&lt;br /&gt;
  |-&lt;br /&gt;
  | San Francisco  || 89.91% || 92.11% || 97.56% || 95.13% || 96.42% || 98.20% || 98.37%&lt;br /&gt;
  |-&lt;br /&gt;
  | San Mateo      || 93.87% || 94.12% || 98.12% || 98.29% || 98.19% || 98.04% || 98.54%&lt;br /&gt;
  |-&lt;br /&gt;
  | Santa Clara    || 94.77% || 95.01% || 98.16% || 97.57% || 98.12% || 98.75% || 98.63%&lt;br /&gt;
  |-&lt;br /&gt;
  | Solano         || 96.66% || 96.31% || 98.06% || 96.70% || 98.30% || 97.90% || 98.16%&lt;br /&gt;
  |-&lt;br /&gt;
  | Sonoma         || 89.73% || 88.61% || 94.70% || 94.02% || 95.03% || 95.47% || 94.95%&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
But the fraction of other counties that are at 90% or more:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
  |+ Share of counties ≥90% MMR — 609 counties reporting in both years&lt;br /&gt;
  ! School year !! Counties ≥90% !! Reporting !! Share ≥90%&lt;br /&gt;
  |-&lt;br /&gt;
  | 2017–18 || 501 || 609 || 82.3%&lt;br /&gt;
  |-&lt;br /&gt;
  | 2023–24 || 401 || 609 || 65.8%&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=imr.india&amp;gt;&lt;br /&gt;
{{cite web&lt;br /&gt;
 |url=https://data.worldbank.org/indicator/SP.DYN.IMRT.IN?end=1988&amp;amp;locations=IN&amp;amp;start=1988&lt;br /&gt;
 |title=Mortality rate, infant (per 1,000 live births) - India (1988)&lt;br /&gt;
 |website=World Bank Data&lt;br /&gt;
 |publisher=The World Bank&lt;br /&gt;
 |access-date=April 21, 2026&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=vacc.sched.mmr&amp;gt;&lt;br /&gt;
Societies usually adjust vaccination schedules based on risk. In the US today, children usually receive the MMR-2 vaccine at one year of age, and then a booster a few months later. In India, we receive the vaccine much earlier due to greater prevalence of the disease.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=not.last&amp;gt;&lt;br /&gt;
Not for the last time. Over the rest of my life, the rest of the life-threatening conditions I would be in would be mostly my fault. But this time I was innocent.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=nyt.measles&amp;gt;&lt;br /&gt;
{{cite web&lt;br /&gt;
 |last=Archer&lt;br /&gt;
 |first=Rebecca&lt;br /&gt;
 |title=Measles Took My Daughter. This Is What I Want Everyone to Know.&lt;br /&gt;
 |url=https://www.nytimes.com/2026/04/21/opinion/measles-child-britain-vaccination.html&lt;br /&gt;
 |work=The New York Times&lt;br /&gt;
 |department=Opinion&lt;br /&gt;
 |date=April 21, 2026&lt;br /&gt;
 |access-date=April 21, 2026&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This article recounts the author&amp;#039;s childhood measles infection in rural India during the late 1980s and explores infant mortality rates in developing versus developed nations.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;br /&gt;
[[Category:Personal Narrative]]&lt;br /&gt;
[[Category:Stories]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-04-21/Bills_Above_Replacement</id>
		<title>Blog/2026-04-21/Bills Above Replacement</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-04-21/Bills_Above_Replacement"/>
		<updated>2026-04-21T16:55:17Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Screenshot - Kalshi CA-11 Race Apr 21.png|thumb|A close one]]&lt;br /&gt;
Sports fans are somewhat invested in how their teams do, and especially American sports fans love a good statistic. Perhaps it&amp;#039;s the popularity of [[wikipedia:Moneyball (film)|Moneyball]] or baseball cards or perhaps the same people who&amp;#039;d like that would naturally also come up with these things. In any case, that means that while fandom can blind you to what works, sports fans have a pretty good concept of &amp;quot;Is this guy any good?&amp;quot;: [[wikipedia:Wins Against Replacement|Wins Against Replacement]]. It&amp;#039;s not enough to say a guy isn&amp;#039;t good enough for your team because you&amp;#039;re not winning enough. The key thing to know is whether you&amp;#039;d win more if you replaced him with the next best alternative. A pretty smart idea.&lt;br /&gt;
&lt;br /&gt;
But for some reason that principle is never applied anywhere else in American society. One thing recently came up in the CA-11 congressional district race. Nancy Pelosi is retiring after a long and lucrative career in US politics and we&amp;#039;re going to try to find someone to replace her. The two options are, in San Francisco terms, the moderate [[wikipedia:Scott Wiener|Scott Wiener]] and the progressive [[wikipedia:Saikat Chakrabarti|Saikat Chakrabarti]]. The race is full of all sorts of nonsense about [[wikipedia:Carpetbagger|carpetbagging]]&amp;lt;ref name=carpetbagging/&amp;gt; and tech money and this and that. I&amp;#039;d prefer if Scott Wiener would win the race because he seems like a fairly sensible policymaker. But Scott Wiener has a big cloud hanging over him: he passed a bill that bans junk fees on receipts and &amp;#039;&amp;#039;carved out an exemption for restaurants&amp;#039;&amp;#039;. The carve-out has convinced many that he&amp;#039;s in the pocket of &amp;quot;Corporations&amp;quot; and so on.&lt;br /&gt;
&lt;br /&gt;
But the thing here is that none of the other candidates running in the primary have passed (or even proposed) any legislation that bans junk fees for anyone. So as far as I can see, it looks like this (leaving out the joke candidates any race has):&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Performance on Junk Fee Bans&lt;br /&gt;
|-&lt;br /&gt;
! Candidate !! #(Types of Businesses Affected) !! #(Types of Businesses Exempted)&lt;br /&gt;
|-&lt;br /&gt;
| Scott Wiener || &amp;lt;math&amp;gt;n&amp;gt;1&amp;lt;/math&amp;gt; || 1&lt;br /&gt;
|-&lt;br /&gt;
| Saikat Chakrabarti || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| Connie Chan || 0 || 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If I were interested in junk fees being banned, it wouldn&amp;#039;t make sense for me to select one of the candidates who hasn&amp;#039;t done any work on that front. It would only make sense for me to pick someone who has managed to get something done. I&amp;#039;m also a big fan of compromise legislation that makes progress on an issue without blocking it forever. So I think highly of someone who can make incremental progress in a way that ratchets forward things on issues I care about. But that&amp;#039;s besides the point: if you care about junk fees&amp;lt;ref name=not-really/&amp;gt; then it would make sense to select the guy who&amp;#039;s acting on that.&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references&amp;gt;&lt;br /&gt;
&amp;lt;ref name=carpetbagging&amp;gt;&lt;br /&gt;
This is particularly amusing in San Francisco - which has a Terminal named after Harvey Milk of &amp;quot;I&amp;#039;m from Woodmere, N.J.&amp;quot; sign fame - but it is a fairly typical example of modern politics in the US where the &amp;quot;we don&amp;#039;t like y&amp;#039;all outsiders&amp;quot; and &amp;quot;you&amp;#039;re not from around here, are you?&amp;quot; is now primarily a left-wing position.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref name=not-really&amp;gt;&lt;br /&gt;
I suspect this is not the case and it&amp;#039;s a politically convenient attack just like allegations of carpetbagging against Saikat Chakrabarti.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/references&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This article applies the sports concept of wins above replacement to the 2026 California congressional race, comparing candidates&amp;#039; legislative records rather than relying on political narratives.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-04-20/Drops_of_Water</id>
		<title>Blog/2026-04-20/Drops of Water</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-04-20/Drops_of_Water"/>
		<updated>2026-04-20T23:10:48Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Dall-E 3 reimagining - A couple walking down 4th street cleaning.png|thumb|The good samaritans as depicted from my memory. They looked younger and in better shape but you get the picture.]]&lt;br /&gt;
When we were kids there was this nursery rhyme we had about how small actions eventually sum up to large results.&lt;br /&gt;
&lt;br /&gt;
{{quote&lt;br /&gt;
|title = [[wikipedia:Little Things (poem)|Little Things]]&lt;br /&gt;
|quote = &amp;lt;poem&amp;gt;&lt;br /&gt;
Little drops of water,&lt;br /&gt;
Little grains of sand,&lt;br /&gt;
Make the mighty ocean&lt;br /&gt;
And the pleasant land.&lt;br /&gt;
&amp;lt;/poem&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Recently, I must confess to feeling a bit like a sucker (a thing my friends will tell you I hate), with it seeming like everyone in the US is [[wikipedia:Paycheck Protection Program#Fraud|committing tax fraud]], [[wikipedia:Nancy Pelosi|insider]] [[wikipedia:2020 congressional insider trading scandal|trading]], or just [[wikipedia:2025 stock market crash|wholesale manipulation of the stock and futures markets]]. Meanwhile, I&amp;#039;m sitting here like a schmuck carefully filing my taxes and not drawing from the PPP or what have you. This sort of thing always starts making me feel anti-social. That&amp;#039;s obviously unreasonable. The vast majority of Americans are just sitting there paying their W-2 taxes, and the vast majority of the people in my socio-economic class are just happily going to their jobs in tech where they&amp;#039;re making lots of money and just paying their taxes without much though.&lt;br /&gt;
&lt;br /&gt;
That&amp;#039;s the fact, but it doesn&amp;#039;t have quite as much of a visceral effect because there&amp;#039;s no news of some chap just working and filing his taxes. In fact, that chap, since he&amp;#039;s spending his time working and getting better at all that is probably doing a better job of making more money most of the time than the fellow worrying about trying to defraud the government of taxes. But what does have a visceral effect is seeing someone do what is obviously the right thing to do in a place where there are lots of people not doing the right thing.&lt;br /&gt;
&lt;br /&gt;
Yesterday, while walking up 4th Street back home from the playground, we found ourselves walking behind a couple with a big white dog. Now normally dog people in SF are a bit of an anti-social bunch in terms of use of the commons, but this was a striking opposite. The man was carrying a trash bag and one of those arms that have a little trigger to grab trash and as he was walking by he&amp;#039;d pick up some of what he saw and put it in the bag. What was interesting was that the rubbish bin at 4th and King on the South Side was vandalized - someone had pulled the trash bin out and strewn the contents all over the place. This chap kept his pace, grabbed some things, and kept going. Not all of the things, just some of the things. And I liked that. There&amp;#039;s a lot we can do to make everything around us a little less un-nice.&lt;br /&gt;
&lt;br /&gt;
I like to think of myself anyway as the kind of person who would pick up a fallen bicycle or scooter blocking the path, or who would put the bin back in its place if I saw it. But in this case, I absolutely had to! A little adroit manoeuvring with my foot and I was able to put it back and slam the door shut. So we can say that good behaviour &amp;lt;math&amp;gt;b_{g}&amp;lt;/math&amp;gt; at least has an &amp;lt;math&amp;gt;R_0(b_{g})&amp;gt;0&amp;lt;/math&amp;gt; because it infected one more person. So I&amp;#039;m happy that person exists and I&amp;#039;m glad they crossed my path. And if we&amp;#039;re lucky, maybe others will do more and we&amp;#039;ll have the mighty ocean.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This blog post explores how small, honest actions matter in a world where many seem to cut corners, using the metaphor of water drops building oceans.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
	<entry>
		<id>https://wiki.roshangeorge.dev/w/Blog/2026-04-18/The_Gemini_Protocol</id>
		<title>Blog/2026-04-18/The Gemini Protocol</title>
		<link rel="alternate" type="text/html" href="https://wiki.roshangeorge.dev/w/Blog/2026-04-18/The_Gemini_Protocol"/>
		<updated>2026-04-19T15:41:55Z</updated>

		<summary type="html">&lt;p&gt;AutoDescriptor: Added page description via AutoDescriptor bot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Screenshot - Lagrange view of Gemini version of this Wiki.png|thumb|Somewhat more textual than the HTTP version]]&lt;br /&gt;
Recently, I&amp;#039;ve been thinking about [[wikipedia:Gemini (protocol)|the Gemini protocol]] and how it allows for text-based web pages and so on. It harkens back to an older web when things were simpler and we weren&amp;#039;t building applications everywhere. All right, so that seems interesting to entertain.&lt;br /&gt;
&lt;br /&gt;
== How ==&lt;br /&gt;
&lt;br /&gt;
In this case, I didn&amp;#039;t want to release a whole new version of everything so I did the natural work of proxying the HTTP version and then having the rendering done to Gemtext. That worked fairly straightforwardly using the Mediawiki API and some liberal LLM work.&lt;br /&gt;
&lt;br /&gt;
=== Problems Implementing ===&lt;br /&gt;
&lt;br /&gt;
The first annoyance here was that since I use Cloudflare Tunnel in between me and the web, and I use Cloudflare&amp;#039;s transparent cache, things get slightly harder. Cloudflare Tunnel only does HTTP for public access and Gemini also relies on [[wikipedia:Trust on first use|TOFU]] certs.&lt;br /&gt;
&lt;br /&gt;
If I were directly mapping an A record to my own server, I&amp;#039;d just run Gemini on a separate port and be done with it. But Cloudflare is pretty useful to have so I didn&amp;#039;t want to lose it just to get gemini access so what I did was that I used a cheap VPS I have running around to run the proxy on and I had to use a different subdomain (which is honestly the worst thing).&lt;br /&gt;
&lt;br /&gt;
Secondarily, Mediawiki does have some restrictions like linking categories and so on, so on this wiki I haven&amp;#039;t used the built-in Wiki linking to link categories so I have some hardcoded rewrites of wiki.roshangeorge.dev and so on in the proxy.&lt;br /&gt;
&lt;br /&gt;
== Result ==&lt;br /&gt;
&lt;br /&gt;
The result is fairly serviceable as a Gemini site, as you can see above in the [https://github.com/skyjake/lagrange Lagrange] GUI browser. TUI browsers like [https://github.com/makew0rld/amfora amfora] also look pretty decent. However, having done all of this I feel less sold on the Geminiweb.&lt;br /&gt;
&lt;br /&gt;
=== Annoyances ===&lt;br /&gt;
&lt;br /&gt;
Gemini is just a little too simple for me. This was perhaps inevitable given the motivations of the project owners/maintainers but a lack of inline images and links, and the fact that Gemtext is unnecessarily different from Markdown really bother me. It also annoys me that they don&amp;#039;t have table support in the language!&lt;br /&gt;
&lt;br /&gt;
Daniel Stenberg of curl fame has a blog post on [https://daniel.haxx.se/blog/2023/05/28/the-gemini-protocol-seen-by-this-http-client-person/ other complaints with Gemini] which are more relevant to people having to implement the communication spec, but I don&amp;#039;t mind wasteful requests and lack of pipelining on this stuff since it&amp;#039;ll be blazing fast being primarily text and so my complaints are mostly utility.&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;ll probably keep the proxy up because it&amp;#039;s low-effort but I doubt anyone is actually going to visit it. In the end, perhaps the right approach is to have a separate endpoint for Markdown-only text versions of my posts and people can use some kind of Markdown renderer to view pages in a HTTP web browser in a pleasant way according to a user stylesheet whenever &amp;lt;code&amp;gt;text/markdown&amp;lt;/code&amp;gt; is sent down the wire.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{#seo:|description=This wiki page explores the Gemini protocol, a text-based web alternative that harkens back to an older, simpler web.}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Blog]]&lt;/div&gt;</summary>
		<author><name>Roshan</name></author>
	</entry>
</feed>