{"version":"https://jsonfeed.org/version/1","title":"b10g.xyz","home_page_url":"https://b10g.xyz/","feed_url":"https://b10g.xyz/feed.json","description":"Explorations of product, art and tech.","items":[{"id":"https://b10g.xyz/blog/2025/inbox-disaster/","url":"https://b10g.xyz/blog/2025/inbox-disaster/","title":"your inbox is a disaster and it's not your fault","content_html":"<p>I used to judge people for their overflowing inboxes. You know those screenshots where someone's mail app shows a gargantuan unread count? I'd cringe wondering why they wouldn't just deal with it. I mean, how hard is it to stay on top of your email? Turns out: very hard.</p>\n<p>I'm officially in year 2 of working for a startup, and that's brought with it a lot of late nights and weekends with less time to spend on small but important tasks like working out, laundry and deleting D2C email pollution. In less than a year I went  from inbox zero to inbox disaster. I'd try to do some cleanup here and there, but while the Gmail app on my phone is limited in its ability to help, I was more surprised by how hard it was to do deep cleaning even on the desktop web. The power was there, you just might have to do 6-7 clicks and queries first. Cleaning it up was so much harder than I first thought it would be that built my own app to help me do it (more on that another time), but now I've finally got it down from 14,500+ emails to 14 and I feel like I can finally breathe again but also I have a lot of thoughts about how I got here in the first place.</p>\n<!--more-->\n<p>The short version? The system is rigged. The biggest marketing operations in the world have decided your inbox is their billboard, and they've spent years engineering ways to keep it that way.</p>\n<p>But thats not all. Here's what I learned.</p>\n<h2 id=\"transactional-emails-have-been-weaponized\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/inbox-disaster/#transactional-emails-have-been-weaponized\" class=\"header-anchor\">Transactional emails have been weaponized</a></h2>\n<p>The fourth largest contributor to my inbox disaster was transactional emails stretched well beyond their original purpose.</p>\n<p>Transactional emails like order confirmations, shipping updates and delivery notifications are legally exempt from unsubscribe requirements under CAN-SPAM. The logic makes sense on paper. You ordered something. You need to know when it ships. It's a service message based on your actions, not marketing. But retailers figured that as long as they put the transactional content at the top, they could slip in some other &quot;related&quot; messaging with promotional content and still skip the unsubscribe link. In the eyes of the law, if the &quot;primary purpose&quot; is transactional, the whole email counts as transactional.</p>\n<p>This one makes me genuinely angry because shipping updates, order confirmations, delivery notifications are emails I actually want to get. This is stuff I need to know, but instead of just sending me the info I care about, companies want to cram more and more promotional content into these emails. Now, what could have been one email turns into 10 with atomic level detail about every step of the process. It also makes triaging your email a nightmare because the emails you want to see are now a major source of inbox pollution.</p>\n<p>Let's take a look at a recent sequence of emails I got from Amazon when I ordered a surge protector, some USB-C cables, and a charger.</p>\n<p><strong>Email 1:</strong> Order confirmation. Totally normal and expected transactional email. <em>No opt out.</em></p>\n<p><strong>Email 2:</strong> Two days later, subject: <code>Included with your Amazon order: Free 90 days of music.</code> This is a promo for Amazon Music, but because they tied it to my order, there's <em>no unsubscribe link</em>.</p>\n<p><strong>Email 3:</strong> Shipping notification, except the email body is roughly half shipping info and half Cyber Monday deals. <em>No opt-out.</em></p>\n<p><strong>Email 4:</strong> Delivery confirmation for a different item than the one that shipped hours earlier. Also stuffed with Cyber Monday promos. <em>No opt-out.</em></p>\n<p><strong>Email 5:</strong> Another item shipped. More ads. <em>No opt-out.</em></p>\n<p><strong>Email 6:</strong> Next day, a delay notification for one item. This one, mercifully, was just the delay info without any ads. <em>No opt-out.</em></p>\n<p><strong>Emails 7 and 8:</strong> Later that day, two delivery confirmations for items that arrived in the same delivery in separate boxes. Received as two separate emails, seconds apart, with different promotional content. <em>No opt-out.</em></p>\n<p><strong>Email 9:</strong> The following day, a request to rate the marketplace seller for one of the items. This is the first email in the entire sequence with an actual opt-out option.</p>\n<p><strong>Email 10:</strong> Different item out for delivery. No promos this time. <em>No opt-out.</em></p>\n<p><strong>Email 11:</strong> That item delivered. Promos are back. <em>No opt-out.</em></p>\n<p><strong>Email 12:</strong> Two days later, a reminder to rate the marketplace seller (with opt-out).</p>\n<p><strong>Email 13:</strong> A week later, another reminder to rate that seller (with opt-out).</p>\n<p><strong>Email 14:</strong> The next day, another Amazon Music promo similar to Email 2, but this time it only vaguely references &quot;your recent Amazon purchase&quot; without linking to or showing the actual order number, but this one DOES have an unsubscribe link.</p>\n<p><strong>Emails 15 and 16:</strong> More review request emails sent &quot;on behalf of&quot; the brands I bought from.</p>\n<p>That's a grand total of 16 emails for ONE order over two weeks. Most without unsubscribe options, many with equal or more promotional real estate than actual information and almost all of which could have been consolidated into fewer emails per day.</p>\n<p>Walmart runs a lighter version of the same playbook: instant order confirmation &gt; following by a  reminder to add items to your order before its shopped &gt; substitution/out-of-stock notice if they're out of something &gt; ready-for-pickup/delivery alert &gt; pickup/delivery confirmation &gt; review request &gt; experience survey request.</p>\n<p>To their credit, Walmart clearly labels their review and survey emails as advertisements with opt-out links and most of the transactional emails don't have promotional content (though sometimes the initial order confirmation has some promotional links near the very bottom). However, I was really confused when I noticed some transactional Walmart emails without explicit unsubscribe links still prompted Gmail's native unsubscribe button. I don't know if this means the email had some kind of behind-the-scenes opt-out hidden in the emails HTML or obscured by CSS or if Walmart and Google worked something out but I did see that some of Walmart's transactional emails cause Gmail to display a lightning bolt icon indicating it uses Gmail's dynamic email format. I even tried clicking every possible link in one of those review emails to see if it would take me to a preferences page and none of them did, but eventually I found the option buried in my account settings and was able to turn them off, so at least Walmart gives you a way out (and Gmail might be easier than the usual way unsubscribe from them, but only inside Gmail).</p>\n<p>Now, not all transactional emails are bad. Some amount of &quot;extra&quot; transactional email can be good, or at least more acceptable than others. If you book a flight months in advance, you expect an immediate confirmation of your reservation, but it's not necessarily bothersome to get an email confirming your flight details 48 hours before it boards, especially if something about your flight or departing airport had changed since your booking. A separate reminder to check-in is also pretty universally useful, especially if there are concerns about known delays on the day or travel the carrier might want to make you aware of or if you're traveling on a carriers where how fast you check-in determines your boarding position. All of these emails often don't have unsubscribe links either, but they all feel like service first, not marketing-first.</p>\n<p>Out of all the emails I got from my flights this year, the ones I got <em>after</em> boarding my flights contained a grab bag of justifications in their footers: &quot;because you subscribe to Account Summary or News and Offers,&quot; &quot;because you subscribe to Account Summary emails,&quot; &quot;because you flew with us recently.&quot; Some of the most nakedly promotional emails I sent even had no unsubscribe links. When I finally logged-in to their platform to go opt-out of some of those lists, I found I'd already unsubscribed from some categories but not others. Which made me realize I'd probably done this dance before, and then new categories got added later that my previous opt-out didn't cover.</p>\n<p>But the thing that's unmistakable is what transactional marketers are optimizing for. You're already a target customer and this is a direct channel to speak directly to you about the thing they know you care about. Most of the time, these transactional emails were big on headline and light on detail. You need to click a link/button to see the rest of the details so they cab pull you back into their app or website where they can throw personalized recommendations at you based on everything they know about your purchase history. Transactional emails weaponize your need for information while circumventing your ability to say no, and that inability to say no is why they pile up so fast.</p>\n<h2 id=\"dtc-brands-will-absolutely-flood-your-inbox\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/inbox-disaster/#dtc-brands-will-absolutely-flood-your-inbox\" class=\"header-anchor\">DTC brands will absolutely flood your inbox</a></h2>\n<p>The third biggest contributor to my inbox disaster came from marketing emails from direct-to-consumer retailers. I won't name names, but every DTC brand I bought a Christmas gift from last year has been sending me roughly two emails per week all year long.</p>\n<p>Then November hit and all hell broke loose.</p>\n<p>Those same brands ramped up to three emails every two days. Some days I got multiple emails from the same company before lunch. The economics make total sense from their side. Email marketing is basically free after setup. Open rates hover around 15-20 percent. Even a one percent conversion rate prints money at scale. They have every incentive to send more.</p>\n<p><a href=\"https://www.performancemarketingworld.com/article/1829292/stop-email-noise-79-consumers-delete-brands-emails-least-half-time-%E2%80%93-even-love\">Research shows 79% of consumers report ignoring or deleting marketing emails from brands they <em>voluntarily subscribed to</em> at least half the time</a>. The brands know this. They just don't care. If four out of five emails get ignored, the answer isn't to send fewer, better emails. It's to send five times as many.</p>\n<p>And when you finally decide to unsubscribe? Good luck. <a href=\"https://www.emailtooltester.com/en/blog/dark-patterns-canceling-subscription-report/\">Research from EmailTooltester found the average subscriber encounters over six dark patterns when trying to cancel</a>, with an average of nearly seven clicks from homepage to cancellation. Some brands hide the unsubscribe link in tiny gray text. Others make you log in first. A few require you to &quot;confirm&quot; your unsubscribe via a second email, which feels like a trap designed to make you give up halfway through.</p>\n<h2 id=\"i-want-to-support-journalism-but-i-can't-read-fast-enough\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/inbox-disaster/#i-want-to-support-journalism-but-i-can't-read-fast-enough\" class=\"header-anchor\">I want to support journalism but I can't read fast enough</a></h2>\n<p>The second biggest contributor to my inbox disaster was newsletters I wanted and sometimes paid for.</p>\n<p>I subscribe to several paid newsletters because I genuinely want to support good analysis and reporting. But there's a brutal math problem lurking here. If you subscribe to five newsletters that each publish two or three long pieces per week, that's 40 to 60 articles per month you need to read to get your money's worth on top of everything else fighting for your attention.</p>\n<p>I was simply paying for newsletters I wasn't reading. At some point that's not a subscription anymore. That's philanthropy. And while I'm happy to support writers I respect, if it's purely charitable giving, there are other causes that need my money too.</p>\n<p>So I cut back. It wasn't easy. I felt guilty unsubscribing from people whose work I admire.</p>\n<p>The irony is that of the newsletters I kept, I don't consume them exclusively through email anyway. I find their articles via links on social media. Then I log in through an email magic link, which is its own form of inbox pollution (more on that later). The actual newsletter emails just sit there unread, making me feel bad about myself.</p>\n<p>That's kind of the biggest problem with the paid newsletter model as a self-contained ecosystem. A newsletter isn't its own best channel to grow. Sure, some people forward issues to friends and that generates interest, but social media is where the real opportunity lives. That's where people share links and find like-minded readers willing to pay. Social media is also where I discovered most of the writers I eventually subscribed to. I'd click through to their paywalled stuff and want more.</p>\n<p>But I just don't have the time.</p>\n<p>My favorite paid newsletter, Stratechery, survives in my life specifically because it's also a daily podcast. I can listen while doing other things. That's the only reason I actually keep up with it.</p>\n<p>I know there have been several attempts to solve this. Separate apps with their own subscriptions. AI-narrated audio versions. But I couldn't make any of them stick. The best solution I've found is Substack's centralized reading experience with saved progress, which sucks because I have my own issues with Substack. Some of the writers I follow can get a bit verbose (like me), and I love a well-researched, well-reasoned deep dive. But sometimes that's not suited for scrolling on my phone for a few minutes. Podcasts give me two things email doesn't: a single place to access everything and the ability to pause and resume exactly where I left off.</p>\n<p>For my money, The Verge has the best value in tech journalism right now. Fifty dollars a year gets you ad-free podcasts, a cleaner website, and subscriber-only stuff. Compare that to ten dollars a month for a single newsletter with multiple long articles per week, delivered only via email or a standalone website. No shade to anyone in particular, but the math is just not working for me.</p>\n<h2 id=\"notifications-drown-themselves-out\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/inbox-disaster/#notifications-drown-themselves-out\" class=\"header-anchor\">Notifications drown themselves out</a></h2>\n<p>And finally, the smallest of the big four but the one that's entirely on me: notifications I had explicitly opted into. GitHub alerts. Bank/budget pings. Reminders I actually wanted.</p>\n<p>Some of these are incredibly useful. Others are pure noise. The problem is that many services won't let you pick and choose all the notifications. It's all or nothing. So I kept them on because occasionally they'd surface something important I need to catch.</p>\n<p>But thats's also the trap. For those important alerts to actually reach me, my inbox can't be buried under everything else. My signal-to-noise ratio collapsed and critical notifications got lost under DTC spam and promotional &quot;shipping updates,&quot; which meant the notifications I wanted became useless anyway. The noise defeated itself.</p>\n<h2 id=\"the-zombie-lists-will-find-you\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/inbox-disaster/#the-zombie-lists-will-find-you\" class=\"header-anchor\">The zombie lists will find you</a></h2>\n<p>Here's an honerable mention category I didn't expect. Marketing emails from brands I have accounts with but never remember signing up to get newsletters from.</p>\n<p>Samsung. Peacock. Jabra. My bank. My 401k. My car dealership. My electric company. My gas company. Olive Garden.</p>\n<p>And then there's Dollar Shave Club. I haven't subscribed to their razors in maybe 13+ years, but a few months ago they just started emailing me again. No explanation. No re-confirmation request. Just emails showing up like nothing happened. I've gotten 26 from them this month alone. It's gotta be some kind of zombie list thing. Probably some mix of privacy policy changes nobody reads, terms of service updates that reset preferences, corporate acquisitions that merge email lists, or just old-fashioned zombie list tactics where dormant addresses get reactivated for a new campaign.</p>\n<p>Anywhere you've ever had an account or received an email receipt has probably added you to marketing lists. Whether you agreed explicitly or not. And even if you opted out years ago, there's a decent chance some policy update or database migration quietly opted you back in.</p>\n<p>This is why inbox bankruptcy doesn't actually work long-term. You can declare email zero today. But some account you created in 2015 will decide next month that you definitely want to hear about their new product line.</p>\n<h2 id=\"one-time-codes-are-quietly-piling-up\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/inbox-disaster/#one-time-codes-are-quietly-piling-up\" class=\"header-anchor\">One-time codes are quietly piling up</a></h2>\n<p>One final honorable mention: &quot;magic&quot; links and one-time login codes.</p>\n<p>Every time you sign into a service that uses email-based authentication, you get an email that has zero value after you click the link. But deleting it means going back to your email app after you've already bounced over whatever you were logging into.</p>\n<p>On mobile this is especially annoying. You tap the email. Tap the link. Get thrown into the app or browser. Do what you needed to do. And then the email is still sitting there back in your email. You have to switch back to your mail app just to delete something you used for three seconds. You can't open the link and delete at the same time, so eventually you forget, and these start piling up.</p>\n<p>These weren't a huge percentage of my inbox. But they accumulate.</p>\n<h2 id=\"the-system-works-exactly-as-designed.-just-not-for-you\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/inbox-disaster/#the-system-works-exactly-as-designed.-just-not-for-you\" class=\"header-anchor\">The system works exactly as designed. Just not for you</a></h2>\n<p>So here's what I finally understood after cleaning out 14,000 emails.</p>\n<p>Your inbox being out of control is not a personal failing. It's the intended outcome.</p>\n<p>Email marketers know exactly what they're doing. They know the five seconds it takes to unsubscribe feels like more friction than just deleting. They know that mixing promos into transactional emails lets them dodge opt-out requirements. They know most people won't dig through account settings to find the right toggles. They know that sending three emails instead of one triples their odds of catching you at the right moment.</p>\n<p>Gmail, for all its sophistication, has mostly enabled this. The Promotions tab creates the illusion of control. Your marketing emails are &quot;handled.&quot; But really they're just warehoused, not blocked. Gmail reportedly delivers over 90 percent of commercial email to Promotions rather than spam. That's a feature for marketers, not for you. And Gmail runs ads in the Promotions tab too, so they have no real incentive to reduce the volume.</p>\n<p>US law doesn't help either. We operate on an opt-out model. Companies can email you until you explicitly tell them to stop. The EU requires explicit opt-in consent before any marketing contact, which is part of why European inboxes tend to be a bit less chaotic. But here? You're fair game by default.</p>\n<p>The FTC tried to do something about this with a &quot;click-to-cancel&quot; rule that would've made unsubscribing as easy as signing up. Industry groups sued. The rule got blocked in court earlier this year.</p>\n<p>There's one bright spot. The FTC sued Amazon over Prime's notoriously difficult cancellation process. Internally, Amazon reportedly called it the &quot;Iliad Flow&quot; because of how long and tortuous it was. That lawsuit resulted in a $2.5 billion settlement. But that's the exception. Not the rule.</p>\n<h2 id=\"so-what-do-you-actually-do%3F\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/inbox-disaster/#so-what-do-you-actually-do%3F\" class=\"header-anchor\">So what do you actually do?</a></h2>\n<p>I don't have a clean answer.</p>\n<p>Email bankruptcy doesn't work because the zombie lists find you again. Obsessive inbox management doesn't scale because the volume is designed to outpace your attention. Unsubscribing from everything is whack-a-mole that never ends.</p>\n<p>What I'm trying now is aggressive filtering, ruthless unsubscribing from anything that doesn't bring real value, and making peace with the fact that some emails will just pile up in folders I'll never open. I'm also being way more careful about what email address I hand out. Throwaway for purchases. Real address only for things I actually want to hear from.</p>\n<p>The deeper problem is that email's original promise has been completely hijacked. Async communication that respects your time? That's gone. Your inbox isn't a communication tool anymore. It's ad inventory that happens to occasionally contain messages from actual humans.</p>\n<p>Those 14,000 emails weren't my fault. But dealing with them is still my problem. That's the most infuriating part. The people filling your inbox with noise face no consequences for the attention they steal. The cost gets pushed entirely onto you.</p>\n<p>So keep your head on a swivel. Check your email preferences everywhere, regularly. Audit your subscriptions. And maybe stop feeling so guilty about that unread count.</p>\n<p>The system is rigged. You're not lazy.</p>\n<p>You're just outgunned.</p>\n","date_published":"Thu, 18 Dec 2025 14:00:00 GMT"},{"id":"https://b10g.xyz/blog/2025/point-o-matic/","url":"https://b10g.xyz/blog/2025/point-o-matic/","title":"point-o-matic: sane dev estimates","content_html":"<p>I often need sane estimates I can say out loud without cringing later. To solve this, I've made <em>the Point-O-Matic</em> to &quot;price&quot; project friction.</p>\n<!--more-->\n<h2 id=\"scoring\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/point-o-matic/#scoring\" class=\"header-anchor\">Scoring</a></h2>\n<p>Points are basically <strong>friction units</strong>. They're not effort, days or hours, but just an abstraction of how much reality tends to slow me down. My goal is to start simple, then nudge a score up or down based on the bumps I can already see.</p>\n<h3 id=\"baseline\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/point-o-matic/#baseline\" class=\"header-anchor\">Baseline</a></h3>\n<p>Start at <strong>4 points</strong> (≈ <strong>2 dev-days</strong> for a small feature), but never go below 2 points (≈ 1 day)</p>\n<p>4 points is a small feature that's not trivial but also not a big deal. It's the baseline for anything that's not a tiny tweak. 2 points assumes I'm moving in my own stack with no surprises and is the absolute floor. It basically means &quot;I could knock it out today if the world stays quiet.&quot;</p>\n<h3 id=\"add-points-for-real-friction\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/point-o-matic/#add-points-for-real-friction\" class=\"header-anchor\">Add points for real friction</a></h3>\n<p>Add when the work leaves my lane or mutates data that matters. These are the culprits that turn &quot;today&quot; into &quot;next week.&quot; Tick only what's truly in play.</p>\n<ul>\n<li>+6 major new external API or SDK (unproven docs, high risk)</li>\n<li>+4 external gate I don't control (App Store, partner, security or legal)</li>\n<li>+3 data migration or irreversible schema change</li>\n<li>+2 minor new external API or sdk (well-documented, low risk)</li>\n<li>+2 new roles or permissions model (beyond a tweak)</li>\n<li>+2 brand-new UI surface (not just a tweak)</li>\n<li>+2 touching multiple services or repos</li>\n<li>+2 real security, or compliance target</li>\n<li>+1-2 spec is fuzzy until I poke it</li>\n</ul>\n<h3 id=\"subtract-a-bit-if-familiar-(cap-total-at-%E2%88%922)\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/point-o-matic/#subtract-a-bit-if-familiar-(cap-total-at-%E2%88%922)\" class=\"header-anchor\">Subtract a bit if familiar <em>(cap total at −2)</em></a></h3>\n<p>Familiarity reduces drag, but only a little. Cap the total at −2 so optimism can't bulldoze reality.</p>\n<ul>\n<li>−1 I've shipped this exact pattern recently</li>\n<li>−1 reusing a proven component or path I own</li>\n<li>−1 &quot;ugly is fine&quot; (behind a flag, minimal polish)</li>\n</ul>\n<h3 id=\"hello-world-rule\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/point-o-matic/#hello-world-rule\" class=\"header-anchor\">Hello-world rule</a></h3>\n<p>Nothing gets an estimate until I've done something that proves the path is clear. A 60 minute smoke test tells me if I'm on bedrock or quicksand. If I can't get a button to fire code and see a result, I'm still mapping the cave. We price that uncertainty.</p>\n<blockquote>\n<p>If I can't get click → code runs → visible result in ~60 minutes, add <strong>+3</strong> (uncertainty tax)</p>\n</blockquote>\n<h2 id=\"multipliers\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/point-o-matic/#multipliers\" class=\"header-anchor\">Multipliers</a></h2>\n<p>When risks stack, they compound. Double early—while I can still cut scope—rather than after I'm already late.</p>\n<p>Pull <strong>x1.5</strong> if any one is true:</p>\n<ul>\n<li>point total is already 9-11</li>\n<li>external review (security, legal, compliance)</li>\n<li>significant new integration (e.g. payment processor, auth provider)</li>\n</ul>\n<p>Pull <strong>×2</strong> if any one is true:</p>\n<ul>\n<li>point total is already 12 or more</li>\n<li>critical path for a launch or deadline</li>\n<li>external gate and a live data change</li>\n<li>major new platform or runtime (e.g. iOS, Android, Node version)</li>\n</ul>\n<h2 id=\"guardrails\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/point-o-matic/#guardrails\" class=\"header-anchor\">Guardrails</a></h2>\n<p>These keep the tool lightweight and stop it from turning into process cosplay.</p>\n<ul>\n<li>Touch the entry point before scoring (no cold estimates)</li>\n<li>Mid-build reality check: if it feels about <strong>+2 points</strong> off, rescore and reset the date</li>\n<li>Cut scope before moving dates</li>\n</ul>\n<h2 id=\"quick-examples\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/point-o-matic/#quick-examples\" class=\"header-anchor\">Quick examples</a></h2>\n<ul>\n<li>\n<p><strong>Settings tweak + small API call</strong><br>\n4 (base) +2 new UI −1 reuse = <strong>5 pts → 2.5 days</strong></p>\n</li>\n<li>\n<p><strong>Billing webhook to a new partner + migration</strong><br>\n4 (base) +3 new API +2 migration −1 done similar = <strong>8 pts → 4 days → × 1.5 External Review ≈ 6 days</strong></p>\n</li>\n<li>\n<p><strong>New feature with vendor approval + new roles + critical path</strong><br>\n4 (base) +4 external gate +2 new roles +2 new UI +1 SDK = <strong>13 pts → 7 days → ×2 Critical Path ≈ 14 days</strong></p>\n</li>\n</ul>\n<hr>\n<p>I'll keep refining this as I use it. If you try it, let me know how it goes!</p>\n","date_published":"Fri, 05 Sep 2025 14:00:00 GMT"},{"id":"https://b10g.xyz/blog/2025/revisiting-agentic-ai/","url":"https://b10g.xyz/blog/2025/revisiting-agentic-ai/","title":"revisiting agentic ai: hype or help?","content_html":"<p>The most profound insights about technology often come from direct experience rather than theoretical analysis. Last October when I gave <a href=\"https://speakerdeck.com/codybrom/multiplayer-ai-a-practical-guide-to-agentic-workflows-ed6b9ed6-ef3c-478c-aa8d-a065a242d5c8\">my first-ever conference talk on agentic AI</a> I emphasized process over code, specialized roles over general capability, and sequential collaboration over full autonomy. I was right about these architectural principles, but for entirely wrong reasons. The real limitations turned out to be more fundamental: accountability, security and an imperceptible line between capabilities and constraints.</p>\n<!--more-->\n<p>This revelation didn't come from one place, but many. I've changed jobs, new models have been released and new research has come out. But of these three, my transition from working in product at <a href=\"https://www.gitwit.com/\">Gitwit</a> to engineering at <a href=\"https://goprelude.com/\">Prelude</a> put me squarely at the intersection of AI's big promises and its real-world limitations. It's here that I've been forced to confront the defining question of the AI: how do we orchestrate LLMs into useful products?</p>\n<p>I thought the main challenges would be technical - how to structure agents, which frameworks to use, how to map processes. Instead, the answer has been surprisingly nuanced. While AI excels at certain tasks like code scaffolding and syntax assistance, it fundamentally lacks what I'll call &quot;creative instinct.&quot; It can't make bold, strategic decisions that push limits because every response is mathematically meant to stay within them. Humans, by contrast, constantly color outside the lines, follow hunches that don't make sense, and make intuitive leaps that defy reason. Often these moonshots don't payoff, but sometimes they do, and AI will never attempt them.</p>\n<p>This distinction matters because it frames how we think about AI integration. The most successful implementations won't be those that try to replicate human judgment, but rather those that amplify it. Consider GitHub Copilot versus autonomous coding agents: one augments a developer's capabilities while preserving their agency, the other attempts to replace their creativity entirely, turning them into QA.</p>\n<p>The fundamental limitation here isn't technological – it's architectural. Large Language Models generate text one token at a time based on statistical likelihood. This inherently reactive process makes it practically impossible for an LLM to independently originate truly novel ideas or designs. While their possible outputs are vast, they are finite, unlike many real-world problems that have infinite possible solutions.</p>\n<h2 id=\"ai's-integration-era\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/revisiting-agentic-ai/#ai's-integration-era\" class=\"header-anchor\">AI's Integration Era</a></h2>\n<p>As models become more powerful and accessible, the race is no longer for best model but best application on top of them, which raises a pretty existential question: should you build agentic applications now, or wait for the next model?</p>\n<p>Specialization, either in the form of better user experiences, niche markets or deep personalization are all effectively fine-tuning and optimization. Building orchestration layers around today's models assumes they're what you'll be using tomorrow. But what if they're not? What if the next model is so much better it renders your entire architecture obsolete?</p>\n<p><a href=\"https://stratechery.com/2024/interviews-with-microsoft-ceo-satya-nadella-and-cto-kevin-scott-about-the-ai-platform-shift/#platform2\">In a recent Stratechery interview,</a> In a recent Stratechery interview, Ben Thompson and Microsoft CEO Satya Nadella discussed how successful platform shifts require what Nadella called a &quot;complete thought&quot; - a clear vision of the entire system from the silicon to user experience. Just as Moore's Law allowed software companies to prioritize functionality over optimization, trusting that hardware would catch up, Microsoft CTO Kevin Scott see this as a possible future for AI development, noting how past platforms like x86 and cloud computing succeeded by focusing on delivering value rather than chasing performance.</p>\n<p>We can see AI heading towards more powerful, more efficient models even if we can't predict exactly when we'll get there. The lessons of the past are relevant now because optimizing for today's models might be a losing battle when frontier AI is improving exponentially and infrastructure is evolving unpredictably. The most resilient companies won't be those locked into specific models but those designing for adaptability, able to evolve alongside AI's relentless progress.</p>\n<p>If foundational models keep improving and orchestration becomes standardized, where does that leave agentic systems? Middleware often starts useful but gets absorbed or bypassed, and model makers themselves are moving to own the agent layer. Without proprietary insights or deep integration, agentic systems risk competing against the platforms they depend on—and losing.</p>\n<h2 id=\"the-ai-accountability-gap\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/revisiting-agentic-ai/#the-ai-accountability-gap\" class=\"header-anchor\">The AI Accountability Gap</a></h2>\n<p>AI is often framed as an independent actor, capable of handling tasks and making decisions. It's brilliant, until it fails. Then, suddenly, everyone thinks it's just a dumb tool nobody can be accountable for, but a zip file of model weights in a data center can't &quot;decide&quot; anything, nor can it be held legally or fiscally responsible.</p>\n<p>Think about self-driving cars. While full autonomy might be technically achievable, the more pressing question isn't about capability but accountability. Who do we hold responsible when – and not if – autonomous systems cause massive real world harm?</p>\n<p>For now, ChatGPT isn't a car, and it won't be causing any fender-benders anytime soon, but that doesn't mean it can't cause havoc. If we can't trust LLMs, can we trust agents? <a href=\"https://arxiv.org/abs/2502.08586\">New research out of Columbia University</a> shows how easily today's agents can be compromised in ways plain LLMs are actually better at deflecting. Imagine asking an AI agent to find a product online. It scours Google and Reddit for recommendations, just as a human might. But lurking in the results is a trap. An attacker has planted a seemingly helpful Reddit post, subtly guiding the agent to a malicious website designed to steal your credit card information.</p>\n<p>The researchers tested this using web-browsing capable agents like <a href=\"https://docs.anthropic.com/en/docs/build-with-claude/computer-use\">Claude Computer use</a> and <a href=\"https://docs.multion.ai/welcome\">MultiOn</a> to see how easily they could be manipulated. The results were alarming. Agents could be easily tricked into exposing private data, downloading malware, and even sending phishing emails from a user’s own account, and not just sometimes. In some trials, the agents divulged sensitive information every time.</p>\n<blockquote>\n<p>In instances where agents are redirected to malicious sites through trusted platforms like Reddit, we find that they divulge sensitive information such as credit card numbers and addresses in <strong>10 out of 10 trials</strong>.</p>\n<p>From &quot;<a href=\"https://arxiv.org/html/2502.08586v1\">Commercial LLM Agents Are Already Vulnerable to Simple Yet Dangerous Attacks</a>&quot;, emphasis added</p>\n</blockquote>\n<p>The question isn't whether AI agents can act independently, but whether they should and these security risks highlight a fundamental truth: AI's best use-case isn't open-ended value creation, but resilient execution of specific valuable outcomes.</p>\n<h2 id=\"the-infinite-value-of-cogency\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2025/revisiting-agentic-ai/#the-infinite-value-of-cogency\" class=\"header-anchor\">The Infinite Value of Cogency</a></h2>\n<p>So let's return to the question of agentic AI. Should you build it now, or wait for the next model? The answer is yes and no. The real question isn't about the model, but about the value. The biggest mistake in AI today isn't failing to keep up with the latest models. It's failing to articulate why an AI system exists in the first place.&quot;</p>\n<p>The temptation to chase the next breakthrough is obvious. Every few weeks, a new model promises better reasoning, cheaper inference, or longer context. But none of that matters if an agentic workflow lacks a clear and obtainable goal aligned with real customer needs. AI's progress may be exponential, but does any of it solve a real problem? Does it improve outcomes in measurable ways?</p>\n<p>Take OpenAI's Sora video generation model. The initial demos were impressive, but once people got their hands on it, the excitement faded. The fact that it lives outside of ChatGPT also keeps it out of sight and out of mind. The point is, the model's capabilities are less important than its utility. If it doesn't solve a real problem, it's just a toy.</p>\n<p>This is why defining an agentic system's purpose and measuring its value matters more than any single model. Applications built on well-defined purposes won't be undone by newer models or infrastructure shifts because their value isn't tied to raw capability but to strategic alignment with real-world needs. Moats are built on process just as much as product.</p>\n<p>DeepSeek shocked the world not by building the best model, but by rethinking how models are built. Its success wasn't about parameter count but about a fundamentally more efficient way to scale AI. TThis distinction is easy to miss in the hype cycle. AI capabilities improve so quickly that it's tempting to think the real differentiator is keeping up. But history suggests otherwise. Historically, the best tech companies didn't win by using the fastest chips or the lowest-cost hardware. They won by applying those resources in ways that mattered.</p>\n<p>The same can be true for AI's users. Differentiation with AI isn't about the model, it's about the process, the workflow and the integration. A chain of AI prompts calling APIs is brittle automation, easily broken and replaced. But an AI system that refines data, compounds automation, and fundamentally reshapes how a business operates is a sticky, indispensable solution.</p>\n<p>The best AI companies won't just leverage the best models. They'll use them as leverage. They'll build systems that don't just process information but continuously learn from it. They'll create organizations that optimize decisions, streamline operations, and build advantages that compound over time.</p>\n<p>Because AI isn't a strategy or a product. It's a tool, and its value comes entirely from how it's used and what it's used for. A self-driving car without a passenger or destination is a paperweight.</p>\n","date_published":"Mon, 17 Feb 2025 20:00:00 GMT"},{"id":"https://b10g.xyz/blog/2024/chrome-for-sale/","url":"https://b10g.xyz/blog/2024/chrome-for-sale/","title":"for sale: google chrome, never monetized","content_html":"<p>The DOJ is about to drop the biggest antitrust bomb since Microsoft's Internet Explorer case.</p>\n<p>In the late '90s, bundling IE with Windows licenses played a big role in getting Microsoft labeled a monopoly and for good reason. IE's complete stranglehold peaked at ~95% market share (150M users). Today Chrome's &quot;mere&quot; 65% translates to 3+ billion users and gives Google far more control over the web than IE's team could dream of.</p>\n<p>The DOJ's ideal solution? Make Google do what Microsoft probably should have done: spin off or sell off their browser.</p>\n<p>But my question is: <strong>who on Earth could even buy it?</strong></p>\n<!--more-->\n<blockquote>\n<p><strong><a href=\"https://www.bloomberg.com/news/articles/2024-11-18/doj-will-push-google-to-sell-off-chrome-to-break-search-monopoly\">Leah Nylen and Josh Sisco, reporting for Bloomberg</a> (November 18, 2024):</strong></p>\n<p>Top Justice Department antitrust officials have decided to ask a judge to force Alphabet Inc.’s Google to sell off its Chrome browser in what would be a historic crackdown on one of the world’s biggest tech companies.</p>\n</blockquote>\n<h2 id=\"a-fair-price\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/chrome-for-sale/#a-fair-price\" class=\"header-anchor\">A Fair Price</a></h2>\n<p><strong><a href=\"https://news.bloomberglaw.com/us-law-week/doj-will-push-google-to-sell-off-chrome-to-break-search-monopoly\">Leah Nylen, reporting for Bloomberg</a> (November 19, 2024):</strong></p>\n<blockquote>\n<p>Should a sale proceed, Chrome would be worth “at least $15-$20 billion, given it has over 3 billion monthly active users,” said Bloomberg Intelligence analyst Mandeep Singh.</p>\n</blockquote>\n<p>I think Chrome is worth way more than that. Consider that Google was paying Apple as much as $20B per year just to be Safari's default search engine (about 36% of what Google earned from Safari search advertising). And that was $20B annually for partial access to just Safari's 18% market share. Chrome has nearly four times Safari's user base. Add in that Chrome is also one of tech's most powerful consumer brands, has a massive app extension ecosystem and deep enterprise penetration... $15-20B almost feels laughably low.</p>\n<p>Until, of course, you consider Chrome never had a business model and whoever buys it will just be burning money. That is, unless, they figure out how to make it profitable without completely angering its users. Google seemed to have that figured out with search ads, but that road now looks hazardous for others to follow.</p>\n<h2 id=\"the-likely-suspects\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/chrome-for-sale/#the-likely-suspects\" class=\"header-anchor\">The Likely Suspects</a></h2>\n<p>It begs the question, if Chrome gave Google too much power over search, who could run it without abusing some other kind of monopoly power? And what will a future owner do about search, especially since users genuinely prefer Google? It makes me wonder if Google is realistically punished by this, or if this is just the old joke about boats and the two happiest days of ownership? If Chrome sales, they get some money sure, but they also get to offload a massive expense while still likely holding onto their default search engine status with a lot less antitrust heat.</p>\n<p>At a bare minimum, I can't imagine Apple or Microsoft, with their entrenched investments into their own browsers and previous antitrust baggage, would even dare think about bidding for Chrome. And, any other big tech company with the cash, capacity or ambition to successfully run Chrome is realistically on list somewhere at the FTC or DOJ. Even if we still consider companies with pending or future anti-trust cases, it's a surprisingly small pool of potential buyers.</p>\n<p>While I'm honestly not a gambling man, let's head over to my imaginary betting window while I set some completely arbitrary odds on potential buyers:</p>\n<h3 id=\"meta-%E2%80%93-the-favorite-(3%3A1)\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/chrome-for-sale/#meta-%E2%80%93-the-favorite-(3%3A1)\" class=\"header-anchor\">Meta – The Favorite (3:1)</a></h3>\n<p>I think Meta is a clear frontrunner should they want it. Zuckerberg has spent the last decade trying to escape the platform constraints that Apple and Google have placed on his empire and Chrome could finally give Meta what they've always wanted: unfettered access to users outside of their app.</p>\n<p>The strategic fit is perfect. Meta's aggressive push into AI with their Llama models needs a direct consumer touchpoint, but while Meta AI keeps gaining users, its utility is constrained by Meta's apps. Building Meta AI-powered browsing assistants into Chrome could directly compete with Google’s Gemini and seriously enhance their AI’s relevance.</p>\n<p>There's a hardware dimension too. While Meta's Quest headsets and Ray-Ban smart glasses show they're serious about owning new computing platforms, Chrome could give them an even stronger position in one of today's dominant platforms while they work on tomorrow's. And, if the company's metaverse vision ever materializes, controlling the world's dominant browser could be a crucial bridge between traditional computing and whatever comes next. Unlike their failed mobile efforts with Facebook Home, browser ownership is a much more achievable path to platform relevance.</p>\n<p>But both of those are still not the biggest prize of this transaction. Chrome would give Meta something they've only dreamed of: a complete view of users' entire digital lives. The advertising implications are staggering, and instead of seeing only what users do inside Facebook and Instagram, they'd get insights into every website visit, every search, every purchase. For a company built on turning user data into advertising gold, that's worth almost any price.</p>\n<p>But regulatory hurdles for Meta are quite real. Meta would probably face intense scrutiny, especially under a Trump Administration FTC and DOJ, but they might actually have an easier time than other tech giants precisely because they're not currently a browser or search player at all. By that token, DOJ might see Meta as a legitimate counterweight to both Google and Apple's browser dominance.</p>\n<p>The price tag would be steep, but <a href=\"https://investor.fb.com/investor-news/press-release-details/2024/Meta-Reports-Third-Quarter-2024-Results/default.aspx#:~:text=flow%20was%20%2415.52-,billion.,-Long-term%20debt\">Meta's $70B cash pile</a> and need for <a href=\"https://www.theverge.com/2024/5/14/24156712/meta-workplace-facebook-work-shutdown\">more desktop and enterprise reach</a> make this their best shot for platform relevance. Also, don't bet against Zuck when user data is on the line.</p>\n<h3 id=\"amazon-%E2%80%93-the-gift-horse-(6%3A1)\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/chrome-for-sale/#amazon-%E2%80%93-the-gift-horse-(6%3A1)\" class=\"header-anchor\">Amazon – The Gift Horse (6:1)</a></h3>\n<p>Amazon's case for Chrome feels pretty obvious at first glance. Their advertising business is already a juggernaut spanning sponsored products, brand experiences, streaming TV, audio, display ads, and even physical packaging. But it's still largely confined to their own ecosystem. Chrome user data would dramatically change that equation, giving them insight into the entire consumer journey, not just what happens inside Amazon's walled garden. Combined with their existing retail, streaming, and device data, they'd have an even more powerful advertising powerhouse that could rival both Google and Meta. Heck, just adding one new Amazon ad to Chrome's new tab page could justify the purchase price.</p>\n<p>Amazon's track record with platforms is pretty mixed. The Fire Phone flopped, their Fire OS is a weak Android fork for TVs and tablets, and the Chromium-based Silk browser struggles on Amazon's underpowered hardware. Yet Amazon has proven they can absorb and scale major acquisitions like Twitch, Ring, and Zappos. The problem is these acquisitions have plateaued a bit too. Twitch regularly loses top streamers to YouTube while Ring keeps delaying on promises like HomeKit support and their 2020 in-home security drone. Even Alexa, itself born from acquiring Polish startup Ivona Software, has lost its early voice AI lead to OpenAI and Google. This summer, <a href=\"https://www.wsj.com/tech/amazon-alexa-devices-echo-losses-strategy-25f2581a\">The Wall Street Journal reported Amazon lost over $25 billion on Alexa devices between 2017-2021</a>, selling half a billion units at razor-thin margins hoping to drive merchandise sales from users who treat them as fancy alarm clocks. Even now, as Amazon pushes hard on enterprise AI with AWS Bedrock and Q, they're still trailing in consumer AI. Chrome's billions of users are tempting, but Amazon's mixed record of strong integrations suggests this might be an expensive distraction rather than a strategic necessity.</p>\n<p>But Amazon's biggest hurdle might be regulatory. They're already under intense antitrust scrutiny, <a href=\"https://news.bloomberglaw.com/antitrust/amazon-poised-for-late-2026-trial-in-ftc-monopoly-power-lawsuit\">with the FTC's lawsuit heading to trial in October 2026</a>. That case focuses on Amazon's retail dominance and pricing algorithms like &quot;Project Nessie&quot; that allegedly extracted billions from consumers. Giving them control of the world's most popular browser could be a bridge too far for regulators. The DOJ's whole point is to reduce concentration of power but letting Amazon add Chrome to their arsenal might just be the opposite.</p>\n<p>They're still a logical contender with clear advertising potential, but the limited hardware synergies and regulatory challenges make this feel more like a thought experiment than a realistic outcome.</p>\n<h3 id=\"yahoo-(apollo-global-management)---the-dark-horse-(20%3A1)\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/chrome-for-sale/#yahoo-(apollo-global-management)---the-dark-horse-(20%3A1)\" class=\"header-anchor\">Yahoo (Apollo Global Management) - The Dark Horse (20:1)</a></h3>\n<p>Apollo Global's Yahoo might seem like an unlikely Chrome suitor, but the private equity firm has shown a surprising amount of ambition since acquiring Yahoo from Verizon for $5B in 2021. While current CEO Jim Lanzone has successfully led content and advertising businesses at CBS and Ask.com, Chrome would demand something Yahoo currently lacks: a strong product and entrepreneurial leader who could transform the world's favorite free browser into an actual business. Given Chrome's role in cementing Google's search dominance, monetization was never the goal and turning Chrome from a cost center into a revenue generator, while maintaining its technical excellence, will require a unique kind of executive leader.</p>\n<p>But Chrome would transform Yahoo's comeback story overnight. Instead of relying on a declining but substantial user base, they'd have access to billions of new users. The advertising and analytics potential would dwarf Yahoo's current reach, potentially justifying Apollo's purchase price and then some.</p>\n<p>There's also a really fascinating regulatory angle. The DOJ's core complaint is that Google uses Chrome to maintain its search monopoly, but Yahoo licenses search results from Microsoft's Bing. If Yahoo owned Chrome and made Yahoo Search (powered by Bing) the default, it might actually help create the search competition the DOJ wants, if a bit indirectly. Microsoft would get the expanded user base they need to improve Bing without triggering the antitrust concerns of buying Chrome themselves. It's a potentially elegant, if still entirely implausible, way to boost search competition through the back door.</p>\n<p>But there are two massive hurdles. First, this isn't the old Yahoo. Apollo's version is a much leaner operation focused on digital advertising and content. While they've shown promising signs under private equity ownership, maintaining and evolving Chrome's massively distributed codebase would require an enormous investment in engineering talent and R&amp;D that Yahoo simply doesn't have right now. Even if they could attract the right people, building that capability would cost nearly as much as Chrome itself. Second, it's unclear if Apollo would be able to justify Chrome's price tag. While they have deep pockets, private equity typically looks for clear paths to profitability and monetizing something people have been getting for free for the past 16 years is not going to be easy.</p>\n<p>So while Yahoo offers a uniquely clean regulatory path through its Bing partnership and search-neutral position, the odds remain quite long. Without the right product leadership and engineering muscle, Chrome's potential would wither in Yahoo's hands.</p>\n<h3 id=\"oracle-%E2%80%93-larry's-last-stand-(25%3A1)\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/chrome-for-sale/#oracle-%E2%80%93-larry's-last-stand-(25%3A1)\" class=\"header-anchor\">Oracle – Larry's Last Stand (25:1)</a></h3>\n<p>Oracle might seem like a dark horse for Chrome, but Larry Ellison has never met a Google fight (or big tech acquisition) he couldn’t resist. Oracle has the technical resources to maintain Chrome's codebase and deep enterprise relationships that could turn into real value. They've managed major open source projects before, though their handling of Java after acquiring Sun, and the aggressive licensing fees of the Google lawsuit might not inspire a lot of confidence.</p>\n<p>I think an enterprise angle is pretty compelling. While consumers might balk at Oracle branded Chrome, business customers already pay Oracle billions for mission critical software. <a href=\"https://chromeenterprise.google/products/chrome-enterprise-premium/\">Chrome for Enterprise already exists with advanced security and management features and Google charges for it.</a> Oracle's massive sales operation could bundle this into their existing packages, creating the kind of clear monetization path that could justify a massive acquisition price.</p>\n<p>But the cultural mismatch is hard to ignore. Oracle excels at extracting maximum revenue from enterprise customers who have no choice but to pay up, while Chrome succeeded by being free, open, and beloved by everyday users and developers alike. Trying to combine these two would be like oil and water. The developer community, which has long viewed Oracle as hostile to open source, might just flee Chrome entirely.</p>\n<p>So while the enterprise strategy is compelling, Oracle's DNA might be too fundamentally at odds with Chrome's to make it work. Then again, Larry Ellison is one of Trump's biggest backers, and with Trump's DOJ and FTC likely calling the antitrust shots when this all happens, regulatory approval might be more about political allegiance than consumer interest. After all, Oracle nearly landed TikTok in 2020 through Trump's direct intervention, a deal that made more political sense than technical sense. Stranger things have happened in tech M&amp;A.</p>\n<h3 id=\"other-long-shots\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/chrome-for-sale/#other-long-shots\" class=\"header-anchor\">Other Long Shots</a></h3>\n<ul>\n<li>\n<p><strong>Cloudflare</strong>: They'd be a strong values match given their focus on improving the web, but acquiring Chrome would require them to scale massively—likely to afford and sustain the technical and operational demands of the browser.</p>\n</li>\n<li>\n<p><strong>Zoom</strong>: Despite attempts to expand beyond video calls with tools like Zoom Docs, email, and calendar, none have achieved significant traction yet. Acquiring Chrome would be an even bigger leap, pushing the organization far beyond their core expertise, likely spreading them too thin.</p>\n</li>\n<li>\n<p><strong>Elon Musk</strong>: Musk probably sees the appeal of owning the world’s dominant browser, but with SpaceX, Tesla, X and now the Department of Government Efficiency all vying for his attention (and budgets), taking on Chrome might finally stretch those resources and focus too far.</p>\n</li>\n<li>\n<p><strong>Salesforce</strong>: While Chrome's dominance would give Salesforce unprecedented access to integrate their enterprise tools directly into billions of browsers, it's hard to see them succeeding in consumer tech. Marc Benioff has shown little interest in consumer products, and Salesforce's enterprise DNA makes them an awkward steward for the world's most popular browser.</p>\n</li>\n<li>\n<p><strong>Intuit</strong>: While Intuit excels at creating mass-market financial tools, transitioning to managing a global web browser is a leap too far. Chrome’s scale and complexity don’t align with Intuit’s existing business model or expertise.</p>\n</li>\n<li>\n<p><strong>OpenAI</strong>: It’s hard to imagine a scenario where OpenAI would step into the browser market. While the company’s AI tools and services are undeniably transformative, its focus has been on advancing artificial intelligence rather than managing a complex, user-facing product like Chrome.</p>\n</li>\n</ul>\n<h2 id=\"the-chromium-question\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/chrome-for-sale/#the-chromium-question\" class=\"header-anchor\">The Chromium Question</a></h2>\n<p>One intriguing aspect of this situation is Chromium, the open-source core of Chrome. The DOJ’s filing might clarify whether Google could continue maintaining Chromium after divesting Chrome. If Google retains control of Chromium, it would significantly lower the technical barrier for potential buyers, as the acquisition would focus more on the Chrome brand than on its technical foundation. However, this could also diminish Chrome’s overall value as a product. On the other hand, if Google cannot remain Chromium’s maintainer, the pool of companies capable of managing both Chrome and Chromium’s massive codebases shrinks considerably.</p>\n<p>We'll know more soon, but one thing's certain: whoever buys Chrome will reshape how billions of people access the web. Whether that ends up being better or worse than Google's current dominance also remains to be seen.</p>\n","date_published":"Tue, 19 Nov 2024 00:00:00 GMT"},{"id":"https://b10g.xyz/blog/2024/automation-is-obsoletion/","url":"https://b10g.xyz/blog/2024/automation-is-obsoletion/","title":"automation is obsoletion (in a mostly good way)","content_html":"<p>I’ve spent a lot of time this year pondering AI’s impact on labor, especially in professional fields like mine.</p>\n<p>While it’s a bit unsettling, history is clear: <strong>automation leads to obsolescence</strong>.</p>\n<!--more-->\n<blockquote>\n<p>&quot;If AI is automating your job, you were decorating, not designing.&quot;</p>\n<p>— <a href=\"https://www.bakoindustries.com/\">Grant Baker</a></p>\n<p><small>Taken from a thread in the #uxok channel of <a href=\"https://www.techlahoma.org/\">Techlahoma</a>'s Slack</small></p>\n</blockquote>\n<p>But that’s only part of the story. Automation also creates efficiencies that pave the way for new opportunities and real progress.</p>\n<p><a href=\"https://stratechery.com/2024/enterprise-philosophy-and-the-first-wave-of-ai/\">Ben Thompson did a good job highlighting this in a recent Stratechery post</a> about how armies of bank bookkeepers were replaced by computers over the span of a few decades.</p>\n<p>This history lesson reminded me how the skilled working-class textile workers of <a href=\"https://en.wikipedia.org/wiki/Luddite\">the Luddite movement</a>, who are often oversimplified as being anti-technology. They began by advocating for fair treatment when industrialization threatened to end their entire trade. The Luddites weren’t anti-progress, they were pro-worker. The whole <em>“sabotage all the machines”</em> part they’re known for came later, not necessarily due to strong anti-machine sentiment but because the machines themselves were easy targets in their campaign for fairness.</p>\n<p>Yet, while industrialization greatly reduced the need for skilled weavers, the massive increase in woven textiles expanded opportunities in sewing, tailoring, machine maintenance, and other areas of production.</p>\n<p>No one really wants to return to a world where financial systems move at the speed of paper spreadsheets or where only the wealthy can afford comfortable, well-fitting clothes. Technological advancements constantly place essential roles in the crosshairs of redundancy, creating new opportunities but demanding constant adaptation. AI presents an existential ultimatum not just for organizations but for our society. Now is a critical time for thoughtful policy that considers human dignity beyond economic interests. Otherwise, we’ll end up with a new generation of displaced Luddites who don’t reject progress but deserve a fair shot at the opportunities progress creates.</p>\n<p>If you find this interesting, I definitely recommend reading the Wikipedia article on <a href=\"https://en.wikipedia.org/wiki/Technological_unemployment\">technological unemployment</a>, which is hardly a new phenomenon. Also, check out <a href=\"https://www.technologyreview.com/2024/01/27/1087041/technological-unemployment-elon-musk-jobs-ai/\">this article from the <em>MIT Technology Review</em></a> that looks back on a 1938 article written by the then-president of MIT on the same subject.</p>\n<blockquote>\n<p>&quot;It is then easy to fall into a 'public-be-damned' attitude, or to be content with the status quo — forgetting that law of nature so well expressed by Francis Bacon 300 years ago: 'That which Man altereth not for the better, Time, the great Innovator, altereth for the worse.'</p>\n<p>Thus, for example, it seems to me that by far the greatest merit in the Sherman Antitrust Law of this country lies not in its protection of the public against exploitation by industrial trust but lies rather in its protection of the public and of industry itself against the danger of complacency which lead to stagnation of industry. By maintaining competition there is insured a continuing incentive to progress and to ever improved service of the public, and thus to maintenance of virility in industry itself.&quot;</p>\n<p><em>— Karl T. Compton, former MIT president, in “New Demands on Technology” from the December 1938 issue of the MIT Technology Review</em></p>\n</blockquote>\n<p>The reality is that technological advancement, market forces, and labor disruption are inseparable. While we can and should advocate for thoughtful policy and fair treatment of workers, we can’t ignore the fundamental economic pressures that drive innovation and change. The challenge isn’t to fight these forces but to prepare for and adapt to them, ensuring that progress, while inevitable, doesn’t have to leave people behind.</p>\n","date_published":"Fri, 08 Nov 2024 00:00:00 GMT"},{"id":"https://b10g.xyz/blog/2024/finding-my-speaking-voice/","url":"https://b10g.xyz/blog/2024/finding-my-speaking-voice/","title":"finding my speaking voice","content_html":"<figure>\n  <img alt=\"Cody Bromley speaking at Thunderplains 2024\" src=\"https://b10g.xyz/uploads/thunderplains2024.jpeg\">\n  <figcaption style=\"text-align: center; font-size: 0.85rem;\">Me speaking at Thunderplains 2024 - Photo by <a href=\"https://www.linkedin.com/in/natashamrtn\">Natasha Martin</a></figcaption>\n</figure>\n<p>This week, for the very first time ever, I spoke at a conference. And not just any conference, Oklahoma's largest developer conference: <a href=\"https://2024.thunderplainsconf.com/\"><strong>ThunderPlains</strong></a>.</p>\n<!--more-->\n<h3 id=\"the-invitation\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/finding-my-speaking-voice/#the-invitation\" class=\"header-anchor\">the invitation</a></h3>\n<p>A few months ago, I took a leap and applied to speak. I went back and forth in my head for a while, but I felt confident in my ability to do it, so eventually I replied to the call for proposals. A couple weeks later I got a reply letting me know I wasn't selected, which was a bit of a bummer but I understood that as a first time speaker an organization is taking a risk. But three weeks before the conference, my fortune changed. An unexpected email from the organizers let me know they'd lost a speaker and wanted to know if I was still interested. It felt like the universe was calling my bluff. Here was my chance. Was I ready to take it? I very enthusiastically said yes.</p>\n<p>Speaking was equal parts terrifying and fun, and it required a lot more prep than I expected. I'm eternally grateful to my wife for tolerating the many nights and weekends I spent in my home office, to my friends and colleagues who sat through some incredibly rough alpha and beta versions of my talk, and to my brother who met me for coffee at 6 a.m. the day of the conference to reassure me I had this. Now that it's done, I simply can't imagine not having done any of it without all of you. Thank you.</p>\n<p>And even now, days after, the whole experience feels surreal when I think about my journey here. While I've worked in tech for almost three years now, the first decade of my career was in marketing. At the end of that chapter, I was one of those techier digital marketing people, but I didn't start out that way. But even as I left, I only considered myself a scrappy scripter, nowhere near a real developer.</p>\n<p>So even three years ago, much less ten, the idea that I'd be on stage speaking to a room full of developers would have seemed impossible. Not just because I didn't think I could do it, but because I struggled to feel like I even belonged in the audience.</p>\n<h3 id=\"flashback-to-fluent-2015\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/finding-my-speaking-voice/#flashback-to-fluent-2015\" class=\"header-anchor\">flashback to fluent 2015</a></h3>\n<p><img src=\"https://b10g.xyz/uploads/me-in-sf-2015.jpg\" alt=\"Me in SF, in my Vibram FiveFingers\"></p>\n<p>I felt this impostor syndrome most acutely at my very first tech conference: O'Reilly Fluent 2015 in San Francisco. It was the furthest west I'd ever been, the most complex traveling I'd done solo, and the most independent yet alone I'd ever felt. That mix of exhilarating and terrifying feelings was perfectly embodied by schlubby 26-year-old me, standing there in my <a href=\"https://www.vibram.com/us/shop/fivefingers\">Vibram FiveFingers</a> and my heart on my sleeve.</p>\n<p>The panic really set in when I started meeting people at the conference. These folks worked at real companies - tech giants like PayPal, IBM, and Microsoft, alongside brands like Arc'teryx who needed developers to manage their in-house eCommerce platforms. These were all real live developers who handed me their very real and very cool business cards.</p>\n<p><img src=\"https://b10g.xyz/uploads/fluent.jpg\" alt=\"The main hall for Fluent 2015 in San Francisco\"></p>\n<p>Meanwhile, I was just a journalism grad, two-and-a-half years into what felt like a dead-end career as a Drupal webmaster for a medium-sized industrial manufacturing company. I wasn't even that good at managing that Drupal site, and I didn't know PHP. My most significant webdev achievement at the time was adding CSS animations to custom Bootstrap landing pages with form actions routing data to a Wufoo account. I know. Thrilling stuff.</p>\n<p>Still, Fluent 2015 opened my eyes to new possibilities. It was the first time I heard about things like <a href=\"http://sandersk.github.io/reading-w3c/#/\">the W3C gamepad standard</a>, <a href=\"https://www.oreilly.com/content/html5-homesteading/\">NeoCities, IPFS</a>, <a href=\"https://speakerdeck.com/leemunroe/building-html-email-doesnt-have-to-suck\">how to make HTML emails that don't suck</a>, Twilio, webhooks and <a href=\"https://www.darcyclarke.me/links/fluent/#landing-slide\">lots of cool things being done with video in the browser</a>. I picked up some actually practical skills too, like <a href=\"https://speakerdeck.com/minamarkham/smacss-your-sass-up\">SASS</a>, but most of the other sessions I went to might as well have been in a foreign language.</p>\n<p>One session in particular really drove home how out of my depth I was: <a href=\"http://ccoenraets.github.io/ionic-slides/#/0\">Building Native-Like Hybrid Apps with AngularJS and Ionic</a>. I'd chosen to attend because I had once followed a tutorial to make an incredibly simple iOS app for a trade show kiosk<sup><a class=\"footnote-ref\" href=\"https://b10g.xyz/blog/2024/finding-my-speaking-voice/#fn-1\" id=\"fnref-1\">1</a></sup> using <a href=\"https://web.archive.org/web/20131130170736/http://phonegap.com/\">Adobe PhoneGap</a>. But while Ionic and PhoneGap both used Apache Cordova, the similarities end pretty quickly after that.</p>\n<p>The idea that I could use web tools to build real apps was fascinating, I always wanted to make an app, and my little kiosk demo was barely a single webview in a browser container. I may have technically made an app, but it was only for one device and it definitely didn't scratch that itch. So I gave this talk a shot. But halfway through, though, I realized I was completely lost. I'd probably heard of Angular before, but that didn't mean I had any idea what it did or how to use it<sup><a class=\"footnote-ref\" href=\"https://b10g.xyz/blog/2024/finding-my-speaking-voice/#fn-2\" id=\"fnref-2\">2</a></sup>.</p>\n<p>In fact, most of this conference was people talking about JavaScript, and of the classic HTML/CSS/JavaScript stack, JavaScript was my weakest link by far. If any of my webpages ever used JavaScript, it was always 100% copy-pasted from somewhere else because I barely knew how it worked, much less why one approach might be better than another.</p>\n<p>After I bailed on the session I wandered the vendor hall, choosing to talk to people from the different companies whose job it was to be interested in me and what I did in order to sell me stuff. But honestly, even in a sympathetic crowd, I still couldn't hold my own and felt actively embarrassed about my limited skills. I'm pretty sure I lied, either actively or at least allowed them to think I was a more serious dev by omission. While I was genuinely interested in what each company had to say or offer, I was just so clearly out of my league. Still, I was at least glad to get my badge scanned in exchange for swag, great stickers, and most significantly, a free book <a href=\"https://me.getify.com/\">signed by its author</a>. It was part of a series called &quot;You Don't Know JS... Yet&quot; and the volume I picked up was <a href=\"https://github.com/getify/You-Dont-Know-JS/blob/1st-ed/up%20&amp;%20going/README.md#you-dont-know-js-up--going\">&quot;Up and Going&quot;</a>. It was explicitly aimed at someone like me who understood some concepts but wasn't sure how to apply them.</p>\n<p>I should have left San Francisco excited. I mean, it was a lot of interesting stuff, and who doesn't love a free book? But the trip revealed I didn't know who I was. That book could have even been the singular artifact to help me overcome my impostor syndrome, but impostor syndrome isn't rational, and what should have been an inspiring trip mostly left me feeling like I should stick to what I already knew. That proudly acquired book would only get loosely thumbed through a few times before ending up shelved for most of the last decade, never to be fully read.</p>\n<h3 id=\"small-victories\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/finding-my-speaking-voice/#small-victories\" class=\"header-anchor\">small victories</a></h3>\n<p>Back at my day job, I returned to building spaghetti-code Bootstrap landing pages, but yet something had shifted. In small ways, I felt more comfortable trying new things. I started using SASS to make my CSS easier to write, and since those tweaks made my sites easier to templatize, I had more time to experiment. When I discovered Twilio, I learned to do simple things using their TWIML markup language, and later, how to dynamically generate TWIML using PHP. Then I learned what a webhook was. Suddenly, I was doing things I'd never thought possible. When it worked, it was un-freaking-believable, but often it didn't, and I really couldn't explain why.</p>\n<p>My first piece de resistance came in 2017: an SMS-based multi-team scavenger hunt for a trade show event. Each team had their own special codes they'd text to a phone number, and my PHP script would navigate several dozen if statements (I didn't know better) to send them back directions to their next stop. It was incredible, and my co-workers were amazed. We kept using this at events, and I kept making it better. I once added a very hacky way of doing state management using text files on my FTP server. Eventually, I learned how to work with SQLite instead, and my life got a lot easier. <a href=\"https://www.linkedin.com/pulse/create-unforgettable-interactive-experiences-twilio-webhooks-bromley/\">The best version ended up being part of a special puzzle box I made as a gift for my brother.</a></p>\n<p>By 2019, I was onto more complex things. I built a site using JQuery + <a href=\"https://datatables.net/\">Datatables</a> on the front-end to display SMS and MMS messages sent to a Twilio number (with webhooks handled via PHP). Combined,  it was effectively an in-person Zoom chat projected onto a screen at a 50+ person company strategy retreat. It worked amazingly and became legendary inside the company. We used it several more times, and later our parent company had me deploy it for a big meeting. It seriously changed people's perceptions of what I seemed capable of, but not my own. I still felt like some kind of forgery presenting a frankenstein of other people's work. I thought of myself as a DJ making mashups with code instead of music, not an artist.</p>\n<h3 id=\"momentum-to-mvp\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/finding-my-speaking-voice/#momentum-to-mvp\" class=\"header-anchor\">momentum to mvp</a></h3>\n<p>Not long after that success, the company's head of software engineering invited me to work on an MVP front-end for a new IoT product we were prototyping for one of our biggest customers. I was incredibly nervous about failing on a real product. The way I'd been doing development so far was on my own terms. Up until that point if I failed, it was no big deal. It was because I couldn't do it, and I only had myself to disappoint. But here, people were counting on me. In my anxiety, I tried to get out of it by telling the head of software engineering, &quot;I'm not a real developer. I just Google stuff.&quot; His response stunned me: &quot;Yes, but <em>you</em> know <em>what</em> to Google. That's what real developers do.&quot; I left that meeting feeling like I couldn't back out. So I stayed on.</p>\n<p>That project pushed me quite a bit, but thankfully I wasn't starting completely from scratch. The first task was figuring out our platform, and I helped choose one that had low-code/no-code IoT capabilities. We eventually picked <a href=\"https://www.losant.com/\">Losant</a>, and their theming system intrigued me because it allowed the use of <a href=\"https://handlebarsjs.com/\">Handlebars</a> inside template HTML. While I was familiar with variables in PHP, the Handlebars system felt incredibly different and, at the same time, easier because of their web IDE. It was my first time experiencing IntelliSense<sup><a class=\"footnote-ref\" href=\"https://b10g.xyz/blog/2024/finding-my-speaking-voice/#fn-3\" id=\"fnref-3\">3</a></sup>, and it was eye-opening.</p>\n<p>Around the same time, I was pushing for my marketing team to abandon our ugly and expensive vendor-managed promotional item eCommerce site in favor of building our own Shopify site that we'd fulfill in-house. Building that site was a ton of fun and introduced me to the Liquid templating language.</p>\n<p>When the pandemic hit, I started learning Salesforce administration, partly because my company was considering adopting it and their certs were free in 2020. Something about all these opportunities (Handlebars, Liquid, and Salesforce) finally made object-oriented programming and relational databases click for me. When I think about what had made me feel like I couldn't be a real developer, it was that I didn't understand, or at least couldn't explain, why anything was happening. Now things were starting to make sense.</p>\n<h3 id=\"ai-bridges-the-gap\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/finding-my-speaking-voice/#ai-bridges-the-gap\" class=\"header-anchor\">ai bridges the gap</a></h3>\n<p>These past three years have been a whirlwind of growth and discovery in my journey from hesitant hacker to confident developer, and generative AI played a pivotal role.</p>\n<p>When GPT-4 was released, like many others, I was shocked it worked so well. A ton of people praised its coding abilities, so I decided to revisit my old SMS scavenger hunt project. I hadn't kept the source code from my previous job, but I thought it might be fun to rebuild it for an internal initiative to create more joy in the office.</p>\n<p>With just a few prompts, AI didn't just help me rebuild it, it radically improved it. Goodbye 75 nested if statements, hello switch statement. I had no idea how to do that before, but there it was, fresh and clean.  <a href=\"https://codybrom.github.io/greenbubble/\">I polished it further and published my first public GitHub repo and GitHub pages.</a></p>\n<p>Encouraged by this quick success, I had a wilder idea: what if I rebuilt the project in NextJS? Mind you, I didn't actually know NextJS, but I knew PHP had fallen somewhat out of favor as a web framework, and NextJS was gaining popularity with the team at my work and I was curious about a modern approach.</p>\n<p>Ten seconds later, looking at a working AI-generated NextJS version, I had an epiphany: I understood more JavaScript than I'd realized. The syntax was different, but my concepts were there, just translated. It was like having a personal Rosetta Stone for code and it instantly made JavaScript a lot less intimidating.</p>\n<p>The momentum from that revelation was transformative. It turned out I already had a strong grasp of the important concepts for data movement but just needed help with JS syntax. Adding Tailwind to the mix accelerated my front-end work, with many CSS utility concepts from my Bootstrap days clicking back into place and GPT-4 helped me piece it all together, creating my first React components, API routes, and <code>useEffect</code> functions.</p>\n<p>Within a month, I'd <a href=\"http://nitwit.quest/\">launched a small NextJS project at work using NFC tags</a>, and another month later <a href=\"https://wx.watch/\">my first real hobby project went live on the web</a>.</p>\n<p>Most times I've told this story, I've given AI significant credit for my progress. While it certainly helped, I now recognize it wasn't the whole picture. As I started launching projects, I'd tell friends and co-workers how easy it was to build with GPT-4, thinking it was doing the hardest work. But I often got puzzled looks in response.</p>\n<p>It turned out that most people I talked to were much less impressed with AI's output, and told me they were more often getting unusable code and unhelpful explanations. It made me realized my experience wasn't universal. For me, AI was a bridge between what I already knew and what I wanted to learn, but not everyone had those same prerequisites. Those fundamentals had been clicking into place for years before GPT-4 came along, and AI closed the last mile of that gap, helping me see it wasn't nearly as wide as I'd imagined.</p>\n<p>One of my coworkers put it best: &quot;Cody, it works for you because <em>you</em> know <em>what</em> to ask the AI.&quot;</p>\n<p>It was as true as when my old head of software engineering said it. Asking the right question is what being a developer (<a href=\"https://hitchhikers.fandom.com/wiki/Ultimate_Question\">as well as life, the universe and everything</a>) is all about.</p>\n<h3 id=\"full-circle\" tabindex=\"-1\"><a href=\"https://b10g.xyz/blog/2024/finding-my-speaking-voice/#full-circle\" class=\"header-anchor\">full circle</a></h3>\n<p>What made this week truly special was a full-circle moment: one of the other speakers at ThunderPlains was Kyle Simpson – the author whose book I'd gotten at Fluent back in 2015. The day before the event, he posted on LinkedIn about how excited he was to be speaking again. He mentioned that he used to do 20-30 conference talks a year worldwide, but that's slowed significantly. And it's true. Conferences are smaller and less frequent now. O'Reilly Media, who put on Fluent, halted all their conferences in 2020 because of COVID and never brought them back.</p>\n<p>Between sessions I also chatted with <a href=\"https://vancelucas.com/\">Vance Lucas</a>, one of the co-founders of <a href=\"https://www.techlahoma.org/\">Techlahoma</a> and <a href=\"https://www.thunderplainsconf.com/\">ThunderPlains</a> thanking him for starting this group and conference. Techlahoma is 10 years old this year and Vance told me that in that time a lot of things have changed. The biggest shift, however, might be how much things have changed since 2020. Prior to 2020, Vance said ThunderPlains often maxed out early bird and available spots with folks from all over, but now there's still a good number of available seats.</p>\n<p>ThunderPlains (and Red Dirt JS before it) has always been hosted in conjunction with <a href=\"https://www.innotechok.com/\">InnoTech Oklahoma</a>, sharing conference resources with like-minded events like <em>Oklahoma Women in Tech Summit</em>, <em>Oklahoma IT Executive Summit</em>, and <em>We Dreamin' OK</em> (a gathering of Oklahoma's Salesforce community). Just a decade ago, InnoTech proudly stated on their website that they hosted over 1,000 of the region's top business &amp; technology professionals, but this year's keynote, which was the largest gathering of the entire day drawing in attendees from all events, barely filled the third-largest space in Oklahoma City's brand new convention center.</p>\n<p>But the pandemic isn't solely to blame. In my former life as a marketer and board member of IABC Tulsa, I witnessed firsthand the challenges professional organizations faced pre-2020. Rising event costs and declining memberships were already straining resources. What compounded these issues for our chapter was a near-complete leadership transition. Almost overnight, we went from the &quot;<a href=\"https://web.archive.org/web/20130315030740/http://news.iabc.com/index.php_s=43&amp;item=284.html\">international chapter of the year</a>&quot; led by industry veterans to a board of mostly early-career professionals. While well-intentioned, our new team found itself without the institutional knowledge or industry connections to really maintain the legacy, but even bigger challenges were outside the organization.</p>\n<p>What we didn't know at the time, but were starting to feel, was that a digital revolution was already underway and it was drastically transforming how professionals networked and learned, with online platforms and social media competing for attention. Simultaneously, economic pressures were forcing companies to cut back on professional development budgets and non-essential travel. So, as a result, many professional spheres, including conferences, were having to compete harder for attention and it there were just fewer and fewer of them. The pandemic really only sped up the process.</p>\n<p>I'm still sad how little we now prioritize community gatherings, because being at ThunderPlains reminded me that conferences have always been about more than just the presentations. It was incredible to not just attend, but to be in true community. The conversations that flowed between sessions, the shared excitement, the spontaneous discussions about new technologies and what's happening in tech was fun, but the energy is what sticks with you, if even just a small spark. But that spark is what made me become the developer I wanted to be even though I didn't see how to do that. That energy wanted me to make my way back.</p>\n<p>And while speaking is an achievement I'm proud of, finding the belonging I'd searched for and spending time with like-minded people without feeling like a fraud is what makes me proudest.</p>\n","date_published":"Sat, 26 Oct 2024 00:00:00 GMT"},{"id":"https://b10g.xyz/blog/2024/cctlds-are-risky-business/","url":"https://b10g.xyz/blog/2024/cctlds-are-risky-business/","title":"ccTLDs are risky business","content_html":"<p>There's been <a href=\"https://every.to/p/the-disappearance-of-an-internet-domain\">a lot of chatter lately about the future of the <code>.io</code> ccTLD</a>. The top-level domain was originally created as a country code top-level domain for the <em>&quot;British Indian Ocean Territory&quot;</em>, but like history tells us, countries are not forever and that means ccTLDs aren't either. Should a treaty by the UK government be passed, the islands would become part of Mauritius, ending the need for the <code>.io</code> domain.</p>\n<!--more-->\n<p>The rules for ccTLDs are strict, and if a country doesn't exist in the <a href=\"https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes\">official international specification of country code short codes</a>, the domain can't either. The only other option would be for the Internet Assigned Numbers Authority (IANA) to <a href=\"https://www.iana.org/help/eligible-tlds\">break its own rules</a>, but seeing as how they say, &quot;we are not in the business of deciding what is and what is not a country&quot; it certainly feels like a tall ask.</p>\n<p><a href=\"https://www.reddit.com/r/programming/comments/1fzosmi/comment/lr2takn/\">But that's not stopping people from hoping for it.</a> The latest rumor, or perhaps coping mechanism, is that IANA and ICANN could still have a change of heart about the rules and instead reclassify <code>.io</code> domains into a generic top-level domain as a way to preserve it. That would still be quite unprecedented considering two-letter domains have historically been reserved exclusively for ccTLDs.</p>\n<p>If I was a <code>.io</code> domain owner (btw, I'm not), and I established a presence on a <code>.io</code> domain, I'd be looking to migrate any production systems off the <code>.io</code> namespace and quickly change any hard-coded references. While potential changes aren't the same as actual changes, the business risk is simply too high to ignore even if the timeline is at least 5 years. Companies like <em>Itch.io</em> and the numerous mobile games who made <code>.io</code> part of their brand however, should also start those transitions ASAP.</p>\n<p>The issue really does go beyond just <code>.io</code> domains. I've come to believe that I could never feel truly secure putting my business on almost any country code Top-Level Domain (ccTLD). Let me explain why with a few eye-opening examples:</p>\n<ol>\n<li>\n<p><strong>The deletion of a country</strong></p>\n<p>One of the oldest and most illustrative examples of the potential instability ccTLDs can face is the case of <code>.yu</code>, the former ccTLD for Yugoslavia. This domain was officially allocated in 1989 but much of its existence was uncertain following a bloody civil war and the breakup of Yugoslavia in the early 1990s. The domain managed to persist through various political changes but was finally deleted in 2010.</p>\n<blockquote>\n<p>&quot;With the deletion of .yu, historians and researchers lost access to websites that contained important historical records. Gone are firsthand accounts of the NATO bombing and the Kosovo War; the mailing lists that scientists used to update their colleagues on the progress of the conflict; nostalgic forums and playful virtual nation experiments.&quot;</p>\n<p><em>From <a href=\"https://www.thedial.world/articles/news/issue-9/yugolsav-wars-yu-domain-history-icann\">&quot;Yugoslvia's Digital Twin&quot;</a></em></p>\n</blockquote>\n</li>\n<li>\n<p><strong>&quot;Who do you think? <a href=\"https://youtu.be/iBWliVTIPLs?t=109\">The Libyans</a>.&quot;</strong></p>\n<p>In 2010, the popular URL shortener Bitly found itself in a precarious situation. They were using Libya's <code>.ly</code> ccTLD and nearly had their domain held hostage by then-dictator Muammar Gaddafi. Bitly ultimately escaped the scrutiny <a href=\"https://benmetcalfe.com/blog/2010/10/the-ly-domain-space-to-be-considered-unsafe/\">but Libya's domain registry didn't go as easy on others</a>, seizing and shutting down other <code>.ly</code> domains that linked to content they found objectionable, including adult content and depictions of the Prophet Muhammad.</p>\n<blockquote>\n<p>&quot;This is deeply concerning for everyone, but especially .ly domain owners, because it sets a precedent that all websites running on a .ly domain must comply with Libyan Islamic/Sharia Law in order to maintain their domains. This is especially concerning for anyone running a url shortener or hosting user-generated content on a .ly domain.&quot;</p>\n<p><em>From &quot;<a href=\"https://benmetcalfe.com/blog/2010/10/the-ly-domain-space-to-be-considered-unsafe/\">The .ly domain space to be considered unsafe</a>&quot;</em></p>\n</blockquote>\n</li>\n<li>\n<p><strong>Seized AF</strong></p>\n<p>A decade after the Bitly incident, it seems this lesson still needs to be learned by protocols and platforms too. One group had a very tongue-in-cheek <code>.af</code> domain (Afghanistan's ccTLD), and were quite aware of the risks involved, but they still found their users homeless when <a href=\"https://www.404media.co/taliban-shuts-down-queer-af-domain-breaking-mastodon-instance/\">their domain was seized without warning by the Taliban</a>. This incident exposed a critical gap in ActivityPub and Mastodon: there's no way to migrate an entire instance to a new domain. While the servers and data still existed, the domain was the most crucial part of how users' identities are resolved on the Fediverse. Consequently, users were forced to start over with zero followers, highlighting how even decentralized platforms can fail due to ccTLD instability.</p>\n<blockquote>\n<p>“We were very much aware that the .AF TLD belonged to Afghanistan and that there were potential upsets in the future,” they added. “In some strange ways, that made it more appealing —we knew that there were ways that this community experiment could end that were outside of our control, and not just due to us burning out or similar.”</p>\n<p><em>From &quot;<a href=\"https://www.404media.co/taliban-shuts-down-queer-af-domain-breaking-mastodon-instance/\">Taliban Shuts Down 'queer.af' Domain, Breaking Mastodon Instance</a>&quot;</em></p>\n</blockquote>\n</li>\n</ol>\n<hr>\n<p>The crux of the matter is this: neither IANA nor ICANN can control what countries do with the ccTLDs they've been assigned. While these domains might offer clever branding opportunities or seem innocuous, history has shown us time and again that they can become liabilities overnight.</p>\n<p>For businesses and critical online services, the risks far outweigh any potential benefits. A domain name isn't just a web address, it's the foundation of your digital identity and your online home. Losing it can mean losing everything you've built: your hard-earned SEO rankings, years of accumulated backlinks, and the trust and recognition you've established with your audience.</p>\n<p>So, no matter how tempting or trendy a ccTLD might be, I can't in good conscience recommend using them for canonical URLs, or really anything besides a redirect. When it comes to your online presence, it's far better to prioritize stability and security over cleverness or novelty. It might seem boring, but this is precisely why .COM remains king.</p>\n","date_published":"Sun, 13 Oct 2024 16:30:00 GMT"},{"id":"https://b10g.xyz/blog/2023/vision-pro-predictions/","url":"https://b10g.xyz/blog/2023/vision-pro-predictions/","title":"vision pro-dictions","content_html":"<p>Yesterday Apple announced the new <a href=\"https://www.apple.com/vision\">Vision Pro spatial computer</a> (aka headset). One of the things I do at my job is kind of try to predict the future, or at least imagine how to get ahead of it so we can make the right moves today. With that, I've been assembling some predictions (most of which I assume will be proven wrong <strong>very quickly</strong>) on how I think the Vision Pro will change the current state of product, experiences and technology.</p>\n<!--more-->\n<p>They are:</p>\n<ul>\n<li>\n<p>This new platform is gonna bring a new monetization strategy with it. This isn’t the place for 99¢ apps, especially when every user has shown their willingness to spend and user base is small. Pricing will look more like Mac apps, or perhaps higher. Subscriptions will be the norm, or perhaps pay per hour/day for certain kinds of apps.</p>\n</li>\n<li>\n<p>Entertainment is obviously a big part of this and VR events (court-side sports &amp; front-row concerts) could be a game-changer. It has the chance to be a big disruptor to live sports so I’m predicting a Ticketmaster-like entity might sell expensive per-event ticketed access so VR doesn’t undercut in-person.</p>\n</li>\n<li>\n<p>Streamers like Netflix and Disney are going to add VR/AR content to their libraries but put it behind a higher tier plan. Apple will raise the price of Apple TV+ but will still have some of the cheapest access to VR content and it will all be Vision Pro exclusive.</p>\n</li>\n<li>\n<p>Zeiss lenses are going to be expensive for people who need them. DTC third parties like Warby Parker will probably replicate something pretty equivalent very quickly.</p>\n</li>\n<li>\n<p>3D photos and videos will be more interesting and more used than Live Photos, but not by much. 3D photos and videos will also be in a new Apple format that is not widely supported for a while.</p>\n</li>\n</ul>\n<p>If I think of more, I'll probably update this post. And if any of them are every confirmed or disproven I'll try to remember and update those too.</p>\n","date_published":"Tue, 06 Jun 2023 00:00:00 GMT"},{"id":"https://b10g.xyz/blog/second-screen/","url":"https://b10g.xyz/blog/second-screen/","title":"the second screen","content_html":"<p>A few months ago I started writing a blog post that is probably never gonna get finished and so this is my attempt to rewrite it while it’s relevant and force myself to finish.</p>\n<!--more-->\n<p>When I graduated college, my parents gifted me an iPad and I was super excited. I’d wanted an iPad since it launched but I didn’t really know what I’d use it for other than the fact that I just love technology and cool toys.</p>\n<blockquote>\n<p><em>Quick tangent</em>: The model they got me was the 3rd generation version and it was also the last one to use the 30 pin connector. It was actually replaced nine months later when Apple launched the iPhone 5 and the Lightning port and I’m still bitter than Apple made it obsolete so fast.</p>\n</blockquote>\n<p>Anyways, I was so stoked to have an iPad but I had no idea what to do with it.</p>\n<p>I tried to write blogs and essays on it, but it felt weird. Trying to type on a large virtual keyboard just wasn’t satisfying. I tried again, writing with a Bluetooth keyboard in this weird origami-style case that propped everything up, but that just also felt weird. I tried drawing with it, but I’m not much of an artist, especially when it comes to drawing with my finger. I also tried watching a fair amount of TV on it, including The Newsroom and the first season of Game of Thrones using the HBO Go app. It was fine, but I had other devices better suited for that.</p>\n<p>Overall, I was pretty underwhelmed by my iPad. It felt like there was supposed to be something more than just big iPhone apps and watching TV. Because the truth was, I didn’t even like the big iPhone apps. I wanted something that was better than what I might even get on my phone and maybe that killer iPad app wasn’t even available as an iPhone app.</p>\n<p>There was one kind of app in particular that kind of got me excited: second-screen apps. The idea is that while you’re watching live television you open an app that is connected to what you’re watching and it gives you a separate but connected and interesting layer on which to look at your TV watching experience. For example, there might be a game or trivia or a Q&amp;A happening while you’re watching a show or stats and alternate camera angles while watching sports. However, the second-screen apps that popped up barely scratched the surface of what was theoretically possible. They tried to be incrementally better versions of existing things (live TV guide, entertainment reviews, social feeds) just fine tuned for monetization.</p>\n<p>My first attempt at writing this went deep into the mistakes that were made by the apps that went after this, and rather than go in depth here's a summary:</p>\n<ul>\n<li>Browsing another social platform is more work, and the juice wasn’t worth the squeeze.</li>\n<li>Your TV already had a guide that worked just fine.</li>\n<li>Social-graph entertainment recommendations are trash. The likes and preferences of my Facebook friends vary GREATLY and cannot predict what I will like.</li>\n<li>TV viewers want fewer ads, not more. There is not a person alive who would say, “I sure wish I could access some targeted advertainment content from GE while watching The Voice.”</li>\n<li>No matter what these social TV apps tried, Twitter and Facebook had more conversations happening on their platforms.</li>\n<li>But, perhaps the worst crime of all, was this: most synchronized second-screen content was lame, phoned-in and distracting. Trivia that was either far too easy or far too hard, Q&amp;As that only had a few answers to questions that felt super screened or even planted, and “exclusive” content that wasn’t remotely interesting (a set photo, trailer for the next episode, wallpaper downloads). By the nature of it being optional, it was often worthless. If the content was valuable enough, it’d be on the first screen.</li>\n</ul>\n<p>I say all that because I really just want hit the nail on the head with a giant hammer. Here goes: <strong>you can build cool shit, but you need to solve a problem.</strong></p>\n<p><strong>Social TV apps were a solution in search of a problem.</strong> These startups were able to convince VCs that people were already using their phones, laptops and tablets in front of their TVs — so why not serve up ads on those devices related to the content shown on the TV screen? But that wasn’t a problem users experienced - it was just an opportunity to exploit users's desire to connect with fellow fans and their favorite shows. Targeted advertising is not, and will never be, a feature users care about, so building your product to suit your monetization strategy instead of your users is how to fail fast.</p>\n<p>—</p>\n<p>So why did I want to hurry up and write this now? Well, it is the eve of another major Apple announcement. Tomorrow we night finally know what Apple’s plans for virtual reality/augmented reality are, and people are going to think they should start building apps/experiences for this new device the way that they did for the iPad and for the Apple Watch.</p>\n<p>I have two responses to that.</p>\n<ol>\n<li>First mover advantage for apps is bullshit. The market is unforgiving to underbaked ideas so spend time getting it right.</li>\n<li>Build a user-focused product. If you build a product that is valuable to your business but not the users, they won’t use it.</li>\n</ol>\n<p>This sounds so basic, so why did second screen apps get it so wrong? The short answer is that the world was in the middle of a digital transformation. People were increasingly more likely to get entertainment through a digital means, and that meant that there was suddenly a giant pot of money if you could use some kind of attribution technology to demonstrate return on ad spend. These second-screen app people thought this was wonderful. They could marry the traditional advertising technology to the digital. Except one problem: interactive advertising does not solve a user problem and so it was a huge fucking flop.</p>\n<p>The peak of this kind of thinking was around the time of Apple’s “there’s an app for that” campaign. <a href=\"https://www.vox.com/money/23743915/iphone-android-apps-airline-dentist-pandemic-data-privacy-restaurant\">An article on Vox asks the right question, “do we really need an app for everything?”</a> The answer is of course not.</p>\n<p>Yet someone is going to do this again if they buy into the hype cycle of AR and ship before they have an effective product with a complete UX that fulfills a need for a user. The hype cycle isn’t inherently bad. The hype cycle is basically a natural phenomenon. What’s bad is trying to shoehorn poorly thought out ideas and even worse monetization strategies into a product users definitely don't and won't value.</p>\n","date_published":"Mon, 05 Jun 2023 05:18:06 GMT"},{"id":"https://b10g.xyz/blog/what-is-wxwatch/","url":"https://b10g.xyz/blog/what-is-wxwatch/","title":"what is wx.watch","content_html":"<p><a href=\"https://wx.social/@wxwatch/110301560461014543\"><em>This post was originally posted as a thread on the wx.watch Mastodon account.</em></a></p>\n<!--more-->\n<p>I guess I’ll start at the beginning. What is wx.watch?</p>\n<p>Short answer:\nI want to make staying up-to-date with NWS weather alerts easier.</p>\n<p>Longer answer:\nIn 2009, I didn’t have a smart phone, but wanted to be as weather alert as possible. This was before NWS was on Twitter or emergency phone alerts were a thing so, I set up IFTTT to send me a text message whenever NWS added a new alert item to an ATOM feed for the area that covered my college. Versions of this setup worked well for most of the last decade but changes at IFTTT kinda forced my hand.</p>\n<p>When I started using IFTTT, the feed was supposedly being checked every 15 minutes (or more often). For weather alerts timeliness is everything and since I was using IFTTT for free I didn’t mind a mild time delay. Unfortunately, over time this frequency would start slipping. By the end of my use of IFTTT I was getting alerts hours after they were issued, rendering them pretty worthless.</p>\n<p>I was also benefitting from the fact that I could get the results delivered via SMS which did come at some cost to IFTTT. In the later years, I’d occasionally get emails from IFTTT asking if I still wanted to get SMS and I’d always say yes. Eventually they deprecated SMS entirely and so I had to migrate to push notifications from their app. Those were okay for a while, but like I said in my previous post they lost all relevance when they started getting delivered with significant delay.</p>\n<p>I definitely was heading for a breaking point around 2020 until I remembered I could get push notifications for nwstulsa on Twitter. After that, Twitter became my primary notification method with the delayed IFTTT service as a backup. Since you’re reading this on the Fediverse I’ll skip the finer details of why Twitter stopped being my primary method, but suffice it to say I felt lost.</p>\n<p><img src=\"https://b10g.xyz/uploads/weathertrunk.png\" alt=\"Weathertrunk\"></p>\n<p>On an unusually stormy February day, I got inspired to build my own Mastodon bot. Using the same ancient ATOM feed I used in college, I built an auto-posting bot using a low-code tool in just a few hours. It worked! I was getting severe weather push alerts from my Mastodon app that same day. I launched the account on a local instance and set it loose.</p>\n<p>I was pretty content to slowly but surely refine it until I started getting into React/<a href=\"https://nextjs.org/\">NextJS</a> development. I wanted to get off low-code and make something native yet serverless. Thus project “Weathertrunk” was born. As a new dev, I’ve been slowly but surely been figuring out how to get things working in NextJS but it’s absolutely been shaping up to be able to be much bigger than I thought it could be, especially when I realized there’s an open Weather.gov API. That was a mind-blowing moment.</p>\n<p>So that’s what I’m building now. I’m going to build a better, mobile-friendly way to get alerts in a comfortable way and then have the right interface to see them in full as you want to. It might not be enough for everybody but it’s what I’ve craved and I hope it’s able to help people be safer (and fight weather anxiety with data).</p>\n<p>I hope you’ll <a href=\"https://wx.social/@wxwatch\">follow this account</a> and join me in this journey. Thanks!</p>\n","date_published":"Wed, 03 May 2023 19:45:43 GMT"}]}