<?xml version="1.0" encoding="UTF-8"?><feed xmlns="http://www.w3.org/2005/Atom">
  <title>exozy.me RSS Feed</title>
  <id>https://feeds.exozy.me/rss.xml</id>
  <updated>2026-08-16T06:05:37Z</updated>
  <subtitle>exozyme members&#39; RSS feeds</subtitle>
  <link href="https://feeds.exozy.me/rss.xml"></link>
  <author>
    <name>Ersei</name>
    <email>contact+exozyme@ersei.net</email>
  </author>
  <entry>
    <title>Coupled meta-learning while learning homotopy theory</title>
    <updated>2026-08-12T12:00:00Z</updated>
    <id>https://www.1a-insec.net/blog/A7-learn-homotopy/</id>
    <content type="html">&lt;p&gt;Don’t you all have a body. For me, it is troublesome to think of a policy to control its actions. Even I don’t have a policy for it, it still does things anyway.&lt;/p&gt;&#xA;&lt;p&gt;But first, to have a desired policy, I need to specify my &lt;strong&gt;policy desire&lt;/strong&gt;. A policy is like a function that takes the environment as input and produces an action as output. A policy desire is the space (or type) of policies that I deemed acceptable.&lt;/p&gt;&#xA;&lt;p&gt;Since the space of desired policies is not a point, there must be choice. Randomness works too.&lt;/p&gt;&#xA;&lt;p&gt;Still, what I desire may drift from time to time based on what I experience.&lt;/p&gt;&#xA;&lt;p&gt;This, seen from the outside, is a coupled meta-learning system: one loop learns a policy for whatever desire the system currently holds, and another loop picks the desire itself. The space of desires is not a point, so the outer loop must choose; randomness works. And since the policy the system acts with changes what it experiences, and what it experiences changes what it desires, the two loops keep feeding each other — nothing is fixed, everything drifts.&lt;/p&gt;&#xA;&lt;p&gt;I think this system is enough to make continuous learning/self-improvement possible, although I don’t know how to control it well.&lt;/p&gt;&#xA;&lt;p&gt;Homotopy theory is surprisingly useful for describing this kind of system in math.&lt;/p&gt;&#xA;&lt;h2&gt;The loop&lt;/h2&gt;&#xA;&lt;p&gt;Let &lt;span class=&#34;math inline&#34;&gt;\(\Theta\)&lt;/span&gt; be the space of systems — &lt;span class=&#34;math inline&#34;&gt;\(\theta_0\)&lt;/span&gt; is the current system, the current codebase — and &lt;span class=&#34;math inline&#34;&gt;\(\Phi\)&lt;/span&gt; the space of objectives — &lt;span class=&#34;math inline&#34;&gt;\(\phi_0\)&lt;/span&gt; is the desire, the scored registry. The inner loop adapts &lt;span class=&#34;math inline&#34;&gt;\(\theta_0\)&lt;/span&gt; toward an objective; the outer loop steers the desire itself. Since &lt;span class=&#34;math inline&#34;&gt;\(\Phi\)&lt;/span&gt; is not a point, steering has to choose; randomness works.&lt;/p&gt;&#xA;&lt;p&gt;The deformation is a path, not a sequence of steps. Both move at once:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&#34;math display&#34;&gt;\[\theta : \mathbb{I} \to \Theta, \qquad \phi : \mathbb{I} \to \Phi\]&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;The interval &lt;span class=&#34;math inline&#34;&gt;\(\mathbb{I} = [0,1]\)&lt;/span&gt; is the deformation parameter, not a clock. A run is a path &lt;span class=&#34;math inline&#34;&gt;\(\theta : \mathbb{I} \to \Theta\)&lt;/span&gt;, from the current system &lt;span class=&#34;math inline&#34;&gt;\(\theta(0) = \theta_0\)&lt;/span&gt; to the deformed &lt;span class=&#34;math inline&#34;&gt;\(\theta(1)\)&lt;/span&gt;; the desire is a path &lt;span class=&#34;math inline&#34;&gt;\(\phi : \mathbb{I} \to \Phi\)&lt;/span&gt; too, and the two couple as a flow on &lt;span class=&#34;math inline&#34;&gt;\(\Theta \times \Phi\)&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&#34;math display&#34;&gt;\[\frac{d\theta}{ds} = F(\theta(s), \phi(s)) \qquad \frac{d\phi}{ds} = G(\theta(s), \phi(s))\]&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;The policy path changes the environment, the environment drifts the desire path, the desire path redirects the policy path. Choice enters as a stochastic term: &lt;span class=&#34;math inline&#34;&gt;\(d\phi = G(\theta, \phi)\, ds + \sigma\, dW\)&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The homotopy constraint: &lt;span class=&#34;math inline&#34;&gt;\(\Theta_0 \subseteq \Theta\)&lt;/span&gt; is the subspace of systems that keep the invariants — parity, fixpoint, conservation, crown jewels. The flow is projected onto the tangent space of &lt;span class=&#34;math inline&#34;&gt;\(\Theta_0\)&lt;/span&gt; at every instant: a trajectory that would leave &lt;span class=&#34;math inline&#34;&gt;\(\Theta_0\)&lt;/span&gt; is rejected, not repaired.&lt;/p&gt;&#xA;&lt;p&gt;The interval is contractible, so every loop in it is null-homotopic: &lt;span class=&#34;math inline&#34;&gt;\(\pi_1(\mathbb{I}) = 0\)&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The loop is small enough to write down in Lean:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code class=&#34;language-lean&#34;&gt;/- The coupled self-improvement loop.&#xA;   θ : Θ — the base learner, the system itself.&#xA;   φ : Φ — the meta-learner, the objective space: a space, not a point.&#xA;   The deformation is continuous: a path, not a sequence of steps. -/&#xA;&#xA;namespace SelfImprovement&#xA;&#xA;/-- The space of systems Θ. -/&#xA;structure System where&#xA;  main : String&#xA;deriving Inhabited&#xA;&#xA;/-- The space of objectives Φ — one point is one desire&#xA;    (a registry row: layer, jewel, score). -/&#xA;structure Objective where&#xA;  id : String&#xA;  score : Float&#xA;deriving Inhabited&#xA;&#xA;/-- The invariant subspace Θ₀ ⊆ Θ — the systems the gate accepts&#xA;    (parity, fixpoint, conservation, crown jewels). -/&#xA;def Admissible (θ : System) : Prop :=&#xA;  -- the gate; a placeholder&#xA;  θ.main ≠ &amp;#34;&amp;#34;&#xA;&#xA;/-- The interval 𝕀 = [0,1], where paths live.&#xA;    It is the deformation parameter, not a clock. -/&#xA;abbrev I := Float&#xA;&#xA;/-- A path in A from a to b: a function out of the interval. -/&#xA;def Path (A : Type) (a b : A) : Type :=&#xA;  { γ : I → A // γ 0 = a ∧ γ 1 = b }&#xA;&#xA;/-- A self-improvement run is a path in the space of systems. -/&#xA;def Improvement (θ₀ θ₁ : System) : Type := Path System θ₀ θ₁&#xA;&#xA;/-- The coupled flow on Θ × Φ: at every instant F is the direction&#xA;    the system deforms toward the current desire, and G the direction&#xA;    the desire drifts with what the system experiences. -/&#xA;structure Flow where&#xA;  F : System → Objective → System&#xA;  G : System → Objective → Objective&#xA;&#xA;/-- A deformation of the pair: one path in Θ and one in Φ, moving&#xA;    together. -/&#xA;structure Deformation (θ₀ θ₁ : System) (φ₀ φ₁ : Objective) where&#xA;  θ : Path System θ₀ θ₁&#xA;  φ : Path Objective φ₀ φ₁&#xA;&#xA;/-- The homotopy constraint: a deformation is admissible iff every&#xA;    intermediate system keeps the invariants. The flow is projected&#xA;    onto the tangent of Θ₀ at every instant — a trajectory that&#xA;    would leave Θ₀ is rejected, not repaired. -/&#xA;def AdmissibleDeformation&#xA;    (θ₀ θ₁ : System) (φ₀ φ₁ : Objective) (d : Deformation θ₀ θ₁ φ₀ φ₁) : Prop :=&#xA;  ∀ s : I, Admissible (d.θ.1 s)&#xA;&#xA;end SelfImprovement&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Under some condition, we can prove that learning until the target objective is possible.&lt;/p&gt;&#xA;&lt;h2&gt;Prior art&lt;/h2&gt;&#xA;&lt;p&gt;The Internet suggested these for me.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;strong&gt;&lt;strong&gt;Learning augmentation policies / domain randomization&lt;/strong&gt;&lt;/strong&gt; — the meta-learner is a distribution over data transforms (rotation, noise, brightness); the base learner takes fixed SGD steps on the transformed data (AutoAugment, domain randomization).&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;strong&gt;&lt;strong&gt;Generative Teaching Networks&lt;/strong&gt;&lt;/strong&gt; — the meta-learner generates synthetic training data; the reward is the student’s validation loss on held-out data.&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;strong&gt;&lt;strong&gt;Meta-RL with a learned task distribution&lt;/strong&gt;&lt;/strong&gt; — the meta-learner is a distribution over reward functions; the base learner is a policy trained with policy gradient (MAML-RL, VariBAD).&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;strong&gt;&lt;strong&gt;Topological regularization&lt;/strong&gt;&lt;/strong&gt; — any of the above, plus a penalty that keeps the data manifold’s persistent homology from collapsing during training&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2&gt;Use Case&lt;/h2&gt;&#xA;&lt;p&gt;For now, I’ll try to apply it to my life. My life objective isn’t describable by language alone. It is kind of like a feeling, yet it is not a feeling. It feels like part of myself.&lt;/p&gt;&#xA;&lt;p&gt;I don’t know what computer project I will use it for. Any machine learning algorithm can use this framework, I think. I also made a programming/proof language as a side project called &lt;a href=&#34;https://codeberg.org/iacore/interv&#34;&gt;Interv&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This article will be edited when more progress is made.&lt;/p&gt;&#xA;&lt;p&gt;Update(2026-08-13): In Interv, this idea framework isn’t too useful for making actual self-evolving systems. It’s too high level. The &lt;code&gt;Path&lt;/code&gt; type remains a useful thinking tool when it comes to continuous deformation between two points.&lt;/p&gt;&#xA;&#xA;      </content>
    <link href="https://www.1a-insec.net/blog/A7-learn-homotopy/" rel="alternate"></link>
    <author>
      <name>Locria Cyber</name>
    </author>
  </entry>
  <entry>
    <title>Starting my Homelab Journey</title>
    <updated>2026-08-12T07:46:16Z</updated>
    <id>https://austinhuang.me/homelab.html</id>
    <link href="https://austinhuang.me/homelab.html" rel="alternate"></link>
    <summary type="html">Finally got a machine that can somewhat be considered a homelab...</summary>
    <author>
      <name>Austin Huang</name>
    </author>
  </entry>
  <entry>
    <title>Hello, Hyades!</title>
    <updated>2026-08-01T06:13:47Z</updated>
    <id>https://unnamed.website/posts/hello-hyades/</id>
    <link href="https://unnamed.website/posts/hello-hyades/" rel="alternate"></link>
    <summary type="html">&lt;p&gt;For the past two years, this site has been hosted on SIPB&amp;rsquo;s amazing &lt;a href=&#34;https://unnamed.website/posts/inessential-xvm/&#34;&gt;XVM&lt;/a&gt; service. Unfortunately, it&amp;rsquo;s not all sunshine and rainbows. XVM is nearly 20 years old and definitely showing its age, and yesterday&amp;rsquo;s MIT certpocalypse completely broke the XVM website.&lt;/p&gt;&#xA;&lt;p&gt;Recently, I&amp;rsquo;ve been helping out with SIPB&amp;rsquo;s Hyades project, which aims to eventually replace both XVM and &lt;a href=&#34;https://scripts.mit.edu/&#34;&gt;Scripts&lt;/a&gt;. Hyades isn&amp;rsquo;t quite ready yet, but I&amp;rsquo;ve already migrated this website from XVM to Hyades, and it seems to work pretty well so far! Hyades also builds my site in only 5 seconds compared to 15 on XVM, and I&amp;rsquo;m no longer limited to 512 MB of RAM.&lt;/p&gt;</summary>
    <author>
      <name>Anthony Wang</name>
    </author>
  </entry>
  <entry>
    <title>Modi and the Cockroaches</title>
    <updated>2026-07-27T17:24:00Z</updated>
    <id>https://tech-absurdist.neocities.org/posts.html#2026-07-27</id>
    <link href="https://tech-absurdist.neocities.org/posts.html#2026-07-27" rel="alternate"></link>
    <summary type="html">An open letter requesting an official open-source UPI client independent of proprietary platform attestation.</summary>
    <author>
      <name>Unknown Author</name>
    </author>
  </entry>
  <entry>
    <title>ADRs as assistance for agents and yourself</title>
    <updated>2026-07-25T00:00:00Z</updated>
    <id>https://d-rens.xyz/blog/adrs-as-assistance-for-agents-and-yourself/</id>
    <link href="https://d-rens.xyz/blog/adrs-as-assistance-for-agents-and-yourself/" rel="alternate"></link>
    <summary type="html">&lt;!-- # ADRs as assistance for agents and yourself --&gt;&#xA;&lt;p&gt;Over the past months I’ve been writing a lot of code with a good colleague&#xA;(claude code). There are a few constraints that I’ve noticed with him. His&#xA;memory is not great and whenever he writes himself notes (&lt;code&gt;.memory/&lt;/code&gt; or&#xA;&lt;code&gt;AGENT.md&lt;/code&gt; files), on what he was employed to do, it becomes a bit of a mess&#xA;because he is also subpar in outlining the steps and considerations that it&#xA;takes for him to achieve the goal.&lt;/p&gt;</summary>
    <author>
      <name>Daniel</name>
    </author>
  </entry>
  <entry>
    <title>How to live in an era where machines can think</title>
    <updated>2026-07-17T12:00:00Z</updated>
    <id>https://www.1a-insec.net/blog/A6-live-in-ai-era/</id>
    <content type="html">&lt;p&gt;&lt;a href=&#34;https://www.kimi.com/blog/kimi-k3&#34;&gt;Yesterday, Kimi K3 released.&lt;/a&gt;&lt;a id=&#34;fnref1&#34; href=&#34;https://www.1a-insec.net/blog/A6-live-in-ai-era/#fn1&#34; role=&#34;doc-noteref&#34;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; Aside from the amazing capabilities of it, it made me wonder, how should I respond to it.&lt;/p&gt;&#xA;&lt;p&gt;If we believe in how computation works from &lt;strong&gt;All you need is computation&lt;/strong&gt;, all computation belongs in the same class: &lt;del&gt;turing complete&lt;/del&gt;. At this point in technology development, I feel that trying to compete in computation with carved stones as biological organism doesn’t make much sense anymore. We better do something else.&lt;/p&gt;&#xA;&lt;h2&gt;Being able to rest&lt;/h2&gt;&#xA;&lt;p&gt;With more than enough computation, I think people will be less busy in the future. Therefore, it’s important to learn about resting.&lt;/p&gt;&#xA;&lt;p&gt;Here’s an except from &lt;em&gt;The Miracle of Mindfulness&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;When you breathe in, know that you are breathing in.&lt;br/&gt;&#xA;When you breathe out, know that you are breathing out.&lt;br/&gt;&#xA;When you breathe in short, know that.&lt;br/&gt;&#xA;When you breathe in long, know that.&lt;br/&gt;&#xA;Same for when you breathe out.&lt;br/&gt;&#xA;Bring the awareness to every present moment.&lt;br/&gt;&#xA;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Resting is a skill. It is not the absence of things to do, but knowing what is happening as it happens.&lt;/p&gt;&#xA;&lt;p&gt;Machines can compute for us, but they cannot breathe for us, nor be aware for us. When I notice that I am busy, I return to the breath. One mindful breath takes no thought process at all and relaxes the mind. Then I can return to work, being better.&lt;/p&gt;&#xA;&lt;section role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr/&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn1&#34;&gt;&#xA;&lt;p&gt;The weights will be released 10 days after this.&lt;a href=&#34;https://www.1a-insec.net/blog/A6-live-in-ai-era/#fnref1&#34; role=&#34;doc-backlink&#34;&gt;↩︎&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/section&gt;&#xA;&#xA;      </content>
    <link href="https://www.1a-insec.net/blog/A6-live-in-ai-era/" rel="alternate"></link>
    <author>
      <name>Locria Cyber</name>
    </author>
  </entry>
  <entry>
    <title>Memory safety and type system</title>
    <updated>2026-07-12T12:00:00Z</updated>
    <id>https://www.1a-insec.net/blog/A5-memory-safety-type-system/</id>
    <content type="html">&lt;p&gt;You probably have heard of the recent &lt;a href=&#34;https://bun.com/blog/bun-in-rust&#34;&gt;Bun Rust rewrite&lt;/a&gt; debacle. Long story short, Bun’s recent Rust rewrite is not about Rust being better than Zig; it is about which kind of type system you need when a tracing garbage collector and a more manual allocator share a process. The boundary between JavaScriptCore’s tracing GC and Zig’s manual allocator is where ownership invariants have to be enforced by hand. With a linear type system, you can automatically enforce the invariance.&lt;/p&gt;&#xA;&lt;h2&gt;Example failure at programming&lt;/h2&gt;&#xA;&lt;p&gt;Bun calls into JavaScriptCore through the C API.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;code&gt;JSValueMakeString&lt;/code&gt; and &lt;code&gt;JSObjectMake&lt;/code&gt; return a value with a &lt;code&gt;+1&lt;/code&gt; retain; you must release it or let it be collected.&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;code&gt;JSValueProtect&lt;/code&gt; and &lt;code&gt;JSValueUnprotect&lt;/code&gt; must be called in matched pairs; unprotecting too many times is undefined behavior.&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;The conservative stack scanner can find &lt;code&gt;JSValueRef&lt;/code&gt;s on the stack during a JSC call, but it cannot see inside Zig heap allocations or globals, so anything stored there requires &lt;code&gt;JSValueProtect&lt;/code&gt;.&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Here’s an example bug that could have been caught with a more capable type system.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code class=&#34;language-zig&#34;&gt;const NativeCache = struct {&#xA;    ctx: c.JSContextRef,&#xA;    cached_js_value: c.JSValueRef,&#xA;&#xA;    pub fn init(ctx: c.JSContextRef, js_object: c.JSObjectRef, prop_name: []const u8) NativeCache {&#xA;        const name_str = c.JSStringCreateWithUTF8CString(prop_name.ptr);&#xA;        defer c.JSStringRelease(name_str);&#xA;        const val = c.JSObjectGetProperty(ctx, js_object, name_str, null);&#xA;        return .{ .ctx = ctx, .cached_js_value = val };&#xA;    }&#xA;&#xA;    pub fn getCached(self: *NativeCache) c.JSValueRef {&#xA;        return self.cached_js_value;&#xA;    }&#xA;};&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;code&gt;JSObjectGetProperty&lt;/code&gt; returns a borrowed reference. The &lt;code&gt;NativeCache&lt;/code&gt; itself lives on the Zig heap, invisible to the JSC stack scanner. When the next GC cycle runs, the borrowed value may be collected, and &lt;code&gt;getCached&lt;/code&gt; returns a dangling pointer. The compiler does not notice because the type &lt;code&gt;JSValueRef&lt;/code&gt; carries no information about scope, protect count, or ownership.&lt;/p&gt;&#xA;&lt;p&gt;The manual fix is to add &lt;code&gt;JSValueProtect&lt;/code&gt;&lt;a id=&#34;fnref1&#34; href=&#34;https://www.1a-insec.net/blog/A5-memory-safety-type-system/#fn1&#34; role=&#34;doc-noteref&#34;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; in &lt;code&gt;init&lt;/code&gt; and &lt;code&gt;JSValueUnprotect&lt;/code&gt; in &lt;code&gt;deinit&lt;/code&gt;. But the compiler still does not check that the calls are matched, that the destructor always runs, or that the value is not used after being unprotected. You are simply expected to get it right.&lt;/p&gt;&#xA;&lt;h2&gt;The languages&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Rust&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;Rust uses linear ownership plus borrow checking. You can’t prove arbitrary theorems in it, but it’s good enough for solving programming tasks with challenging memory safety.&lt;/p&gt;&#xA;&lt;p&gt;I won’t explain how linear type works here. Look it up.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Lean&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;Lean doesn’t have linear types, but it allows you to prove theorems.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Idris&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;Idris 2 has a C backend that allows you to compile to C with GC. Having GC is bad though in Bun’s case, since TK.&lt;/p&gt;&#xA;&lt;h2&gt;Runtime engineering&lt;/h2&gt;&#xA;&lt;p&gt;It is different when you own a whole runtime. A Wren implementation, for example, has no foreign GC boundary; the Rust code can design the collector to cooperate with ownership from the start. &lt;a href=&#34;https://crates.io/crates/safe_wren&#34;&gt;&lt;code&gt;safe_wren&lt;/code&gt;&lt;/a&gt; is a pure Rust implementation of Wren, and projects like &lt;a href=&#34;https://github.com/PiccoloLang/piccolo&#34;&gt;&lt;code&gt;piccolo&lt;/code&gt;&lt;/a&gt; and &lt;a href=&#34;https://github.com/Manishearth/rust-gc&#34;&gt;&lt;code&gt;rust-gc&lt;/code&gt;&lt;/a&gt; explore the same direction for Lua and general GCs. In that world, the unsafe surface is the GC itself, and everything else sits in a safe, ownership-checked core. Bun cannot take that approach unless it replaces JavaScriptCore. Or maybe it can, since Anthropic’s model seems to have conscious thought about achieving AGI&lt;a id=&#34;fnref2&#34; href=&#34;https://www.1a-insec.net/blog/A5-memory-safety-type-system/#fn2&#34; role=&#34;doc-noteref&#34;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2&gt;Closing thoughts&lt;/h2&gt;&#xA;&lt;p&gt;There are too few choices out there these days when it comes to programming languages. Yes, ATS does not count as an engineering choice to me. So choose the right one for your use case!&lt;/p&gt;&#xA;&lt;section role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr/&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn1&#34;&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://developer.apple.com/documentation/javascriptcore/jsvalueprotect(_:_:)&#34;&gt;Apple docs&lt;/a&gt;&lt;a href=&#34;https://www.1a-insec.net/blog/A5-memory-safety-type-system/#fnref1&#34; role=&#34;doc-backlink&#34;&gt;↩︎&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn2&#34;&gt;&#xA;&lt;p&gt;not my advertisement&lt;a href=&#34;https://www.1a-insec.net/blog/A5-memory-safety-type-system/#fnref2&#34; role=&#34;doc-backlink&#34;&gt;↩︎&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/section&gt;&#xA;&#xA;      </content>
    <link href="https://www.1a-insec.net/blog/A5-memory-safety-type-system/" rel="alternate"></link>
    <author>
      <name>Locria Cyber</name>
    </author>
  </entry>
  <entry>
    <title>A stay on Plum Blossom Island</title>
    <updated>2026-06-04T12:00:00Z</updated>
    <id>https://www.1a-insec.net/blog/A4-plum-blossom-island/</id>
    <content type="html">&lt;p&gt;We came for plum blossoms. The name promised. Only the name delivered.&lt;/p&gt;&#xA;&lt;p&gt;The guesthouse was two stories — dining area and kitchen on the ground floor, rooms above. Quiet when we arrived. A few people eating downstairs. The owner handed us a key. The room was nicer than expected, like an actual hotel. We dropped our bags and set out.&lt;/p&gt;&#xA;&lt;p&gt;The road to the monastery was rough in an ordinary way. One lane had coin-sized craters pocked into the surface. The other was smoother but stones pushed up through the concrete, just enough to notice.&lt;/p&gt;&#xA;&lt;p&gt;A wooden gate stood at the entrance: 不二, torii-like. Through it, whitewashed walls and a front gate. Inside the courtyard, the ground was paved with sharp retail-style gravel and stone tablet panels running down the middle. Modern. Clean. Silent — not the silence of old stone, but the silence of minds holding still. People meditated all day. I don’t know what my mother finds there. Only know she stays. I didn’t.&lt;/p&gt;&#xA;&lt;p&gt;The boat to the island crossed green, calm water. From a distance the island looked undeveloped — a few houses scattered across it, nothing more.&lt;/p&gt;&#xA;&lt;p&gt;I had imagined a certain quiet. The quiet of a place removed, yes, but also the quiet of wanting nothing from the world because the world had stopped wanting anything from you. That’s not what I found.&lt;/p&gt;&#xA;&lt;p&gt;The energy was wrong. Not wrong you can measure or explain — wrong you feel in the gut before the mind catches up. Stifling. Heavy with something I can’t name and don’t want to understand. Instinct said: leave. So I left, earlier than planned.&lt;/p&gt;&#xA;&lt;p&gt;Before leaving, more Zen practice. It went badly. What happened there is not mine to tell.&lt;/p&gt;&#xA;&lt;p&gt;They collect plums on the island. I couldn’t tell which trees were plum trees — without blossoms, they all look the same. An island named for something absent, and nobody seemed bothered. The plums came in buckets, practical, unromantic. A metaphor sits there if you want one.&lt;/p&gt;&#xA;&lt;p&gt;Off the island. Into town. Three nights.&lt;/p&gt;&#xA;&lt;p&gt;The town was the island’s opposite: loud, commercial, the most commercial part of the old city. Everything for sale, everything bright. After the stifling stillness of the island I thought I wanted this — noise, motion, the friction of other people. It wasn’t relief. Just a different kind of wrong. Mentally dusty. A commerce hangover. But I spent the three nights there, and in the spending, I wound down. Not because the place was right, but because time passed and I stopped expecting it to be.&lt;/p&gt;&#xA;&lt;p&gt;My mother and I came together, aboard the same train. She meditated in the monastery while I fled the island. We met at meals, probably. We didn’t talk much about what each of us found. Some journeys run parallel without touching.&lt;/p&gt;&#xA;&lt;p&gt;I never saw a plum blossom. Wrong season, or wrong island, or wrong me. You go somewhere because of its name, but the name is just a word someone chose long ago. The place owes you nothing.&lt;/p&gt;&#xA;&lt;p&gt;Maybe Zen practice is good. I may visit another time. For now, rest.&lt;/p&gt;&#xA;&lt;hr/&gt;&#xA;&lt;p&gt;Sorry about the article quality. It’s the best I can do without leaking sensitive information.&lt;/p&gt;&#xA;&lt;p&gt;If you are interested in Dharma practice, look up &lt;a href=&#34;https://en.mindfulpeace.org/&#34;&gt;Mindful Peace International&lt;/a&gt; or a sangha near you. I recommend the book &lt;em&gt;The Miracle of Mindfulness&lt;/em&gt; for beginners.&lt;/p&gt;&#xA;&#xA;      </content>
    <link href="https://www.1a-insec.net/blog/A4-plum-blossom-island/" rel="alternate"></link>
    <author>
      <name>Locria Cyber</name>
    </author>
  </entry>
  <entry>
    <title>MIT Athena: Somehow Still Not Dead Yet</title>
    <updated>2026-05-23T20:25:10Z</updated>
    <id>https://unnamed.website/posts/nixathena/</id>
    <link href="https://unnamed.website/posts/nixathena/" rel="alternate"></link>
    <summary type="html">&lt;p&gt;&lt;a href=&#34;http://blog.spang.cc/posts/MIT_Athena:_Not_Dead_Yet/&#34;&gt;&amp;ldquo;MIT Athena: Not Dead Yet&amp;rdquo;, they said back in 2008.&lt;/a&gt; 18 years later and 42 years after the start of Project Athena, somehow Athena is still (barely) alive and kicking, thanks to Nixathena!&lt;/p&gt;&#xA;&lt;p&gt;Nixathena is a new SIPB project to turn any computer into an Athena workstation running modern NixOS. It&amp;rsquo;s intended to replace Debathena, which hasn&amp;rsquo;t been updated since Ubuntu 18.04. You can find the features list, screenshots, and code on the &lt;a href=&#34;https://forgejo.mit.edu/SIPB/nixathena&#34;&gt;MIT Forgejo&lt;/a&gt;.&lt;/p&gt;</summary>
    <author>
      <name>Anthony Wang</name>
    </author>
  </entry>
  <entry>
    <title>5 - Website rewrite</title>
    <updated>2026-05-23T00:00:00Z</updated>
    <id>https://d-rens.xyz/rss-only-club/5-rewrite/</id>
    <content type="html">&lt;p&gt;Hey, as you receive this rss-only notification I’ve published a new rewrite of&#xA;the website.&lt;/p&gt;&#xA;&lt;p&gt;I’d be happy about feedback and if any decisions in the design things stand out&#xA;in a bad way.&lt;/p&gt;&#xA;&lt;hr/&gt;&#xA;&lt;p&gt;To not just waste your time on an advertisement, let me also go about some&#xA;things I’ve spent the last few months with that I haven’t posted:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Work got more demanding, but the research is going well and there are&#xA;publications on the way on sparse BLAS routines on the Cerebras WSE3.&lt;/li&gt;&#xA;&lt;li&gt;Got into lifting a few times a week and added a lot of cycling to the daily&#xA;routine as well as longer rides.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;code&gt;==&amp;gt;&lt;/code&gt; all those lovely improvements in life resulted in me getting worse in uni&#xA;the past months, so I’m currently trying to pick that aspect of life back up a&#xA;bit more seriously :).&lt;/p&gt;&#xA;&lt;p&gt;It feels so tedious and boring at times, but at the end it’s just the basics&#xA;during my bachelor and I should have them down pretty well. &lt;em&gt;Or at least&#xA;finally complete it to get into cooler classes.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Have a good day!  :)&lt;/p&gt;</content>
    <link href="https://d-rens.xyz/rss-only-club/5-rewrite/" rel="alternate"></link>
    <author>
      <name>Daniel</name>
    </author>
  </entry>
</feed>