PageSourceSearch

https://fzakaria.com/

html fzakaria.com collected 2026-10-03 22:12:47 UTC 44,030 bytes, 1,014 lines download raw bytes

1<!doctype html>
2<html lang="en">
3  <head>
4    <meta charset="utf-8">
5    <meta name="viewport" content="width=device-width, initial-scale=1">
6    <meta name="color-scheme" content="light dark">
7    <meta name="theme-color" content="#f5f2ec" media="(prefers-color-scheme: light)">
8    <meta name="theme-color" content="#15171a" media="(prefers-color-scheme: dark)">
9    <!-- Begin Jekyll SEO tag v2.9.0 -->
10<title>Farid Zakaria’s Blog | I’m a software engineer, father and wishful amateur surfer. If you’ve come seeking my political views, you’ve found the wrong Fareed.</title>
11<meta name="generator" content="Jekyll v4.4.1" />
12<meta property="og:title" content="Farid Zakaria’s Blog" />
13<meta property="og:locale" content="en_US" />
14<meta name="description" content="I’m a software engineer, father and wishful amateur surfer. If you’ve come seeking my political views, you’ve found the wrong Fareed." />
15<meta name="twitter:description" property="og:description" content="I’m a software engineer, father and wishful amateur surfer. If you’ve come seeking my political views, you’ve found the wrong Fareed." />
16<link rel="canonical" href="https://fzakaria.com/" />
17<meta property="og:url" content="https://fzakaria.com/" />
18<meta property="og:site_name" content="Farid Zakaria’s Blog" />
19<meta property="og:type" content="website" />
20<meta name="twitter:card" content="summary" />
21<meta name="twitter:title" content="Farid Zakaria’s Blog" />
22<script type="application/ld+json">
23{"@context":"https://schema.org","@type":"WebSite","description":"I’m a software engineer, father and wishful amateur surfer. If you’ve come seeking my political views, you’ve found the wrong Fareed.","headline":"Farid Zakaria’s Blog","name":"Farid Zakaria’s Blog","url":"https://fzakaria.com/"}</script>
23
24<!-- End Jekyll SEO tag -->
25
26    <link type="application/atom+xml" rel="alternate" href="https://fzakaria.com/feed.xml" title="Farid Zakaria&apos;s Blog" />
27    
28
29    <!-- Fonts are self-hosted, so there is no third-party DNS + TLS before first paint. -->
30    <link rel="preload" href="/assets/fonts/Newsreader-latin.woff2" as="font" type="font/woff2" crossorigin>
31    <link rel="preload" href="/assets/fonts/JetBrainsMono-Regular.woff2" as="font" type="font/woff2" crossorigin>
32    <link rel="stylesheet" type="text/css" href="/assets/css/base.css?v=60be8038c5c6">
33
34    <link rel="icon" type="image/x-icon" href="/assets/images/avatar.ico">
35    <link rel="alternate" type="application/atom+xml" title="Farid Zakaria's Blog" href="/feed.xml">
36
37    
38      <!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 86 bytes, lines 38-41
38
39      <script
40        async
41        src="https://www.googletagmanager.com/gtag/js?id=
41G-5PXE2Z6YK6
vendor: 25 bytes, lines 41-43
41"
42      ></script>
43      
43<script>
44        
vendor: 173 bytes, lines 44-50
44window.dataLayer = window.dataLayer || [];
45        function gtag() {
46          dataLayer.push(arguments);
47        }
48        gtag('js', new Date());
49
50        gtag('config', '
50G-5PXE2Z6YK6
vendor: 10 bytes, lines 50-51
50');
51      
51</script>
51
52    
53  </head>
54  <body
55    
56  >
57    <a class="skip-link" href="#main">Skip to content</a>
58    <div class="wrap">
59      <header class="masthead column rise">
60  <p class="masthead__title"><a href="/">Farid Zakaria</a></p>
61    <a class="masthead__about" href="#about">About</a><div
62    class="masthead__signal"
63    aria-hidden="true"
64    title="sha256 of this page's URL, drawn — 8a5edab282632443219e051e4ade2d1d5bbc671c781051bf1437897cbdfea0f1"
65  >
66    <svg viewBox="0 0 1000 100" preserveAspectRatio="none" focusable="false">
67      <defs>
68        <linearGradient id="signal-ramp" x1="0" y1="0" x2="1" y2="0">
69          <stop class="signal-ramp__lead" offset="0" />
70          <stop class="signal-ramp__body" offset="0.24" />
71          <stop class="signal-ramp__tail" offset="1" />
72        </linearGradient>
73      </defs>
74      <path d="M0,47.36 C3.87,48.69 24.52,60.82 32.26,58.41 C40,56 56.77,29.82 64.52,27.29 C72.26,24.76 89.03,34.68 96.77,37.33 C104.52,39.98 121.29,46.99 129.03,49.37 C136.77,51.75 153.55,54.32 161.29,57.15 C169.03,59.98 185.81,72 193.55,72.96 C201.29,73.93 218.06,65.09 225.81,65.18 C233.55,65.27 250.32,76.46 258.06,73.72 C265.81,70.98 282.58,41.5 290.32,42.35 C298.06,43.19 314.84,76.89 322.58,80.75 C330.32,84.6 347.1,76.55 354.84,74.47 C362.58,72.39 379.35,69.21 387.1,63.43 C394.84,57.64 411.61,25.41 419.35,26.28 C427.1,27.16 443.87,64.89 451.61,70.71 C459.35,76.52 476.13,76.11 483.87,74.72 C491.61,73.34 508.39,63.95 516.13,59.16 C523.87,54.37 540.65,35.18 548.39,34.82 C556.13,34.45 572.9,51.33 580.65,56.15 C588.39,60.97 605.16,75.48 612.9,74.97 C620.65,74.46 637.42,51.52 645.16,51.88 C652.9,52.24 669.68,76.81 677.42,77.98 C685.16,79.16 701.94,66.94 709.68,61.67 C717.42,56.4 734.19,32.23 741.94,34.06 C749.68,35.9 766.45,72.88 774.19,76.98 C781.94,81.08 798.71,71.72 806.45,68.2 C814.19,64.67 830.97,49.69 838.71,47.62 C846.45,45.54 863.23,52.44 870.97,50.88 C878.71,49.31 895.48,38.48 903.23,34.56 C910.97,30.65 927.74,17.38 935.48,18.25 C943.23,19.12 960,41.45 967.74,41.84 C975.48,42.23 996.13,23.95 1000,21.51" pathLength="100" />
75    </svg>
76  </div>
77</header>
78
79      <main id="main">
80
81
82
83<div class="page-index column">
84  <aside class="colophon" id="about">
85  <picture><source type="image/webp" srcset="/assets/images/derived/avatar-164-145w.webp 145w" sizes="(min-width: 1081px) 702px, 100vw"><img class="colophon__avatar" src="/assets/images/avatar-164.png" width="164" height="164" alt="A photo of my dog Moose" title="My dog Moose" loading="lazy" decoding="async"></picture>
86  <div>
87    <p class="colophon__bio">I'm a software engineer, father and wishful amateur surfer. If you've come seeking my political views, you've found the wrong <a href="https://fareedzakaria.com/">Fareed</a>.</p>
88    <ul class="colophon__links">
89      <li>
90        <span class="key">github</span>
91        <span class="val"><a href="https://github.com/fzakaria">fzakaria</a></span>
92      </li>
93      <li>
94        <span class="key">linkedin</span>
95        <span class="val"><a href="https://www.linkedin.com/in/fmzakari/">fmzakari</a></span>
96      </li>
97      <li>
98        <span class="key">email</span>
99        <span class="val"><a href="mailto:[email protected]">[email protected]</a></span>
100      </li>
101      <li>
102        <span class="key">pgp</span>
103        <span class="val"><a href="/publickey.txt">D1B232E7</a></span>
104      </li>
105      <li>
106        <span class="key">resume</span>
107        <span class="val">
108          <a
109            href="https://docs.google.com/document/d/e/2PACX-1vSUUDuMWGe5YnUnHU6bxhFQfcrZEt2ulXD4kbaALq267eMfoy8WFHiMNDosJbJJQFluiZugkfsijd6o/pub"
110            >google doc</a
111          >
112        </span>
113      </li>
114      <li>
115        <span class="key">talks</span>
116        <span class="val"><a href="/talks">talks &amp; papers</a></span>
117      </li>
118      <li>
119        <span class="key">readers</span>
120        <span class="val"><a href="/readership/">readership stats</a></span>
121      </li>
122      <li>
123        <span class="key">archive</span>
124        <span class="val"><a href="/old_blog/">wordpress blog</a></span>
125      </li>
126    </ul>
127  </div>
128</aside>
129
130
131  <div class="index-body">
132    <div class="index-lead rise" style="--i: 1">
133        <span class="label">Latest &middot; September 28, 2026</span>
134        <a class="title" href="/2026/09/28/hiding-my-ai-slop-from-my-nix-friends">Hiding my AI slop from my Nix friends</a>
135        <span class="excerpt">I am <a href="/2026/05/31/ai-is-a-boon-for-the-anal-retentive">using AI a lot</a>. I am public about my use of it and when required make the necessary disclosures: “Assited-By” trailers or having to say “I used an AI to help write this software” <em>on every</em> <a href="https://discourse.nixos.org/">Discourse</a> post.</span>
136        <span class="more" aria-hidden="true">Read &rarr;</span>
137      </div>
138    
139
140    
141      <section class="year rise" style="--i: 2">
142        <h2 class="year__label">
143          2026
144          <span class="count">49 posts</span>
145        </h2>
146        <ul class="year__list">
147          
148            <li class="entry">
149              <span class="date">Sep 24</span>
150              <a href="/2026/09/24/every-package-is-already-installed">Every package is already installed</a>
151            </li>
152          
153            <li class="entry">
154              <span class="date">Sep 20</span>
155              <a href="/2026/09/20/a-build-graph-that-rolls-dice">A build graph that rolls dice</a>
156            </li>
157          
158            <li class="entry">
159              <span class="date">Sep 15</span>
160              <a href="/2026/09/15/visualizing-nix-closures">Visualizing Nix closures</a>
161            </li>
162          
163            <li class="entry">
164              <span class="date">Sep 14</span>
165              <a href="/2026/09/14/orange-site-vanity">Orange Site Vanity</a>
166            </li>
167          
168            <li class="entry">
169              <span class="date">Sep 11</span>
170              <a href="/2026/09/11/a-nix-store-is-three-functions">A Nix store is three functions</a>
171            </li>
172          
173            <li class="entry">
174              <span class="date">Sep 09</span>
175              <a href="/2026/09/09/review-a-pull-request-by-booting-it">Review a pull request by booting it</a>
176            </li>
177          
178            <li class="entry">
179              <span class="date">Sep 04</span>
180              <a href="/2026/09/04/any-nix-package-live-in-your-browser">Any Nix package, live in your browser</a>
181            </li>
182          
183            <li class="entry">
184              <span class="date">Sep 02</span>
185              <a href="/2026/09/02/keeping-one-version-of-everything">Keeping one version of everything</a>
186            </li>
187          
188            <li class="entry">
189              <span class="date">Sep 01</span>
190              <a href="/2026/09/01/the-holy-grail-of-nixpkgs-version-ranges">The holy grail of nixpkgs: version ranges</a>
191            </li>
192          
193            <li class="entry">
194              <span class="date">Aug 31</span>
195              <a href="/2026/08/31/how-safe-is-follows">How safe is follows?</a>
196            </li>
197          
198            <li class="entry">
199              <span class="date">Aug 28</span>
200              <a href="/2026/08/28/one-flake-to-rule-them-all">One flake to rule them all</a>
201            </li>
202          
203            <li class="entry">
204              <span class="date">Aug 25</span>
205              <a href="/2026/08/25/stamping-build-info-in-constant-memory">Stamping build info in constant memory</a>
206            </li>
207          
208            <li class="entry">
209              <span class="date">Aug 24</span>
210              <a href="/2026/08/24/actually-queryable-executables">Actually Queryable Executables</a>
211            </li>
212          
213            <li class="entry">
214              <span class="date">Aug 23</span>
215              <a href="/2026/08/23/your-executable-is-a-sqlite-database">Your executable is a SQLite database</a>
216            </li>
217          
218            <li class="entry">
219              <span class="date">Aug 19</span>
220              <a href="/2026/08/19/three-ways-to-smuggle-sqlite-into-nix">Three ways to smuggle SQLite into Nix</a>
221            </li>
222          
223            <li class="entry">
224              <span class="date">Aug 17</span>
225              <a href="/2026/08/17/nixpkgs-multiverse-the-fewest-nixpkgs">nixpkgs-multiverse: the fewest nixpkgs</a>
226            </li>
227          
228            <li class="entry">
229              <span class="date">Aug 16</span>
230              <a href="/2026/08/16/defcon34-wrap-up">DEFCON34 wrap-up</a>
231            </li>
232          
233            <li class="entry">
234              <span class="date">Aug 14</span>
235              <a href="/2026/08/14/nixpkgs-multiverse-fast-mode">nixpkgs-multiverse: fast mode</a>
236            </li>
237          
238            <li class="entry">
239              <span class="date">Aug 11</span>
240              <a href="/2026/08/11/nixpkgs-multiverse-is-audacitymaxxing">nixpkgs-multiverse is audacitymaxxing</a>
241            </li>
242          
243            <li class="entry">
244              <span class="date">Aug 09</span>
245              <a href="/2026/08/09/nixpkgs-multiverse-every-version-that-ever-existed">nixpkgs-multiverse: every version that ever existed</a>
246            </li>
247          
248            <li class="entry">
249              <span class="date">Aug 05</span>
250              <a href="/2026/08/05/super-mario-derivations">Super Mario Derivations</a>
251            </li>
252          
253            <li class="entry">
254              <span class="date">Aug 01</span>
255              <a href="/2026/08/01/a-c++-toolchain-from-357-bytes-in-bazel">A C++ toolchain from 357 bytes, in Bazel</a>
256            </li>
257          
258            <li class="entry">
259              <span class="date">Jul 30</span>
260              <a href="/2026/07/30/the-nix-sandbox-is-a-hidden-input">The Nix sandbox is a hidden input</a>
261            </li>
262          
263            <li class="entry">
264              <span class="date">Jul 30</span>
265              <a href="/2026/07/30/nix-finally-has-a-source-bootstrapped-openjdk">Nix finally has a source-bootstrapped OpenJDK</a>
266            </li>
267          
268            <li class="entry">
269              <span class="date">Jul 29</span>
270              <a href="/2026/07/29/guix-by-nix">Guix by Nix</a>
271            </li>
272          
273            <li class="entry">
274              <span class="date">Jul 27</span>
275              <a href="/2026/07/27/the-mean-means-nothing">The mean means nothing</a>
276            </li>
277          
278            <li class="entry">
279              <span class="date">Jul 26</span>
280              <a href="/2026/07/26/seriously-what-is-the-large-code-model-even-for">Seriously, what is the large code-model even for?</a>
281            </li>
282          
283            <li class="entry">
284              <span class="date">Jul 26</span>
285              <a href="/2026/07/26/small-site-changes-and-new-design">Small site changes and new design</a>
286            </li>
287          
288            <li class="entry">
289              <span class="date">Jul 20</span>
290              <a href="/2026/07/20/linux-kernel-will-support-origin-sort-of">Linux kernel will support $ORIGIN, sort of</a>
291            </li>
292          
293            <li class="entry">
294              <span class="date">Jul 18</span>
295              <a href="/2026/07/18/how-to-piss-off-your-nix-friends">How to piss off your Nix friends</a>
296            </li>
297          
298            <li class="entry">
299              <span class="date">Jul 09</span>
300              <a href="/2026/07/09/who-does-anubis-actually-stop">Who does Anubis actually stop?</a>
301            </li>
302          
303            <li class="entry">
304              <span class="date">Jun 29</span>
305              <a href="/2026/06/29/a-tacosprint-2026-retrospective">A TacoSprint 2026 Retrospective</a>
306            </li>
307          
308            <li class="entry">
309              <span class="date">Jun 25</span>
310              <a href="/2026/06/25/guixpkgs-every-guix-package-as-a-nix-flake">GuixPkgs: every Guix package, as a Nix flake</a>
311            </li>
312          
313            <li class="entry">
314              <span class="date">Jun 22</span>
315              <a href="/2026/06/22/hijacking-elf-entry-points-for-nixos-compatibility-or-wtf-is-wrap-buddy">Hijacking ELF entry points for NixOS compatibility or WTF is wrap-buddy?</a>
316            </li>
317          
318            <li class="entry">
319              <span class="date">Jun 21</span>
320              <a href="/2026/06/21/nix-needs-relocatable-binaries">Nix needs relocatable binaries</a>
321            </li>
322          
323            <li class="entry">
324              <span class="date">Jun 21</span>
325              <a href="/2026/06/21/nix-build-in-under-100-lines">nix-build in under 100 lines</a>
326            </li>
327          
328            <li class="entry">
329              <span class="date">Jun 15</span>
330              <a href="/2026/06/15/a-trillion-dollars">A trillion dollars</a>
331            </li>
332          
333            <li class="entry">
334              <span class="date">Jun 08</span>
335              <a href="/2026/06/08/relocatable-derivations">Relocatable Derivations</a>
336            </li>
337          
338            <li class="entry">
339              <span class="date">Jun 05</span>
340              <a href="/2026/06/05/the-guix-nix-abomination-leveraging-guix-derivations-in-nix">The Guix Nix Abomination: Leveraging Guix derivations in Nix</a>
341            </li>
342          
343            <li class="entry">
344              <span class="date">Jun 01</span>
345              <a href="/2026/06/01/every-byte-matters">Every byte matters</a>
346            </li>
347          
348            <li class="entry">
349              <span class="date">May 31</span>
350              <a href="/2026/05/31/ai-is-a-boon-for-the-anal-retentive">AI is a Boon for the Anal-Retentive</a>
351            </li>
352          
353            <li class="entry">
354              <span class="date">May 23</span>
355              <a href="/2026/05/23/leaving-performance-on-the-table">Leaving performance on the table</a>
356            </li>
357          
358            <li class="entry">
359              <span class="date">Mar 27</span>
360              <a href="/2026/03/27/does-anyone-actually-use-the-large-code-model">Does anyone actually use the large code-model?</a>
361            </li>
362          
363            <li class="entry">
364              <span class="date">Mar 07</span>
365              <a href="/2026/03/07/nix-is-a-lie-and-that-s-ok">Nix is a lie, and that's ok</a>
366            </li>
367          
368            <li class="entry">
369              <span class="date">Feb 18</span>
370              <a href="/2026/02/18/linker-pessimization">Linker Pessimization</a>
371            </li>
372          
373            <li class="entry">
374              <span class="date">Feb 11</span>
375              <a href="/2026/02/11/creating-massively-huge-fake-files-and-binaries">Creating massively huge fake files and binaries</a>
376            </li>
377          
378            <li class="entry">
379              <span class="date">Feb 03</span>
380              <a href="/2026/02/03/crazy-shit-linkers-do-common-data-comdat-sections">Crazy shit linkers do: Common Data (COMDAT) sections</a>
381            </li>
382          
383            <li class="entry">
384              <span class="date">Jan 30</span>
385              <a href="/2026/01/30/crazy-shit-linkers-do-relaxation">Crazy shit linkers do: Relaxation</a>
386            </li>
387          
388            <li class="entry">
389              <span class="date">Jan 01</span>
390              <a href="/2026/01/01/bespoke-software-is-the-future">Bespoke software is the future</a>
391            </li>
392          
393        </ul>
394      </section>
395    
396      <section class="year rise" style="--i: 3">
397        <h2 class="year__label">
398          2025
399          <span class="count">42 posts</span>
400        </h2>
401        <ul class="year__list">
402          
403            <li class="entry">
404              <span class="date">Dec 30</span>
405              <a href="/2025/12/30/huge-binaries-papercuts-and-limits">Huge binaries: papercuts and limits</a>
406            </li>
407          
408            <li class="entry">
409              <span class="date">Dec 29</span>
410              <a href="/2025/12/29/huge-binaries-i-thunk-therefore-i-am">Huge binaries: I thunk therefore I am</a>
411            </li>
412          
413            <li class="entry">
414              <span class="date">Dec 28</span>
415              <a href="/2025/12/28/huge-binaries">Huge binaries</a>
416            </li>
417          
418            <li class="entry">
419              <span class="date">Dec 26</span>
420              <a href="/2025/12/26/failing-interviews">Failing interviews</a>
421            </li>
422          
423            <li class="entry">
424              <span class="date">Oct 29</span>
425              <a href="/2025/10/29/nix-derivation-madness">Nix derivation madness</a>
426            </li>
427          
428            <li class="entry">
429              <span class="date">Oct 07</span>
430              <a href="/2025/10/07/fuzzing-for-fun-and-profit">Fuzzing for fun and profit</a>
431            </li>
432          
433            <li class="entry">
434              <span class="date">Sep 09</span>
435              <a href="/2025/09/09/bazel-knowledge-smuggling-capabilities-through-a-tarball">Bazel Knowledge: Smuggling capabilities through a tarball</a>
436            </li>
437          
438            <li class="entry">
439              <span class="date">Sep 05</span>
440              <a href="/2025/09/05/writing-a-protoc-plugin-in-java">Writing a protoc plugin in Java</a>
441            </li>
442          
443            <li class="entry">
444              <span class="date">Sep 02</span>
445              <a href="/2025/09/02/bazel-knowledge-testing-for-clean-jvm-shutdown">Bazel Knowledge: Testing for clean JVM shutdown</a>
446            </li>
447          
448            <li class="entry">
449              <span class="date">Aug 27</span>
450              <a href="/2025/08/27/bazel-knowledge-dive-into-unused-deps">Bazel Knowledge: dive into unused_deps</a>
451            </li>
452          
453            <li class="entry">
454              <span class="date">Aug 17</span>
455              <a href="/2025/08/17/using-nix-as-a-library">Using Nix as a library</a>
456            </li>
457          
458            <li class="entry">
459              <span class="date">Aug 11</span>
460              <a href="/2025/08/11/github-code-search-is-the-real-mvp">GitHub Code Search is the real MVP</a>
461            </li>
462          
463            <li class="entry">
464              <span class="date">Aug 10</span>
465              <a href="/2025/08/10/angle-brackets-in-a-nix-flake-world">Angle brackets in a Nix flake world</a>
466            </li>
467          
468            <li class="entry">
469              <span class="date">Jul 28</span>
470              <a href="/2025/07/28/bazel-knowledge-mixing-and-matching-how-to-build-third-party-is-lunacy">Bazel Knowledge: Mixing and matching how to build third_party is lunacy</a>
471            </li>
472          
473            <li class="entry">
474              <span class="date">Jul 15</span>
475              <a href="/2025/07/15/bazel-knowledge-beyond-deploy-jar-for-oci-images">Bazel Knowledge: Beyond _deploy.jar for OCI images</a>
476            </li>
477          
478            <li class="entry">
479              <span class="date">Jul 08</span>
480              <a href="/2025/07/08/bazel-knowledge-transition-with-style">Bazel Knowledge: transition with style</a>
481            </li>
482          
483            <li class="entry">
484              <span class="date">Jul 07</span>
485              <a href="/2025/07/07/home-manager-is-a-false-enlightenment">home-manager is a false enlightenment</a>
486            </li>
487          
488            <li class="entry">
489              <span class="date">Jul 02</span>
490              <a href="/2025/07/02/nix-s3-multi-user-woes">Nix S3 multi-user woes</a>
491            </li>
492          
493            <li class="entry">
494              <span class="date">Jun 22</span>
495              <a href="/2025/06/22/bazel-s-original-sins">Bazel's Original Sins</a>
496            </li>
497          
498            <li class="entry">
499              <span class="date">Jun 15</span>
500              <a href="/2025/06/15/bazel-knowledge-homonymous-bazel-modules">Bazel Knowledge: Homonymous Bazel Modules</a>
501            </li>
502          
503            <li class="entry">
504              <span class="date">Jun 10</span>
505              <a href="/2025/06/10/bazel-knowledge-diagnostic-messages-only-on-failure">Bazel Knowledge: Diagnostic messages only on failure</a>
506            </li>
507          
508            <li class="entry">
509              <span class="date">May 26</span>
510              <a href="/2025/05/26/linux-cgroup-from-first-principles">Linux cgroup from first principles</a>
511            </li>
512          
513            <li class="entry">
514              <span class="date">May 22</span>
515              <a href="/2025/05/22/bazel-knowledge-recursive-bazel-for-testing">Bazel Knowledge: Recursive Bazel for testing</a>
516            </li>
517          
518            <li class="entry">
519              <span class="date">May 20</span>
520              <a href="/2025/05/20/bazel-knowledge-a-practical-guide-to-depset">Bazel Knowledge: A practical guide to depset</a>
521            </li>
522          
523            <li class="entry">
524              <span class="date">May 14</span>
525              <a href="/2025/05/14/bazel-linux-sandbox-and-cgroups">Bazel linux-sandbox and cgroups</a>
526            </li>
527          
528            <li class="entry">
529              <span class="date">May 08</span>
530              <a href="/2025/05/08/bazel-cgroup-memory-investigation">Bazel cgroup memory investigation</a>
531            </li>
532          
533            <li class="entry">
534              <span class="date">May 07</span>
535              <a href="/2025/05/07/chaining-nix-stores-for-fun">Chaining Nix stores for fun</a>
536            </li>
537          
538            <li class="entry">
539              <span class="date">Apr 02</span>
540              <a href="/2025/04/02/nix-that-looks-like-bazel">Nix that looks like Bazel</a>
541            </li>
542          
543            <li class="entry">
544              <span class="date">Mar 28</span>
545              <a href="/2025/03/28/what-s-in-a-nix-store-path">What's in a Nix store path</a>
546            </li>
547          
548            <li class="entry">
549              <span class="date">Mar 27</span>
550              <a href="/2025/03/27/nix-vanity-store-paths">Nix vanity store paths</a>
551            </li>
552          
553            <li class="entry">
554              <span class="date">Mar 23</span>
555              <a href="/2025/03/23/nix-derivations-by-hand">Nix derivations by hand</a>
556            </li>
557          
558            <li class="entry">
559              <span class="date">Mar 12</span>
560              <a href="/2025/03/12/nix-dynamic-derivations-a-lang2nix-practicum">Nix Dynamic Derivations: A lang2nix practicum</a>
561            </li>
562          
563            <li class="entry">
564              <span class="date">Mar 11</span>
565              <a href="/2025/03/11/nix-dynamic-derivations-a-practical-application">Nix Dynamic Derivations: A practical application</a>
566            </li>
567          
568            <li class="entry">
569              <span class="date">Mar 10</span>
570              <a href="/2025/03/10/an-early-look-at-nix-dynamic-derivations">An early look at Nix Dynamic Derivations</a>
571            </li>
572          
573            <li class="entry">
574              <span class="date">Mar 08</span>
575              <a href="/2025/03/08/demystifying-nix-s-intensional-model">Demystifying Nix's Intensional Model</a>
576            </li>
577          
578            <li class="entry">
579              <span class="date">Mar 03</span>
580              <a href="/2025/03/03/404s-and-updated-css">404s and updated CSS</a>
581            </li>
582          
583            <li class="entry">
584              <span class="date">Feb 28</span>
585              <a href="/2025/02/28/jekyll-git-commit">Jekyll Git commit</a>
586            </li>
587          
588            <li class="entry">
589              <span class="date">Feb 28</span>
590              <a href="/2025/02/28/nix-migraines-nix-ssl-cert-file">Nix migraines: NIX_SSL_CERT_FILE</a>
591            </li>
592          
593            <li class="entry">
594              <span class="date">Feb 26</span>
595              <a href="/2025/02/26/nix-pragmatism-nix-ld-and-envfs">Nix pragmatism: nix-ld and envfs</a>
596            </li>
597          
598            <li class="entry">
599              <span class="date">Feb 02</span>
600              <a href="/2025/02/02/nix-string-interpolation-of-directories-gone-awry">Nix: string interpolation of directories gone awry</a>
601            </li>
602          
603            <li class="entry">
604              <span class="date">Jan 28</span>
605              <a href="/2025/01/28/bazel-build-event-protocol-viewer">Bazel: Build Event Protocol Viewer</a>
606            </li>
607          
608            <li class="entry">
609              <span class="date">Jan 12</span>
610              <a href="/2025/01/12/bazel-knowledge-be-mindful-of-build-without-the-bytes">Bazel Knowledge: Be mindful of Build Without the Bytes (bwob)</a>
611            </li>
612          
613        </ul>
614      </section>
615    
616      <section class="year rise" style="--i: 4">
617        <h2 class="year__label">
618          2024
619          <span class="count">26 posts</span>
620        </h2>
621        <ul class="year__list">
622          
623            <li class="entry">
624              <span class="date">Dec 18</span>
625              <a href="/2024/12/18/faking-incremental-docker-loads">Faking incremental Docker loads</a>
626            </li>
627          
628            <li class="entry">
629              <span class="date">Nov 28</span>
630              <a href="/2024/11/28/bazel-knowledge-protobuf-is-the-worst-when-it-should-be-the-best">Bazel Knowledge: Protobuf is the worst when it should be the best</a>
631            </li>
632          
633            <li class="entry">
634              <span class="date">Nov 08</span>
635              <a href="/2024/11/08/jvm-boot-optimization-via-javaindex">JVM boot optimization via JavaIndex</a>
636            </li>
637          
638            <li class="entry">
639              <span class="date">Oct 29</span>
640              <a href="/2024/10/29/bazel-knowledge-what-s-an-interface-jar">Bazel Knowledge: What's an Interface JAR?</a>
641            </li>
642          
643            <li class="entry">
644              <span class="date">Oct 23</span>
645              <a href="/2024/10/23/bazel-knowledge-mind-your-path">Bazel Knowledge: mind your PATH</a>
646            </li>
647          
648            <li class="entry">
649              <span class="date">Oct 13</span>
650              <a href="/2024/10/13/bazel-knowledge-aspects-to-generate-java-classpath">Bazel Knowledge: Aspects to generate Java CLASSPATH</a>
651            </li>
652          
653            <li class="entry">
654              <span class="date">Sep 26</span>
655              <a href="/2024/09/26/bazel-knowledge-reproducible-outputs">Bazel Knowledge: reproducible outputs</a>
656            </li>
657          
658            <li class="entry">
659              <span class="date">Sep 25</span>
660              <a href="/2024/09/25/bazel-knowledge-secret-external-directory">Bazel Knowledge: Secret //external directory</a>
661            </li>
662          
663            <li class="entry">
664              <span class="date">Sep 23</span>
665              <a href="/2024/09/23/bazel-knowledge-reference-targets-by-output-name">Bazel Knowledge: Reference targets by output name</a>
666            </li>
667          
668            <li class="entry">
669              <span class="date">Aug 29</span>
670              <a href="/2024/08/29/bazel-overlay-pattern">Bazel Overlay Pattern</a>
671            </li>
672          
673            <li class="entry">
674              <span class="date">Aug 29</span>
675              <a href="/2024/08/29/bazel-workspace-chunking">Bazel WORKSPACE chunking</a>
676            </li>
677          
678            <li class="entry">
679              <span class="date">Aug 13</span>
680              <a href="/2024/08/13/nixos-raspberry-pi-me">NixOS, Raspberry Pi & Me</a>
681            </li>
682          
683            <li class="entry">
684              <span class="date">Jul 31</span>
685              <a href="/2024/07/31/automatic-nix-flake-follows">Automatic Nix flake follows</a>
686            </li>
687          
688            <li class="entry">
689              <span class="date">Jul 29</span>
690              <a href="/2024/07/29/import-but-don-t-import-your-nixos-modules">Import but don't import your NixOS modules</a>
691            </li>
692          
693            <li class="entry">
694              <span class="date">Jul 28</span>
695              <a href="/2024/07/28/nixos-option-inspection">NixOS Option Inspection</a>
696            </li>
697          
698            <li class="entry">
699              <span class="date">Jul 24</span>
700              <a href="/2024/07/24/management-time">Management Time</a>
701            </li>
702          
703            <li class="entry">
704              <span class="date">Jul 21</span>
705              <a href="/2024/07/21/scaling-past-1-million-elf-symbol-relocations">Scaling past 1 million ELF symbol relocations</a>
706            </li>
707          
708            <li class="entry">
709              <span class="date">Jul 17</span>
710              <a href="/2024/07/17/fish-the-bash-way">Fish the bash way</a>
711            </li>
712          
713            <li class="entry">
714              <span class="date">Jul 12</span>
715              <a href="/2024/07/12/nix-secrets-for-dummies">Nix secrets for dummies</a>
716            </li>
717          
718            <li class="entry">
719              <span class="date">Jul 10</span>
720              <a href="/2024/07/10/nix-remote-building-with-yubikey">Nix remote building with Yubikey</a>
721            </li>
722          
723            <li class="entry">
724              <span class="date">Jul 05</span>
725              <a href="/2024/07/05/learn-nix-the-fun-way">Learn Nix the Fun Way</a>
726            </li>
727          
728            <li class="entry">
729              <span class="date">Jul 02</span>
730              <a href="/2024/07/02/reproducibility-in-disguise">Reproducibility in Disguise: Bazel, Dependencies, and the Versioning Lie</a>
731            </li>
732          
733            <li class="entry">
734              <span class="date">May 03</span>
735              <a href="/2024/05/03/speeding-up-elf-relocations-for-store-based-systems">Speeding up ELF relocations for store-based systems</a>
736            </li>
737          
738            <li class="entry">
739              <span class="date">Mar 03</span>
740              <a href="/2024/03/03/visualizing-github-workflow-run-length-time">Visualizing GitHub workflow run length time</a>
741            </li>
742          
743            <li class="entry">
744              <span class="date">Feb 27</span>
745              <a href="/2024/02/27/hermetic-but-at-what-cost">Hermetic, but at what cost?</a>
746            </li>
747          
748            <li class="entry">
749              <span class="date">Jan 14</span>
750              <a href="/2024/01/14/abusing-github-as-a-pypi-server">Abusing GitHub as a PyPI server</a>
751            </li>
752          
753        </ul>
754      </section>
755    
756      <section class="year rise" style="--i: 5">
757        <h2 class="year__label">
758          2023
759          <span class="count">2 posts</span>
760        </h2>
761        <ul class="year__list">
762          
763            <li class="entry">
764              <span class="date">Sep 11</span>
765              <a href="/2023/09/11/quick-insights-using-sqlelf">Quick insights using sqlelf</a>
766            </li>
767          
768            <li class="entry">
769              <span class="date">Mar 19</span>
770              <a href="/2023/03/19/sqlelf-and-20-years-of-nix">sqlelf and 20 years of Nix</a>
771            </li>
772          
773        </ul>
774      </section>
775    
776      <section class="year rise" style="--i: 6">
777        <h2 class="year__label">
778          2022
779          <span class="count">3 posts</span>
780        </h2>
781        <ul class="year__list">
782          
783            <li class="entry">
784              <span class="date">Sep 12</span>
785              <a href="/2022/09/12/making-runpath-redundant-for-nix">Making RUNPATH redundant for Nix</a>
786            </li>
787          
788            <li class="entry">
789              <span class="date">Mar 14</span>
790              <a href="/2022/03/14/shrinkwrap-taming-dynamic-shared-objects">Shrinkwrap: Taming dynamic shared objects</a>
791            </li>
792          
793            <li class="entry">
794              <span class="date">Jan 05</span>
795              <a href="/2022/01/05/computing-all-output-paths-for-every-attribute-in-nixpkgs">Computing all output paths for every attribute in Nixpkgs</a>
796            </li>
797          
798        </ul>
799      </section>
800    
801      <section class="year rise" style="--i: 7">
802        <h2 class="year__label">
803          2021
804          <span class="count">10 posts</span>
805        </h2>
806        <ul class="year__list">
807          
808            <li class="entry">
809              <span class="date">Sep 10</span>
810              <a href="/2021/09/10/using-an-overlay-filesystem-to-improve-nix-ci-builds">Using an overlay filesystem to improve Nix CI builds</a>
811            </li>
812          
813            <li class="entry">
814              <span class="date">Sep 02</span>
815              <a href="/2021/09/02/the-yak-shave-for-reproducibility">The yak shave for reproducibility</a>
816            </li>
817          
818            <li class="entry">
819              <span class="date">Aug 12</span>
820              <a href="/2021/08/12/a-nix-binary-cache-specification">A Nix Binary Cache Specification</a>
821            </li>
822          
823            <li class="entry">
824              <span class="date">Aug 10</span>
825              <a href="/2021/08/10/investigating-hydration-times-with-nix">Investigating hydration times with Nix</a>
826            </li>
827          
828            <li class="entry">
829              <span class="date">Aug 05</span>
830              <a href="/2021/08/05/the-search-for-a-minimal-nix-shell-continued-mkshellminimal">The search for a minimal nix-shell continued; mkShellMinimal</a>
831            </li>
832          
833            <li class="entry">
834              <span class="date">Aug 02</span>
835              <a href="/2021/08/02/a-minimal-nix-shell">A minimal nix-shell</a>
836            </li>
837          
838            <li class="entry">
839              <span class="date">Jul 31</span>
840              <a href="/2021/07/31/eval-the-nix">Eval the Nix</a>
841            </li>
842          
843            <li class="entry">
844              <span class="date">Jun 27</span>
845              <a href="/2021/06/27/java-nix-reproducibility">Java, Nix & Reproducibility</a>
846            </li>
847          
848            <li class="entry">
849              <span class="date">Jun 22</span>
850              <a href="/2021/06/22/setting-up-a-nix-google-cloud-storage-gcs-binary-cache">setting up a Nix Google Cloud Storage (GCS) binary cache</a>
851            </li>
852          
853            <li class="entry">
854              <span class="date">Mar 13</span>
855              <a href="/2021/03/13/jruby-and-sorbet">JRuby and Sorbet</a>
856            </li>
857          
858        </ul>
859      </section>
860    
861      <section class="year rise" style="--i: 8">
862        <h2 class="year__label">
863          2020
864          <span class="count">23 posts</span>
865        </h2>
866        <ul class="year__list">
867          
868            <li class="entry">
869              <span class="date">Dec 01</span>
870              <a href="/2020/12/01/autopatchelf-what-it-can-look-like">autopatchelf - what it can look like</a>
871            </li>
872          
873            <li class="entry">
874              <span class="date">Nov 17</span>
875              <a href="/2020/11/17/on-demand-linked-libraries-for-nix">On-demand linked libraries for Nix</a>
876            </li>
877          
878            <li class="entry">
879              <span class="date">Nov 12</span>
880              <a href="/2020/11/12/debugging-a-jnr-ffi-bug-in-nix">Debugging a JNR-FFI bug in Nix</a>
881            </li>
882          
883            <li class="entry">
884              <span class="date">Nov 10</span>
885              <a href="/2020/11/10/isolation-using-java-s-classloader">Isolation using Java's ClassLoader</a>
886            </li>
887          
888            <li class="entry">
889              <span class="date">Oct 20</span>
890              <a href="/2020/10/20/nix-parallelism-import-from-derivation">Nix parallelism & Import From Derivation</a>
891            </li>
892          
893            <li class="entry">
894              <span class="date">Sep 28</span>
895              <a href="/2020/09/28/nix-copy-closure-your-nix-shell">nix-copy-closure your nix-shell</a>
896            </li>
897          
898            <li class="entry">
899              <span class="date">Sep 23</span>
900              <a href="/2020/09/23/vpns-continued">VPNs continued</a>
901            </li>
902          
903            <li class="entry">
904              <span class="date">Sep 20</span>
905              <a href="/2020/09/20/vpns-from-first-principles">VPNs from first principles</a>
906            </li>
907          
908            <li class="entry">
909              <span class="date">Sep 17</span>
910              <a href="/2020/09/17/tailscale-is-magic-even-more-so-with-nixos">Tailscale is magic; even more so with NixOS</a>
911            </li>
912          
913            <li class="entry">
914              <span class="date">Sep 08</span>
915              <a href="/2020/09/08/nixos-what-s-in-a-rebuild-continued">NixOS; what's in a rebuild? Continued.</a>
916            </li>
917          
918            <li class="entry">
919              <span class="date">Sep 06</span>
920              <a href="/2020/09/06/nixos-what-s-in-a-rebuild">NixOS; what's in a rebuild?</a>
921            </li>
922          
923            <li class="entry">
924              <span class="date">Sep 04</span>
925              <a href="/2020/09/04/mvn2nix-welcoming-maven-into-nix-s-warm-embrace">mvn2nix; welcoming Maven into Nix's warm embrace</a>
926            </li>
927          
928            <li class="entry">
929              <span class="date">Sep 02</span>
930              <a href="/2020/09/02/quassel-core-on-nixos-with-let-s-encrypt">quassel core on NixOS with Let's Encrypt</a>
931            </li>
932          
933            <li class="entry">
934              <span class="date">Sep 02</span>
935              <a href="/2020/09/02/nix-coercion-trick">nix coercion trick</a>
936            </li>
937          
938            <li class="entry">
939              <span class="date">Aug 11</span>
940              <a href="/2020/08/11/caching-your-nix-shell">caching your nix-shell</a>
941            </li>
942          
943            <li class="entry">
944              <span class="date">Jul 20</span>
945              <a href="/2020/07/20/packaging-a-maven-application-with-nix">Packaging a Maven application with Nix</a>
946            </li>
947          
948            <li class="entry">
949              <span class="date">Jul 18</span>
950              <a href="/2020/07/18/what-is-bundlerenv-doing">what is bundlerEnv doing?</a>
951            </li>
952          
953            <li class="entry">
954              <span class="date">Jul 15</span>
955              <a href="/2020/07/15/setting-up-a-nix-s3-binary-cache">setting up a Nix S3 binary cache</a>
956            </li>
957          
958            <li class="entry">
959              <span class="date">Jun 08</span>
960              <a href="/2020/06/08/my-love-letter-to-redo">my love letter to redo</a>
961            </li>
962          
963            <li class="entry">
964              <span class="date">May 31</span>
965              <a href="/2020/05/31/containers-from-first-principles">Containers from first principles</a>
966            </li>
967          
968            <li class="entry">
969              <span class="date">Apr 12</span>
970              <a href="/2020/04/12/bpf-helpers-and-you">bpf_helpers and you...</a>
971            </li>
972          
973            <li class="entry">
974              <span class="date">Apr 02</span>
975              <a href="/2020/04/02/parallel-task-execution">Parallel Task Execution</a>
976            </li>
977          
978            <li class="entry">
979              <span class="date">Mar 31</span>
980              <a href="/2020/03/31/new-blog-new-format">New blog. New format.</a>
981            </li>
982          
983        </ul>
984      </section>
985    
986  </div>
987</div>
988</main>
989      <footer class="site-foot column">
990  <span>
991    <a href="https://github.com/fzakaria/fzakaria.com/tree/0aaaad85ec04b6e9353724a0411eb23769c87d39/index.md"
992      ><span class="foot-edit__long">Improve this page</span><span class="foot-edit__short">Edit</span> @ 0aaaad8</a>
993  </span>
994  <span class="sep" aria-hidden="true">·</span>
995  <span>Text is <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC BY-SA</a></span>
996  <span class="sep" aria-hidden="true">·</span>
997  <span>
998    <a class="rss" href="/feed.xml" title="Subscribe via RSS">
999      <svg viewBox="0 0 24 24" aria-hidden="true">
1000        <path d="M4 11a9 9 0 0 1 9 9h-2.5A6.5 6.5 0 0 0 4 13.5V11z" />
1001        <path d="M4 4a16 16 0 0 1 16 16h-2.5A13.5 13.5 0 0 0 4 6.5V4z" />
1002        <circle cx="5.5" cy="18.5" r="2" />
1003      </svg>
1004      RSS
1005    </a>
1006  </span>
1007    <span class="store-path-row"
1008      ><code class="store-path" title="This site was built by Nix">/nix/store/9rck5gzwbncaqw4hhl9ji6vv3nwmb2nl-fzakaria.com</code></span
1009    >
1010</footer>
1011
1012    </div>
1013  </body>
1014</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.