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'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 & 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 · 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 →</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.