PageSourceSearch

https://avi.im/blag/

html avi.im collected 2026-10-03 19:03:27 UTC 12,354 bytes, 72 lines download raw bytes

1<!doctype html><html lang=en-us><head><meta charset=utf-8><meta name=generator content="Hugo 0.139.4"><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><meta name=author content><meta property="og:url" content="https://avi.im/blag/"><title>blag</title>
2<meta property="og:title" content="blag"><meta property="og:type" content="website"><meta name=description content><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Source+Code+Pro|Arvo:400,700"><link rel=stylesheet href=/blag/css/highlight.css><link rel=stylesheet href=/blag/css/journal.css><link href=/blag/index.xml rel=alternate type=application/rss+xml title=blag></head><body><div class=container><div class=site-header-nav><header class=site-header><h1>blag</h1><p></p></header><div><span><a href=/blag/about>About</a></span>
3<span><a href=/blag/now>Now</a></span></div></div><article class=posts><section><h2>2026</h2><ol><li><time datetime="2026-04-18 19:40:33 +0530">Apr 18</time>
4<a href=/blag/2026/etilqs/>SQLite prefixes its temp files with `etilqs_`</a></li></ol></section><section><h2>2025</h2><ol><li><time datetime="2025-09-13 19:49:24 +0530">Sep 13</time>
5<a href=/blag/2025/setsum/>Setsum - order agnostic, additive, subtractive checksum</a></li><li><time datetime="2025-09-06 19:53:34 +0530">Sep 06</time>
6<a href=/blag/2025/oldest-txn/>Oldest recorded transaction</a></li><li><time datetime="2025-08-31 19:30:10 +0530">Aug 31</time>
7<a href=/blag/2025/db-cache/>Replacing a cache service with a database</a></li><li><time datetime="2025-08-24 20:46:20 +0530">Aug 24</time>
8<a href=/blag/2025/sqlite-fsync/>SQLite commits are not durable under default settings</a></li><li><time datetime="2025-07-22 18:54:26 +0530">Jul 22</time>
9<a href=/blag/2025/sqlite-wal-checksum/>PSA: SQLite WAL checksums fail silently and may lose data</a></li><li><time datetime="2025-07-20 23:06:59 +0530">Jul 20</time>
10<a href=/blag/2025/rickrolling-turso/>Rickrolling Turso DB (SQLite rewrite in Rust)</a></li></ol></section><section><h2>2024</h2><ol><li><time datetime="2024-12-30 15:23:57 +0530">Dec 30</time>
11<a href=/blag/2024/sqlite-facts/>Collection of insane and fun facts about SQLite</a></li><li><time datetime="2024-12-22 18:03:15 +0530">Dec 22</time>
12<a href=/blag/2024/sqlite-past-present-future/>How bloom filters made SQLite 10x faster</a></li><li><time datetime="2024-12-14 19:48:30 +0530">Dec 14</time>
13<a href=/blag/2024/faster-sqlite/>In search of a faster SQLite</a></li><li><time datetime="2024-12-07 16:41:34 +0530">Dec 07</time>
14<a href=/blag/2024/galloping-search/>Galloping Search</a></li><li><time datetime="2024-11-30 23:16:21 +0530">Nov 30</time>
15<a href=/blag/2024/s3-log/>Building a distributed log using S3 (under 150 lines of Go)</a></li><li><time datetime="2024-11-24 17:20:31 +0530">Nov 24</time>
16<a href=/blag/2024/zero-disk-architecture/>Zero Disk Architecture</a></li><li><time datetime="2024-11-09 21:11:18 +0530">Nov 09</time>
17<a href=/blag/2024/databases-checksum/>PSA: Most databases do not do checksums by default</a></li><li><time datetime="2024-11-09 12:56:46 +0530">Nov 09</time>
18<a href=/blag/2024/sqlite-bit-flip/>PSA: SQLite does not do checksums</a></li><li><time datetime="2024-11-02 18:51:55 +0530">Nov 02</time>
19<a href=/blag/2024/disaggregated-storage/>Disaggregated Storage - a brief introduction</a></li><li><time datetime="2024-06-19 20:00:09 +0530">Jun 19</time>
20<a href=/blag/2024/sqlite-bad-rep/>Why does SQLite (in production) have such a bad rep?</a></li><li><time datetime="2024-06-18 14:50:02 +0530">Jun 18</time>
21<a href=/blag/2024/sqlite-slaps/>SQLite Slaps</a></li><li><time datetime="2024-03-02 15:08:39 +0530">Mar 02</time>
22<a href=/blag/2024/learning-c/>Learning C</a></li><li><time datetime="2024-03-01 18:52:48 +0530">Mar 01</time>
23<a href=/blag/2024/snapshot-testing/>Snapshot Testing</a></li><li><time datetime="2024-02-16 08:45:29 +0530">Feb 16</time>
24<a href=/blag/2024/win-sqlite-contribution/>Win: contribution to libSQL (SQLite) codebase</a></li></ol></section><section><h2>2023</h2><ol><li><time datetime="2023-04-20 22:59:15 +0530">Apr 20</time>
25<a href=/blag/2023/hekaton-paper-typo/>Errata in Hekaton MVCC paper</a></li><li><time datetime="2023-04-20 22:19:15 +0530">Apr 20</time>
26<a href=/blag/2023/internet-mvcc/>Internet is wholesome: MVCC edition</a></li><li><time datetime="2023-02-05 17:56:57 +0530">Feb 05</time>
27<a href=/blag/2023/refactoring-python/>It is becoming difficult for me to be productive in Python</a></li></ol></section><section><h2>2022</h2><ol><li><time datetime="2022-05-22 18:35:44 +0530">May 22</time>
28<a href=/blag/2022/mongo-secondary-index/>MongoDB secondary only index</a></li><li><time datetime="2022-05-10 21:46:11 +0530">May 10</time>
29<a href=/blag/2022/py-caskdb/>Introducing CaskDB – a project to teach you writing a key-value store</a></li><li><time datetime="2022-01-01 19:26:30 +0530">Jan 01</time>
30<a href=/blag/2022/rc-winter-break/>Recurse Center: Winter Break</a></li></ol></section><section><h2>2021</h2><ol><li><time datetime="2021-12-08 13:03:55 +0530">Dec 08</time>
31<a href=/blag/2021/rc-day-24/>Recurse Center Day 24: Hacking Go compiler to add a new keyword</a></li><li><time datetime="2021-12-02 17:18:07 +0530">Dec 02</time>
32<a href=/blag/2021/rc-day-20/>Recurse Center Day 20: Django v4 upgrade (from v1)</a></li><li><time datetime="2021-12-01 13:22:37 +0530">Dec 01</time>
33<a href=/blag/2021/rc-day-19/>Recurse Center Day 19</a></li><li><time datetime="2021-11-30 20:20:58 +0530">Nov 30</time>
34<a href=/blag/2021/rc-day-18/>Recurse Center Day 18</a></li><li><time datetime="2021-11-24 16:13:29 +0530">Nov 24</time>
35<a href=/blag/2021/rc-day-17/>Recurse Center Day 17</a></li><li><time datetime="2021-11-23 16:13:29 +0530">Nov 23</time>
36<a href=/blag/2021/rc-day-16/>Recurse Center Day 16: Open Source</a></li><li><time datetime="2021-11-20 20:15:47 +0530">Nov 20</time>
37<a href=/blag/2021/rc-day-15/>Recurse Center Day 15: B Tree Algorithms</a></li><li><time datetime="2021-11-19 20:15:44 +0530">Nov 19</time>
38<a href=/blag/2021/rc-day-14/>Recurse Center Day 14: NoSQL Transactions</a></li><li><time datetime="2021-11-18 17:39:30 +0530">Nov 18</time>
39<a href=/blag/2021/rc-day-13/>Recurse Center Day 13: Why 'Raft'?</a></li><li><time datetime="2021-11-17 17:39:27 +0530">Nov 17</time>
40<a href=/blag/2021/rc-day-12/>Recurse Center Day 12: Isolation Anomalies</a></li><li><time datetime="2021-11-16 16:07:59 +0530">Nov 16</time>
41<a href=/blag/2021/rc-day-11/>Recurse Center Day 11: B Tree Insertions</a></li><li><time datetime="2021-11-13 23:22:10 +0530">Nov 13</time>
42<a href=/blag/2021/rc-day-10/>Recurse Center Day 10: Learning Distributed Systems</a></li><li><time datetime="2021-11-12 16:35:35 +0530">Nov 12</time>
43<a href=/blag/2021/rc-day-9/>Recurse Center Day 9: Papers We Love</a></li><li><time datetime="2021-11-11 16:00:32 +0530">Nov 11</time>
44<a href=/blag/2021/rc-day-8/>Recurse Center Day 8: B Tree Fill Factor (Part 2)</a></li><li><time datetime="2021-11-10 16:08:08 +0530">Nov 10</time>
45<a href=/blag/2021/rc-day-7/>Recurse Center Day 7: Basics of ncurses</a></li><li><time datetime="2021-11-09 16:20:15 +0530">Nov 09</time>
46<a href=/blag/2021/rc-day-6/>Recurse Center Day 6: B Tree Root</a></li><li><time datetime="2021-11-07 21:08:49 +0530">Nov 07</time>
47<a href=/blag/2021/rc-week-1/>Recurse Center First Week</a></li><li><time datetime="2021-11-06 16:59:29 +0530">Nov 06</time>
48<a href=/blag/2021/rc-day-5/>Recurse Center Day 5: Garbage Collection Algorithms</a></li><li><time datetime="2021-11-05 16:59:22 +0530">Nov 05</time>
49<a href=/blag/2021/rc-day-4/>
49Recurse Center Day 4: B Tree fill factor</a></li><li><time datetime="2021-11-04 01:36:42 +0530">Nov 04</time>
50<a href=/blag/2021/rc-day-3/>Recurse Center Day 3: Hammock Driven Development</a></li><li><time datetime="2021-11-03 00:14:57 +0530">Nov 03</time>
51<a href=/blag/2021/rc-day-2/>Recurse Center Day 2: BTree Node</a></li><li><time datetime="2021-11-02 04:10:59 +0530">Nov 02</time>
52<a href=/blag/2021/rc-day-1/>Recurse Center Day 1: init</a></li><li><time datetime="2021-10-24 19:46:15 +0530">Oct 24</time>
53<a href=/blag/2021/rc-plans/>What I want to do at Recurse Center</a></li><li><time datetime="2021-09-17 19:46:04 +0530">Sep 17</time>
54<a href=/blag/2021/rc-accepted-woooooooo/>Accepted to the Recurse Center!</a></li><li><time datetime="2021-07-17 22:10:44 +0530">Jul 17</time>
55<a href=/blag/2021/fast-sqlite-inserts/>Towards Inserting One Billion Rows in SQLite Under A Minute</a></li><li><time datetime="2021-05-01 14:35:53 +0530">May 01</time>
56<a href=/blag/2021/golang-marshaling-special-fields/>Marshaling Struct with Special Fields to JSON in Golang</a></li><li><time datetime="2021-03-31 19:51:35 +0530">Mar 31</time>
57<a href=/blag/2021/mongo-dupes-in-unique-index/>I ended up adding duplicate records on a unique index in MongoDB</a></li></ol></section><section><h2>2020</h2><ol><li><time datetime="2020-11-29 14:15:53 +0530">Nov 29</time>
58<a href=/blag/2020/gh-actions-hugo/>Setting up Github Actions for Hugo</a></li><li><time datetime="2020-11-29 10:58:48 +0530">Nov 29</time>
59<a href=/blag/2020/moving-to-hugo/>Moving to Hugo</a></li></ol></section><section><h2>2016</h2><ol><li><time datetime="2016-02-20 17:03:00 +0530">Feb 20</time>
60<a href=/blag/2016/sigterm-in-python/>Catching SIGTERM in Python</a></li><li><time datetime="2016-02-19 23:03:00 +0530">Feb 19</time>
61<a href=/blag/2016/git-fork-cycle-github/>Git/Github fork-pull request-update cycle</a></li></ol></section><section><h2>2015</h2><ol><li><time datetime="2015-12-18 14:03:00 +0530">Dec 18</time>
62<a href=/blag/2015/uwsgi-python3/>Using uWSGI with Python 3</a></li><li><time datetime="2015-11-20 22:20:00 +0530">Nov 20</time>
63<a href=/blag/2015/kekday/>When is my Cake Day?</a></li><li><time datetime="2015-10-31 22:20:00 +0530">Oct 31</time>
64<a href=/blag/2015/amazon-treasure-hunt/>Staying Ahead of Amazon, in Amazon Treasure Hunt Contest</a></li><li><time datetime="2015-08-01 22:20:00 +0530">Aug 01</time>
65<a href=/blag/2015/multiple-git-emails/>How I Am Maintaining Multiple Emails For Git On A Same Machine</a></li><li><time datetime="2015-05-31 19:20:00 +0530">May 31</time>
66<a href=/blag/2015/hacking-gaana/>An exploit on Gaana.com gave me access to their entire User Database</a></li><li><time datetime="2015-05-10 22:20:00 +0530">May 10</time>
67<a href=/blag/2015/asus-wrt-merlin-on-netgear-r7000/>Flashing Asus-WRT Merlin by XVortex on NetGear NightHawk R7000</a></li></ol></section><section><h2>2014</h2><ol><li><time datetime="2014-12-28 16:20:00 +0530">Dec 28</time>
68<a href=/blag/2014/install-uefi-windows-yosemite-dualboot/>Install Windows 8 UEFI on Legacy BIOS with Clover (and Dual boot with Yosemite)</a></li><li><time datetime="2014-10-18 14:03:00 +0530">Oct 18</time>
69<a href=/blag/2014/scraping-javascript-website-python/>Scraping Javascript page using Python</a></li></ol></section><section><h2>2013</h2><ol><li><time datetime="2013-12-05 10:20:00 +0530">Dec 05</time>
70<a href=/blag/2013/installing-transmission-raspberry-pi/>Installing Transmission (remote and CLI) client on Raspberry Pi</a></li></ol></section></article><footer class=site-footer><div class=rc-scout style=margin-right:auto;margin-top:auto;font-size:.6rem></div>
70<script async defer src="https://www.recurse-scout.com/loader.js?t=a4aabd5087bb19daf083302de1b46650"></script>
70<span class=person-schema itemscope itemtype=http://schema.org/Person><link itemprop=url href=https://avi.im/blag/><span itemprop=name></span><br><a itemprop=sameAs href=https://github.com/avinassh title=GitHub><img src=/blag/svg/gh.svg alt="icon name"></a>
71<a itemprop=sameAs href=/blag/index.xml title=GitHub><img src=/blag/svg/rss.svg alt="icon name"></a></span></footer></div>
71<script src=/blag/js/highlight.pack.js></script>
71<script>hljs.initHighlightingOnLoad()</script>
71<script data-goatcounter=https://avi.goatcounter.com/count async src=//gc.zgo.at/count.js></script>
71<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"95f18aa5be3f400a9ac94a600d98feec","r":1,"spa":2}' crossorigin="anonymous"></script>
71
72</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.