<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2026-09-21T09:54:20+08:00</updated><id>/feed.xml</id><title type="html">Journal | Log</title><author><name>W. D. Sadeep Madurange</name></author><entry><title type="html">Lex: LLM dictionary on RPi5</title><link href="/log/lex/" rel="alternate" type="text/html" title="Lex: LLM dictionary on RPi5" /><published>2026-09-20T00:00:00+08:00</published><updated>2026-09-20T00:00:00+08:00</updated><id>/log/lex</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Year of our Lord 2026. LLMs are everywhere.]]></summary></entry><entry><title type="html">CVSS 9.9 Jint gadget chain RCE</title><link href="/log/jint-gadget-chain-rce/" rel="alternate" type="text/html" title="CVSS 9.9 Jint gadget chain RCE" /><published>2026-07-18T00:00:00+08:00</published><updated>2026-07-18T00:00:00+08:00</updated><id>/log/jint-gadget-chain-rce</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Received a CVSS 9.9 RCE vulnerability report from security researcher asyx6 today.]]></summary></entry><entry><title type="html">Urn: VCS from OpenBSD base tools</title><link href="/log/vcs-1/" rel="alternate" type="text/html" title="Urn: VCS from OpenBSD base tools" /><published>2026-05-01T00:00:00+08:00</published><updated>2026-05-01T00:00:00+08:00</updated><id>/log/vcs-1</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Implemented init, status, add, commit, log, show, and diff using Perl and OpenBSD base-system tools. Didn’t bother with collaborative workflows.]]></summary></entry><entry><title type="html">Suffix-array search</title><link href="/log/site-search/" rel="alternate" type="text/html" title="Suffix-array search" /><published>2026-01-03T00:00:00+08:00</published><updated>2026-01-03T00:00:00+08:00</updated><id>/log/site-search</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Indexer crawls the HTML, lowercases the text, and encodes it into UTF-8 bytes. Null byte sentinels mark document boundaries; sa.bin stores lexicographically sorted 32-bit unsigned integer offsets:]]></summary></entry><entry><title type="html">Matrix rain refactor</title><link href="/log/matrix-digital-rain/" rel="alternate" type="text/html" title="Matrix rain refactor" /><published>2025-12-21T00:00:00+08:00</published><updated>2025-12-21T00:00:00+08:00</updated><id>/log/matrix-digital-rain</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Inspired by domsson’s fakesteak.]]></summary></entry><entry><title type="html">Fingerprint door lock (LP)</title><link href="/log/fpm-door-lock-lp/" rel="alternate" type="text/html" title="Fingerprint door lock (LP)" /><published>2025-08-18T00:00:00+08:00</published><updated>2025-08-18T00:00:00+08:00</updated><id>/log/fpm-door-lock-lp</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Second iteration of the lock. The old version worked but drew too much quiescent current. Sensor and servo pulled 13.8mA and 4.6mA idle. Linear regulators dissipated too much heat. Battery didn’t last 24 hours.]]></summary></entry><entry><title type="html">High-side MOSFET switching</title><link href="/log/mosfet-switches/" rel="alternate" type="text/html" title="High-side MOSFET switching" /><published>2025-06-22T00:00:00+08:00</published><updated>2025-06-22T00:00:00+08:00</updated><id>/log/mosfet-switches</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Needed low-power switching for fingerprint door lock. Servo and FPM draw high quiescent currents–had to cut power electronically during sleep. MOSFETs can do this.]]></summary></entry><entry><title type="html">Wiring ATmega328P</title><link href="/log/arduino-uno/" rel="alternate" type="text/html" title="Wiring ATmega328P" /><published>2025-06-10T00:00:00+08:00</published><updated>2025-06-10T00:00:00+08:00</updated><id>/log/arduino-uno</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Quick reference for wiring ATmega328P ICs at 5 V and 3.3 V. 5 V uses 16 MHz crystal. 3.3 V uses 8 MHz.]]></summary></entry><entry><title type="html">Fingerprint door lock (RF)</title><link href="/log/fpm-door-lock-rf/" rel="alternate" type="text/html" title="Fingerprint door lock (RF)" /><published>2025-06-05T00:00:00+08:00</published><updated>2025-06-05T00:00:00+08:00</updated><id>/log/fpm-door-lock-rf</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[Wanted to unlock the door with fingerprint, wirelessly to avoid drilling.]]></summary></entry><entry><title type="html">Bumblebee</title><link href="/log/bumblebee/" rel="alternate" type="text/html" title="Bumblebee" /><published>2025-04-02T00:00:00+08:00</published><updated>2025-04-02T00:00:00+08:00</updated><id>/log/bumblebee</id><author><name>W. D. Sadeep Madurange</name></author><summary type="html"><![CDATA[One year at trading firm; scripts are saturating CPUs, servers are choking. Forced to restart them daily.]]></summary></entry></feed>