1<!DOCTYPE html><!--jFyvBLxZyelRUyCrpWQfI--><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/4de1fea1a954a5b6-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/6d664cce900333ee-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" href="/assets/logo/20171023_ii_logo_blue.png"/><link rel="stylesheet" href="/_next/static/css/c7587f9b0917c956.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/3f61c8d645f754ae.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-8e5edfd131192eda.js"/>
1<script src="/_next/static/chunks/4bd1b696-c023c6e3521b1417.js" async=""></script>
1<script src="/_next/static/chunks/255-293e44824f2ec188.js" async=""></script>
1<script src="/_next/static/chunks/main-app-907157d1f702337c.js" async=""></script>
1<script src="/_next/static/chunks/619-ba102abea3e3d0e4.js" async=""></script>
1<script src="/_next/static/chunks/934-783173bb793b19a2.js" async=""></script>
1<script src="/_next/static/chunks/app/layout-25e1711292bab2fe.js" async=""></script>
1<script src="/_next/static/chunks/517-7b62a437b92a7b68.js" async=""></script>
1<script src="/_next/static/chunks/774-605f1dd3824d8829.js" async=""></script>
1<script src="/_next/static/chunks/208-829fa9aaa278a1ae.js" async=""></script>
1<script src="/_next/static/chunks/app/resources/blog/page-4e6437298010497a.js" async=""></script>
1<link rel="preload" href="https://www.googletagmanager.com/gtag/js?id=G-QP8K2C1L1K" as="script"/><meta name="next-size-adjust" content=""/><title>Technology Blog | Infinity Interactive | Infinity Interactive</title><meta name="description" content="Expert insights, industry trends, and best practices from our team of technology professionals"/><meta name="author" content="Infinity Interactive"/><meta name="keywords" content="custom software development, staff augmentation, managed services, application modernization, systems integration, innovation lab, technology solutions"/><meta name="creator" content="Infinity Interactive"/><meta name="publisher" content="Infinity Interactive"/><link rel="canonical" href="https://iinteractive.com/resources/blog"/><link rel="alternate" type="application/rss+xml" href="https://iinteractive.com/resources/blog/feed.xml"/><meta property="og:title" content="Technology Blog | Infinity Interactive"/><meta property="og:description" content="Expert insights, industry trends, and best practices from our team of technology professionals"/><meta property="og:url" content="https://iinteractive.com/resources/blog"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Infinity Interactive - Technology Solutions Since 1998"/><meta name="twitter:description" content="Building technology solutions since 1998. Partner with Infinity Interactive to transform your vision into reality."/><meta name="twitter:image" content="https://iinteractive.com/assets/logo/20171024_ii_icon_pringle_chip.png"/><link rel="icon" href="/favicon.ico"/><link rel="icon" href="/favicon-16x16.png" sizes="16x16" type="image/png"/><link rel="icon" href="/favicon-32x32.png" sizes="32x32" type="image/png"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"/><link rel="icon" href="/android-chrome-192x192.png" sizes="192x192" type="image/png"/><link rel="icon" href="/android-chrome-512x512.png" sizes="512x512" type="image/png"/>
1<script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script>
1</head><body class="__className_47a102"><div hidden=""><!--$--><!--/$--></div><a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:top-4 focus:left-4 focus:z-[100] focus:bg-white focus:text-ii-dark-blue-800 focus:px-6 focus:py-3 focus:rounded-xl focus:shadow-2xl focus:font-bold">Skip to main content</a><header class="bg-white/95 shadow-sm border-b border-ii-light-blue-100 backdrop-blur-lg sticky top-0 z-50"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex justify-between items-center h-20"><div class="flex items-center"><a class="flex items-center space-x-3 group transition-all duration-300" aria-label="Infinity Interactive Home" href="/"><img src="/assets/logo/20171023_ii_logo_blue.png" alt="" class="h-12 w-auto transition-opacity duration-300 group-hover:opacity-80"/></a></div><nav aria-label="Main navigation" class="hidden lg:flex items-center space-x-6"><div class="relative"><button type="button" aria-expanded="false" aria-haspopup="true" aria-controls="services-menu" class="flex items-center text-ii-dark-blue-600 hover:text-ii-light-blue-600 transition-colors py-2 font-medium">Services<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ml-1" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></div><div class="relative"><button type="button" aria-expanded="false" aria-haspopup="true" aria-controls="resources-menu" class="flex items-center text-ii-dark-blue-600 hover:text-ii-light-blue-600 transition-colors py-2 font-medium">Resources<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ml-1" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></div><div class="relative"><button type="button" aria-expanded="false" aria-haspopup="true" aria-controls="company-menu" class="flex items-center text-ii-dark-blue-600 hover:text-ii-light-blue-600 transition-colors py-2 font-medium">Company<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down ml-1" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></div><button type="button" class="ml-4 bg-gradient-to-r from-ii-dark-blue-800 to-ii-light-blue-600 text-white px-6 py-2.5 rounded-xl hover:from-ii-dark-blue-900 hover:to-ii-light-blue-500 transition-all duration-300 font-bold shadow-ii-md hover:shadow-ii-lg inline-flex items-center hover:-translate-y-0.5"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg>Book Consultation</button></nav><button type="button" class="lg:hidden text-ii-dark-blue-800 p-3 rounded-lg hover:bg-ii-light-blue-50 transition-colors min-w-[44px] min-h-[44px] flex items-center justify-center" aria-label="Open menu" aria-expanded="false" aria-controls="mobile-menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></div></div></header><main id="main-content" tabindex="-1"><div class="min-h-screen bg-ii-dark-blue-900"><section class="relative bg-linear-to-br from-ii-dark-blue-900 via-ii-dark-blue-800 to-black text-white py-32 overflow-hidden"><div class="absolute inset-0 overflow-hidden pointer-events-none"><div class="absolute top-1/4 -left-32 w-96 h-96 bg-ii-light-blue-600/20 rounded-full blur-3xl animate-pulse"></div><div class="absolute bottom-1/4 -right-32 w-96 h-96 bg-purple-600/20 rounded-full blur-3xl animate-pulse delay-1000"></div></div><div class="absolute inset-0 flex items-center justify-center opacity-5 pointer-events-none overflow-hidden"><div class="text-[20rem] font-bold whitespace-nowrap">BLOG</div></div><div class="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="text-center"><div class="inline-flex items-center gap-2 px-6 py-3 bg-white/10 backdrop-blur-lg border border-white/20 rounded-full mb-8"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open text-ii-light-blue-400" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg><span class="text-ii-light-blue-200 font-semibold">Insights & Trends</span></div><h1 class="text-6xl md:text-7xl font-bold pb-2 mb-4 bg-linear-to-r from-white via-ii-light-blue-200 to-white bg-clip-text text-transparent">Technology Blog</h1><p class="text-2xl text-ii-light-blue-200 max-w-4xl mx-auto leading-relaxed">Expert insights, industry trends, and best practices from our team of technology professionals</p></div></div><div class="absolute bottom-0 left-0 right-0"><svg viewBox="0 0 1440 120" class="w-full h-auto"><path fill="#0a1628" d="M0,64L80,69.3C160,75,320,85,480,80C640,75,800,53,960,48C1120,43,1280,53,1360,58.7L1440,64L1440,120L1360,120C1280,120,1120,120,960,120C800,120,640,120,480,120C320,120,160,120,80,120L0,120Z"></path></svg></div></section><div class="bg-linear-to-br from-[#0a1628] via-ii-dark-blue-900 to-black py-20"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex flex-wrap gap-3 mb-12 justify-center"><a class="px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-ii-light-blue-600 text-white shadow-lg" href="/resources/blog">All</a><a class="px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-white/5 text-ii-light-blue-300 border border-white/10 hover:bg-white/10" href="/resources/blog/category/Development">Development</a><a class="px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-white/5 text-ii-light-blue-300 border border-white/10 hover:bg-white/10" href="/resources/blog/category/Technology">Technology</a><a class="px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-white/5 text-ii-light-blue-300 border border-white/10 hover:bg-white/10" href="/resources/blog/category/Team">Team</a><a class="px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-white/5 text-ii-light-blue-300 border border-white/10 hover:bg-white/10" href="/resources/blog/category/Culture">Culture</a><a class="px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-white/5 text-ii-light-blue-300 border border-white/10 hover:bg-white/10" href="/resources/blog/category/Business">Business</a><a class="px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-white/5 text-ii-light-blue-300 border border-white/10 hover:bg-white/10" href="/resources/blog/category/Musings">Musings</a></div><div class="w-full flex flex-col gap-3 justify-center items-center mb-12"><label for="tagFilter" class="block text-sm font-semibold text-ii-light-blue-300 mb-3">Filter by Tag</label><select id="tagFilter" class="form-select w-full md:w-1/2 lg:w-1/3 py-4 bg-white/10 backdrop-blur-lg border border-white/20 rounded-2xl text-white focus:border-ii-light-blue-400 focus:outline-none focus:ring-2 focus:ring-ii-light-blue-400/50" name="tagFilter"><option value="All" selected="">All</option><option value="Accessibility">Accessibility</option><option value="Agile">Agile</option><option value="AI">AI</option><option value="Android">Android</option><option value="Animation">Animation</option><option value="Arduino">Arduino</option><option value="Automation">Automation</option><option value="AWS">AWS</option><option value="Azure">Azure</option><option value="Communication">Communication</option><option value="Conferences">Conferences</option><option value="Culture">Culture</option><option value="C Sharp">C Sharp</option><option value="CSS">CSS</option><option value="Django">Django</option><option value="Documentation">Documentation</option><option value="DotNET">DotNET</option><option value="Functional Programming">Functional Programming</option><option value="Git">Git</option><option value="GCP">GCP</option><option value="Graphics">Graphics</option><option value="InfluxDB">InfluxDB</option><option value="Internet of Things">Internet of Things</option><option value="Interview">Interview</option><option value="iOS">iOS</option><option value="Java">Java</option><option value="JavaScript">JavaScript</option><option value="Kotlin">Kotlin</option><option value="Leap Motion">Leap Motion</option><option value="Mobile">Mobile</option><option value="Monitoring">Monitoring</option><option value="Objective-C">Objective-C</option><option value="Operations">Operations</option><option value="Partners">Partners</option><option value="Passions">Passions</option><option value="People">People</option><option value="Perl">Perl</option><option value="Presentation">Presentation</option><option value="Python">Python</option><option value="QA">QA</option><option value="Redux">Redux</option><option value="Remote">Remote</option><option value="Security">Security</option><option value="Summit">Summit</option><option value="Swift">Swift</option><option value="Terraform">Terraform</option><option value="Testing">Testing</option><option value="Technology">Technology</option><option value="Training">Training</option><option value="Version Control">Version Control</option><option value="Video">Video</option><option value="Web Services">Web Services</option><option value="Xamarin">Xamarin</option></select></div><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 mb-20"><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/read-only"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye w-4 h-4 text-white" aria-hidden="true"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>6 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Read Only. Read Only. Read Only.</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">How working with a blind client on a Power Automate project revealed the invisible accessibility gaps baked into the platforms we build on every day.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Sharni Zaugg</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">6/3/2026</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/plan-assign-build-retro-a-replicable-workflow-for-ai-augmented-development"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-violet-500 to-violet-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-branch w-4 h-4 text-white" aria-hidden="true"><line x1="6" x2="6" y1="3" y2="15"></line><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><path d="M18 9a9 9 0 0 1-9 9"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>9 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Plan â Assign â Build â Retro: A Replicable Workflow for AI-Augmented Development</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">21 tickets, 53 story points, 21 merged PRs â while making biang biang noodles. Here's the four-phase methodology that made it repeatable: structured planning, detailed tickets, supervised builds, and automated review.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">2/23/2026</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/fasting-season"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-emerald-500 to-emerald-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar w-4 h-4 text-white" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Musings</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>4 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Fasting Season</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Software teams have seasons too. Between Mardi Gras and Lent, thoughts on tool drift, maintenance work that gets deferred, and spending an afternoon asking whether your systems still fit the way you actually work.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">2/17/2026</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/why-we-build-the-runway-before-we-need-it"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-sky-500 to-sky-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plane w-4 h-4 text-white" aria-hidden="true"><path d="M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>3 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Why We Build the Runway Before We Need It</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Three days from deadline, we discovered we'd been building from outdated brand guidelines. We didn't blow the deadline or ask for an extension. We just shipped. Here's why the crunch didn't become a crisis.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">2/4/2026</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/the-tools-we-almost-built"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-indigo-500 to-indigo-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-archive w-4 h-4 text-white" aria-hidden="true"><rect width="20" height="5" x="2" y="3" rx="1"></rect><path d="M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8"></path><path d="M10 12h4"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Musings</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>3 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">The Tools We Almost Built</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Somewhere in our repositories lives a project called Horiizon. It was going to be great. Then it wasn't. We have a small graveyard of internal tools that solved real problems, looked promising, and quietly died anyway.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">1/21/2026</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/between-hype-and-rejection-a-practical-philosophy-for-ai-assisted-development"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-sky-500 to-sky-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-scale w-4 h-4 text-white" aria-hidden="true"><path d="m16 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z"></path><path d="m2 16 3-8 3 8c-.87.65-1.92 1-3 1s-2.13-.35-3-1Z"></path><path d="M7 21h10"></path><path d="M12 3v18"></path><path d="M3 7h2c2 0 5-1 7-2 2 1 5 2 7 2h2"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>8 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Between Hype and Rejection: A Practical Philosophy for AI Assisted Development</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">AI tools divide developers into camps of breathless enthusiasm and principled rejection. Both miss the mark. After a year integrating AI into our workflows, we've identified two failure modes and the assistive approach that works: keeping judgment in human hands while removing mechanical friction.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">1/13/2026</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/how-i-automated-my-morning-standup-with-n8n-and-got-an-unexpected-morale-boost"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-violet-500 to-violet-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-workflow w-4 h-4 text-white" aria-hidden="true"><rect width="8" height="8" x="3" y="3" rx="2"></rect><path d="M7 11v4a2 2 0 0 0 2 2h4"></path><rect width="8" height="8" x="13" y="13" rx="2"></rect></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>6 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">How I Automated My Morning Standup with n8n (And Got an Unexpected Morale Boost)</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Every developer knows the Monday morning standup scramble. I built an n8n workflow that gathers my GitHub and Jira activity and generates a natural standup update delivered to my inbox each morning. The time savings were expected; the daily morale boost wasn't.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">1/6/2026</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/what-your-lawn-care-company-can-teach-you-about-hiring-developers"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-green-500 to-green-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-leaf w-4 h-4 text-white" aria-hidden="true"><path d="M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z"></path><path d="M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Business</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>7 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">What Your Lawn Care Company Can Teach You About Hiring Developers</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">You don't hire a landscaper or buy a mower for your office lawn. A crew just shows up and handles it. What if your technology worked the same way? That's the idea behind FiTT: a predictable subscription that gives you a development team, not a headcount problem.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">12/23/2025</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/taming-pwa-cache-behavior"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-amber-500 to-amber-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-refresh-cw w-4 h-4 text-white" aria-hidden="true"><path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"></path><path d="M21 3v5h-5"></path><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"></path><path d="M8 16H3v5"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>10 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">When 'Just Refresh' Doesn't Work: Taming PWA Cache Behavior</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">When Safari's aggressive caching turned our Progressive Web App into a prison for stale content, we embarked on a two-month journey to fix it. Here's what we learned about service workers, cache invalidation, and why 'just refresh the page' doesn't always work.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">12/16/2025</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/meet-diderot-the-ai-assistant-that-keeps-our-documentation-in-perfect-sync"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-emerald-500 to-emerald-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open w-4 h-4 text-white" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>8 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Meet Diderot: The AI Assistant That Keeps Our Documentation in Perfect Sync</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Meet Diderot, a specialized AI agent that helps developers keep documentation synchronized with code changes. Learn how to configure this documentation assistant for different project types and see real-world examples of keeping wikis, API docs, and runbooks up to date.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">12/9/2025</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/happy-blue-beanie-day-25"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-accessibility w-4 h-4 text-white" aria-hidden="true"><circle cx="16" cy="4" r="1"></circle><path d="m18 19 1-7-6 1"></path><path d="m5 8 3-3 5.5 3-2.36 3.5"></path><path d="M4.24 14.5a5 5 0 0 0 6.88 6"></path><path d="M13.76 17.5a5 5 0 0 0-6.88-6"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>4 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Happy Blue Beanie Day '25!</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Celebrating web standards and accessibility on Blue Beanie Day! Learn why we build accessibility into every project from day one, not as an afterthoughtâand see our team's blue beanie selfies.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Infinity Interactive</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">11/30/2025</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/meet-ray-the-ai-assistant-that-turns-our-css-into-reusable-design-systems"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-purple-500 to-purple-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette w-4 h-4 text-white" aria-hidden="true"><path d="M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z"></path><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>8 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Meet Ray: The AI Assistant That Turns Our CSS Into Reusable Design Systems</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Ray doesn't replace our designersâshe organizes our CSS chaos into systematic design tokens and contextually appropriate defaults. Here's how a specialized Claude Code sub-agent helps developers build better starting points for design work.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">11/25/2025</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/how-we-built-this-in-30-days"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rocket w-4 h-4 text-white" aria-hidden="true"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"></path><path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"></path><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>10 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">How We Built This In 30 Days</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">How three experienced developers built a modern marketing website with 200+ static pages in 30 days of work time using Next.js 15, Tailwind CSS v4, Claude Code, and Cursor IDEâwithout compromising human ownership of every line of code.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner & 2 more</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">11/17/2025</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/cypress-automated-testing-enabling-safe-and-rapid-development"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-test-tube w-4 h-4 text-white" aria-hidden="true"><path d="M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2"></path><path d="M8.5 2h7"></path><path d="M14.5 16h-5"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>6 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Cypress Automated Testing: Enabling Safe and Rapid Development</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Discover how Cypress testing improves development workflows from both QA and development perspectives, accelerating velocity while maintaining quality.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">John Bowser</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">8/3/2023</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/the-state-of-ai-in-early-2023"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-purple-500 to-purple-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles w-4 h-4 text-white" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594
11.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Technology</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>20 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">The State of AI in Early 2023</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">An introductory video into the sudden burst of AI tools in early 2023</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Toby Deshane & 1 more</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">7/7/2023</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/meet-trey-bianchini"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-teal-500 to-teal-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user w-4 h-4 text-white" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Team</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>5 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Meet Trey Bianchini</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">An interview with Trey Bianchini</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Trey Bianchini & 2 more</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">11/5/2021</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/meet-john-bowser"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-cyan-500 to-cyan-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user w-4 h-4 text-white" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Team</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>5 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Meet John Bowser</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">An interview with John Bowser</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">John Bowser & 2 more</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">10/18/2021</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/automated-browser-testing-bridging-the-gap-between-dev-and-qa"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-indigo-500 to-indigo-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-monitor-check w-4 h-4 text-white" aria-hidden="true"><path d="m9 10 2 2 4-4"></path><rect width="20" height="14" x="2" y="3" rx="2"></rect><path d="M12 17v4"></path><path d="M8 21h8"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>9 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Automated Browser Testing: Bridging the Gap Between Dev and QA</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">How automated browser testing using cypress.io can bring dev and qa together.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">9/2/2020</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/free-puppies-free-tickets-and-being-smart"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-yellow-500 to-yellow-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dog w-4 h-4 text-white" aria-hidden="true"><path d="M11.25 16.25h1.5L12 17z"></path><path d="M16 14v.5"></path><path d="M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309"></path><path d="M8 14v.5"></path><path d="M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>7 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Free Puppies, Free Tickets, & Being Smart</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">At Infinity, tickets are free â¦like puppies. Learn how we keep our tickets free and SMART</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">John SJ Anderson</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">6/18/2020</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/mobile-development-finding-the-right-solution"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-violet-500 to-violet-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-smartphone w-4 h-4 text-white" aria-hidden="true"><rect width="14" height="20" x="5" y="2" rx="2" ry="2"></rect><path d="M12 18h.01"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>9 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Mobile Development: Finding the Right Solution for Your Project</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">With a growing number of options on how to reach mobile users, learn what's the best option to develop software for the mobile user, whether it's web, native, or cross-platform.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Sean Sparkman & 1 more</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">4/28/2020</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/thinking-remote-advice-from-a-guy-whos-been-running-a-fully-distributed-company-since-2005"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-green-500 to-green-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users w-4 h-4 text-white" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>8 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Thinking remote? Advice from a guy who's been running a fully distributed company since 2005</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Some useful tips and tricks about remote work based on a decade+ of actually doing it!</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Jeremy Shao</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">3/10/2020</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/rendering-a-mega-pdf-in-a-xamarin-android-app"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-purple-500 to-purple-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text w-4 h-4 text-white" aria-hidden="true"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>7 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Rendering a (mega) PDF in a Xamarin Android app</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Even on mobile, sometimes you need to show people a PDF. In your Xamarin Android app, for most situations, having the user download the document to view it outside of the app using Android'
1s native document viewer is probably fine. But what if the design specifies displaying the document in the app? And what if that document is 100+ pages long? We recently ran into this here at Infinity Interactive and needless to say, displaying a PDF in your Xamarin Android app is not as straightforward as one might expect.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Will Hutchinson</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">11/1/2019</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/uno-platform"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-indigo-500 to-indigo-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-smartphone w-4 h-4 text-white" aria-hidden="true"><rect width="14" height="20" x="5" y="2" rx="2" ry="2"></rect><path d="M12 18h.01"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>6 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Uno Platform</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Introduction to using Uno Platform which uses a single codebase to create native Mobile, Web, and UWP applications.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Kenzie Whalen</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">10/25/2019</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/the-world-of-cloud-functions"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-sky-500 to-sky-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cloud w-4 h-4 text-white" aria-hidden="true"><path d="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>6 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">The World of Cloud Functions</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Cloud functions are a great way to run small programmatic services in the cloud. They are easy to create and use, are very secure, and need little maintenance. They even scale on-demand in a way that is very difficult to achieve using regular servers.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Liam Mackey</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">3/25/2019</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/jiu-jitsu-of-project-management"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-red-500 to-red-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-target w-4 h-4 text-white" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="12" r="6"></circle><circle cx="12" cy="12" r="2"></circle></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>7 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Jiu-Jitsu of project management</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">About seven months ago, I started practicing Brazilian Jiu-Jitsu, a grappling art founded in Brazil. Immediately after, I began comparing everything to it.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Emal Sakwall</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">1/4/2019</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/taking-up-the-slack-with-rocketchat"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-green-500 to-green-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rocket w-4 h-4 text-white" aria-hidden="true"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"></path><path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"></path><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>7 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Taking up the Slack with RocketChat</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Automate the deployment of a chat server to be quickly available in case of a Slack outage.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Phil Shirley</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">11/5/2018</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/system-monitoring-summoning-the-beast-of-a-thousand-eyes"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-cyan-500 to-cyan-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-eye w-4 h-4 text-white" aria-hidden="true"><path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"></path><circle cx="12" cy="12" r="3"></circle></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>8 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">System monitoring: summoning the beast of a thousand eyes</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">building a extensible, metric-collecting cli app for InfluxDB.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Yanick Champoux</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">7/31/2018</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/reduce-and-conquer"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-red-500 to-red-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-atom w-4 h-4 text-white" aria-hidden="true"><circle cx="12" cy="12" r="1"></circle><path d="M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z"></path><path d="M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>10 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Reduce and Conquer</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">showcase of higher-order functions to help with the minutiae of Redux.<
1/p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Yanick Champoux</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">5/4/2018</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/twenty-thoughts"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-infinity w-4 h-4 text-white" aria-hidden="true"><path d="M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>2 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Twenty Thoughts</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Thoughts on twenty years of Infinity.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Jeremy Shao</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">2/25/2018</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/writing-infrastructure-as-code"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-violet-500 to-violet-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code w-4 h-4 text-white" aria-hidden="true"><path d="m16 18 6-6-6-6"></path><path d="m8 6-6 6 6 6"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>5 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">
1Writing Infrastructure as Code</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Using Terraform to write platform-agnostic infrastructure as code, making infrastructure versionable and more manageable.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Sean Sparkman</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">12/27/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/so-much-speakerlife"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-amber-500 to-amber-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mic w-4 h-4 text-white" aria-hidden="true"><path d="M12 19v3"></path><path d="M19 10v2a7 7 0 0 1-14 0v-2"></path><rect x="9" y="2" width="6" height="13" rx="3"></rect></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>6 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">So much #speakerlife!</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Infinity's @genehack recaps his busy summer on the conference circuit.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">John SJ Anderson</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">10/11/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/meet-eric-wagoner"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-teal-500 to-teal-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-user w-4 h-4 text-white" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="10" r="3"></circle><path d="M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Team</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>6 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Meet Eric Wagoner</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">An interview withEric Wagoner.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Eric Wagoner & 1 more</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">9/15/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/azure-automation-made-easy"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-server w-4 h-4 text-white" aria-hidden="true"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>6 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Azure Automation Made Easy</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">So, what is Azure? Azure is Microsoft's cloud solution. It's a collection of services used to build, deploy, and manage applications. We do a lot of work with Azure here at Infinity.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Sean Sparkman</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">6/27/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/infinity-at-beer-city-code"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-orange-500 to-orange-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-beer w-4 h-4 text-white" aria-hidden="true"><path d="M17 11h1a3 3 0 0 1 0 6h-1"></path><path d="M9 12v6"></path><path d="M13 12v6"></path><path d="M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z"></path><path d="M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>5 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Infinity at Beer City Code</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">This past weekend I visited Grand Rapids, Michigan for the first ever Beer City Code on the campus of Calvin College. I took a class on how to write .NET applications on a Mac, saw some great talks, presented a talk on JSON Web Tokens, and more. My full wrap up is below the fold.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">John SJ Anderson</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">6/14/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/announcing-our-tpc-2017-app"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-smartphone w-4 h-4 text-white" aria-hidden="true"><rect width="14" height="20" x="5" y="2" rx="2" ry="2"></rect><path d="M12 18h.01"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>2 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Announcing our TPC 2017 app!</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Release announcement for TPC 2017 mobile application</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Paul Zolnierczyk</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">6/12/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/stitching-up-a-better-monster"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-yellow-500 to-yellow-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-spool w-4 h-4 text-white" aria-hidden="true"><path d="M17 13.44 4.442 17.082A2 2 0 0 0 4.982 21H19a2 2 0 0 0 .558-3.921l-1.115-.32A2 2 0 0 1 17 14.837V7.66"></path><path d="m7 10.56 12.558-3.642A2 2 0 0 0 19.018 3H5a2 2 0 0 0-.558 3.921l1.115.32A2 2 0 0 1 7 9.163v7.178"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>7 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Stitching Up a Better Monster</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Bridging the gap between the virtual and physical woolrlds with the help of QR codes</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Yanick Champoux</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">6/9/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/lottie-animations-in-xamarin"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-purple-500 to-purple-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-braces w-4 h-4 text-white" aria-hidden="true"><path d="M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"></path><path d="M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>5 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Lottie Animations in Xamarin</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">We do a lot of work with apps and Xamarin here at Infinity. We've seen that adding animations to our Xamarin.iOS or Xamarin.Android app makes for a more appealing user experience. But if those animations are overly detailed, programming them may take quite a bit of time.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Will Hutchinson</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">5/31/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/infinity-at-linuxfest-northwest"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-green-500 to-green-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plane w-4 h-4 text-white" aria-hidden="true"><path d="M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.
11-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>5 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Infinity at LinuxFest Northwest</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">John's report on attending and speaking at LFNW</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">John SJ Anderson</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">5/19/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/xamarin-premier-consulting-partner"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-medal w-4 h-4 text-white" aria-hidden="true"><path d="M7.21 15 2.66 7.14a2 2 0 0 1 .13-2.2L4.4 2.8A2 2 0 0 1 6 2h12a2 2 0 0 1 1.6.8l1.6 2.14a2 2 0 0 1 .14 2.2L16.79 15"></path><path d="M11 12 5.12 2.2"></path><path d="m13 12 5.88-9.8"></path><path d="M8 7h8"></path><circle cx="12" cy="17" r="5"></circle><path d="M12 18v-2h-.5"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Business</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>2 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Xamarin Premier Consulting Partner</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Infinity Interactive is a Xamarin Premier Partner</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Paul Zolnierczyk</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">3/22/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/infinity-at-scale"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar w-4 h-4 text-white" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>8 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Infinity at SCaLE</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">John's report on attending and speaking at SCaLE15x</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">John SJ Anderson</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">3/16/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/meet-toby-deshane"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-emerald-500 to-emerald-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-user w-4 h-4 text-white" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="10" r="3"></circle><path d="M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Team</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>5 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Meet Toby Deshane</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">An interview featuring Toby Deshane, a programmer at Infinity Interactive based in Middletown, Connecticut.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Toby Deshane & 1 more</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">3/10/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/meet-will-hutchinson"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-rose-500 to-rose-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-user w-4 h-4 text-white" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><circle cx="12" cy="10" r="3"></circle><path d="M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Team</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>4 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Meet Will Hutchinson</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Profile of Will Hutchinson, a Senior Developer at Infinity Interactive based in San Diego, CA, describing his journey from manufacturing to web development.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Will Hutchinson & 1 more</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">1/13/2017</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/xamarin-and-net-take-milwaukee"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-purple-500 to-purple-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code w-4 h-4 text-white" aria-hidden="true"><path d="m16 18 6-6-6-6"></path><path d="m8 6-6 6 6 6"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>6 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Xamarin and .NET Take Milwaukee</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Paul Zolnierczyk from Infinity Interactive attended and presented at the second annual MKE DOT NET conference, exploring cross-platform development with Xamarin.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Paul Zolnierczyk</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">11/4/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/analyzing-a-fantasy"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-yellow-500 to-yellow-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trophy w-4 h-4 text-white" aria-hidden="true"><path d="M10 14.66v1.626a2 2 0 0 1-.976 1.696A5 5 0 0 0 7 21.978"></path><path d="M14 14.66v1.626a2 2 0 0 0 .976 1.696A5 5 0 0 1 17 21.978"></path><path d="M18 9h1.5a1 1 0 0 0 0-5H18"></path><path d="M4 22h16"></path><path d="M6 9a6 6 0 0 0 12 0V3a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1z"></path><path d="M6 9H4.5a1 1 0 0 1 0-5H6"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>10 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Analyzing a Fantasy</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">What started as a casual game has turned into a trip through a data analytics wonderland.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Sweth Chandramouli</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">11/2/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/actioner-another-engine"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-yellow-500 to-yellow-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-braces w-4 h-4 text-white" aria-hidden="true"><path d="M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"></path><path d="M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>6 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Actioner (Another Engine)</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">I'm still playing around with Redux and, as usual, I'm always on the lookout for ways to optimize my laziness.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Yanick Champoux</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">10/21/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/yapceu-recap"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tickets-plane w-4 h-4 text-white" aria-hidden="true"><path d="M10.5 17h1.227a2 2 0 0 0 1.345-.52L18 12"></path><path d="m12 13.5 3.75.5"></path><path d="m4.5 8 10.58-5.06a1 1 0 0 1 1.342.488L18.5 8"></path><path d="M6 10V8"></path><path d="M6 14v1"></path><path d="M6 19v2"></path><rect x="2" y="8" width="20" height="13" rx="2"></rect></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Team</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>7 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">YAPC::EU Recap</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">A recap of YAPC::EU 2016.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Sweth Chandramouli</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">10/17/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/the-technical-details-of-our-yapceu-app"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-red-500 to-red-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles w-4 h-4 text-white" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594
11.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>6 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">The Technical Details Of Our YAPC::EU app</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">YAPC::EU recently hosted their annual Perl Conference in Cluj-Napoca, Romania, and Infinity Interactive is proud to have partnered with them in releasing the YAPC::EU mobile application on iOS and Android. Today, weâll cover some of the technical challenges we faced in creating this app, which we built on the foundation of the Open Source project that provided a similar app for Xamarin Evolve 2016.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Paul Zolnierczyk</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">10/5/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/redux-redux-via-pollux"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-green-500 to-green-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-braces w-4 h-4 text-white" aria-hidden="true"><path d="M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"></path><path d="M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>15 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Redux redux (via Pollux)</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Redux is a small JavaScript library that is quite popular at the moment. Liberally inspired by functional programming principles, it offers a state container that is accessed and modified via message passing.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Yanick Champoux</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">9/6/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/announcing-our-yapceu-app"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-smartphone w-4 h-4 text-white" aria-hidden="true"><rect width="14" height="20" x="5" y="2" rx="2" ry="2"></rect><path d="M12 18h.01"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>2 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Announcing our YAPC::EU app!</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Release announcement for YAPC::EU mobile application.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Paul Zolnierczyk</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">8/23/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/openwest-2016-recap"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plane-landing w-4 h-4 text-white" aria-hidden="true"><path d="M2 22h20"></path><path d="M3.77 10.77 2 9l2-4.5 1.1.55c.55.28.9.84.9 1.45s.35 1.17.9 1.45L8 8.5l3-6 1.05.53a2 2 0 0 1 1.09 1.52l.72 5.4a2 2 0 0 0 1.09 1.52l4.4 2.2c.42.22.78.55 1.01.96l.6 1.03c.49.88-.06 1.98-1.06 2.1l-1.18.15c-.47.06-.95-.02-1.37-.24L4.29 11.15a2 2 0 0 1-.52-.38Z"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Team</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>10 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">OpenWest 2016 Recap</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">A recap of Infinity Interactive's attendance of OpenWest 2016.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Jake Goldsborough</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">7/22/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/xamarin-ios-animations-part-two"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-red-500 to-red-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code w-4 h-4 text-white" aria-hidden="true"><path d="m16 18 6-6-6-6"></path><path d="m8 6-6 6 6 6"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>15 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">iOS Animations in Xamarin - part 2</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Learn about several animation techniques to use in your Xamarin/iOS projects</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Will Hutchinson</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">7/6/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/git-mo-meta-easily-adding-meta-information-to-git-branches"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-green-500 to-green-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-branch w-4 h-4 text-white" aria-hidden="true"><line x1="6" x2="6" y1="3" y2="15"></line><circle cx="18" cy="6" r="3"></circle><circle cx="6" cy="18" r="3"></circle><path d="M18 9a9 9 0 0 1-9 9"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>7 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Git Mo' Meta: Easily Adding Meta Information to Git Branches</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">From time to time, it comes in handy to tie various types of information (ticket id, bug or feature, task owner, sprint information, deadline, etc.) against a branch.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Yanick Champoux</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">5/25/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/meet-tommy-lee"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user w-4 h-4 text-white" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Team</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>5 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Meet Tommy Lee</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">An interview with Tommy Lee.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Tommy Lee & 1 more</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">4/15/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/ios-animations-in-xamarin"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-red-500 to-red-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code w-4 h-4 text-white" aria-hidden="true"><path d="m16 18 6-6-6-6"></path><path d="m8 6-6 6 6 6"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>15 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">iOS Animations in Xamarin</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Learn about several animation techniques to use in your Xamarin/iOS projects</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Will Hutchinson</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">4/1/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/herding-camels"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-purple-500 to-purple-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-test-tube w-4 h-4 text-white" aria-hidden="true"><path d="M14.5 2v17.5c0 1.4-1.1 2.5-2.5 2.5c-1.4 0-2.5-1.1-2.5-2.5V2"></path><path d="M8.5 2h7"></path><path d="M14.5 16h-5"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>7 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Herding Camels</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Exploring tools useful for the herding and testing a group of Perl modules</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Yanick Champoux</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">2/12/2016</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/to-infinity-and-loading"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-yellow-500 to-yellow-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-square-dashed-bottom-code w-4 h-4 text-white" aria-hidden="true"><path d="M10 9.5 8 12l2 2.5"></path><path d="M14 21h1"></path><path d="m14 9.5 2 2.5-2 2.5"></path><path d="M5 21a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2"></path><path d="M9 21h1"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>5 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">To Infinity And loading.....</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">A clever CSS experiment turns the infinity symbol into a looping loader animation. What starts as a
1simple idea â move a ball around the shape â becomes a deep dive into transforms, rotation origins, browser quirks, and subtle timing tweaks to nail that smooth figure-eight motion. If you like seeing creative UI ideas pushed to the limit with pure CSS, this one is worth a look.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Jake Goldsborough & 1 more</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">8/4/2015</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/bread-board-2"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-purple-500 to-purple-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-braces w-4 h-4 text-white" aria-hidden="true"><path d="M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"></path><path d="M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>10 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Bread::Board, part II: Beyond the DSL</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">This follow up digs into Bread::Board without the convenience layer. Instead of relying on its DSL, it walks through manually building containers and services with Moose classes, showing how the dependency injection framework really works under the hood and how each component fits together to resolve dependencies in a structured way.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Yanick Champoux</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">
17/9/2015</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/rakudobrew"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rocket w-4 h-4 text-white" aria-hidden="true"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"></path><path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"></path><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>5 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Rakudobrew</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Curious about Perl 6 and want to stay on the bleeding edge? Rakudobrew makes it easy to install and switch between different Rakudo builds so you can experiment with the language, explore backends like MoarVM and JVM, and keep your setup current without manual juggling.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Brian Wisti</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">6/2/2015</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/taking-css-animations-to-the-danger-zone"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-purple-500 to-purple-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-braces w-4 h-4 text-white" aria-hidden="true"><path d="M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"></path><path d="M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>10 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Taking CSS Animations to the Danger Zone</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Lately I've been wanting to experiment a little more with CSS animations. I already use them for small effects, but to really get to know something, I need a project. A while back I was watching one of my favorite cartoons, Archer, and as the title sequence was rolling I realized, "
1this would make an awesome CSS animation project"</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Will Hutchinson</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">4/8/2015</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/django-migrations"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-yellow-500 to-yellow-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-database w-4 h-4 text-white" aria-hidden="true"><ellipse cx="12" cy="5" rx="9" ry="3"></ellipse><path d="M3 5V19A9 3 0 0 0 21 19V5"></path><path d="M3 12A9 3 0 0 0 21 12"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>3 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Django Migrations</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Django 1.7 finally brings built-in database migrations, making schema changes easier to track, safer to apply, and far less manual than old tools like South. With simple commands and automatic SQL generation, updating your models no longer means wrestling with scripts or risking data loss.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Nate Robison</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">3/13/2015</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/a-dashboard-for-my-apartment"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-red-500 to-red-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-tablet w-4 h-4 text-white" aria-hidden="true"><rect width="16" height="20" x="4" y="2" rx="2" ry="2"></rect><line x1="12" x2="12.01" y1="18" y2="18"></line></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>9 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">A Dashboard for My Apartment</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">My previously-unused iPad now serves as a dashboard and control panel for my apartment.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Shawn M Moore</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">3/6/2015</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/grandma-can-you-pause-the-story"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-amber-500 to-amber-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open w-4 h-4 text-white" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>3 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Grandma, Can You Pause the Story?</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">I remember smiling to myself when my granddaughter asked me to âpauseâ while reading her a bedtime story. To her, the language was appropriate. She has only known a world where you have the power to âpauseâ by simply pushing a button.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Tracey Shirley</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">3/3/2015</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/bread-board"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-purple-500 to-purple-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-braces w-4 h-4 text-white" aria-hidden="true"><path d="M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"></path><path d="M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>20 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">A Gentle Introduction to Bread::Board</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Inversion of Control can feel intimidating, but Bread::Board makes complex dependency wiring in Perl far more manageable. This walkthrough shows how to replace sprawling constructors with a clean, declarative container setup that keeps components flexible and testable without sacrificing clarity.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Yanick Champoux</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">2/6/2015</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/super-duper-happy-nancy-based-api-as-a-windows-service"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-green-500 to-green-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-blocks w-4 h-4 text-white" aria-hidden="true"><path d="M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2"></path><rect x="14" y="2" width="8" height="8" rx="1"></rect></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>7 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Super Duper Happy Nancy-based API... as a Windows Service</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Building a self-hosted Nancy web API running as a Windows Service.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">David Knaack</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">11/3/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/shellshock-in-the-wild"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-red-500 to-red-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal w-4 h-4 text-white" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>16 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Shellshock in the Wild</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">The recent disclosure of a critical security flaw in the widely used bash command-line shell for Unix operating systems sent many technology professionals scrambling to update their systems. We were certainly among them.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Mike Eldridge</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">10/2/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/theremin-fountain-with-c-and-the-arduino-uno"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-green-500 to-green-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circuit-board w-4 h-4 text-white" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2"></rect><path d="M11 9h4a2 2 0 0 0 2-2V3"></path><circle cx="9" cy="9" r="2"></circle><path d="M7 21v-4a2 2 0 0 1 2-2h4"></path><circle cx="15" cy="15" r="2"></circle></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>10 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Theremin Fountain with C Sharp and the Arduino Uno</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Building an Arduino-powered fountain that uses a water pump and a servo motor to create a flowing water effect.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Alex Sparkman</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">8/7/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/yapc-yapc-yapc-recap"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-infinity w-4 h-4 text-white" aria-hidden="true"><path d="M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Team</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>2 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">YAPC! YAPC! YAPC! Recap</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">That'
1s right folks. The annual North American Perl conference, YAPC::NA, was held in sunny Orlando, Florida last week. Infinity Interactive was well represented and many of our developers presented talks.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Jake "ducks" Goldsborough</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">7/3/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/groovy-funny-name-serious-power"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-green-500 to-green-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-coffee w-4 h-4 text-white" aria-hidden="true"><path d="M10 2v2"></path><path d="M14 2v2"></path><path d="M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1"></path><path d="M6 2v2"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>3 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Groovy - Funny name, serious power</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Groovy Web Services is a framework for building web services in Groovy</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Paul Zolnierczyk</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">5/9/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/api-source-code-to-website-help-pages-in-aspnet-web-api"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-amber-500 to-amber-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open w-4 h-4 text-white" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>4 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">API Source Code to Website Help Pages in ASP.NET Web API</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Recently, I was working on a team project with a number of independent components each with their own data, logic, and presentation layer. I was assigned the task of creating an API for capturing large amounts of real-time data. Since other developers needed to use it, the API had to be documented.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Alex Sparkman</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">5/2/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/modernize-your-legacy"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lightbulb w-4 h-4 text-white" aria-hidden="true"><path d="M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5"></path><path d="M9 18h6"></path><path d="M10 22h4"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>8 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Modernize Your Legacy</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Are you trying to bring modern development practices to a â¦less-than-modern software development environment?</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Jay Hannah</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">4/25/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/work-live-wod"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-red-500 to-red-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-dumbbell w-4 h-4 text-white" aria-hidden="true"><path d="M17.596 12.768a2 2 0 1 0 2.829-2.829l-1.768-1.767a2 2 0 0 0 2.828-2.829l-2.828-2.828a2 2 0 0 0-2.829 2.828l-1.767-1.768a2 2 0 1 0-2.829 2.829z"></path><path d="m2.5 21.5 1.4-1.4"></path><path d="m20.1 3.9 1.4-1.4"></path><path d="M5.343 21.485a2 2 0 1 0 2.829-2.828l1.767 1.768a2 2 0 1 0 2.829-2.829l-6.364-6.364a2 2 0 1 0-2.829 2.829l1.768 1.767a2 2 0 0 0-2.828 2.829z"></path><path d="m9.6 14.4 4.8-4.8"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>4 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Work â Live â WOD</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">This article may seem like unusual content to find on the blog of a technical company like Infinity Interactive, but one of our goals here is to give you a full picture of Infinity and our employees, and we think this article by Paul Zolnierczyk, a member of our .NET/Java team, has some important things to say.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Paul Zolnierczyk</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">4/11/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/dont-call-us-a-vendor"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-handshake w-4 h-4 text-white" aria-hidden="true"><path d="m11 17 2 2a1 1 0 1 0 3-3"></path><path d="m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4"></path><path d="m21 3 1 11h-2"></path><path d="M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3"></path><path d="M3 4h8"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>3 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Don't Call Us a Vendor</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">I abhor when people treat us like âVendorsâ instead of Partners. You might think that it's merely semantics, but I would say that the words that we use to define our relationship actually help define the quality of our interactions and the philosophy and attitude of how we work together.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Jeremy Shao</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">4/3/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/spreadsheets-as-a-data-exchange-format"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-green-500 to-green-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-spreadsheet w-4 h-4 text-white" aria-hidden="true"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M8 13h2"></path><path d="M14 13h2"></path><path d="M8 17h2"></path><path d="M14 17h2"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>4 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Spreadsheets as a Data Exchange Format</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">When working with non-technical clients, often their preferred means of exchanging structured data is via spreadsheets. Using a custom tool is not always practical due to cost or training time constraints, and using a type of document that doesn't have its own standard editor (such as XML or JSON) will generally result in having to deal with malformed files on a regular basis, since these files are often edited by hand.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Jesse Luehrs</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">3/27/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/leap-motion"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-computer w-4 h-4 text-white" aria-hidden="true"><rect width="14" height="8" x="5" y="2" rx="2"></rect><rect width="20" height="8" x="2" y="14" rx="2"></rect><path d="M6 18h2"></path><path d="M12 18h6"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>5 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Leap Motion</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Leap Motion is a slick little infrared sensor unit you can buy for $80 online, or at your local Best Buy. A quick install later and you can now wave your hands in space above the unit and interact with your computer in three dimensions. I had the pleasure of working with Leap for a partner proof of concept and thought I'd give you some of my early thoughts and observations.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Jay Hannah</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">3/21/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/consuming-web-services-with-wsdl2java"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-green-500 to-green-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-braces w-4 h-4 text-white" aria-hidden="true"><path d="M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"></path><path d="M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>3 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Consuming Web Services with WSDL2Java</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">
1Working with WSDLs and SOAP by hand can be painful and time-consuming, but WSDL2JAVA takes care of the heavy lifting by generating the necessary Java classes for you. With the right setup, you can go from WSDL to a running client in just a few steps and focus on building your application instead of wrangling XML.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Paul Zolnierczyk</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">3/4/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/code-hard-dive-young"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-waves-ladder w-4 h-4 text-white" aria-hidden="true"><path d="M19 5a2 2 0 0 0-2 2v11"></path><path d="M2 18c.6.5 1.2 1 2.5 1 2.5 0 2.5-2 5-2 2.6 0 2.4 2 5 2 2.5 0 2.5-2 5-2 1.3 0 1.9.5 2.5 1"></path><path d="M7 13h10"></path><path d="M7 9h10"></path><path d="M9 5a2 2 0 0 0-2 2v11"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>5 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Code Hard and Dive Young</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Editor's note: Infinity's Notebook isn't just about our technical prowess. We also showcase some of the amazing things our team members do away from the keyboard. This week, one of our .NET developers, Alex Sparkman, writes about scuba diving in Las Vegas immediately after our company summit.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Alex Sparkman</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">2/26/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/fear-and-coding-in-las-vegas"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-red-500 to-red-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-spade w-4 h-4 text-white" aria-hidden="true"><path d="M12 18v4"></path><path d="M2 14.499a5.5 5.5 0 0 0 9.591 3.675.6.6 0 0 1 .818.001A5.5 5.5 0 0 0 22 14.5c0-2.29-1.5-4-3-5.5l-5.492-5.312a2 2 0 0 0-3-.02L5 8.999c-1.5 1.5-3 3.2-3 5.5"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>3 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Fear and Coding in Las Vegas</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Joining a fully remote team meant trading office hallways for IRC channels, but shared tools only go so far. Our annual in-person summit brings everyone under one roof to learn, connect, swap stories, and turn coworkers into real friends â with a little Vegas energy mixed in.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Rob Kopf</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">1/15/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/xamarin-an-exciting-option-for-cross-platform-mobile-development"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-purple-500 to-purple-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code w-4 h-4 text-white" aria-hidden="true"><path d="m16 18 6-6-6-6"></path><path d="m8 6-6 6 6 6"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Development</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>3 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Xamarin: An exciting option for cross-platform mobile development</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Xamarin offers a way to build true native applications while sharing a large portion of code across platforms, making it an appealing option for serious mobile development.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Sean Sparkman</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">1/13/2014</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/mitigated-speech-the-success-connection"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-amber-500 to-amber-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-messages-square w-4 h-4 text-white" aria-hidden="true"><path d="M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"></path><path d="M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>3 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Mitigated Speech: The Success Connection</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Mitigated speech can feel polite or respectful, but in collaborative and fast-moving work it often leads to confusion and missed expectations. Learning when to speak plainly, and how to create space for honest communication, helps teams avoid unnecessary risk and stay aligned.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
1ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Tracey Shirley</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">12/18/2013</span></div></div></div></a><a class="group relative bg-white/5 backdrop-blur-lg border border-white/10 rounded-3xl overflow-hidden hover:border-white/30 transition-all duration-500 hover:-translate-y-2 hover:shadow-ii-3xl cursor-pointer block" href="/resources/blog/why-do-we-exist"><div class="p-8"><div class="flex items-center gap-3 mb-4"><div class="p-2 rounded-lg bg-linear-to-br from-blue-500 to-blue-700"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-infinity w-4 h-4 text-white" aria-hidden="true"><path d="M6 16c5 0 7-8 12-8a4 4 0 0 1 0 8c-5 0-7-8-12-8a4 4 0 1 0 0 8"></path></svg></div><span class="px-3 py-1 bg-ii-light-blue-600/20 text-ii-light-blue-400 rounded-full text-xs font-bold">Culture</span><span class="flex items-center text-ii-light-blue-300 text-sm"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock mr-1" aria-hidden="true"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg>2 min read</span></div><h3 class="text-2xl font-bold text-white mb-4 group-hover:text-ii-light-blue-200 transition-colors line-clamp-2">Why do we exist?</h3><p class="text-ii-light-blue-200 mb-6 leading-relaxed line-clamp-3">Infinity wasn't built just to serve clients â it was built to be an extraordinary place for technologists who love what they do. We value creativity, curiosity, and passion above hierarchy, and this blog is your window into the minds of our kick-ass team.</p><div class="flex items-center justify-between pt-6 border-t border-white/10"><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-user text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"></path><circle cx="12" cy="7" r="4"></circle></svg><span class="text-sm text-ii-light-blue-300">Jeremy Shao</span></div><div class="flex items-center"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar text-ii-light-blue-400 mr-2" aria-hidden="true"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg><span class="text-sm text-ii-light-blue-300">11/13/2013</span></div></div></div></a></div><section class="relative bg-linear-to-br from-ii-light-blue-600/20 to-purple-600/20 backdrop-blur-lg border border-white/20 rounded-3xl p-16 text-center overflow-hidden"><div class="relative"><div class="w-16 h-16 bg-linear-to-br from-ii-light-blue-500 to-purple-500 rounded-2xl flex items-center justify-center mx-auto mb-6"><svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles text-white" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594
11.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg></div><h2 class="text-5xl font-bold text-white mb-6">Ready to Transform Your Business?</h2><p class="text-xl text-ii-light-blue-200 mb-10 max-w-2xl mx-auto leading-relaxed">Let's discuss how we can help you leverage these insights for your organization</p><a class="group relative bg-white text-ii-dark-blue-800 px-12 py-6 rounded-2xl hover:bg-ii-light-blue-50 transition-all font-bold inline-flex items-center shadow-ii-2xl text-lg hover:shadow-ii-3xl hover:-translate-y-1" href="/contact">Schedule Free Consultation<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right ml-3 group-hover:translate-x-1 transition-transform" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></section></div></div></div><!--$--><!--/$--></main><footer role="contentinfo" class="bg-gradient-to-br from-ii-dark-blue-900 via-ii-dark-blue-800 to-ii-dark-blue-900 text-white relative overflow-hidden"><div class="absolute inset-0 opacity-5"><div class="absolute inset-0" style="background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23a5e1fa' fill-opacity='0.1'%3E%3Cpath d='m0 40l40-40h-40z'/%3E%3Cpath d='m40 40v-40h-40l40 40z'/%3E%3C/g%3E%3C/svg%3E")"></div></div><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-16 relative"><div class="grid grid-cols-1 lg:grid-cols-2 gap-12 mb-12"><div><div class="mb-6"><img src="/assets/logo/20171023_ii_logo_blue.png" alt="Infinity Interactive" class="h-16 w-auto brightness-0 invert" style="filter:brightness(0) invert(1)"/></div><p class="text-gray-300 text-lg mb-6 leading-relaxed">Building technology solutions since 1998. A place for technologists created by technologists. Partner with us to transform your vision into reality.</p><div class="mb-6"><div class="text-gray-400 mb-2"><span class="font-semibold text-white">Phone:</span> <a href="tel:+18006460188" class="hover:text-ii-light-blue-300 transition-colors">800.646.0188</a></div><div class="text-gray-400 mb-2"><span class="font-semibold text-white">Email:</span> <a href="mailto:[email protected]" class="hover:text-ii-light-blue-300 transition-colors">[email protected]</a></div><div class="text-gray-400"><span class="font-semibold text-white">Location:</span> United States</div></div><div class="flex space-x-4"><a href="https://www.linkedin.com/company/infinity-interactive/" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn" class="w-10 h-10 bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center hover:scale-110 transition-transform duration-300"><svg class="text-white" width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z" fill="currentColor"></path></svg></a><a href="https://x.com/iinteractive" target="_blank" rel="noopener noreferrer" aria-label="Twitter/X" class="w-10 h-10 bg-gradient-to-br from-blue-400 to-blue-500 rounded-xl flex items-center justify-center hover:scale-110 transition-transform duration-300"><svg class="text-white" width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z" fill="currentColor"></path></svg></a><a href="https://github.com/iinteractive" target="_blank" rel="noopener noreferrer" aria-label="GitHub" class="w-10 h-10 bg-gradient-to-br from-purple-500 to-purple-600 rounded-xl flex items-center justify-center hover:scale-110 transition-transform duration-300"><svg class="text-white" width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 2C6.477 2 2 6.477 2 12c0 4.42 2.865 8.17 6.839 9.49.5.092.682-.217.682-.482 0-.237-.008-.866-.013-1.7-2.782.603-3.369-1.34-3.369-1.34-.454-1.156-1.11-1.463-1.11-1.463-.908-.62.069-.608.069-.608 1.003.07 1.531 1.03 1.531 1.03.892 1.529 2.341 1.087 2.91.831.092-.646.35-1.086.636-1.336-2.22-.253-4.555-1.11-4.555-4.943 0-1.091.39-1.984 1.029-2.683-.103-.253-.446-1.27.098-2.647 0 0 .84-.269 2.75 1.025A9.578 9.578 0 0112 6.836c.85.004 1.705.114 2.504.336 1.909-1.294 2.747-1.025 2.747-1.025.546 1.377.203 2.394.1 2.647.64.699 1.028 1.592 1.028 2.683 0 3.842-2.339 4.687-4.566 4.935.359.309.678.919.678 1.852 0 1.336-.012 2.415-.012 2.743 0 .267.18.578.688.48C19.138 20.167 22 16.418 22 12c0-5.523-4.477-10-10-10z" fill="currentColor"></path></svg></a><a href="https://www.facebook.com/iinteractive/" target="_blank" rel="noopener noreferrer" aria-label="Facebook" class="w-10 h-10 bg-gradient-to-br from-blue-600 to-blue-700 rounded-xl flex items-center justify-center hover:scale-110 transition-transform duration-300"><svg class="text-white" width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z" fill="currentColor"></path></svg></a></div></div><div><h3 class="font-bold text-white mb-4 text-lg">Services</h3><div class="space-y-3 text-gray-400"><a class="block hover:text-blue-400 transition-colors text-left" href="/services/custom-software">Custom Software Development</a><a class="block hover:text-blue-400 transition-colors text-left" href="/services/modernization">Application Modernization</a><a class="block hover:text-blue-400 transition-colors text-left" href="/services/staff-augmentation">Staff Augmentation</a><a class="block hover:text-blue-400 transition-colors text-left" href="/services/systems-integration">Systems Integration</a><a class="block hover:text-blue-400 transition-colors text-left" href="/services/managed-services">Managed Services</a><a class="block hover:text-blue-400 transition-colors text-left" href="/services/innovation-lab">Innovation Lab</a></div></div></div><div class="grid grid-cols-1 md:grid-cols-3 gap-12 border-t border-gray-800 pt-12"><div><h3 class="font-bold text-white mb-4 text-lg">Company</h3><div class="space-y-3 text-gray-400"><a class="block hover:text-blue-400 transition-colors text-left" href="/company/about">About Us</a><a class="block hover:text-blue-400 transition-colors text-left" href="/company/careers">Careers</a></div></div><div><h3 class="font-bold text-white mb-4 text-lg">Resources</h3><div class="space-y-3 text-gray-400"><a class="block hover:text-blue-400 transition-colors text-left" href="/resources/case-studies">Case Studies</a><a class="block hover:text-blue-400 transition-colors text-left" href="/resources/blog">Blog</a></div></div><div><h3 class="font-bold text-white mb-4 text-lg">Get Started</h3><div class="space-y-3 text-gray-400 mb-6"><a class="block hover:text-blue-400 transition-colors text-left" href="/contact">Contact Us</a></div><a class="w-full bg-gradient-to-r from-ii-dark-blue-800 to-ii-light-blue-600 text-white px-6 py-3 rounded-xl hover:from-ii-dark-blue-900 hover:to-ii-light-blue-500 transition-all font-bold inline-flex items-center justify-center shadow-ii-md hover:shadow-ii-lg" href="/contact">Book a Call<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right ml-2" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div><div class="border-t border-gray-800 mt-8 pt-8 text-center text-gray-400"><p>
1Infinity Interactive Copyright © 2025 - All Rights Reserved</p></div></div></footer>
1<script src="/_next/static/chunks/webpack-8e5edfd131192eda.js" id="_R_" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[2354,[\"619\",\"static/chunks/619-ba102abea3e3d0e4.js\",\"934\",\"static/chunks/934-783173bb793b19a2.js\",\"558\",\"static/chunks/app/layout-25e1711292bab2fe.js\"],\"default\"]\n3:I[9766,[],\"\"]\n4:I[8924,[],\"\"]\n5:I[8332,[\"619\",\"static/chunks/619-ba102abea3e3d0e4.js\",\"934\",\"static/chunks/934-783173bb793b19a2.js\",\"558\",\"static/chunks/app/layout-25e1711292bab2fe.js\"],\"GoogleAnalytics\"]\nb:I[7150,[],\"\"]\n:HL[\"/_next/static/media/4de1fea1a954a5b6-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/6d664cce900333ee-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/c7587f9b0917c956.css\",\"style\"]\n:HL[\"/_next/static/css/3f61c8d645f754ae.css\",\"style\"]\n"])</script>
1<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"jFyvBLxZyelRUyCrpWQfI\",\"p\":\"\",\"c\":[\"\",\"resources\",\"blog\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"resources\",{\"children\":[\"blog\",{\"children\":[\"__PAGE__\",{}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/c7587f9b0917c956.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/3f61c8d645f754ae.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"body\",null,{\"className\":\"__className_47a102\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}],[\"$\",\"$L5\",null,{\"gaId\":\"G-QP8K2C1L1K\"}]]}]]}],{\"children\":[\"resources\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"blog\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"min-h-screen bg-ii-dark-blue-900\",\"children\":[[\"$\",\"section\",null,{\"className\":\"relative bg-linear-to-br from-ii-dark-blue-900 via-ii-dark-blue-800 to-black text-white py-32 overflow-hidden\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute inset-0 overflow-hidden pointer-events-none\",\"children\":[[\"$\",\"div\",null,{\"className\":\"absolute top-1/4 -left-32 w-96 h-96 bg-ii-light-blue-600/20 rounded-full blur-3xl animate-pulse\"}],[\"$\",\"div\",null,{\"className\":\"absolute bottom-1/4 -right-32 w-96 h-96 bg-purple-600/20 rounded-full blur-3xl animate-pulse delay-1000\"}]]}],[\"$\",\"div\",null,{\"className\":\"absolute inset-0 flex items-center justify-center opacity-5 pointer-events-none overflow-hidden\",\"children\":[\"$\",\"div\",null,{\"className\":\"text-[20rem] font-bold whitespace-nowrap\",\"children\":\"BLOG\"}]}],[\"$\",\"div\",null,{\"className\":\"relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8\",\"children\":[false,[\"$\",\"div\",null,{\"className\":\"text-center\",\"children\":[[\"$\",\"div\",null,{\"className\":\"inline-flex items-center gap-2 px-6 py-3 bg-white/10 backdrop-blur-lg border border-white/20 rounded-full mb-8\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":20,\"height\"
1:20,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-book-open text-ii-light-blue-400\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1akyts\",{\"d\":\"M12 7v14\"}],[\"$\",\"path\",\"ruj8y\",{\"d\":\"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z\"}],\"$undefined\"]}],[\"$\",\"span\",null,{\"className\":\"text-ii-light-blue-200 font-semibold\",\"children\":\"Insights \u0026 Trends\"}]]}],[\"$\",\"h1\",null,{\"className\":\"text-6xl md:text-7xl font-bold pb-2 mb-4 bg-linear-to-r from-white via-ii-light-blue-200 to-white bg-clip-text text-transparent\",\"children\":\"Technology Blog\"}],\"$L6\"]}]]}],\"$L7\"]}],\"$L8\"]}],null,\"$L9\"]}],{},null,false]},null,false]},null,false]},null,false],\"$La\",false]],\"m\":\"$undefined\",\"G\":[\"$b\",[]],\"s\":false,\"S\":true}\n"])</script>
1<script>self.__next_f.push([1,"c:I[2619,[\"619\",\"static/chunks/619-ba102abea3e3d0e4.js\",\"517\",\"static/chunks/517-7b62a437b92a7b68.js\",\"774\",\"static/chunks/774-605f1dd3824d8829.js\",\"208\",\"static/chunks/208-829fa9aaa278a1ae.js\",\"613\",\"static/chunks/app/resources/blog/page-4e6437298010497a.js\"],\"\"]\nd:I[6963,[\"619\",\"static/chunks/619-ba102abea3e3d0e4.js\",\"517\",\"static/chunks/517-7b62a437b92a7b68.js\",\"774\",\"static/chunks/774-605f1dd3824d8829.js\",\"208\",\"static/chunks/208-829fa9aaa278a1ae.js\",\"613\",\"static/chunks/app/resources/blog/page-4e6437298010497a.js\"],\"default\"]\n10:I[4431,[],\"OutletBoundary\"]\n12:I[5278,[],\"AsyncMetadataOutlet\"]\n14:I[4431,[],\"ViewportBoundary\"]\n16:I[4431,[],\"MetadataBoundary\"]\n17:\"$Sreact.suspense\"\n6:[\"$\",\"p\",null,{\"className\":\"text-2xl text-ii-light-blue-200 max-w-4xl mx-auto leading-relaxed\",\"children\":\"Expert insights, industry trends, and best practices from our team of technology professionals\"}]\n7:[\"$\",\"div\",null,{\"className\":\"absolute bottom-0 left-0 right-0\",\"children\":[\"$\",\"svg\",null,{\"viewBox\":\"0 0 1440 120\",\"className\":\"w-full h-auto\",\"children\":[\"$\",\"path\",null,{\"fill\":\"#0a1628\",\"d\":\"M0,64L80,69.3C160,75,320,85,480,80C640,75,800,53,960,48C1120,43,1280,53,1360,58.7L1440,64L1440,120L1360,120C1280,120,1120,120,960,120C800,120,640,120,480,120C320,120,160,120,80,120L0,120Z\"}]}]}]\n"])</script>
1<script>self.__next_f.push([1,"8:[\"$\",\"div\",null,{\"className\":\"bg-linear-to-br from-[#0a1628] via-ii-dark-blue-900 to-black py-20\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-3 mb-12 justify-center\",\"children\":[[\"$\",\"$Lc\",\"All\",{\"href\":\"/resources/blog\",\"className\":\"px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-ii-light-blue-600 text-white shadow-lg\",\"children\":\"All\"}],[\"$\",\"$Lc\",\"Development\",{\"href\":\"/resources/blog/category/Development\",\"className\":\"px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-white/5 text-ii-light-blue-300 border border-white/10 hover:bg-white/10\",\"children\":\"Development\"}],[\"$\",\"$Lc\",\"Technology\",{\"href\":\"/resources/blog/category/Technology\",\"className\":\"px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-white/5 text-ii-light-blue-300 border border-white/10 hover:bg-white/10\",\"children\":\"Technology\"}],[\"$\",\"$Lc\",\"Team\",{\"href\":\"/resources/blog/category/Team\",\"className\":\"px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-white/5 text-ii-light-blue-300 border border-white/10 hover:bg-white/10\",\"children\":\"Team\"}],[\"$\",\"$Lc\",\"Culture\",{\"href\":\"/resources/blog/category/Culture\",\"className\":\"px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-white/5 text-ii-light-blue-300 border border-white/10 hover:bg-white/10\",\"children\":\"Culture\"}],[\"$\",\"$Lc\",\"Business\",{\"href\":\"/resources/blog/category/Business\",\"className\":\"px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-white/5 text-ii-light-blue-300 border border-white/10 hover:bg-white/10\",\"children\":\"Business\"}],[\"$\",\"$Lc\",\"Musings\",{\"href\":\"/resources/blog/category/Musings\",\"className\":\"px-6 py-3 rounded-full font-semibold transition-all duration-300 bg-white/5 text-ii-light-blue-300 border border-white/10 hover:bg-white/10\",\"children\":\"Musings\"}]]}],[\"$\",\"$Ld\",null,{}],[\"$\",\"section\",null,{\"className\":\"relative bg-linear-to-br from-ii-light-blue-600/20 to-purple-600/20 backdrop-blur-lg border border-white/20 rounded-3xl p-16 text-center overflow-hidden\",\"children\":[\"$\",\"div\",null,{\"className\":\"relative\",\"children\":[[\"$\",\"div\",null,{\"className\":\"w-16 h-16 bg-linear-to-br from-ii-light-blue-500 to-purple-500 rounded-2xl flex items-center justify-center mx-auto mb-6\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":32,\"height\":32,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-sparkles text-white\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1s2grr\",{\"d\":\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\"}],[\"$\",\"path\",\"1rf3ol\",{\"d\":\"M20 2v4\"}],[\"$\",\"path\",\"gwowj6\",{\"d\":\"M22 4h-4\"}],[\"$\",\"circle\",\"6kqj1y\",{\"cx\":\"4\",\"cy\":\"20\",\"r\":\"2\"}],\"$undefined\"]}]}],[\"$\",\"h2\",null,{\"className\":\"text-5xl font-bold text-white mb-6\",\"children\":\"Ready to Transform Your Business?\"}],[\"$\",\"p\",null,{\"className\":\"text-xl text-ii-light-blue-200 mb-10 max-w-2xl mx-auto leading-relaxed\",\"children\":\"Let's discuss how we can help you leverage these insights for your organization\"}],[\"$\",\"$Lc\",null,{\"href\":\"/contact\",\"className\":\"group relative bg-white text-ii-dark-blue-800 px-12 py-6 rounded-2xl hover:bg-ii-light-blue-50 transition-all font-bold inline-flex items-center shadow-ii-2xl text-lg hover:shadow-ii-3xl hover:-translate-y-1\",\"children\":[\"Schedule Free Consultation\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
1:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right ml-3 group-hover:translate-x-1 transition-transform\",\"aria-hidden\":\"true\",\"children\":[\"$Le\",\"$Lf\",\"$undefined\"]}]]}]]}]}]]}]}]\n"])</script>
1<script>self.__next_f.push([1,"9:[\"$\",\"$L10\",null,{\"children\":[\"$L11\",[\"$\",\"$L12\",null,{\"promise\":\"$@13\"}]]}]\na:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L14\",null,{\"children\":\"$L15\"}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]],[\"$\",\"$L16\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$17\",null,{\"fallback\":null,\"children\":\"$L18\"}]}]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"e:[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}]\nf:[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}]\n"])</script>
1<script>self.__next_f.push([1,"15:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n11:null\n"])</script>
1<script>self.__next_f.push([1,"19:I[622,[],\"IconMark\"]\n"])</script>
1<script>self.__next_f.push([1,"13:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Technology Blog | Infinity Interactive | Infinity Interactive\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Expert insights, industry trends, and best practices from our team of technology professionals\"}],[\"$\",\"meta\",\"2\",{\"name\":\"author\",\"content\":\"Infinity Interactive\"}],[\"$\",\"meta\",\"3\",{\"name\":\"keywords\",\"content\":\"custom software development, staff augmentation, managed services, application modernization, systems integration, innovation lab, technology solutions\"}],[\"$\",\"meta\",\"4\",{\"name\":\"creator\",\"content\":\"Infinity Interactive\"}],[\"$\",\"meta\",\"5\",{\"name\":\"publisher\",\"content\":\"Infinity Interactive\"}],[\"$\",\"link\",\"6\",{\"rel\":\"canonical\",\"href\":\"https://iinteractive.com/resources/blog\"}],[\"$\",\"link\",\"7\",{\"rel\":\"alternate\",\"type\":\"application/rss+xml\",\"href\":\"https://iinteractive.com/resources/blog/feed.xml\"}],[\"$\",\"meta\",\"8\",{\"property\":\"og:title\",\"content\":\"Technology Blog | Infinity Interactive\"}],[\"$\",\"meta\",\"9\",{\"property\":\"og:description\",\"content\":\"Expert insights, industry trends, and best practices from our team of technology professionals\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:url\",\"content\":\"https://iinteractive.com/resources/blog\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"12\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"13\",{\"name\":\"twitter:title\",\"content\":\"Infinity Interactive - Technology Solutions Since 1998\"}],[\"$\",\"meta\",\"14\",{\"name\":\"twitter:description\",\"content\":\"Building technology solutions since 1998. Partner with Infinity Interactive to transform your vision into reality.\"}],[\"$\",\"meta\",\"15\",{\"name\":\"twitter:image\",\"content\":\"https://iinteractive.com/assets/logo/20171024_ii_icon_pringle_chip.png\"}],[\"$\",\"link\",\"16\",{\"rel\":\"icon\",\"href\":\"/favicon.ico\"}],[\"$\",\"link\",\"17\",{\"rel\":\"icon\",\"href\":\"/favicon-16x16.png\",\"sizes\":\"16x16\",\"type\":\"image/png\"}],[\"$\",\"link\",\"18\",{\"rel\":\"icon\",\"href\":\"/favicon-32x32.png\",\"sizes\":\"32x32\",\"type\":\"image/png\"}],[\"$\",\"link\",\"19\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\"}],[\"$\",\"link\",\"20\",{\"rel\":\"mask-icon\",\"href\":\"/safari-pinned-tab.svg\",\"color\":\"#5bbad5\"}],[\"$\",\"link\",\"21\",{\"rel\":\"icon\",\"href\":\"/android-chrome-192x192.png\",\"sizes\":\"192x192\",\"type\":\"image/png\"}],[\"$\",\"link\",\"22\",{\"rel\":\"icon\",\"href\":\"/android-chrome-512x512.png\",\"sizes\":\"512x512\",\"type\":\"image/png\"}],[\"$\",\"$L19\",\"23\",{}]],\"error\":null,\"digest\":\"$undefined\"}\n"])</script>
1<script>self.__next_f.push([1,"18:\"$13:metadata\"\n"])</script>
1</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.