1<!DOCTYPE html><html lang="en" data-theme="github-dark-high-contrast" data-theme-mode="single" data-theme-hash="4b2a1096" style="--theme-font: JetBrains Mono Variable;--ec-frm-frameBoxShdCssVal: none;--ec-frm-edTabBrdRad: 0;--ec-frm-edTabBarBrdCol: color-mix(in srgb, var(--theme-foreground), 10%, transparent);--ec-brdCol: color-mix(in srgb, var(--theme-foreground), 10%, transparent);"> <head><meta charset="UTF-8"><meta content="width=device-width, initial-scale=1.0" name="viewport"><meta name="generator" content="Astro v5.13.5"><meta name="title" content="Notes - Josh Tune"><meta name="description" content="What I currently know â concise technical references that evolve as my understanding does."><meta name="author" content="Josh Tune"><meta property="og:title" content="Notes - Josh Tune"><meta property="og:description" content="What I currently know â concise technical references that evolve as my understanding does."><meta property="og:url" content="https://joshtune.com/notes"><meta property="og:type" content="article"><meta property="og:image" content="https://joshtune.com/notes.png"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Notes - Josh Tune"><meta name="twitter:description" content="What I currently know â concise technical references that evolve as my understanding does."><meta name="twitter:image" content="https://joshtune.com/notes.png"><meta name="keywords" content="josh tune, portfolio"><link rel="canonical" href="https://joshtune.com/notes"><link rel="sitemap" href="/sitemap-index.xml"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"><link rel="manifest" href="/manifest.webmanifest"><meta name="theme-color" content="#0a0c10"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><meta name="apple-mobile-web-app-title" content="Josh Tune">
1<script src="/registerSW.js" defer></script>
1<link rel="alternate" type="application/rss+xml" title="Josh Tune" href="https://joshtune.com/rss.xml"><title>Notes - Josh Tune</title><style>:root[data-theme="github-dark-high-contrast"] { 2--theme-foreground: #f0f3f6; 3--theme-background: #0a0c10; 4--theme-accent: #91cbff; 5--theme-heading1: #91cbff; 6--theme-heading2: #91cbff; 7--theme-heading3: #91cbff; 8--theme-heading4: #91cbff; 9--theme-heading5: #91cbff; 10--theme-heading6: #91cbff; 11--theme-list: #ffb757; 12--theme-italic: #f0f3f6; 13--theme-link: #f0f3f6; 14--theme-separator: #91cbff; 15--theme-note: #71b7ff; 16--theme-tip: #26cd4d; 17--theme-important: #cb9eff; 18--theme-caution: #f0b72f; 19--theme-warning: #ff9492; 20--theme-blue: #71b7ff; 21--theme-green: #26cd4d; 22--theme-red: #ff9492; 23--theme-yellow: #f0b72f; 24--theme-magenta: #cb9eff; 25--theme-cyan: #39c5cf; 26}</style><link rel="stylesheet" href="/_astro/mx-brief.BUl4R5vx.css"> 27<style>:where([data-astro-image]){object-fit:var(--fit);object-position:var(--pos);height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%} 28</style>
28<script type="module" src="/_astro/page.V2R8AmkL.js"></script>
28</head> <body class="w-full h-full m-0 bg-background text-foreground" style="--theme-font: JetBrains Mono Variable;--ec-frm-frameBoxShdCssVal: none;--ec-frm-edTabBrdRad: 0;--ec-frm-edTabBarBrdCol: color-mix(in srgb, var(--theme-foreground), 10%, transparent);--ec-brdCol: color-mix(in srgb, var(--theme-foreground), 10%, transparent);"> <div class="flex flex-col max-w-3xl min-h-screen border-accent/10 m-auto p-3 sm:py-5 sm:px-6 md:py-10" style="--theme-font: JetBrains Mono Variable;--ec-frm-frameBoxShdCssVal: none;--ec-frm-edTabBrdRad: 0;--ec-frm-edTabBarBrdCol: color-mix(in srgb, var(--theme-foreground), 10%, transparent);--ec-brdCol: color-mix(in srgb, var(--theme-foreground), 10%, transparent);"> <header> <div class="relative flex items-center justify-between bg-accent/10 rounded-xl"> <a id="logo" href="/" class="block px-4 py-1.5 max-w-full no-underline items-center bg-accent text-background font-bold rounded-xl"> Josh Tune </a> <div class="flex items-center gap-3 sm:mr-3"> <site-search class="ms-auto" id="search" data-trailing-slashes="false"> <button class="hover:text-accent flex cursor-pointer items-center justify-center rounded-md" aria-keyshortcuts="Control+K Meta+K" data-open-modal disabled> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-6 text-accent"><path d="m21 21-4.34-4.34" /><circle cx="11" cy="11" r="8" /></svg> <span class="sr-only">Open Search</span> </button> <dialog aria-label="search" class="text-foreground! bg-background max-h-5/6 min-h-48 w-7/8 sm:w-5/6 max-w-xl border-double! border-4 border-accent/30 shadow-sm backdrop:backdrop-blur-sm open:flex mx-auto mt-10 sm:mt-16 mb-auto rounded-xl"> <div class="dialog-frame flex grow flex-col gap-4 p-6 pt-6 max-w-full"> <button class="cursor-pointer fixed top-2 right-2 rounded-full" data-close-modal> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-6 text-accent/50"><circle cx="12" cy="12" r="10" /><path d="m15 9-6 6" /><path d="m9 9 6 6" /></svg> </button> <div class="search-container"> <div id="pagefind-search" class="max-w-full"></div> </div> </div> </dialog> </site-search>
28<script type="module" src="/_astro/Search.astro_astro_type_script_index_0_lang.lOHKXvhW.js"></script>
28 <nav id="nav-mobile" aria-label="Menu" class="p-0 text-accent sm:hidden"> <button id="nav-mobile-button" class="px-3 py-1 h-full cursor-pointer border-2 rounded-xl bg-background" type="button" aria-expanded="false" aria-controls="nav-menu-list"> 29â¾ 30</button> <ul id="nav-mobile-list" class="invisible absolute flex flex-col bg-background shadow text-accent border-2 m-0 p-2.5 top-11.5 left-auto right-0 z-50 rounded-xl"> <li class="p-1" aria-expanded="false"> <a class="underline" href="/"> Home </a> </li><li class="p-1" aria-expanded="false"> <a class="underline" href="/about"> About </a> </li><li class="p-1" aria-expanded="false"> <a class="underline" href="/posts"> Archive </a> </li><li class="p-1" aria-expanded="false"> <a class="underline" href="/projects"> Projects </a> </li><li class="p-1" aria-expanded="false"> <a class="underline" href="/notes"> Notes </a> </li><li class="p-1" aria-expanded="false"> <a class="underline" href="/resume"> Resume </a> </li> </ul> </nav> </div> </div> <nav aria-label="Menu" class="p-0 mt-4 ml-0.5 text-accent hidden sm:block"> <ul class="flex flex-row text-accent"> <li class="mr-5" aria-expanded="true"> <a class="underline" href="/"> Home </a> </li><li class="mr-5" aria-expanded="true"> <a class="underline" href="/about"> About </a> </li><li class="mr-5" aria-expanded="true"> <a class="underline" href="/posts"> Archive </a> </li><li class="mr-5" aria-expanded="true"> <a class="underline" href="/projects"> Projects </a> </li><li class="mr-5" aria-expanded="true"> <a class="underline" href="/notes"> Notes </a> </li><li class="mr-5" aria-expanded="true"> <a class="underline" href="/resume"> Resume </a> </li> </ul> </nav> </header>
30<script type="module">const t=document.getElementById("nav-mobile-button"),n=document.getElementById("nav-mobile-list"),o=n?.querySelectorAll("li"),a=i=>{let e=!1;e=!n?.classList.toggle("invisible"),t?.setAttribute("aria-expanded",e?"true":"false"),o?.forEach(l=>{l.setAttribute("aria-expanded",e?"true":"false")})};t?.addEventListener("click",i=>{a()});</script>
30 <main class="flex flex-col py-1" style="--theme-font: JetBrains Mono Variable;--ec-frm-frameBoxShdCssVal: none;--ec-frm-edTabBrdRad: 0;--ec-frm-edTabBarBrdCol: color-mix(in srgb, var(--theme-foreground), 10%, transparent);--ec-brdCol: color-mix(in srgb, var(--theme-foreground), 10%, transparent);"> <div class="mt-2 sm:mt-0"> <div class="border-0 border-accent/30 bg-accent/6 rounded-xl inline-block py-2.5 pl-3 pr-4 mt-5 md:mt-8"> <h1 class="text-accent text-2xl font-semibold"> / notes </h1> </div> <p class="mt-6 mb-2 text-foreground/80"> 31Living references â what I currently know about a thing, distilled. 32 Different shape from the <a class="text-accent hover:underline" href="/posts">posts</a>: 33 no journal voice, no narrative arc. Just the model in my head, written down so I can find it later. 34</p> <section class="mt-10"> <h2 class="text-sm uppercase tracking-wider text-accent/80 font-medium mb-2 border-b border-accent/15 pb-2"> AI Trends </h2> <div class="divide-y divide-accent/8"> <a href="/notes/ai-generation-is-commoditizing" class="block py-3 px-1 -mx-1 rounded-md hover:bg-accent/5 transition-colors group"> <div class="flex items-baseline justify-between gap-4"> <h3 class="text-lg text-heading2 font-medium group-hover:text-accent transition-colors"> AI Generation Is Commoditizing </h3> <time class="shrink-0 text-sm text-foreground/60 tabular-nums"> 2026-06-27 </time> </div> <p class="mt-1 text-sm text-foreground/70">What I'm noticing in the AI-coding space â direct quotes from my personal research feed, organized by claim. Written down so I can audit my own thinking later as the signal moves.</p> </a> </div> </section><section class="mt-10"> <h2 class="text-sm uppercase tracking-wider text-accent/80 font-medium mb-2 border-b border-accent/15 pb-2"> System Design </h2> <div class="divide-y divide-accent/8"> <a href="/notes/designing-systems" class="block py-3 px-1 -mx-1 rounded-md hover:bg-accent/5 transition-colors group"> <div class="flex items-baseline justify-between gap-4"> <h3 class="text-lg text-heading2 font-medium group-hover:text-accent transition-colors"> Designing Systems </h3> <time class="shrink-0 text-sm text-foreground/60 tabular-nums"> 2026-06-07 </time> </div> <p class="mt-1 text-sm text-foreground/70">How I think about designing services and features â the moves I keep coming back to, written down so they're explicit instead of implicit.</p> </a> </div> </section> </div> </main> <footer class="mt-auto pt-9 md:pt-11 grow-0 flex flex-col gap-6 items-center justify-between max-w-full text-foreground/80"> <div class="flex w-full max-w-md items-center justify-between"> <a href="https://github.com/joshtune" target="_blank" rel="noopener noreferrer" class="social-link"> <span class="sr-only">GitHub</span> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-7"><path d="M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4" /><path d="M9 18c-4.51 2-5-2-7-2" /></svg> </a> <a href="https://www.linkedin.com/in/joshtune" target="_blank" rel="noopener noreferrer" class="social-link"> <span class="sr-only">LinkedIn</span> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-7"><path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /><rect width="4" height="12" x="2" y="9" /><circle cx="4" cy="4" r="2" /></svg> </a> <a href="/rss.xml" class="social-link"> <span class="sr-only">RSS</span> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-7"><path d="M4 11a9 9 0 0 1 9 9" /><path d="M4 4a16 16 0 0 1 16 16" /><circle cx="5" cy="19" r="1" /></svg> </a> </div> <div class="flex flex-col md:flex-row flex-wrap flex-1 items-center justify-center"> <span class="my-1">
34 Josh Tune © 2026 </span> <span class="mx-5 hidden md:block"> :: </span> </div> </footer> </div> </body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.