1<!DOCTYPE html> 2<html lang="en-us" dir="ltr"> 3 <head><meta charset='utf-8'> 4<meta name='viewport' content='width=device-width, initial-scale=1'><meta name='description' content=""> 5<title>Archives</title> 6 7<link rel='canonical' href='https://blog.aicampground.com/archives/'> 8 9<link rel="stylesheet" href="/scss/style.min.6a692fd055deae459f2a9767f57f3855ba80cafd5041317f24f7360f6ca47cdf.css">
10<script> 11 var _paq = window._paq = window._paq || []; 12 13 _paq.push(["setDocumentTitle", document.domain + "/" + document.title]); 14 _paq.push(["setCookieDomain", "*.aicampground.com"]); 15 _paq.push(["setDomains", ["*.aicampground.com"]]); 16 _paq.push(['trackPageView']); 17 _paq.push(['enableLinkTracking']); 18 (function () { 19 var u = "https://matomo.aicampground.com/"; 20 _paq.push(['setTrackerUrl', u + 'matomo.php']); 21 _paq.push(['setSiteId', '2']); 22 var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0]; 23 g.async = true; g.src = u + 'matomo.js'; s.parentNode.insertBefore(g, s); 24 })(); 25</script>
25 26 27<noscript> 28 <p><img referrerpolicy="no-referrer-when-downgrade" 29 src="https://matomo.aicampground.com/matomo.php?idsite=2&rec=1" style="border:0;" alt="" /></p> 30</noscript> 31 32 33<meta property='og:title' content="Archives"> 34<meta property='og:description' content=""> 35<meta property='og:url' content='https://blog.aicampground.com/archives/'> 36<meta property='og:site_name' content='The Campground Blog'> 37<meta property='og:type' content='article'><meta property='article:section' content='Page' /><meta property='article:published_time' content='2019-05-28T00:00:00+00:00'/><meta property='article:modified_time' content='2019-05-28T00:00:00+00:00'/> 38<meta name="twitter:title" content="Archives"> 39<meta name="twitter:description" content=""> 40 </head> 41 <body class="template-archives"> 42
42<script> 43 (function() { 44 const colorSchemeKey = 'StackColorScheme'; 45 if(!localStorage.getItem(colorSchemeKey)){ 46 localStorage.setItem(colorSchemeKey, "auto"); 47 } 48 })(); 49 </script>
49<script> 50 (function() { 51 const colorSchemeKey = 'StackColorScheme'; 52 const colorSchemeItem = localStorage.getItem(colorSchemeKey); 53 const supportDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches === true; 54 55 if (colorSchemeItem == 'dark' || colorSchemeItem === 'auto' && supportDarkMode) { 56 57 58 document.documentElement.dataset.scheme = 'dark'; 59 } else { 60 document.documentElement.dataset.scheme = 'light'; 61 } 62 })(); 63</script>
63 64<div class="container main-container flex on-phone--column extended"><aside class="sidebar left-sidebar sticky "> 65 <button class="hamburger hamburger--spin" type="button" id="toggle-menu" aria-label="Toggle Menu"> 66 <span class="hamburger-box"> 67 <span class="hamburger-inner"></span> 68 </span> 69 </button> 70 71 <header> 72 73 74 <figure class="site-avatar"> 75 <a href="/"> 76 77 78 79 80 81 <img src="/camp-gumby_hu_28f080c6db2a2b21.png" width="300" 82 height="300" class="site-logo" loading="lazy" alt="Avatar"> 83 84 85 </a> 86 87 </figure> 88 89 90 91 <div class="site-meta"> 92 <h1 class="site-name"><a href="/">The Campground Blog</a></h1> 93 <h2 class="site-description"></h2> 94 </div> 95 </header><ol class="menu" id="main-menu"> 96 97 98 99 <li > 100 <a href='/' > 101 102 103 104 <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-home" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> 105 <path stroke="none" d="M0 0h24v24H0z"/> 106 <polyline points="5 12 3 12 12 3 21 12 19 12" /> 107 <path d="M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7" /> 108 <path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6" /> 109</svg> 110 111 112 113 114 <span>Home</span> 115 </a> 116 </li> 117 118 119 <li > 120 <a href='/about/' > 121 122 123 124 <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-user" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> 125 <path stroke="none" d="M0 0h24v24H0z"/> 126 <circle cx="12" cy="7" r="4" /> 127 <path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2" /> 128</svg> 129 130 131 132 133 <span>About</span> 134 </a> 135 </li> 136 137 138 <li class='current' > 139 <a href='/archives/' > 140 141 142 143 <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-archive" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> 144 <path stroke="none" d="M0 0h24v24H0z"/> 145 <rect x="3" y="4" width="18" height="4" rx="2" /> 146 <path d="M5 8v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-10" /> 147 <line x1="10" y1="12" x2="14" y2="12" /> 148</svg> 149 150 151 152 153 <span>Archives</span> 154 </a> 155 </li> 156 157 158 <li > 159 <a href='/search/' > 160 161 162 163 <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-search" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> 164 <path stroke="none" d="M0 0h24v24H0z"/> 165 <circle cx="10" cy="10" r="7" /> 166 <line x1="21" y1="21" x2="15" y2="15" /> 167</svg> 168 169 170 171 172 <span>Search</span> 173 </a> 174 </li> 175 176 177 <li > 178 <a href='/links/' > 179 180 181 182 <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> 183 <path stroke="none" d="M0 0h24v24H0z"/> 184 <path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" /> 185 <path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" /> 186</svg> 187 188 189 190
191 <span>Links</span> 192 </a> 193 </li> 194 195 <li class="menu-bottom-section"> 196 <ol class="menu"> 197 198 199 <li id="dark-mode-toggle"> 200 <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-toggle-left" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> 201 <path stroke="none" d="M0 0h24v24H0z"/> 202 <circle cx="8" cy="12" r="2" /> 203 <rect x="2" y="6" width="20" height="12" rx="6" /> 204</svg> 205 206 207 208 <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-toggle-right" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> 209 <path stroke="none" d="M0 0h24v24H0z"/> 210 <circle cx="16" cy="12" r="2" /> 211 <rect x="2" y="6" width="20" height="12" rx="6" /> 212</svg> 213 214 215 216 <span>Dark Mode</span> 217 </li> 218 219 </ol> 220 </li> 221 </ol> 222</aside> 223 224 <main class="main full-width"> 225 <header> 226 <h2 class="section-title">Categories</h2> 227 <div class="subsection-list"> 228 <div class="article-list--tile"> 229 230 231<article class=""> 232 <a href="/categories/devops/"> 233 234 235 236 <div class="article-details"> 237 <h2 class="article-title">DevOps</h2> 238 </div> 239 </a> 240</article> 241 242 243 244<article class="has-image"> 245 <a href="/categories/nix/"> 246 247 248 <div class="article-image"> 249 <img src="/categories/nix/nixos.4f1e5b117e54e99757586d17df4e3906_hu_8e3c112a027ea333.png" 250 width="250" 251 height="150" 252 loading="lazy" 253 alt="Featured image of post Nix" 254 data-key="nix" 255 data-hash="md5-Tx5bEX5U6ZdXWG0X3045Bg=="> 256 257 </div> 258 259 260 <div class="article-details"> 261 <h2 class="article-title">Nix</h2> 262 </div> 263 </a> 264</article> 265 266 267 268<article class=""> 269 <a href="/categories/cloud-computing/"> 270 271 272 273 <div class="article-details"> 274 <h2 class="article-title">Cloud Computing</h2> 275 </div> 276 </a> 277</article> 278 279 280 281<article class=""> 282 <a href="/categories/infrastructure-as-code/"> 283 284 285 286 <div class="article-details"> 287 <h2 class="article-title">
287Infrastructure as Code</h2> 288 </div> 289 </a> 290</article> 291 292 293 294<article class=""> 295 <a href="/categories/software-engineering/"> 296 297 298 299 <div class="article-details"> 300 <h2 class="article-title">Software Engineering</h2> 301 </div> 302 </a> 303</article> 304 305 306 307<article class=""> 308 <a href="/categories/networking/"> 309 310 311 312 <div class="article-details"> 313 <h2 class="article-title">Networking</h2> 314 </div> 315 </a> 316</article> 317 318 319 320<article class=""> 321 <a href="/categories/tutorial/"> 322 323 324 325 <div class="article-details"> 326 <h2 class="article-title">Tutorial</h2> 327 </div> 328 </a> 329</article> 330 331 332 333<article class=""> 334 <a href="/categories/functional-programming/"> 335 336 337 338 <div class="article-details"> 339 <h2 class="article-title">Functional Programming</h2> 340 </div> 341 </a> 342</article> 343 344 345 346<article class=""> 347 <a href="/categories/ci/cd/"> 348 349 350 351 <div class="article-details"> 352 <h2 class="article-title">CI/CD</h2> 353 </div> 354 </a> 355</article> 356 357 358 359<article class=""> 360 <a href="/categories/programming/"> 361 362 363 364 <div class="article-details"> 365 <h2 class="article-title">Programming</h2> 366 </div> 367 </a> 368</article> 369 370 371 372<article class=""> 373 <a href="/categories/software-development/"> 374 375 376 377 <div class="article-details"> 378 <h2 class="article-title">Software Development</h2> 379 </div> 380 </a> 381</article> 382 383 384 385<article class=""> 386 <a href="/categories/containerization/"> 387 388 389 390 <div class="article-details"> 391 <h2 class="article-title">Containerization</h2> 392 </div> 393 </a> 394</article> 395 396 397 398<article class=""> 399 <a href="/categories/development-tools/"> 400 401 402 403 <div class="article-details"> 404 <h2 class="article-title">Development Tools</h2> 405 </div> 406 </a> 407</article> 408 409 410 </div> 411 </div> 412 413 </header> 414 415 416 417 418 419 420 421 <div class="archives-group" id="2025"> 422 <h2 class="archives-date section-title"><a href="/archives/#2025">2025</a></h2> 423 <div class="article-list--compact"> 424 425 <article> 426 <a href="/p/beyond-yaml-the-case-for-nix-as-the-common-language-of-devsecops/"> 427 <div class="article-details"> 428 <h2 class="article-title">Beyond YAML: The Case for Nix as the Common Language of DevSecOps</h2> 429 <footer class="article-time"> 430 <time datetime='2025-05-20T00:00:00Z'>May 20, 2025</time> 431 </footer> 432 </div> 433 <div class="article-image"> 434 <img src="/p/beyond-yaml-the-case-for-nix-as-the-common-language-of-devsecops/beyondYaml_hu_f307a2e2c573d23a.png" 435 width="120" 436 height="120" 437 alt="Beyond YAML: The Case for Nix as the Common Language of DevSecOps" 438 loading="lazy"> 439 440 </div> 441 442 </a> 443</article> 444 445 <article> 446 <a href="/p/taming-terraform-with-nix/"> 447 <div class="article-details"> 448 <h2 class="article-title">Nix in the Wild: Taming Terraform with Nix</h2> 449 <footer class="article-time"> 450 <time datetime='2025-01-18T00:00:00Z'>Jan 18, 2025</time> 451 </footer> 452 </div> 453 <div class="article-image"> 454 <img src="/p/taming-terraform-with-nix/terraflake_hu_a908cade0dbe804c.png" 455 width="120" 456 height="120" 457 alt="Nix in the Wild: Taming Terraform with Nix" 458 loading="lazy"> 459 460 </div> 461 462 </a> 463</article> 464 465 <article> 466 <a href="/p/setting-up-authentik-and-netbird-with-nix/"> 467 <div class="article-details"> 468 <h2 class="article-title">Setting Up Authentik and Netbird with Nix</h2> 469 <footer class="article-time"> 470 <time datetime='2025-01-01T00:00:00Z'>Jan 01, 2025</time> 471 </footer> 472 </div> 473 <div class="article-image"> 474 <img src="/p/setting-up-authentik-and-netbird-with-nix/netbird-network-routes_hu_6a31bc93ce1b7f4d.png" 475 width="120" 476 height="120" 477 alt="Setting Up Authentik and Netbird with Nix" 478 loading="lazy"> 479 480 </div> 481 482 </a> 483</article> 484 485 </div> 486 </div> 487 488 489 <div class="archives-group" id="2024"> 490 <h2 class="archives-date section-title"><a href="/archives/#2024">2024</a></h2> 491 <div class="article-list--compact"> 492 493 <article> 494 <a href="/p/how-to-stand-up-vault-with-nixos/"> 495 <div class="article-details"> 496 <h2 class="article-title">How to stand-up Vault with NixOS</h2> 497 <footer class="article-time"> 498 <time datetime='2024-12-07T00:00:00Z'>Dec 07, 2024</time> 499 </footer> 500 </div> 501 <div class="article-image"> 502 <img src="/p/how-to-stand-up-vault-with-nixos/vault-login_hu_848b82be22b911f8.png" 503 width="120" 504 height="120" 505 alt="How to stand-up Vault with NixOS" 506 loading="lazy"> 507 508 </div> 509 510 </a> 511</article> 512 513 <article> 514 <a href="/p/drying-out-your-codebase/"> 515 <div class="article-details"> 516 <h2 class="article-title">Nix in the Wild: DRYing Out Your Codebase with Reusable Library Functions</h2> 517 <footer class="article-time"> 518 <time datetime='2024-08-26T00:00:00Z'>Aug 26, 2024</time> 519 </footer> 520 </div> 521 <div class="article-image"> 522 <img src="/p/drying-out-your-codebase/drying-out-nix-sm_hu_69eb1ab150b6f162.png" 523 width="120" 524 height="120" 525 alt="Nix in the Wild: DRYing Out Your Codebase with Reusable Library Functions" 526 loading="lazy"> 527 528 </div> 529 530 </a> 531</article> 532 533 <article> 534 <a href="/p/nix-packaging-python-containers/"> 535 <div class="article-details"> 536 <h2 class="article-title">Nix in the Wild: Packaging Python Projects and Building Containers</h2> 537 <footer class="article-time"> 538 <time datetime='2024-08-07T00:00:00Z'>Aug 07, 2024</time> 539 </footer> 540 </div> 541 <div class="article-image"> 542 <img src="/p/nix-packaging-python-containers/nix-in-the-wild_hu_3552f76af82225d7.png" 543 width="120" 544 height="120" 545 alt="Nix in the Wild: Packaging Python Projects and Building Containers" 546 loading="lazy"> 547 548 </div> 549 550 </a> 551</article> 552 553 <article> 554 <a href="/p/nix-in-the-wild-nixing-your-codebase/"> 555 <div class="article-details"> 556 <h2 class="article-title">Nix in the Wild: Nixing Your Codebase</h2> 557 <footer class="article-time"> 558 <time datetime='2024-08-03T00:00:00Z'>Aug 03, 2024</time> 559 </footer> 560 </div> 561 <div class="article-image"> 562 <img src="/p/nix-in-the-wild-nixing-your-codebase/nix-in-the-wild_hu_f8ffad6296bab838.png" 563 width="120" 564 height="120" 565 alt="Nix in the Wild: Nixing Your Codebase" 566 loading="lazy"> 567 568 </div> 569 570 </a> 571</article> 572 573 <article> 574 <a href="/p/nix-in-the-wild-exploring-the-power-of-nix-for-organizational-codebases/"> 575 <div class="article-details"> 576 <h2 class="article-title">Nix in the Wild: Exploring the Power of Nix for Organizational Codebase
576s</h2> 577 <footer class="article-time"> 578 <time datetime='2024-07-31T00:00:00Z'>Jul 31, 2024</time> 579 </footer> 580 </div> 581 <div class="article-image"> 582 <img src="/p/nix-in-the-wild-exploring-the-power-of-nix-for-organizational-codebases/nix-in-the-wild_hu_481503aad3970584.png" 583 width="120" 584 height="120" 585 alt="Nix in the Wild: Exploring the Power of Nix for Organizational Codebases" 586 loading="lazy"> 587 588 </div> 589 590 </a> 591</article> 592 593 <article> 594 <a href="/p/level-up-your-nix/"> 595 <div class="article-details"> 596 <h2 class="article-title">Level Up Your Nix</h2> 597 <footer class="article-time"> 598 <time datetime='2024-06-13T00:00:00Z'>Jun 13, 2024</time> 599 </footer> 600 </div> 601 </a> 602</article> 603 604 </div> 605 </div> 606 607 608 <div class="archives-group" id="2023"> 609 <h2 class="archives-date section-title"><a href="/archives/#2023">2023</a></h2> 610 <div class="article-list--compact"> 611 612 <article> 613 <a href="/p/hashicorp-vault-with-database-engine-on-nixos/"> 614 <div class="article-details"> 615 <h2 class="article-title">HashiCorp Vault with Database Engine on NixOS</h2> 616 <footer class="article-time"> 617 <time datetime='2023-10-15T00:00:00Z'>Oct 15, 2023</time> 618 </footer> 619 </div> 620 </a> 621</article> 622 623 </div> 624 </div> 625 626 627 <div class="archives-group" id="2020"> 628 <h2 class="archives-date section-title"><a href="/archives/#2020">2020</a></h2> 629 <div class="article-list--compact"> 630 631 <article> 632 <a href="/p/automated-testing-w/-gitlab-ci/cd-python/"> 633 <div class="article-details"> 634 <h2 class="article-title">Automated Testing (w/ Gitlab CI/CD & Python)</h2> 635 <footer class="article-time"> 636 <time datetime='2020-07-09T00:00:00Z'>Jul 09, 2020</time> 637 </footer> 638 </div> 639 </a> 640</article> 641 642 </div> 643 </div> 644 645 646 <div class="archives-group" id="0001"> 647 <h2 class="archives-date section-title"><a href="/archives/#0001">0001</a></h2> 648 <div class="article-list--compact"> 649 650 <article> 651 <a href="/p/"> 652 <div class="article-details"> 653 <h2 class="article-title"></h2> 654 <footer class="article-time"> 655 <time datetime='0001-01-01T00:00:00Z'>Jan 01, 0001</time> 656 </footer> 657 </div> 658 </a> 659</article> 660 661 </div> 662 </div> 663 664 665 <footer class="site-footer"> 666 <section class="copyright"> 667 © 668 669 2024 - 670 671 2026 AICampground 672 </section> 673 674 <section class="powerby"> 675 Built with <a href="https://gohugo.io/" target="_blank" rel="noopener">Hugo</a> <br /> 676 Theme <b><a href="https://github.com/CaiJimmy/hugo-theme-stack" target="_blank" rel="noopener" data-version="3.27.0">Stack</a></b> designed by <a href="https://jimmycai.com" target="_blank" rel="noopener">Jimmy</a> 677 </section> 678</footer> 679 680 681 </main> 682 </div> 683
683<script 684 src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vibrant.min.js"integrity="sha256-awcR2jno4kI5X0zL8ex0vi2z+KMkF24hUW8WePSA9HM="crossorigin="anonymous" 685 686 > 687 </script>
687<script type="text/javascript" src="/ts/main.js" defer></script>
vendor: 1 bytes, line 687
687
688<script> 689 (function () { 690 const customFont = document.createElement('link'); 691 customFont.href = "https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap"; 692 693 customFont.type = "text/css"; 694 customFont.rel = "stylesheet"; 695 696 document.head.appendChild(customFont); 697 }()); 698</script>
698 699 700
700<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":"f8840ad1cf7243fc93e2df8f0068e2e7","r":1,"spa":2}' crossorigin="anonymous"></script>
700 701</body> 702</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.