1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9892],{248:(t,e,a)=>{"use strict";a.d(e,{h:()=>g});var r=a(7876);a(4232);var s=a(3287),i=a(2793),o=a(4682);let n=[{top:"-8%",left:"-6%",width:"52%",height:"38%",opacity:.7},{top:"-10%",right:"-4%",width:"44%",height:"32%",opacity:.55},{top:"4%",left:"28%",width:"36%",height:"22%",opacity:.4},{top:"-2%",right:"18%",width:"28%",height:"18%",opacity:.35}],c=[{top:"-12%",left:"-8%",width:"58%",height:"42%",opacity:.65},{top:"-10%",right:"-6%",width:"48%",height:"36%",opacity:.5}],l=[{top:"6%",left:"4%",width:"18%",rotate:"-18deg",opacity:.85,assetIndex:0},{top:"58%",right:"6%",width:"15%",rotate:"28deg",opacity:.7,flipX:!0,assetIndex:1},{top:"72%",left:"18%",width:"12%",rotate:"12deg",opacity:.55,assetIndex:2},{bottom:"4%",right:"22%",width:"14%",rotate:"-32deg",opacity:.75,assetIndex:3}],d=[{top:"8%",left:"6%",width:"22%",rotate:"-14deg",opacity:.8,assetIndex:0},{bottom:"6%",right:"8%",width:"18%",rotate:"22deg",opacity:.65,flipX:!0,assetIndex:1}],p=[{top:"8%",left:"5%",width:"16%",rotate:"-22deg",opacity:.85,assetIndex:0},{top:"52%",right:"5%",width:"14%",rotate:"26deg",opacity:.7,flipX:!0,assetIndex:1},{top:"70%",left:"20%",width:"12%",rotate:"10deg",opacity:.55,assetIndex:2},{bottom:"5%",right:"20%",width:"15%",rotate:"-28deg",opacity:.75,assetIndex:3}],h=[{top:"10%",left:"7%",width:"20%",rotate:"-16deg",opacity:.8,assetIndex:0},{bottom:"7%",right:"7%",width:"17%",rotate:"20deg",opacity:.65,flipX:!0,assetIndex:1}];function x(t){let{layout:e}=t;return(0,r.jsx)(r.Fragment,{children:("photo"===e?n:c).map((t,e)=>(0,r.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute",style:{top:t.top,left:t.left,right:t.right,width:t.width,height:t.height,opacity:t.opacity,background:"radial-gradient(ellipse at center, ".concat("rgba(232, 226, 214, 0.85)"," 0%, transparent 70%)"),filter:"blur(10px)"}},"snow-".concat(e)))})}function m(t){let{layout:e,photoStamps:a,cardStamps:s,assetSrcs:i,keyPrefix:o}=t;return(0,r.jsx)(r.Fragment,{children:("photo"===e?a:s).map((t,e)=>(0,r.jsx)("img",{src:i[t.assetIndex],alt:"","aria-hidden":!0,className:"pointer-events-none absolute h-auto",style:function(t){let e=t.flipX?" scaleX(-1)":"";return{top:t.top,left:t.left,right:t.right,bottom:t.bottom,width:t.width,opacity:t.opacity,transform:"rotate(".concat(t.rotate,")").concat(e),mixBlendMode:"screen"}}(t)},"".concat(o,"-").concat(e)))})}function g(t){let{layout:e="photo"}=t,{weatherMode:a}=(0,s.U)();return"winter"===a?(0,r.jsx)("div",{className:"pointer-events-none absolute inset-0 z-[1] overflow-hidden",children:(0,r.jsx)(x,{layout:e})}):"autumn"===a?(0,r.jsx)("div",{className:"pointer-events-none absolute inset-0 z-[1] overflow-hidden",children:(0,r.jsx)(m,{layout:e,photoStamps:l,cardStamps:d,assetSrcs:o.q,keyPrefix:"leaf"})}):"spring"===a?(0,r.jsx)("div",{className:"pointer-events-none absolute inset-0 z-[1] overflow-hidden",children:(0,r.jsx)(m,{layout:e,photoStamps:p,cardStamps:h,assetSrcs:i.r,keyPrefix:"flower"})}):null}},2793:(t,e,a)=>{"use strict";a.d(e,{r:()=>r});let r=["/_next/static/media/flower-1.a1255692.png","/_next/static/media/flower-2.c270980b.png","/_next/static/media/flower-3.b698b50b.png","/_next/static/media/flower-4.9b76f753.png","/_next/static/media/flower-5.f54db3ee.png"]},3783:(t,e,a)=>{"use strict";function r(t){let[e,a,r]=t.split("-").map(Number);if(!e||!a||!r)return t;let s=new Date(e,a-1,r),i=String(s.getDate()).padStart(2,"0"),o=s.toLocaleDateString("en-US",{month:"short"}),n=s.getFullYear();return"".concat(i,", ").concat(o,", ").concat(n)}a.d(e,{_:()=>r})},4267:(t,e,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/blog",function(){return a(6655)}])},4682:(t,e,a)=>{"use strict";a.d(e,{q:()=>r});let r=["/_next/static/media/leaf-1.afd8c6d6.png","/_next/static/media/leaf-2.a33b6b2d.png","/_next/static/media/leaf-3.abe57c9c.png","/_next/static/media/leaf-4.b8028e90.png","/_next/static/media/leaf-5.3749dde9.png"]},6655:(t,e,a)=>{"use strict";a.r(e),a.d(e,{__N_SSG:()=>g,default:()=>u});var r=a(7876);a(4232);var s=a(8230),i=a.n(s),o=a(4587),n=a.n(o),c=a(4256);let l=(0,a(7963).A)("file-text",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);var d=a(3783),p=a(6066),h=a(3685),x=a(7290),m=a(248),g=!0;let u=t=>{let{posts:e}=t,[a,...s]=e;return(0,r.jsxs)(x.S,{showToneSwitcher:!1,children:[(0,r.jsx)(p.g,{title:"Blog",description:"Technical writing and case studies by ".concat(h.j.author,". Backend engineering, distributed systems, and architecture notes."),path:"/blog"}),(0,r.jsxs)("main",{className:"mx-auto max-w-6xl px-4 py-16 sm:px-6 sm:py-20",children:[(0,r.jsxs)(c.P.header,{initial:{opacity:0,y:16}
1,animate:{opacity:1,y:0},className:"mb-14 max-w-3xl space-y-5",children:[(0,r.jsx)("p",{className:"text-xs uppercase tracking-[0.28em] text-retro-accent",children:"Journal"}),(0,r.jsx)("h1",{className:"font-display text-5xl text-retro-ink sm:text-6xl",children:"Writing"}),(0,r.jsx)("p",{className:"text-base leading-relaxed text-retro-ink-muted sm:text-lg",children:"Notes on backend engineering, distributed systems, and the architecture behind real products, written as I work through them."})]}),0===e.length?(0,r.jsxs)("p",{className:"text-base text-retro-ink-muted",children:["No posts yet. Add markdown files to"," ",(0,r.jsx)("code",{className:"border border-retro-border bg-retro-highlight px-1",children:"content/blog/"})," ","with a"," ",(0,r.jsx)("code",{className:"border border-retro-border bg-retro-highlight px-1",children:"date"})," ","in the frontmatter so the blog knows when each post was written."]}):(0,r.jsxs)("div",{className:"space-y-10",children:[a&&(0,r.jsx)(c.P.div,{initial:{opacity:0,y:16},animate:{opacity:1,y:0},transition:{delay:.05},children:(0,r.jsxs)(i(),{href:"/blog/".concat(a.slug),className:"group grid overflow-hidden border border-retro-border bg-retro-paper transition-colors hover:border-retro-accent lg:grid-cols-12",children:[(0,r.jsxs)("div",{className:"relative aspect-[16/10] overflow-hidden bg-retro-highlight lg:col-span-7 lg:aspect-auto lg:min-h-[20rem]",children:[a.coverImage?(0,r.jsx)(n(),{src:a.coverImage,alt:"",fill:!0,priority:!0,sizes:"(max-width: 1024px) 100vw, 58vw",className:"object-cover opacity-90 transition-opacity group-hover:opacity-100"}):(0,r.jsx)("div",{className:"flex h-full min-h-[12rem] items-center justify-center",children:(0,r.jsx)(l,{size:48,className:"text-retro-ink-muted opacity-40"})}),(0,r.jsx)(m.h,{layout:"photo"})]}),(0,r.jsxs)("div",{className:"flex flex-col justify-end space-y-4 p-6 sm:p-8 lg:col-span-5",children:[(0,r.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-retro-accent",children:"Featured"}),(0,r.jsx)("h2",{className:"font-display text-3xl text-retro-ink sm:text-4xl",children:a.title}),a.description&&(0,r.jsx)("p",{className:"text-sm leading-relaxed text-retro-ink-muted sm:text-base",children:a.description}),(0,r.jsx)("p",{className:"text-xs uppercase tracking-[0.16em] text-retro-ink-muted",children:(0,d._)(a.date)})]})]})}),s.length>0&&(0,r.jsxs)("section",{className:"space-y-4 border-t border-retro-border pt-10",children:[(0,r.jsx)("h2",{className:"font-display text-2xl text-retro-ink",children:"All posts"}),(0,r.jsx)("ul",{className:"divide-y divide-retro-border border-y border-retro-border",children:s.map(t=>(0,r.jsx)("li",{children:(0,r.jsxs)(i(),{href:"/blog/".concat(t.slug),className:"group flex flex-col gap-2 py-5 transition-colors hover:bg-retro-paper/40 sm:flex-row sm:items-baseline sm:justify-between sm:gap-8",children:[(0,r.jsxs)("div",{className:"space-y-1",children:[(0,r.jsx)("h3",{className:"text-lg text-retro-ink transition-colors group-hover:text-retro-accent",children:t.title}),t.description&&(0,r.jsx)("p",{className:"line-clamp-2 text-sm text-retro-ink-muted",children:t.description})]}),(0,r.jsx)("p",{className:"shrink-0 text-xs uppercase tracking-[0.16em] text-retro-ink-muted",children:(0,d._)(t.date)})]})},t.slug))})]})]})]})]})}}},t=>{t.O(0,[3800,4587,8059,636,6593,8792],()=>t(t.s=4267)),_N_E=t.O()}]);
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.