<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: zayoka</title>
    <description>The latest articles on Forem by zayoka (@zayoka).</description>
    <link>https://forem.com/zayoka</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3670460%2Fe9c676e4-ed74-4b7d-b247-95cb24125337.jpg</url>
      <title>Forem: zayoka</title>
      <link>https://forem.com/zayoka</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/zayoka"/>
    <language>en</language>
    <item>
      <title>I built a custom Deep Learning framework in pure Rust just to simulate Arknights: Endfield gacha luck (Talos-XII)</title>
      <dc:creator>zayoka</dc:creator>
      <pubDate>Wed, 04 Feb 2026 09:08:12 +0000</pubDate>
      <link>https://forem.com/zayoka/i-built-a-custom-deep-learning-framework-in-pure-rust-just-to-simulate-arknights-endfield-gacha-1opc</link>
      <guid>https://forem.com/zayoka/i-built-a-custom-deep-learning-framework-in-pure-rust-just-to-simulate-arknights-endfield-gacha-1opc</guid>
      <description>&lt;p&gt;Hello everyone,&lt;/p&gt;

&lt;p&gt;I've been working on &lt;strong&gt;Talos-XII&lt;/strong&gt;, which started as a simple idea to simulate gacha pulls for &lt;strong&gt;Arknights: Endfield&lt;/strong&gt; but eventually turned into a massive rabbit hole of optimisation.&lt;/p&gt;

&lt;p&gt;Instead of just using standard Python bindings or a basic RNG, I decided to over-engineer the hell out of it. I built a &lt;strong&gt;custom Deep Learning engine entirely in Rust&lt;/strong&gt; to run the simulation agents.&lt;/p&gt;

&lt;p&gt;The goal? To use RL algorithms (PPO &amp;amp; DQN) to find the absolute best pulling strategies for F2P/Monthly card players.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some technical implementation details for the Rustaceans here:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No Python&lt;/strong&gt;: The core engine is pure Rust. I wrote a custom reverse-mode Autograd system that feels a bit like PyTorch but without the bloat.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Performance&lt;/strong&gt;: I'm abusing Rayon for parallelising tensor ops and hand-wrote SIMD kernels (AVX2 for x86, NEON for ARM) to speed up the critical paths.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Model&lt;/strong&gt;: It uses a Deep Belief Network (DBN) for environment noise simulation and a Transformer backend for the agent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Optimisation&lt;/strong&gt;: I actually implemented some ideas from the DeepSeek mHC (Manifold-Constrained Hyper-Connections) paper for the optimiser design, which was a fun challenge to port over.&lt;/p&gt;

&lt;p&gt;It basically simulates millions of pulls to tell you exactly how likely you are to get the UP character using only free resources (Neural Luck Optimiser, essentially).&lt;/p&gt;

&lt;p&gt;If you are interested in Rust DL frameworks or just want to see how much "Unpolished Crystal" you need to save, feel free to check it out.&lt;/p&gt;

&lt;p&gt;Note: It is CLI-only for now. I haven't built a GUI. Apologies!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Repo&lt;/strong&gt;: &lt;a href="https://github.com/zayokami/Talos-XII" rel="noopener noreferrer"&gt;https://github.com/zayokami/Talos-XII&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reference paper&lt;/strong&gt;: &lt;a href="https://arxiv.org/abs/2512.24880" rel="noopener noreferrer"&gt;https://arxiv.org/abs/2512.24880&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Big shoutout to the DeepSeek team for their mHC paper—it was a huge reference for the project's optimiser design!)&lt;/em&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>rust</category>
      <category>showdev</category>
    </item>
    <item>
      <title>GenresFox Version 0.4.1 Update</title>
      <dc:creator>zayoka</dc:creator>
      <pubDate>Wed, 24 Dec 2025 16:06:46 +0000</pubDate>
      <link>https://forem.com/zayoka/genresfox-version-041-update-5dkh</link>
      <guid>https://forem.com/zayoka/genresfox-version-041-update-5dkh</guid>
      <description>&lt;p&gt;Hello everyone, GenresFox version 0.4.1 has now been released.&lt;br&gt;
This update fixes and improves numerous issues, including more complete WASM support and enhanced logic, boosting performance and efficiency.&lt;br&gt;
We've fixed a memory leak in the worker callback and improved error handling during worker initialisation. We've updated the cache key generation to use the FNV-1a hash algorithm, including handling parameters to avoid collisions.&lt;br&gt;
Additionally, we've optimised the image processing strategy based on pixel count and WASM availability to ensure better quality and performance.&lt;br&gt;
We've also adjusted the content security policy to comply with new inline script handling.&lt;/p&gt;

&lt;p&gt;Plus, we've added a little Easter egg:&lt;br&gt;
In the settings' "About" tab, click "GenresFox" three times in a row to trigger a Christmas-limited Easter egg!&lt;/p&gt;

&lt;p&gt;Wishing you all a Merry Christmas! Here's to moving forward together in the new year!&lt;br&gt;
🦊🎄&lt;/p&gt;

&lt;p&gt;Github：&lt;a href="https://github.com/zayokami/GenresFox" rel="noopener noreferrer"&gt;https://github.com/zayokami/GenresFox&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Good morning everyone, now I have WASM.</title>
      <dc:creator>zayoka</dc:creator>
      <pubDate>Tue, 23 Dec 2025 15:55:06 +0000</pubDate>
      <link>https://forem.com/zayoka/good-morning-everyone-now-i-have-wasm-2nk5</link>
      <guid>https://forem.com/zayoka/good-morning-everyone-now-i-have-wasm-2nk5</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdzk3lswvd4p5we0rddjq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdzk3lswvd4p5we0rddjq.png" alt=" " width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hello everyone, I'm zayoka.&lt;/p&gt;

&lt;p&gt;A few days ago, I posted about this project on Hacker News and got (rightfully) slammed because I said I used WASM in the title, but the repo only had Vanilla JS at the time (I had pushed the wrong branch).&lt;br&gt;
I took the feedback on board. I didn't argue because facts are facts—they're unchangeable.&lt;br&gt;
I spent a weekend finishing the WASM core and merged it in.&lt;/p&gt;

&lt;p&gt;Now, v0.4.0 has officially been pushed:&lt;br&gt;
Pure Rust: No wasm-bindgen, no image crate. Just std and manual pointer arithmetic.&lt;br&gt;
Tiny: The binary is about 12.8KB.&lt;br&gt;
Smart: Automatically enabled only for images larger than 20MP to bypass V8 GC stuttering.&lt;br&gt;
Auditable: See SECURITY.md for proof of an empty dependency tree.&lt;/p&gt;

&lt;p&gt;I hope I can regain everyone's trust. Thank you to everyone who has starred the repo. Your support is my biggest motivation to keep going.&lt;/p&gt;

&lt;p&gt;After all, there's an old saying:&lt;br&gt;
"Talk is cheap, show me the code!"&lt;/p&gt;

&lt;p&gt;I've merged it into the main branch. It's live now.&lt;br&gt;
No longer hidden away in a dev branch. You can see the src/wasm-resize folder on the repo homepage.&lt;br&gt;
This time, I'm not joking.&lt;/p&gt;

&lt;p&gt;Visit the GenresFox Github repository to learn more: &lt;a href="https://github.com/zayokami/GenresFox" rel="noopener noreferrer"&gt;https://github.com/zayokami/GenresFox&lt;/a&gt;&lt;br&gt;
Visit the repository index on DeepWiki for more information: &lt;a href="https://deepwiki.com/zayokami/GenresFox" rel="noopener noreferrer"&gt;https://deepwiki.com/zayokami/GenresFox&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>rust</category>
      <category>opensource</category>
      <category>webassembly</category>
    </item>
    <item>
      <title>Because of one thing, I developed a browser extension.</title>
      <dc:creator>zayoka</dc:creator>
      <pubDate>Sun, 21 Dec 2025 14:22:31 +0000</pubDate>
      <link>https://forem.com/zayoka/because-of-one-thing-i-developed-a-browser-extension-3be2</link>
      <guid>https://forem.com/zayoka/because-of-one-thing-i-developed-a-browser-extension-3be2</guid>
      <description>&lt;p&gt;Hello everyone, I'm zayoka.&lt;/p&gt;

&lt;p&gt;Late on the 3rd of December 2025, something happened that completely infuriated me.&lt;br&gt;
A browser new tab extension I'd been using for years had been backdoored/poisoned, which I found utterly intolerable and unacceptable.&lt;br&gt;
I won't name which extension this happened to.&lt;/p&gt;

&lt;p&gt;Anyway, I was absolutely livid, so I immediately started coding my own extension.&lt;/p&gt;

&lt;p&gt;It's now open source on Github. If anyone's interested, feel free to have a look and give it a star if you like it. It's just a very basic and simple project, as I developed it in a fit of rage and haven't considered every single feature. (I might not update it much or progress slowly, haha. I'm quite busy.)&lt;/p&gt;

&lt;p&gt;Also, I'd appreciate it if users of other browser extensions could share their pros and cons, so I can improve this project.&lt;br&gt;
If any of you have suggestions for improvements or bugs to report, please feel free to raise an Issue. And if any tech whizzes are willing to contribute code, pull requests are always welcome.&lt;/p&gt;

&lt;p&gt;P.S.: This project is fully open source under the MIT licence (which means anyone can use it!). The code can be audited anytime, anywhere. No need to worry about any backdoors or annoying viruses.&lt;/p&gt;

&lt;p&gt;Github repo: &lt;a href="https://github.com/zayokami/GenresFox" rel="noopener noreferrer"&gt;https://github.com/zayokami/GenresFox&lt;/a&gt;&lt;br&gt;
My Github profile: &lt;a href="https://github.com/zayokami" rel="noopener noreferrer"&gt;https://github.com/zayokami&lt;/a&gt;&lt;br&gt;
My X (Twitter): &lt;a href="https://x.com/zayokami" rel="noopener noreferrer"&gt;https://x.com/zayokami&lt;/a&gt; (Not recommended to follow, I'm not keen on social media.)&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>showdev</category>
      <category>html</category>
    </item>
  </channel>
</rss>
