<!DOCTYPE html><html data-theme=lofi lang=en><head><meta charset=utf-8><meta content="width=device-width,initial-scale=1" name=viewport><link href=/favicon.png rel=icon type=image/png><meta content="Astro v2.8.0" name=generator><title>Blog | Sean Gransee</title><meta content="Blog | Sean Gransee" name=title><meta content="Sean Gransee is a full-stack software engineer from Chicago offering consulting services. He's also building some apps on the side." name=description><meta content=website property=og:type><meta content=https://seangransee.com/blog/ property=og:url><meta content="Blog | Sean Gransee" property=og:title><meta content="Sean Gransee is a full-stack software engineer from Chicago offering consulting services. He's also building some apps on the side." property=og:description><meta content=https://seangransee.com/_astro/og_ZbuooQ.jpg property=og:image><meta content=summary_large_image property=twitter:card><meta content=https://seangransee.com/blog/ property=twitter:url><meta content="Blog | Sean Gransee" property=twitter:title><meta content="Sean Gransee is a full-stack software engineer from Chicago offering consulting services. He's also building some apps on the side." property=twitter:description><meta content=https://seangransee.com/_astro/og_ZbuooQ.jpg property=twitter:image><script async src="https://www.googletagmanager.com/gtag/js?id=G-6WDBPHB8F0"></script><script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-6WDBPHB8F0")</script><link href=https://cdn.jsdelivr.net/gh/devicons/devicon@latest/devicon.min.css rel=stylesheet><link href=https://seangransee.com/blog rel=canonical><link href=/_astro/404.cc5baedb.css rel=stylesheet /><link href=/_astro/_slug_.af480368.css rel=stylesheet /></head><body><div class="bg-base-100 drawer font-serif lg:drawer-open"><label class=drawer-overlay for=my-drawer></label> <input class=drawer-toggle id=my-drawer type=checkbox><div class="bg-base-100 drawer-content"><div class="bg-base-100 backdrop-blur bg-opacity-90 duration-100 flex h-16 justify-center lg:hidden shadow-sm sticky text-base-content top-0 transition-all w-full z-30"><div class=navbar><div class=navbar-start><label class="btn btn-ghost btn-square" for=my-drawer><svg viewBox="0 0 24 24" xmlns=http://www.w3.org/2000/svg class="h-5 inline-block stroke-current w-5" fill=none><path d="M4 6h16M4 12h16M4 18h16" stroke-linecap=round stroke-linejoin=round stroke-width=2></path></svg></label></div><div class=navbar-center><a href=/ class="btn btn-ghost normal-case text-xl">Sean Gransee</a></div><div class=navbar-end></div></div></div><div class="flex justify-center"><main class="w-full max-w-4xl p-6 pt-6"><div class=mb-5><div class="w-full font-bold text-3xl">Sean Gransee's Blog</div></div><ul><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/bangkok-recommendations target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><img alt="My Bangkok Recommendations After Living Here for a Year" class="max-w-full md:max-w-[13rem] rounded-md" decoding=async height=563 loading=lazy src=/_astro/hero_Z1Pn4pI.webp width=750><div class="w-full grow"><h1 class="font-bold text-lg">My Bangkok Recommendations After Living Here for a Year</h1><div class="text-sm text-slate-500">Jan 11, 2026</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">travel</span></div><p class="mt-4 py-1 text-1xl">A collection of various notes I&#39;ve shared with friends visiting me in Bangkok.</p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/bangkok-cafes target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><img alt="Cafes to Work From in Bangkok, Thailand (With WiFi Speeds)" class="max-w-full md:max-w-[13rem] rounded-md" decoding=async height=563 loading=lazy src=/_astro/common-ground_ZhJKOf.webp width=750><div class="w-full grow"><h1 class="font-bold text-lg">Cafes to Work From in Bangkok, Thailand (With WiFi Speeds)</h1><div class="text-sm text-slate-500">Jun 20, 2025</div><p class="mt-4 py-1 text-1xl">My notes about various cafes I&#39;ve worked from in Bangkok.</p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/nusa-penida target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><img alt="Three Days in Nusa Penida, Indonesia" class="max-w-full md:max-w-[13rem] rounded-md" decoding=async height=563 loading=lazy src=/_astro/broken-beach_Z2hyMgH.webp width=750><div class="w-full grow"><h1 class="font-bold text-lg">Three Days in Nusa Penida, Indonesia</h1><div class="text-sm text-slate-500">Jun 4, 2025</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">travel</span></div><p class="mt-4 py-1 text-1xl">Our trip to Nusa Penida in June 2025. A beautiful hotel, picturesque beaches, and swimming with manta rays.</p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/why-so-many-engineers target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><img alt="Why Do Software Products Need So Many Engineers?" class="max-w-full md:max-w-[13rem] rounded-md" decoding=async height=563 loading=lazy src=/_astro/time-selector_zLc41.webp width=750><div class="w-full grow"><h1 class="font-bold text-lg">Why Do Software Products Need So Many Engineers?</h1><div class="text-sm text-slate-500">Aug 7, 2024</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl">How changing the color of a rectangle can require years of development.</p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/montreal-recommendations target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><img alt="My Recommendations After Spending a Month in Montréal" class="max-w-full md:max-w-[13rem] rounded-md" decoding=async height=563 loading=lazy src=/_astro/montreal0_Z4Fh7X.webp width=750><div class="w-full grow"><h1 class="font-bold text-lg">My Recommendations After Spending a Month in Montréal</h1><div class="text-sm text-slate-500">Jul 13, 2023</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">travel</span></div><p class="mt-4 py-1 text-1xl">I spent most of June 2023 in Montréal, Canada. Here are my recommendations for people visiting for a short trip (3-5 days).</p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/sweetgreen target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><img alt="Here's How Much Sweetgreen Rips You Off You When You Order Online (with data)" class="max-w-full md:max-w-[13rem] rounded-md" decoding=async height=563 loading=lazy src=/_astro/sweetgreen1_iW8vB.webp width=750><div class="w-full grow"><h1 class="font-bold text-lg">Here&#39;s How Much Sweetgreen Rips You Off You When You Order Online (with data)</h1><div class="text-sm text-slate-500">Apr 3, 2023</div><p class="mt-4 py-1 text-1xl">Sweetgreen gives you less food when you order online. On average, a Crispy Rice Bowl ordered online weighs 16% less than one ordered in-person.</p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/graphql-scalar-vs-object target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">The Issue With GraphQL Field Names That Aren&#39;t Descriptive Enough</h1><div class="text-sm text-slate-500">Oct 19, 2018</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl">One of the bad decisions we made when building our schema was defining a scalar field with a name that would likely be used in the future by a full object...</p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/graphql-breaking-changes target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Breaking Changes in GraphQL with Zero Downtime</h1><div class="text-sm text-slate-500">Oct 19, 2018</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/graphql-redundant-relationships target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Redundant &quot;Through&quot; Relationships in GraphQL</h1><div class="text-sm text-slate-500">Oct 19, 2018</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/graphql-array-vs-relay target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Returning Arrays in GraphQL - Simple Lists vs Relay-style pagination</h1><div class="text-sm text-slate-500">Oct 19, 2018</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/graphql-singular-plural-fields target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Singular and Plural Fields in GraphQL</h1><div class="text-sm text-slate-500">Oct 19, 2018</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/graphql-decisions target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Decisions My Team Made With Our GraphQL Schema</h1><div class="text-sm text-slate-500">Oct 18, 2018</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/autoformatters target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Opinions On Opinionated Autoformatters</h1><div class="text-sm text-slate-500">Sep 29, 2018</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/auto-deploy-blog target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Auto-deploy blog to GitHub Pages with static site generator and CI</h1><div class="text-sm text-slate-500">Feb 2, 2018</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/black-mirror target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">All Black Mirror Episodes, Ranked by Reddit Comments</h1><div class="text-sm text-slate-500">Jan 28, 2018</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/recipes-i-like target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Recipes I Like</h1><div class="text-sm text-slate-500">Nov 14, 2013</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/television-as-a-shared-experience target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Television As A Shared Experience</h1><div class="text-sm text-slate-500">Sep 30, 2013</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/a-recap-of-my-summer-out-west target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">A Recap Of My Summer Out West</h1><div class="text-sm text-slate-500">Sep 21, 2013</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">travel</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/i-almost-dropped-out-of-school target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">I Almost Dropped Out Of School</h1><div class="text-sm text-slate-500">Aug 1, 2013</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/goodbye target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Goodbye</h1><div class="text-sm text-slate-500">Jun 14, 2013</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/people target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">People</h1><div class="text-sm text-slate-500">Apr 2, 2013</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/the-feedback-bias target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">The Feedback Bias</h1><div class="text-sm text-slate-500">Dec 3, 2012</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/why-i-believe-javascript-is-the-best-first-programming-language-to-learn target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Why I Believe JavaScript is the Best First Programming Language to Learn</h1><div class="text-sm text-slate-500">Dec 1, 2012</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/no-studying-after-5pm-using-parkinsons-law-to-kick-procrastinations-ass target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">No Studying After 5pm: Using Parkinson&#39;s Law to Kick Procrastination&#39;s Ass</h1><div class="text-sm text-slate-500">Nov 8, 2012</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/halting-problem target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">What is the halting problem?</h1><div class="text-sm text-slate-500">Oct 16, 2012</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/the-real-value-of-college target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">The Real Value of College</h1><div class="text-sm text-slate-500">Sep 30, 2012</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/the-decisions-behind-wikiloopr target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">The Decisions Behind WikiLoopr</h1><div class="text-sm text-slate-500">Sep 11, 2012</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/my-summer-in-hackny target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">My summer in hackNY</h1><div class="text-sm text-slate-500">Sep 7, 2012</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/from-film-major-to-computer-science target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">From film major to computer science</h1><div class="text-sm text-slate-500">Sep 6, 2012</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/what-is-git target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">What is Git? What is revision/version control?</h1><div class="text-sm text-slate-500">Aug 10, 2012</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/linked-list target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">What is a linked list?</h1><div class="text-sm text-slate-500">Aug 9, 2012</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/what-are-apis target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">What are APIs and why are they important?</h1><div class="text-sm text-slate-500">Aug 8, 2012</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/disable-ctrlf-for-certain-html-elements-or-whole-page target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Disable CTRL+F for Certain HTML Elements or Whole Page</h1><div class="text-sm text-slate-500">Mar 11, 2012</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/how-to-build-an-elegant-one-page-scrolling-website target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">How to Build an Elegant One-page Scrolling Website</h1><div class="text-sm text-slate-500">Mar 7, 2012</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/my-most-rewarding-class target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">My Most Rewarding Class</h1><div class="text-sm text-slate-500">Feb 28, 2012</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/10-reasons-to-become-a-computer-science-major target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">10 Reasons to Become a Computer Science Major</h1><div class="text-sm text-slate-500">Jan 9, 2012</div><div class="text-sm mt-1"><span class="bg-gray-400 p-1 rounded-sm text-white">tech</span></div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/the-danger-of-multitasking target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">The danger of multitasking</h1><div class="text-sm text-slate-500">Jan 5, 2012</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/goodbye-2011 target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">Goodbye 2011</h1><div class="text-sm text-slate-500">Dec 31, 2011</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/my-former-self target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">My former self</h1><div class="text-sm text-slate-500">Aug 22, 2011</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/the-book-of-mormon-a-surprising-stroke-of-genius target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">The Book of Mormon – a surprising stroke of genius</h1><div class="text-sm text-slate-500">Aug 15, 2011</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div><div class="bg-base-100 border-b-2 hover:bg-gray-100 py-4"><a href=/blog/so-i-have-a-blog-now target=_self><div class="flex-col hero-content items-start md:flex-row p-0"><div class="w-full grow"><h1 class="font-bold text-lg">So I have a blog now...</h1><div class="text-sm text-slate-500">Jul 5, 2011</div><p class="mt-4 py-1 text-1xl"></p></div></div></a></div></ul></main></div><footer class="block footer footer-center mb-5 pt-10"></footer></div><div class="drawer-side z-40"><label class=drawer-overlay for=my-drawer></label><aside class="flex-col bg-base-200 flex h-auto min-h-full pt-2 px-2 text-base-content w-[19rem]"><div class="mb-6 mt-5 mx-auto w-fit"><a href=/ ><div class="block avatar ease-in-out hover:scale-[102%] m-auto transition"><div class=w-[8.5rem]><img alt="Profile image" class="mask mask-circle" decoding=async height=300 loading=lazy src=/_astro/profile_Z1AnH13.webp width=300></div></div></a></div><ul class="grow menu menu-md overflow-y-auto shrink"><li><a href=/ class="py-3 text-base" id=home>🏠 Home</a></li><li><a href=/professional-experience class="py-3 text-base" id=experience>💼 Professional Experience</a></li><li><a href=/projects class="py-3 text-base" id=projects>📂 Personal Projects</a></li><li><a href=/blog class="py-3 text-base" id=blog>✍️ Blog</a></li><li><a href=/travel class="py-3 text-base" id=travel>🌏 Travel Itinerary</a></li><li><a href=/countries class="py-3 text-base" id=countries>🗺 Countries Visited</a></li></ul><script>document.getElementById("blog").classList.add("bg-base-300")</script><div class="block [mask-image:linear-gradient(transparent,#000000)] bg-base-200 bottom-10 h-12 justify-center pointer-events-none sticky"></div><div class="flex justify-center sticky bg-base-200 bottom-0 pb-5 pt-1 px-4 self-center social-icons"><a href=https://www.linkedin.com/in/seangransee/ target=_blank aria-label=Linkedin class=mx-3 title=Linkedin><svg viewBox="0 0 24 24" xmlns=http://www.w3.org/2000/svg height=24 width=24 style=fill:currentColor><circle cx=4.983 cy=5.009 r=2.188></circle><path d="M9.237 8.855v12.139h3.769v-6.003c0-1.584.298-3.118 2.262-3.118 1.937 0 1.961 1.811 1.961 3.218v5.904H21v-6.657c0-3.27-.704-5.783-4.526-5.783-1.835 0-3.065 1.007-3.568 1.96h-.051v-1.66H9.237zm-6.142 0H6.87v12.139H3.095z"></path></svg> </a><a href=https://www.instagram.com/seangransee/ target=_blank aria-label=Instagram class=mx-3 title=Instagram><svg viewBox="0 0 640 640" xmlns=http://www.w3.org/2000/svg height=24 width=24 clip-rule=evenodd fill-rule=evenodd image-rendering=optimizeQuality shape-rendering=geometricPrecision text-rendering=geometricPrecision><path d="M184.715 2.752h270.582C556.908 2.752 640 84.816 640 185.069v269.85c0 100.277-83.092 182.317-184.703 182.317H184.715C83.104 637.236 0 555.196 0 454.919v-269.85C0 84.816 83.103 2.752 184.715 2.752zm133.561 145.939c98.741 0 178.868 80.127 178.868 178.868 0 98.753-80.127 178.868-178.868 178.868-98.765 0-178.88-80.115-178.88-178.868 0-98.741 80.115-178.868 178.88-178.868zm0 60.414c65.387 0 118.454 53.056 118.454 118.454s-53.068 118.466-118.454 118.466c-65.41 0-118.466-53.067-118.466-118.466 0-65.398 53.056-118.454 118.466-118.454zM491.321 123.9c16.04 0 29.044 13.004 29.044 29.032 0 16.04-13.004 29.044-29.044 29.044-16.028 0-29.032-13.004-29.032-29.044 0-16.028 13.004-29.032 29.032-29.032zM206.825 54.58H433.21c85.005 0 154.526 69.178 154.526 153.712V435.81c0 84.532-69.52 153.699-154.526 153.699H206.825c-85.005 0-154.537-69.167-154.537-153.7V208.29c0-84.532 69.532-153.71 154.537-153.71z"></path></svg> </a><a href=https://x.com/SeanGransee target=_blank aria-label=Twitter class=mx-3 title=Twitter><svg viewBox="0 0 24 24" xmlns=http://www.w3.org/2000/svg height=24 width=24 style=fill:currentColor><path d="M19.633 7.997c.013.175.013.349.013.523 0 5.325-4.053 11.461-11.46 11.461-2.282 0-4.402-.661-6.186-1.809.324.037.636.05.973.05a8.07 8.07 0 0 0 5.001-1.721 4.036 4.036 0 0 1-3.767-2.793c.249.037.499.062.761.062.361 0 .724-.05 1.061-.137a4.027 4.027 0 0 1-3.23-3.953v-.05c.537.299 1.16.486 1.82.511a4.022 4.022 0 0 1-1.796-3.354c0-.748.199-1.434.548-2.032a11.457 11.457 0 0 0 8.306 4.215c-.062-.3-.1-.611-.1-.923a4.026 4.026 0 0 1 4.028-4.028c1.16 0 2.207.486 2.943 1.272a7.957 7.957 0 0 0 2.556-.973 4.02 4.02 0 0 1-1.771 2.22 8.073 8.073 0 0 0 2.319-.624 8.645 8.645 0 0 1-2.019 2.083z"></path></svg> </a><a href=/rss.xml target=_blank aria-label="RSS Feed" class=mx-3 title="RSS Feed"><svg viewBox="0 0 24 24" xmlns=http://www.w3.org/2000/svg height=24 width=24 style=fill:currentColor><path d="M19 20.001C19 11.729 12.271 5 4 5v2c7.168 0 13 5.832 13 13.001h2z"></path><path d="M12 20.001h2C14 14.486 9.514 10 4 10v2c4.411 0 8 3.589 8 8.001z"></path><circle cx=6 cy=18 r=2></circle></svg></a></div></aside></div></div></body></html>