<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[The Thought Drop]]></title><description><![CDATA[Dropping some thoughts from my own mind.]]></description><link>https://www.bobbytables.io</link><image><url>https://substackcdn.com/image/fetch/$s_!JYrs!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c7ac37c-4fc3-42d0-a208-3808c2c432b9_1280x1280.png</url><title>The Thought Drop</title><link>https://www.bobbytables.io</link></image><generator>Substack</generator><lastBuildDate>Mon, 06 Apr 2026 08:34:05 GMT</lastBuildDate><atom:link href="https://www.bobbytables.io/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Robert Ross]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[bobbytables@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[bobbytables@substack.com]]></itunes:email><itunes:name><![CDATA[Robert Ross]]></itunes:name></itunes:owner><itunes:author><![CDATA[Robert Ross]]></itunes:author><googleplay:owner><![CDATA[bobbytables@substack.com]]></googleplay:owner><googleplay:email><![CDATA[bobbytables@substack.com]]></googleplay:email><googleplay:author><![CDATA[Robert Ross]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Natural Opinions]]></title><description><![CDATA[Ai-Ai, Captain.]]></description><link>https://www.bobbytables.io/p/natural-opinions</link><guid isPermaLink="false">https://www.bobbytables.io/p/natural-opinions</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Wed, 28 Jan 2026 22:23:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JYrs!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c7ac37c-4fc3-42d0-a208-3808c2c432b9_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I was asked to write an AI Playbook for a dinner I was invited to tonight. I don&#8217;t think I know what an AI playbook is. But my best guess is that it&#8217;s something that can be referred to when building AI functionality. Or maybe when you&#8217;re selling it? It&#8217;s unclear to me. But what is clear is that it&#8217;s unclear to others as well. So this quick (handwritten) post is to help spray some Windex on what I think about AI, for all facets of what an AI Playbook may entail. And, much like LLM generative responses, I may be hallucinating.</p><h2><strong>Functionality</strong></h2><p>AI functionality has been criminally overcooked and oversold. When you wince and wipe your eyes for a second, you see the same primitives that build great web applications: a browser window, a text box, and a submit button. The key difference is that a lot of these web elements now have a sparkle emoji (&#10024;) next to them to indicate &#8220;this is powered by AI.&#8221;</p><p>AI is not a new engineering architecture in many ways. Engineers will have to write HTTP handlers, push messages to queues, and respond back to requests from users. The main difference is that they aren&#8217;t writing the &#8220;if/else&#8221; statements anymore. This is where &#8220;AI powered&#8221; comes in most of the time.</p><p>&#8220;AI powered&#8221; is effectively a magical box that can take text (or base64-encoded bits) and figure out a stream of if and else statements for you. Engineers pre-2023 would have to write billions of conditional logic statements (by hand no less) to achieve the same functionality that inference models achieve for us now. Trained models + situational awareness + context engineering is the ultimate if/else statement in an engineer&#8217;s toolbox now.</p><p>From an engineer&#8217;s point of view, they are replacing if statements with &#8220;agentic loops&#8221; that can call a chunk of code (or tool, in LLM parlance). These agentic loops have a single point of failure with HTTP requests to OpenRouter, Claude, OpenAI, etc. But I digress.</p><p>The point I&#8217;m driving home is that &#8220;AI Powered,&#8221; while exciting, isn&#8217;t <em>that</em> much different than the applications of old. In many ways, AI-powered features are trading code complexity for accuracy complexity.</p><h2><strong>LLM Interfaces matter more than model intelligence</strong></h2><p>AI is magical. Despite my tone in the above section, I do believe we&#8217;re <em>entering</em> a new era of software. From my perspective, AI will only take off if the user interfaces to access it enter their own new era as well.</p><p>For example, OpenAI (and ChatGPT) caught fire because someone had the idea to create a chat interface for their model. They created a simple HTTP API, a submit button, and a simple 2008-esque web page and BAM! Lightning struck. OpenAI was several versions (and years) deep into their model development, but the barrier to value was lowered to anyone that had an embarrassing AIM screen name in 2003. (Like me: Gsur6). LLMs then became: type a few words, hit submit, and wait for the page to &#8220;load&#8221; the response... seems familiar. The thing that is missing is the hissing and squawking of a 56k modem.</p><p>For AI to reach the heights of possibility the world is anticipating, I&#8217;m assuming we will need to reimagine the interfaces that allow humans to interact with AI in the first place. Will we even need keyboards in 10 years, for example? Or will tools like Wispr Flow become the predominant way to control our computers? Neuralink, a reimagined &#8220;user interface&#8221; to computers, might seem bananas now, but what if that is the way AI can achieve its full potential? Would users prefer that?</p><p>The interfaces humans use will have to change for the advancements of AI to provide more value to said humans. It&#8217;s unlikely that smarter models will do us much good until we improve the interfaces to them (again).</p><h2><strong>Selling AI</strong></h2><p>AI is exciting to build, market, and sell. But the proclivity to buy AI does not match yet. After three years, the osmosis of excitement has not happened between sellers and buyers. Skepticism is rampant with AI, and not only from software engineers. Even my girlfriend, who works in PR and Communications, has her own doubts about AI.</p><p>There&#8217;s a certain level of dissonance surrounding AI to me. If you drive up the 101 towards San Francisco from the airport, you&#8217;d be right to assume that AI is the only thing that matters right now. Yet your Lyft driver is still manually controlling their car, using the gasoline they pumped themselves, using the cash they received as a tip. To me, the biggest thing that has changed due to AI (up to this point) is the shift in marketing energy to it, rather than the sheer value I receive from it. <a href="https://www.theverge.com/news/857723/dell-consumers-ai-pcs-comments">Even Dell has admitted that AI computers are not selling because of AI itself</a>.</p><p>When it comes to selling AI, I&#8217;ve seen one selling strategy that works best: <strong>building pragmatic AI systems.</strong> Customers, by and large, are inundated with AI in every corner of their lives right now. If they are seeking out AI features, they will tell you. I promise. It&#8217;s more important to sell the value of your platform like the sales gods intended, not the AI that maybe(?) improves the core functionality a prospect is seeking in the first place.</p><p>Even the AI model providers themselves follow this principle. Simple APIs. Simple user interfaces.</p><h2><strong>What AI features you can build now</strong></h2><p>Reading comprehension scores are high for LLMs, and you are better off leveraging AI to read than to write in the immediate term. What that means in the real world is that using AI to transform information is better than using AI to create information. You need to find creative solutions when applying this principle to feature development. But one that I&#8217;m actively exploring is using AI to migrate between systems.</p><p>For example, an agentic system that can read an API response from, say, PagerDuty can quite easily transform that information into, oh I don&#8217;t know... FireHydrant. AI might be the best solution to a robust ETL system you could build today.</p><p>By using AI to read and transform information, you&#8217;re providing a known &#8220;system&#8221; that humans would have to go through anyway. This proves out the value of an agentic system with less &#8220;selling&#8221; than an innovative one that may not work in the first place.</p><p><strong>Again:</strong> Selling practical AI features will triumph over innovative but misunderstood functionality. Bring people along with AI. Preferably not by force.</p><h2><strong>Where Is This All Going?</strong></h2><p>I don&#8217;t know. Neither do you. My best guess is that AI will find a way to improve most aspects of life by an unknown percentage, with some areas more than others. That&#8217;s why there&#8217;s so much money being poured into AI startups: even a marginal improvement of <em>humanity</em> will have an enormous return.</p><p>Said another way, I wouldn&#8217;t mind a 10% increase in a better life for everyone on Earth if it means a few years of annoying billboards, AI in my refrigerator for some fucking reason, or an AI music &#8220;artist.&#8221; I don&#8217;t need to open my wallet for those things. I&#8217;m confident they&#8217;ll die off on their own. Me not caring is the best assist I can give to ensure that. Ironic.</p><p>I believe AI will unlock innovations in medicine, transportation, food production, energy, and law (to name a few) far faster than it ever improves our sales funnels. I want a better sales funnel. But I also want food production to be stable for centuries to come. AI will be a part of the solution for both. Hopefully more for the food problem, though.</p><p>AI will change the world. Slower than businesses want, and always at the tolerance that we, the buyers, want AI in our lives. Swinging between impatient overestimation and practical underestimation is what creates lasting progress.</p><p>Now, to get to my dinner party. I&#8217;m late. If only AI could&#8217;ve called me a car.</p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Sometimes these posts are good. Sometimes bad. But they&#8217;re always handwritten. I promise. &#10024;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Absent Parentage]]></title><description><![CDATA[18 years.]]></description><link>https://www.bobbytables.io/p/absent-parentage</link><guid isPermaLink="false">https://www.bobbytables.io/p/absent-parentage</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Sun, 21 Dec 2025 21:24:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JYrs!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c7ac37c-4fc3-42d0-a208-3808c2c432b9_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Dear mom,</p><p>We&#8217;ve achieved a fascinating milestone together. As of now, we will always have had more time apart than with each other. Before your death, we had almost 17 years together, and now, we&#8217;ve had 18 apart. For most, the amount of time they have with their parents far exceeds the amount of time they do not. Many of my friends still have grandparents alive for that matter. Yet here we are, you and I, with our distance expanding like space itself.</p><p>In the years following your death, I spent several of them feeling as if my age and my reality were out of alignment. While friends were at college, I was progressing in my career already. When people were at spring break, I was at conferences. When people were drinking... I was drinking with them. Ok, so maybe not everything was out of alignment.</p><p>Alas, your early death and my late teenage years were at an interesting cross-section. On one hand, several components of my personality were already well formed by your upbringing. On the other, a multitude of gaps were left that I had to stumble through life to find answers to. Such as: &#8220;What the fuck is a W2?&#8221; and &#8220;What does a healthy relationship look like?&#8221; Your absence meant that my life&#8217;s oddities and crossroads had no hotline for me to call.</p><p>After your death, I felt like I was launched off of an aircraft carrier. A commercial takeoff is gentle, with a restricted climb to make it comfortable for the souls aboard. In our situation, I had to grab the cockpit handle, give a salute, and have my organs rearranged as I was catapulted out over an open ocean with no time to correct if something went wrong.</p><p>They may not know it, but I adore spectating the people closest to me interacting with their parents. It never takes long before a parent gives some type of advice in a conversation. I don&#8217;t think they can help it. As far as I can tell, parents never stop being parents. They&#8217;re keen to advise, protect, and foster. It&#8217;s a default setting that has no off switch. They are always there to provide guidance, similar to air traffic control. I&#8217;ve also come to realize that the sudden departure of a parent such as yourself is also a (bleak) way of tutelage itself.</p><p>Which is why I think this milestone we have together now, more time apart than together, is so fascinating. Because in a way, half of what makes me is your masterpiece and the other is a strange amalgamation of my own style of growing up. I had the dumb luck of having an incredible group of friends around me. Pairing that with drum corps, relationships, career progression, founding FireHydrant, travel, sobriety, and a healthy dose of therapy has led to a mix that no one could have predicted the outcome of. I&#8217;m the human equivalent of a mutt. I think you&#8217;d love to see it in action.</p><p>It&#8217;s unnerving knowing that each day I wake up is one day more without a letter in return. This cold fact is amplified knowing that your infinite sabbatical will only add to the counter, never to reset it. But I&#8217;m here to say that at this juncture of time with and apart, I am thankful for your departure.</p><p>It&#8217;s macabre to say you&#8217;re &#8220;thankful&#8221; a parent has passed away. And I hope you know it&#8217;s not that I wished it, but more that there&#8217;s nothing more I can do but to thank you for it. There&#8217;s no sense in being resentful for your departure. Nor is it logical to carry on as if nothing happened. The only sensible thing I can do is mark December 23rd, 2007, as the day I lurched towards adulthood faster than I could have imagined.</p><p>It&#8217;s the day I took your unfinished map that you handed to me as I said goodbye at your hospital bedside, and had to begin filling in the directions myself. For 18 years now, that&#8217;s what I&#8217;ve been doing every single day.</p><p>And it was the gaps you left that had the most positive influences on my life.</p><p>So, to you, Ellen: The unfinished map you gave me is beautiful, and my adventures with it are forever ongoing. And I love you for it.</p><p>&#8212; Robert</p><div><hr></div><p>This post is a follow up to a piece I wrote in 2017: <a href="https://www.bobbytables.io/p/dear-mom">Dear mom</a>.</p>]]></content:encoded></item><item><title><![CDATA[13 Months Sober]]></title><description><![CDATA[The idea of sobriety is now boring to me.]]></description><link>https://www.bobbytables.io/p/13-months-sober</link><guid isPermaLink="false">https://www.bobbytables.io/p/13-months-sober</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Mon, 20 Oct 2025 00:03:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4L1b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4L1b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4L1b!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4L1b!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4L1b!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4L1b!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4L1b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg" width="724" height="482.6666666666667" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:360,&quot;width&quot;:540,&quot;resizeWidth&quot;:724,&quot;bytes&quot;:47644,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.bobbytables.io/i/176590112?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4L1b!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4L1b!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4L1b!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4L1b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc925e1a0-8880-46b8-b422-817215bddc6f_540x360.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">A cocktail bar I love(d) in London. I forget the name. &#128247; Sony A7R IV w/ FE 24mm F1.4 GM</figcaption></figure></div><p>I don&#8217;t care about being sober anymore. It&#8217;s not that I&#8217;ve reverted to drinking (I still live an alcohol-free life) but I <em>literally</em> don&#8217;t care much anymore. I cared quite a bit seven months ago when I wrote <a href="https://www.bobbytables.io/p/six-months-sober">Six Months Sober</a>. And right after I published that piece, the outreach was palpable. Friends, family, and colleagues reached out also sharing how it had affected them. Many now reach for booze less.</p><p>My friends even stopped asking if I&#8217;m drinking at dinner. I was officially relegated to being the sober friend, huzzah..? One of my closest friends sent me a 6-month sobriety chip as a joke. It sits prominently on my desk. (Commit to the bit, Alejandro, and send me a one-year.)</p><p>I&#8217;ve been quite annoyed the last month, though. My plan was to write the &#8220;One Year Sober&#8221; follow-up. But it has been disturbed by, well, a lack of new sober benefits. The best piece of material I&#8217;ve posted in two decades of (sporadically) posting musings on my websites didn&#8217;t have an obvious sequel. My Marvel sobermatic universe was seemingly over before it even began. Yet here we are.</p><h2>7 months later</h2><p>I hate instant contradictions, but I now have reverse veganism with sobriety: I&#8217;m telling fewer and fewer people I have it. Newly discovered benefits of removing alcohol from my diet leveled off shortly after I wrote SSS. But I still sleep well, think clearer, and a slew of other positives. Although, I must admit, my reintroduction of soda did rebound my waistline a skosh. Whatever. Nicole still seems to find me attractive.</p><p>Alcohol&#8217;s absence in my life is still felt on a daily basis in many boring ways, but not nearly like the first six months of sobriety. I could argue this is a wonderful discovery, but given so many people still ask me what it&#8217;s like, I figured I&#8217;d play a last song about it.</p><h2>Turbulence</h2><p>I&#8217;m writing this late encore from a plane. And as a frequent flier, I experience a lot of turbulence &#8211; like even at this exact moment these keystrokes are happening. Despite logging dozens of flights each year, I&#8217;m terrified during moderate turbulence. I pay $8 to United to get WiFi so I can see <a href="https://www.turbulenceforecast.com/pireps">when the turbulence will end when it starts.</a></p><p>I, like everyone, hate uncertainty and not having control of my situation. Turbulence embodies both. The sporadic air surrounding our plane creates uncontrollable conditions we passengers experience, but when we hit &#8220;smooth air&#8221; &#8211; it&#8217;s like (what I presume) smoking a cigarette is like.</p><p>It&#8217;s also exactly what the 7-month milestone of being sober felt like for me.</p><h2>Sweet Sweet Satisfaction</h2><p>After a plane leaves behind uncertain air, the captain turns the seatbelt sign off, and our collective butts unclench, it&#8217;s a pure injection of <em>satisfaction</em>. We feel the bliss of stability and the fictitious obituary I&#8217;m writing for myself gets crinkled up and tossed into the wastebasket.</p><p>But a flight without <em>any</em> turbulence? A Grade-A Snooze Fest.</p><p>The omnipresence of alcohol in my body was, at best, self-inflicted turbulence. The symptoms were exactly the same. My body was clenched, my thoughts unclear, and yes, the occasional intrusive thought of death would meander through my head.</p><p>Turning the corner after six months of being sober has felt like driving through Nebraska on a cross-country road trip. I haven&#8217;t discovered anything I didn&#8217;t know about. It&#8217;s flat. There&#8217;s nothing new to write about and I can only write about how many cows there are so much.</p><p>But long boring drives are when I do my thinking.</p><h2>Decisions... decisions...</h2><p>I&#8217;ve thought a lot about the negativity that surrounds alcohol the last year. The recent US Surgeon General&#8217;s <a href="https://www.bu.edu/articles/2025/updating-health-warning-labels-alcohol-cancer-risk/">scathing review of alcohol</a> likely didn&#8217;t help, and the terms we&#8217;ve adopted to describe alcohol almost feel like Big Water&#8482; wrote them.</p><p>For example, being &#8220;under the influence&#8221; has an especially negative tone in our society now, but one way or another, we are <em>all</em> under the influence of many things, at many times, in many forms. For example: The news is an influence. Your job is an influence. Age is an influence. And where you physically are at any given moment influences you.</p><p>I stand by what I wrote earlier this year: Alcohol was a net positive for me. It helped influence the bond of friendships, hundreds of wonderful nights in beautiful places, and in many ways, the founding of FireHydrant. Alcohol is fungible, and its purpose is one you <em>may</em> have the luxury to decide (for alcoholics, this isn&#8217;t an option unfortunately.)</p><h2>As a recipe</h2><p>Alcohol is an ingredient. But in my next metaphor, it&#8217;s a figurative ingredient.</p><p>The dish of life only gets more complex. A chef will tell you crowding the pan with too many ingredients means all of them cook less effectively. And for me, the brightness of other things in my life&#8217;s skillet weren&#8217;t coming through enough for my taste. Things felt, as Paul Hollywood would say, stodgy. </p><p>Something had to give. I chose alcohol. You may choose something else. You should choose crack if you do crack. Or meth. Or Fox News.</p><p>No matter what you choose to take out of the skillet of your life, though, you&#8217;ll definitely continue to think about it. I <em>certainly</em> haven&#8217;t forgotten about my love of cocktails.</p><h2>My Martini</h2><p>I still want a martini every once in a while. Back in the day, I&#8217;d bring a book, notepad, or even a laptop to the bar to unwind. I&#8217;d banter with the bartender. I&#8217;d meet new people. I chose hotels based on how close a great bar was.</p><p>But do I miss my martini or the <em>situation</em> I&#8217;d drink my martinis in?</p><p>Most of our total time in a bar isn&#8217;t <em>literally</em> drinking. In fact, by the numbers, I&#8217;d guess less than 95% of our time we&#8217;re even touching our drinks. People go to bars to hangout, get a little silly, and maybe meet someone new. I wanted to be in a place where the unexpected could happen. What better place for that than a bar?</p><p>On my Nebraska road trip the last 6 months I&#8217;ve realized that my beloved martinis were nothing more than a ticket for admission to sit at my favorite bars. Hell, even as I edit this very post (after surviving my turbulent-laden flight earlier) I&#8217;m sitting at a bar at my San Francisco hotel. Now I&#8217;ll order a bitters and soda, some food, and tip the staff out accordingly. It&#8217;s their livelihood, after all.</p><h2>Early mornings without consequences</h2><p>When I think about the early mornings I had to battle with a hangover, my head hurts all over again. The money spent, the damage done, and the lost Sunday. Those days are gone for me, but recently I had a fun reminder of what we ourselves used to do after having a few too many.</p><p>During the summer, my partner Nicole (who is my sober co-founder) and I had one of those early morning flights that makes you wonder what ghoul possessed you when you booked it. Our 4am alarm went off, then our 4:05am alarm went off, and we left our apartment en route to Newark Liberty.</p><p>But as the apartment elevator door opened to our lobby two neighbors were coming <em>home</em> from a night out. Their surprise at seeing our luggage prompted an unbridled and slurry &#8220;Are you going to the airport right now?!&#8221; &#8211; Witnessing their DUI (<em>disbelief</em> under the influence) was a poetic reminder of my past. After we replied with a simple &#8220;yes&#8221; not expecting a conversation at 4:30am in our lobby, they yelled back &#8220;Ok! Have a great flight!&#8221; as the elevator doors closed. But knowing we would not be upset with our dastardly drunkenness keeping us up so late felt familiar.</p><p>Flying into smooth air, and the seatbelt sign turning off.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!F2kX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a11b38-7819-4dee-b4b8-39c360afbb92_1206x1729.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!F2kX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a11b38-7819-4dee-b4b8-39c360afbb92_1206x1729.png 424w, https://substackcdn.com/image/fetch/$s_!F2kX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a11b38-7819-4dee-b4b8-39c360afbb92_1206x1729.png 848w, https://substackcdn.com/image/fetch/$s_!F2kX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a11b38-7819-4dee-b4b8-39c360afbb92_1206x1729.png 1272w, https://substackcdn.com/image/fetch/$s_!F2kX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a11b38-7819-4dee-b4b8-39c360afbb92_1206x1729.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!F2kX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a11b38-7819-4dee-b4b8-39c360afbb92_1206x1729.png" width="1206" height="1729" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92a11b38-7819-4dee-b4b8-39c360afbb92_1206x1729.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1729,&quot;width&quot;:1206,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:337706,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.bobbytables.io/i/176590112?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17ac79e2-7012-4caf-a9fc-d85a21442556_1206x2622.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!F2kX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a11b38-7819-4dee-b4b8-39c360afbb92_1206x1729.png 424w, https://substackcdn.com/image/fetch/$s_!F2kX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a11b38-7819-4dee-b4b8-39c360afbb92_1206x1729.png 848w, https://substackcdn.com/image/fetch/$s_!F2kX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a11b38-7819-4dee-b4b8-39c360afbb92_1206x1729.png 1272w, https://substackcdn.com/image/fetch/$s_!F2kX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92a11b38-7819-4dee-b4b8-39c360afbb92_1206x1729.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#128075; I&#8217;m Robert, and I write on occasion. Subscribe if you like.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The AI SRE Startup Landscape]]></title><description><![CDATA[It's hot. It's raising a lot of money. And the promise is compelling: Put the machines on-call. Here's an (updating) list of AI SRE tools I'm tracking in the market.]]></description><link>https://www.bobbytables.io/p/the-ai-sre-startup-landscape</link><guid isPermaLink="false">https://www.bobbytables.io/p/the-ai-sre-startup-landscape</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Fri, 01 Aug 2025 12:02:07 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!L8ke!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Last Update: August 20th, 2025</em></p><p>The AI SRE category is red hot. The promise is compelling: What if machines could go on-call for you? Several startups have emerged to hunt this white whale of a product, so much so that our customers keep asking me which ones they should integrate with FireHydrant.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!L8ke!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!L8ke!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!L8ke!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!L8ke!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!L8ke!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!L8ke!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2058002,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.bobbytables.io/i/169790730?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!L8ke!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!L8ke!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!L8ke!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!L8ke!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6763c94a-c3d1-4a93-b383-b66af72322d5_1024x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>But WTF Even Is AI Site Reliability Engineering?</h2><p>The SRE name has been bruised and battered for years. DevOps teams were renamed to SRE overnight, hoping they'd somehow "do SRE things." Now "AI" has latched onto the sacred SRE name, confusing it even more. I'm here to help the overwhelmed citizens.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Pardon the interruption, but is this your jam? Subscribe!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Let's get this straight: SRE is a huge role that encompasses dozens of tasks. There's a reason SREs at large tech companies get paid the big bucks: It's a very demanding job with a very wide blast radius (of both success and failure).</p><p>In its current 2025 form, "AI SRE" encompasses two things:</p><ol><li><p><strong>Autonomously investigating incidents</strong> just like an engineer would open a dashboard and attempt to find the smoking gun in their logs.</p></li><li><p><strong>Mitigating incidents</strong> by autonomously fixing the underlying cause(s) either with code fixes or rollbacks.</p></li></ol><p>These AI SRE Agent Startups do not include features to notify on-call engineers, perform retrospectives, or create workflows for their incidents. This is the distinction between &#8220;Incident Management&#8221; and &#8220;AI SRE.&#8221;</p><h2>The List</h2><p>I've been tracking AI SRE startups for months, and I think this list could be valuable to businesses looking to try this new technology. I'm neutral on who's the best player&#8212;and I believe everyone should assume this category will change dramatically in the next 2 years.</p><p>Alright, let's get down to business!</p><h3>Dedicated AI SRE Startups</h3><p>These AI SRE companies focus on the investigation and remediation layer of the "R" in SRE. They're not building on-call scheduling, service catalogs, incident management, status pages, or retrospectives&#8212;just good ol' laser-focused products on helping engineers resolve incidents faster.</p><p>In alphabetical order:</p><h4>Causely</h4><p><strong>Website: </strong><a href="https://www.causely.ai/">https://www.causely.ai/</a></p><blockquote><p>Causely's causal reasoning engine automatically infers the single root cause when a storm of alerts begins cascading through your environment. The platform auto-discovers your environment and starts delivering insights in seconds from your existing telemetry&#8212;no setup or tuning required.</p></blockquote><h4>Cleric</h4><p><strong>Website: </strong><a href="https://cleric.ai/">https://cleric.ai/</a></p><blockquote><p>Cleric is the first AI for application teams that investigates like a senior SRE, autonomously investigating production issues and delivering findings directly to Slack. Backed by Zetta Venture Partners in a $4.3M seed round, Cleric reasons through problems it's never seen before by forming hypotheses and running real queries with your tools.</p></blockquote><h4>Neubird</h4><p><strong>Website:</strong> <a href="https://neubird.ai/">https://neubird.ai/</a></p><blockquote><p>NeuBird's Hawkeye is an AI-powered SRE co-pilot that brings the reasoning power of LLMs to telemetry data with reliable, secure Agentic AI built for enterprise IT. The company recently raised $22.5M in funding led by M12 (Microsoft's venture fund), with participation from Mayfield, StepStone Group, and Prosperity7 Ventures.</p></blockquote><h4>Phoebe</h4><p>Website: <a href="https://phoebe.ai/">https://phoebe.ai/</a></p><blockquote><p>Troubleshoot faster. Agentic search for your tech stack. Investigate errors, incidents, and more.</p></blockquote><h4>Resolve</h4><p><strong>Website:</strong> <a href="https://resolve.ai">https://resolve.ai</a></p><blockquote><p>Created by the co-creators of OpenTelemetry, Resolve AI handles all alerts, performs root cause analysis, and troubleshoots incidents within minutes. The platform operates autonomously to handle common alerts and actions, reducing escalations and saving up to 20 hours per on-call engineer per week.</p></blockquote><h3>SRE.ai</h3><p>Website: <a href="https://www.sre.ai/">https://www.sre.ai/</a></p><blockquote><p>&#8220;Meet your new AI teammates that learn fast, act responsibly, and always deliver.&#8221;</p></blockquote><h4>Tierzero</h4><p><strong>Website:</strong> <a href="https://www.tierzero.ai/">https://www.tierzero.ai/</a></p><blockquote><p>TierZero AI automatically investigates, triages, and resolves infrastructure issues, believing that infrastructure should be self-driving by surfacing the right insights and anticipating issues. The company is SOC 2 Type II certified and hosts its production services on Amazon AWS with enterprise-grade security measures.</p></blockquote><h4>Traversal</h4><p><strong>Website: </strong><a href="https://traversal.com">https://traversal.com</a></p><blockquote><p>Traversal's agent parses logs, metrics, traces, and your codebase to narrow down root causes of errors or latency, replacing the flood of alerts and logs with easy natural language. The team consists of CS PhDs from MIT and UC Berkeley, with experience at industry leaders like Uber, Amazon, Citadel, and Mistral AI.</p></blockquote><h4>Vibranium Labs</h4><p><strong>Website:</strong> <a href="https://vibraniumlabs.ai/">https://vibraniumlabs.ai/</a></p><blockquote><p>Vibranium AI acts as your 24/7 on-call teammate, eliminating alert fatigue, pinpointing root causes, and providing actionable insights for faster incident resolution. The platform can slash Mean Time to Resolution (MTTR) by up to 82% and includes a real-time AI assistant that can join calls and transcribe discussions.</p></blockquote><h4>Wildmoose</h4><p><strong>Website: </strong><a href="https://www.wildmoose.ai/">https://www.wildmoose.ai/</a></p><blockquote><p>Wild Moose provides fast, efficient root cause analysis that improves with every incident, converting tribal knowledge into smart automations to navigate complex environments. The platform constantly improves performance with a system model that learns from each incident and integrates within minutes via APIs.</p></blockquote><p>&#128373;&#65039;&#8205;&#9794;&#65039; Did I miss your company? Email me! <a href="mailto:robert@firehydrant.com">robert@firehydrant.com</a></p><h3>Observability Tools Dipping Their Toes</h3><p>Most O11Y players are dipping their toes&#8212;or cannonballing&#8212;into this space. It makes perfect sense: <em>They have the data that investigations would be performed on anyway</em>, so they're building agentic workflows on top of that goldmine.</p><p>None of these should come as a surprise:</p><ul><li><p><strong>Honeycomb</strong>*</p></li><li><p><strong>Datadog</strong></p></li><li><p><strong>Observe, Inc</strong> (observeinc.com)</p></li><li><p><strong>NewRelic</strong></p></li><li><p><strong>Coralogix</strong></p></li><li><p><strong>Dynatrace</strong></p></li><li><p>...basically everyone</p></li></ul><p>*Honeycomb is a genuine thought leader in this space. <a href="https://www.honeycomb.io/blog/its-the-end-of-observability-as-we-know-it-and-i-feel-fine">I recommend reading Austin Park's post.</a> Their blog is a treasure trove of thoughtful pieces on AI in software development.</p><h3>Incident Management Startups</h3><p>For the past five years, several incident management companies have emerged to fill the void that PagerDuty left wide open&#8212;and all of us started taking advantage of it. As the CEO of an incident management and on-call tool (<a href="https://FireHydrant.com">FireHydrant.com</a>, if you didn't know), I have just a few&#8230; million&#8230; perspectives on this space.</p><p>Here's a list of incident management startups I'm watching that are also including AI/SRE capabilities in their offerings:</p><h4>Incident.io</h4><p>With a name like "Incident," of course they're going to build "AI SRE." Incident.io threw their hat into the AI SRE ring in the past month with the promise of <em>"AI SRE resolves incidents like your best engineer"</em> featured prominently on their product page header.</p><p>Of all FireHydrant's competitors, I have the most respect for incident.io. Their team and founders have always been graceful with me and FireHydrant, and I'm curious to see how their AI SRE + everything else platform plays out.</p><p><em>P.S. I will destroy you Stephen Whitworth </em>&#128520;</p><h4>PagerDuty</h4><p>Obviously, the oldest of the bunch. Definitely not a startup anymore. They&#8217;re building an AI SRE too. They appear to be using their Rundeck acquisition from several years ago to bolster their position as an automated investigation and remediation tool. They've been integrating Slack with investigations, albeit poorly from what we hear from the field. I have yet to hear of a single company using it successfully&#8212;but maybe that's because I only speak with companies that switch to FireHydrant? Who knows.</p><h4>Rootly</h4><p>Rootly won't list FireHydrant on <a href="https://rootly.com/blog/incident-management-alternatives-in-2025">their comparison page</a> (probably because of how much I&#8217;ve <a href="https://x.com/bobbytables/status/1403090735038189573">called them out publicly</a> for the past several years).</p><p>Rootly is building an AI SRE, but it's really hard to know what it does because their screenshots are just copies (<a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7348384201429147649?commentUrn=urn%3Ali%3Acomment%3A%28ugcPost%3A7348384201429147649%2C7348389417276858369%29&amp;dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287348389417276858369%2Curn%3Ali%3AugcPost%3A7348384201429147649%29">literally</a>) of other vendors in the space.</p><p>To each their own.</p><h3>Other Businesses</h3><p>Many businesses have an "AI SRE" SKU of sorts in their product. Several DevOps platform and CI/CD companies and even code writing editors have begun to dabble with AI investigation and remediation. They're worth noting for completeness:</p><ul><li><p><strong>Harness:</strong> <a href="https://www.harness.io/products/ai-sre">https://www.harness.io/products/ai-sre</a></p></li><li><p><strong>Sentry:</strong> <a href="https://sentry.io/product/seer/">https://sentry.io/product/seer/</a></p></li><li><p><strong>GitHub:</strong> <a href="https://github.com/features/ai">https://github.com/features/ai</a></p></li><li><p><strong>Microsoft Azure:</strong> <a href="https://learn.microsoft.com/en-us/azure/sre-agent/overview">https://learn.microsoft.com/en-us/azure/sre-agent/overview</a></p></li><li><p><strong>Cursor Bugbot:</strong> <a href="https://docs.cursor.com/en/bugbot">https://docs.cursor.com/en/bugbot</a></p></li><li><p><strong>Starsling (waitlist):</strong> <a href="https://www.starsling.dev/">https://www.starsling.dev/</a></p></li></ul><p>I'm sure there are dozens more. If I missed yours, email me: <a href="mailto:robert@firehydrant.com">robert@firehydrant.com</a>.</p><h2>And now FireHydrant!?</h2><p>Nope. Not quite.</p><p>Alas, it&#8217;s me saying something I&#8217;m more excited about: <em>Partnering</em> with the next generation of AI SRE and Observability tools. <strong>All of them.</strong></p><p>I&#8217;ve spoken with countless technology leaders recently, and they&#8217;re all saying the same thing: &#8220;We&#8217;re looking at <em>all</em> of the AI SRE tools on the market &#8211; and they need to integrate with FireHydrant.&#8221; </p><p>Businesses are looking for the right AI Agent(s) that fit their specific needs. Because tech stacks vary so widely in their complexity and design &#8211; no AI SRE will be a &#8220;one size fits all&#8221; tool. Businesses are even likely to purchase <em>several</em> AI tools for their needs.</p><p>And all of those AI tools will need a place to retrieve incident context, read retrospectives, and <strong>page the humans</strong> when they come up short. That&#8217;s the platform we&#8217;re building.</p><p>AI SRE is a genuine opportunity for FireHydrant. By letting teams connect their AI agents with our incident management platform, businesses actually get something useful. FireHydrant becomes the connective tissue between AI SREs and the real world&#8212;teams can bring whatever AI SRE agent works best for them and plug it into us as their management and on-call layer. It just makes more sense to us that way.</p><p>We at FireHydrant have our sights on something else that we&#8217;re more excited to solve &#128064;</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Ok, but, like&#8230;. let&#8217;s be friends.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[On Band and Business]]></title><description><![CDATA[Every day during the summer, a group of 165 young performers wake up in a high school gym on air mattresses.]]></description><link>https://www.bobbytables.io/p/on-band-and-business</link><guid isPermaLink="false">https://www.bobbytables.io/p/on-band-and-business</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Mon, 26 May 2025 14:57:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7e1e12b3-40a3-46c2-a7ea-973beb46bc70_2048x1536.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9RLw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd57cb951-47d4-48d2-922c-3a732d193acc_2048x1536.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9RLw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd57cb951-47d4-48d2-922c-3a732d193acc_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9RLw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd57cb951-47d4-48d2-922c-3a732d193acc_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9RLw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd57cb951-47d4-48d2-922c-3a732d193acc_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9RLw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd57cb951-47d4-48d2-922c-3a732d193acc_2048x1536.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9RLw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd57cb951-47d4-48d2-922c-3a732d193acc_2048x1536.jpeg" width="1456" height="1092" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d57cb951-47d4-48d2-922c-3a732d193acc_2048x1536.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1092,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:535752,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.bobbytables.io/i/164432443?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd57cb951-47d4-48d2-922c-3a732d193acc_2048x1536.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!9RLw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd57cb951-47d4-48d2-922c-3a732d193acc_2048x1536.jpeg 424w, https://substackcdn.com/image/fetch/$s_!9RLw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd57cb951-47d4-48d2-922c-3a732d193acc_2048x1536.jpeg 848w, https://substackcdn.com/image/fetch/$s_!9RLw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd57cb951-47d4-48d2-922c-3a732d193acc_2048x1536.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!9RLw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd57cb951-47d4-48d2-922c-3a732d193acc_2048x1536.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Every day during the summer, a group of 165 young performers wake up in a high school gym on air mattresses. After they get up, their breakfast (the first of four meals a day) is served by dozens of volunteers out of a catering semi-truck parked outside as they prepare for rehearsal. It's a non-stop schedule for nearly three months with a typical day that looks like:</p><ul><li><p>8am: breakfast</p></li><li><p>9am: visual rehearsal</p></li><li><p>12pm: lunch</p></li><li><p>1pm: music rehearsal</p></li><li><p>5pm: dinner</p></li><li><p>6pm: ensemble rehearsal</p></li><li><p>9:40pm: show run-through</p></li><li><p>10pm: snack</p></li><li><p>11pm: lights out</p></li></ul><p>The group only had 4 hours of floor time last night &#8211; that is, sleeping horizontally. 6 hours of their night was spent on one of the 6 tour buses they've traveled over 5,000 miles on at this point in the season.</p><p>A hefty percentage of the summer season is spent in transit on a bus. Members spend so much time on their busses that they will make them into a studio apartment. Square footage: 2 feet by 2 feet. They'll even stick a bathroom caddy to the window to give them shelf space for the long-hauls members undergo. They get comfy, because a season consists of at least 15 contests in different towns across the United States. And the busses smell like nothing you have ever smelled before in your life.</p><p>Today is a routine morning for a group competing in the Drum Corps International (DCI) season. DCI is a summer activity that concludes with finals at Lucas Oil Stadium in Indianapolis, Indiana. The tag line of the activity is "Marching music's major league" &#8211; and it has been ongoing since the 1970s. It's a physical and creative activity that members from the age of 16-22 audition for to earn a spot.</p><p>Each of their shows are judged, scored, and expected to be better than the last time they performed it. Parents, friends, and enthusiasts cram into stadium stands on humid nights waiting for their favorite group to throw down a show. They are in the stands asking for mild tinnitus &#8211; and the drum corps' members happily give it to them. After their scores are announced, the busses and equipment trucks are once again loaded up to head to their next destination in the middle of the night.</p><p>But for a rehearsal day like today the only goal is improving their score. Today this group needs to fix an unmissable "tear" that keeps happening in their closer, make some adjustments to music, and get a few more reps in of the entire performance.</p><p>As members finish breakfast, they'll start the trek for rehearsal. By 8:50am members will have grabbed their equipment (instruments, flags, drums, etc), water jug, sunscreen, and hunt for the football field in the unknown school. Public schools are a cost-effective way for a drum corps to house the members for the summer season &#8211; and they need at least one football field. Operating a drum corps requires being extremely cost aware as it is a capital intense activity, with few ways to generate revenue.</p><p>At 8:59am the young performers within the hornline will set up, elbow to elbow in an arc shape, instruments pointed at the horn sergeant, shoulders back, standing perfectly straight, feet angled at 45 degrees, fingers curled over the valves, looking towards the center to make sure their spacing is the same between the nearly 70 horn members.</p><p>The horn sergeant, usually a member in at least their 3rd season shouts a rhythmic "Ready... front!" and the members snap their heads forward, and then their horns down in front of their chest. It's 9am, and their rehearsal has officially started.</p><h2><strong>Why did I write this?</strong></h2><p>The cost-benefit analysis of sleeping on a gym floor, traveling by bus, showering with your peers, and rehearsing during the hottest months of the year is admittedly insane. To the members, though, it's worth every single penny. These young members are <em>paying</em> to get sunburned, play music, toss flags, and make shapes on a football field. And I myself would not be where I am if I hadn't done the activity.</p><p>The last 7 years I&#8217;ve been building and running FireHydrant and the more I realize how many lessons could be extracted from DCI. Because DCI is a masterclass in organizational alignment and execution.</p><h2><strong>On Band: </strong>Pre-Tour</h2><p>Before the DCI season even begins the show music and drill (shapes on the field) has been designed and written. There will be edits as the season progresses and feedback emerges, but for the most part the music, the visual, and the show design will stay the same for the entirety of the summer and receiving a new score each performance.</p><p>For a corps to increase their <em>score</em> &#8211; they need to increase their <em>risk</em> and <em>execution</em>. A 120 beats per minute tempo while playing simple notes and moving a few feet? Piece of cake. Running and playing Metropolis 1927 at 184 tempo as a closer perfectly? <a href="https://youtu.be/kId-y1T8-vA?t=19">That's how you win.</a>. But to increase execution, the corps needs to immerse themselves for several weeks to get started. Enter: Pre-tour.</p><p>Pre-tour is when the corps goes all-in on learning and rehearsing their show. Corps members spend every day learning their show for upwards of three weeks with no public performance. Members say goodbye to their loved ones and lock themselves away for the hardest part of their season. They can expect a few sunburns, sore knees, and harsh but fair feedback from the staff. The show memorization process starts on day 1 with every member getting their first "dots" on the football field.</p><p>Dots are what make a band a <em>marching</em> band. A dot, put simply, is a coordinate on the field. Dots are the "longitude and latitude" of marching band and DCI shows. It details to every performer where they need to be, at what count of the show, and how many steps they must take to get there. By stringing together sets of dots, you get the well-known shapes and effects that marching bands create called &#8220;drill.&#8221; If you can imagine a huge sheet of graph paper over a football field &#8211; that's how dots work.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fwcM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3ed4df-1b91-4a06-8538-d6fd18030033_350x223.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fwcM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3ed4df-1b91-4a06-8538-d6fd18030033_350x223.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fwcM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3ed4df-1b91-4a06-8538-d6fd18030033_350x223.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fwcM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3ed4df-1b91-4a06-8538-d6fd18030033_350x223.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fwcM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3ed4df-1b91-4a06-8538-d6fd18030033_350x223.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fwcM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3ed4df-1b91-4a06-8538-d6fd18030033_350x223.jpeg" width="350" height="223" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f3ed4df-1b91-4a06-8538-d6fd18030033_350x223.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:223,&quot;width&quot;:350,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:30995,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.bobbytables.io/i/164432443?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3ed4df-1b91-4a06-8538-d6fd18030033_350x223.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fwcM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3ed4df-1b91-4a06-8538-d6fd18030033_350x223.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fwcM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3ed4df-1b91-4a06-8538-d6fd18030033_350x223.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fwcM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3ed4df-1b91-4a06-8538-d6fd18030033_350x223.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fwcM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3ed4df-1b91-4a06-8538-d6fd18030033_350x223.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>It's not possible to memorize a dot on the first try. Members will write down their dots, any notes, and reset multiple times during rehearsal to remember two measly sets before learning the next one. A single rehearsal might allow the corps to learn 10-15 dots. The most competitive shows will have over 200 sets members must learn.</p><p>Once learning drill has built momentum within the corps &#8211; they start cooking with gas very quickly.</p><h2><strong>On Business: </strong>Routes and Roadmaps</h2><p>In business there are three terms that all vaguely resemble each other. Businesses typically have a mission statement, a vision, and a product roadmap. In my eyes, they're all different phrases to help explain the same thing: Where we are right now, and what are we doing <em>next</em> to get to where we <em>want</em> to go.</p><p>For example, FireHydrant's vision is to help businesses build more reliable software. We have a roadmap that helps us know the route we are taking to achieve that, and several fiscal and quarterly goals that define the boundaries of the current mission. You can ask any member of the FireHydrant team what our fiscal year goals are right now, and they'd be able to tell you without hesitation.</p><p>But getting there was not an overnight achievement. Before we started this fiscal year (FY26 for us) we planned, and planned some more. We had a pre-tour for ourselves.</p><p>In essence, the leadership team was responsible for drawing the sets of drill that the rest of the organization will ultimately "perform" with. We know that for us to hit a large release effectively, we need to maneuver our engineering team into a position where they can deliver results with exceptional execution. We focused on what we wanted to achieve, and who we wanted to achieve it with.</p><p>A significant portion of my job as CEO is repeating our goals and current mission in various ways &#8211; the drill of our company. Because, as with band, it's impossible for anyone on our team to recite it after hearing it for the first time. I need to visualize what dots need to be drawn on the imaginary field our business is playing on &#8211; and make sure everyone else knows them, <em>really</em> knows them, too.</p><p>Because it's not enough to give a Google Slides presentation about what is up ahead while ending with &#8220;Ready, set, go!&#8221; Humans can't retain complex information on the first try &#8211; and need to hear it repeated over and over again for it to truly stick. Eventually, when everyone knows their drill, only then you can start cranking up the tempo.</p><h2><strong>On Band: </strong>Tempo</h2><p>When performers take the field for competition they've already rehearsed for hundreds of hours and have earned their spot to be on the field. When a show is about to start, the most important thing every member needs to internalize is their tempo. If members start their show with the wrong tempo, they will (quite literally) be off on the wrong foot.</p><p>During rehearsals, educational staff will use mild torture by blasting a beat into the ears of every member of the corps during rehearsal. The machine is called (and this isn't a joke) "Dr. Beat." I can still hear it to this day over 13 years later. But there's good reason for it.</p><p>Tempo is the life force of a show. Performers are taught to link their foot steps to the conducting hands of the person on the podium: <strong>the Drum Major</strong>. The tempo on the field at any moment is set by the podium's hands, but it is also amplified and aligned further to the steps of the center snare (the snare that is always in the middle of the 8 other snare players). Without a drum major, there isn't a tempo. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7B-V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff372fd7b-ca74-4db7-afef-069d6a7fed8f_720x480.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7B-V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff372fd7b-ca74-4db7-afef-069d6a7fed8f_720x480.webp 424w, https://substackcdn.com/image/fetch/$s_!7B-V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff372fd7b-ca74-4db7-afef-069d6a7fed8f_720x480.webp 848w, https://substackcdn.com/image/fetch/$s_!7B-V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff372fd7b-ca74-4db7-afef-069d6a7fed8f_720x480.webp 1272w, https://substackcdn.com/image/fetch/$s_!7B-V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff372fd7b-ca74-4db7-afef-069d6a7fed8f_720x480.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7B-V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff372fd7b-ca74-4db7-afef-069d6a7fed8f_720x480.webp" width="720" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f372fd7b-ca74-4db7-afef-069d6a7fed8f_720x480.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:720,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:17360,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.bobbytables.io/i/164432443?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff372fd7b-ca74-4db7-afef-069d6a7fed8f_720x480.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7B-V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff372fd7b-ca74-4db7-afef-069d6a7fed8f_720x480.webp 424w, https://substackcdn.com/image/fetch/$s_!7B-V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff372fd7b-ca74-4db7-afef-069d6a7fed8f_720x480.webp 848w, https://substackcdn.com/image/fetch/$s_!7B-V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff372fd7b-ca74-4db7-afef-069d6a7fed8f_720x480.webp 1272w, https://substackcdn.com/image/fetch/$s_!7B-V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff372fd7b-ca74-4db7-afef-069d6a7fed8f_720x480.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>For all 165 performers to know the tempo, there's a staring competition between the center snare player and the drum major. The visual tempo of the drum major's hands is amplified by the percussion section of the corps &#8211; a group that every member can hear at all times. The drum line&#8217;s drill is commonly located behind the corps on the field to achieve this as well. This means the hornline and color guard see the drum majors hands in the front, and hear the drum line behind them. This enables "vertical alignment" to the music and visual movement: perfectly synchronized harmonies and foot steps. However, when the drum major's hands are <em>not</em> aligned with the snare players or worse &#8211; the entire corps &#8211; terrible things can happen, like a tear.</p><p>A "tear" is a nasty moment in a drum corps performance, and it's hard to miss in the judges box. If the horns are suddenly 1 beat behind during a tempo change from the drum line, the flags, pit orchestra, rifle line, and drum line will hit a big show moment a ahead of time. It's a jarring experience for the audience, and it impacts the score the corps will receive from the judges. Most corps can self-correct a tear mid-show by realigning to the drum major's conducting, and a fast correction can mitigate a large impact.</p><p>But a <em>really</em> bad tear &#8211; one that goes on for a few bars of music &#8211; can drag the entire energy of the performance down. The moment a corps finishes their last set &#8211; every member knows what kind of a show they just had. They can feel it as the reverberations of their last note fade along with the applause of the audience.</p><p>In a business, this is no different. Every team member knows when the business has its own version of a tear.</p><h2><strong>On Business: </strong>Operating Rhythm</h2><p>As the CEO of FireHydrant, I'm the drum major of the organization. My job is to make sure everyone knows what we are doing, when we are doing it, and how <strong>fast </strong>we are going to do it. The tempo I set needs to be matched by every team member, or we'll have the same score-killing tear.</p><p>The tempo I give to my team also needs weeks of preparation in tandem with the organization's leaders. If my leadership team has no idea what their next tempo is &#8211; or they make one up, our whole company rips apart. A tear in drum corps might mean less points, but a tear in a startup means you go out of business.</p><p>I feel that it's necessary to clarify one thing: Operating rhythm is <em>not</em> our goals. Tempo is a function of taking how long we have, and how many things we need to accomplish. For example, If we need 1000 new logos in a fiscal year, our tempo is roughly (using a linear scale) 19 logos a week. The importance of maintaining that tempo is also important. It's why we have an all-hands every month &#8211; it's the downbeat that ensures everyone is marching on the same foot.</p><p>If people aren't using the same tempo in their work as their counterparts in other departments &#8211; it gets messy. Because when engineering is building a feature but it falls behind and sales has been preparing to sell that new feature for its release &#8211; that's a tear. If marketing is using a new messaging framework but sales is using the old one in demos, that's a tear. If we tell the entire business we have 8 weeks to ship a feature, but then change the expectation to 6 weeks &#8211; you guessed it: another tear.</p><p>To create an aligned business, I need to have the same staring competition a drum major has with their center snare &#8211; but with my executive teammates. If our collective tempos are not locked into each other &#8211; the entire company feels it.</p><h2><strong>On Band: </strong>One show</h2><p>Sometimes I'll accidentally pin someone down into a conversation about Drum Corps. People are polite about it, but a question that comes up consistently is "how many different shows do they put together in a season?" &#8211; <strong>One.</strong></p><p>It's a fair question in the world of viral videos of college bands performing a different show at every home game. 400 Texas college band members on the field making a Mario show is entertaining and perfect for the setting, but the 10 hours it took to learn that show wouldn't make it by drum corps standards.</p><p>In a single season, a corps competes with one show. One book of music. And one book of drill. They rehearse the same parts over and over again throughout the summer to increase their execution, and therefore, their score. Earning a higher score eventually becomes less about the edits they make, and instead about how much easier the show becomes because of how well the members know it.</p><p>On day one of pre-tour, you are fighting for your life to learn a show. The 200 sets of drill per member is an incredible amount of memorization. Then layer music memorization on top of that, and it's downright super human.</p><p>But something amazing happens in the back half of the season: members can perform their show with near muscle memory alone. Over the course of 2.5 months, they become so accustomed to the show that a staff member can make an edit to the music <em>the day of a contest</em> and they'll be able to perform it later that night.</p><p>Members also create a unique camaraderie each season for themselves. This one-of-a-kind social fabric of a corps creates an excellence standard that few people ever experience. No one wants to be the member that holds the corps back from earning a medal that season. Everyone is expected to pull their own weight.</p><p>And because the show, the theme, and the members stay the same &#8211; a corps can execute (and edit) their performance at a higher level through sheer repetition. It's the manifestation of "A river cuts through rock, not because of its power, but because of its persistence." - James N. Watkins.</p><h2><strong>On Business: </strong>Consistency conquers</h2><p>At FireHydrant &#8211; we've had inconsistent seasons in the past (that is my fault, and another post for another time). Roadmaps changed mid quarter, features fell out of thin air, and engineers were building a totally different set of products than what sales is currently selling. When we are locked into one "show" for a season, the momentum builds on itself.</p><p>Take Signals &#8211; our on-call product we launched last year. We dedicated the entire organization to building Signals over the course of 4 months (not much longer than a DCI season), and built a kick ass on-call product replacement that is taking on incumbents easily. That level of alignment allowed us to close hundreds of thousands in revenue before general availability. As the months went on, minor features that we wanted to add were completed in a single day because we knew the "show" we were working with so well. We had muscle memory of which files contained which features, we had the same tabs open in our browsers, and we knew exactly what each person was responsible for.</p><p>When the team is focused on one thing &#8211; one single show &#8211; it's far easier to build momentum on top of it, instead of switching all of the time. A social fabric also forms, creating a team that can take edits far faster than if we are constantly switching.</p><h2><strong>The Prize</strong></h2><p>Throughout the season, a drum corps show takes on a life of its own. We'd give sections nicknames only we knew. We'd carry out odd rituals like running and touching a water tower in the distance when we weren't rehearsing well. We'd stand in the rain rehearsing music that we hadn't nailed down yet. We'd miss weddings, funerals, and graduations while we listened to judges tapes on the bus ride headed to our next gym to sleep in.</p><p>There was a common saying we heard in our drum corps that always stuck with me. "The effort is the prize" &#8211; my trumpet tech in my last season even had it tattooed on his arm. We knew that our best show would most likely be on a rehearsal day with no audience or judges. It would be just us, some fireflies, and our loyal staff on a warm night in the middle of Pennsylvania. Our final hit would have no crowd&#8217;s applause, no scores, and no ceremonies.</p><p>It's important to remember that no matter what team you are on &#8211; a drum corps or startup or otherwise &#8211; that the moments that matter are rarely the ones that have a score. The best features a business builds won't be met with applause, and the hardest won sales deals won't have a medal ceremony. But the team you worked so damn hard with to earn these moments is, in fact, the greatest prize. But it&#8217;s also true that the more effort that is put in, the more likely it is you&#8217;ll have the receipts in the form of a medal &#8211; or an IPO.</p><p>Eventually a drum corps show has its last audience. When finals concludes and scores are announced, that show will never be performed ever again. It's the one parallel I could not draw between band and business &#8211; and I'm grateful for it, because I don't want to play a last note with FireHydrant. </p><p>Not yet.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sQpF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F011bad84-623f-41af-b423-0a78ad39b32e_1280x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sQpF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F011bad84-623f-41af-b423-0a78ad39b32e_1280x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sQpF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F011bad84-623f-41af-b423-0a78ad39b32e_1280x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sQpF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F011bad84-623f-41af-b423-0a78ad39b32e_1280x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sQpF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F011bad84-623f-41af-b423-0a78ad39b32e_1280x720.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sQpF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F011bad84-623f-41af-b423-0a78ad39b32e_1280x720.jpeg" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/011bad84-623f-41af-b423-0a78ad39b32e_1280x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:265497,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.bobbytables.io/i/164432443?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F011bad84-623f-41af-b423-0a78ad39b32e_1280x720.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sQpF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F011bad84-623f-41af-b423-0a78ad39b32e_1280x720.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sQpF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F011bad84-623f-41af-b423-0a78ad39b32e_1280x720.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sQpF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F011bad84-623f-41af-b423-0a78ad39b32e_1280x720.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sQpF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F011bad84-623f-41af-b423-0a78ad39b32e_1280x720.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">I write a few times a year about business, life, and everything in-between.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Six Months Sober]]></title><description><![CDATA[I don't quite crave alcohol six months in, but at times it does feel like an ex-girlfriend you lived so much life with.]]></description><link>https://www.bobbytables.io/p/six-months-sober</link><guid isPermaLink="false">https://www.bobbytables.io/p/six-months-sober</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Mon, 10 Mar 2025 01:37:53 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/aa25f9ef-ab37-42a8-8cf5-bf1a5ae1a6d0_768x1024.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I don't quite <em>crave</em> alcohol six months in, but at times it does feel like an ex-girlfriend you lived so much life with. You can't help but wonder what she's up to. You want to call and ask sometimes, but you know it's healthier to keep your distance. You see others with your ex on Instagram, having a great time, with smiles all around. You maybe wonder if the adventures you had together are still her best.</p><p>When my relationship with alcohol ended nearly six months ago I knew it was the right outcome despite the heartache it imposed on me at the time. I&#8217;m annoyed I have to admit this, but it was a bit of a heartbreak suddenly not knowing what a life without her would be like. We had so many planned trips together!</p><p>Before you ask &#8211; I&#8217;m not labeling myself as an alcoholic. I simply had a moment where I went &#8220;What&#8217;s the point of this?&#8221; And here we are six months later and I'm getting the hang of being sober. To mark the rather mundane occasion, I&#8217;ve written six things (one to represent each month) that I've had the pleasure of discovering.</p><h1><strong>October</strong></h1><p>My first rule of being sober: <strong>I have to tell you immediately or it will be awkward lickety-split</strong>. And believe me, it's more for me than it is for you. I'm scared you'll offer me a drink, or (worse) very generously, hand me one without asking. Then I have to turn you down, you polite purveyor of provisions. I hate turning people down. It's better if I blurt out "I don't drink" or if I don't want to explain myself I'll ask for a Coca-Cola with a sheepish "Just a coke please." It's how I cope.</p><h1><strong>November</strong></h1><p>The second thing I learned was that... <em>no one cares</em>. When you self-impose booze as a dietary restriction, you almost feel like you're also imposing it on others at the table. I found that, after several dinners and shindigs in New York City, people actually <em>enjoy</em> having a sober cat in the room. As it turns out, some people don't want to drink much at all, and the sober person provides that "out" per-se. Many have even thanked me. Several more have said "I wish I could do that." One of my favorites is when the bill comes and people go "Wow this is cheap without alcohol!" Yes, Shane, it is.</p><h1><strong>December</strong></h1><p>I also learned that sobriety benefits are not as punctual as you'd like them to be. Don't get me wrong, you'll immediately have more energy from sleeping better. But when it comes to wearing those old jeans from 10 years ago &#8211; give it time. I didn't begin seeing any weight loss until about a month in, and when it started, it fell like a rock. I've lost 25 pounds in six months. I didn't <em>need</em> to lose those pounds, but I did and I'm not one to complain about a fun thing.</p><p>Other health benefits I can't explain with medical terms were notable too. I seem to remember more mundane details of things. Certain foods also taste better &#8211; that one I was not expecting. I think I've become even wittier and faster to make a good joke. Maybe my friends would have something to say about that. I'm also more self-aware.</p><h1><strong>January</strong></h1><p>The fourth thing I learned is that booze provided a particular entertainment that is, even six months later, hard to find a replacement for. For example, I'm a big fan of pop-punk and went to well over 30 concerts last year. But, I must admit, the Fall/Winter shows without drinking were fairly lackluster. As it turns out, some bands I liked were actually not for "sober-me" live and in-person. The wet truth of the matter is that alcohol made things easier to enjoy. There's even a bar I used to frequent in Brooklyn that now when I walk by it's open door I can't help but think: "Did it always smell like shit?"</p><h1><strong>February</strong></h1><p>The fifth thing I have the pleasure of enjoying is money. And by money, I mean more of it. Booze is not friendly to one's wallet. The last few years there were times where a bar figuratively mugged me. I had exchanged hundreds of dollars for alcohol and all I got was a bruise (somehow), a biblical hangover as I wake up to the sound of Futurama playing on my television with an (empty) Joe's pizza box on the floor.</p><p>I'm now using my new wealth to buy legos, skis, and camera equipment I do not need.</p><h1><strong>March</strong></h1><p>I maybe should have written this at the beginning, but I actually deeply appreciate what alcohol has given me &#8211; and <strong>not</strong> drinking made that realization more of an epiphany than I would have expected.</p><p>Many of my cherished fuzzed-edged memories include a friend doing something profoundly dumb because we had a few too many together. Many days of many trips were topped off by a wonderful glass of wine with a spectacular view (that I may never see ever again.) Many of my career milestones were paired with pint glasses clinking at The Whiskey Tavern. My (only) perfect 900 in Skee-Ball was met with cheers from strangers and shots. I've imbibed at some of the greatest restaurants in the world and made friends in far-away places like Happiness Forgets in Shoreditch, London. I wrote the original diagrams and ideas for FireHydrant with several martinis at Dante &#8211; one of the best bars I had the pleasure of becoming a regular.</p><p>Alcohol has netted out as a positive. The breakup with it six months ago was merely a natural phenomena. It became clear that the benefits of alcohol were no longer exceeding the cost to obtain them in the first place. The impact on health, finances, and (in some unsettling circumstances) relationships with friends and family hit my self-defined tipping point. I didn't want to see my alcohol-influenced-experiences portfolio go from being in the black all these years, to going into the red.</p><p>As with every other relationship I've had, be it with human beings or hyper-personified substances, it set up the next relationship to be a far cry better. You learn what you like, what you don't like, and then you refactor your life and move forward with new adjustments. Someone told me to never reply "I'm so sorry" to someone who is going through a divorce. Instead, say "Congratulations." because it means they achieved a high-point of clarity &#8211; despite the pain or challenges.</p><p>I've also discussed ditching alcohol at length with my peers, friends, and family for the last several months. Many of them have cut back on their own accord with others joining the sober ranks, too. It feels like a new trend to me. Contrary to popular belief, It's still fun to go a hole in the wall with friends who drink, and each time, I always see my &#8220;ex&#8221; sitting at the bar. We always acknowledge each others existence with a gentle nod before returning to our groups.</p><p>And when the bartender finally comes my way, I'll reach into my new bag of replies that I've developed for the last six months.</p><p><em>"I'll just have a coke for now."</em></p><div><hr></div><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">I don&#8217;t write very often &#8211; but if you liked this then maybe just maybe subscribe for the next one to be in your inbox.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Microsoft and my tinfoil journey]]></title><description><![CDATA[Either Microsoft support is wildly incompetent or there's a large scale fraud operation going on.]]></description><link>https://www.bobbytables.io/p/microsoft-and-my-tinfoil-journey</link><guid isPermaLink="false">https://www.bobbytables.io/p/microsoft-and-my-tinfoil-journey</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Sat, 16 Nov 2024 22:46:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MsdO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b309ae5-9040-4777-9d72-d3efe775504b_3976x2534.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve been on my couch for four hours today (and several more in the past) trying to unearth why I&#8217;ve been charged ~$21 by Microsoft consistently for the past year, because I&#8217;d really like someone to <em>actually</em> investigate this journey I&#8217;m on. Because there are two outcomes:</p><ol><li><p>There&#8217;s large scale fraud occurring and nobody has noticed</p></li><li><p>Microsoft is incompetent and can&#8217;t find my transactions despite me giving them everything they&#8217;d need.</p></li></ol><p>I&#8217;m leaning towards incompetence, but I can&#8217;t be sure. Come along to see why.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MsdO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b309ae5-9040-4777-9d72-d3efe775504b_3976x2534.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MsdO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b309ae5-9040-4777-9d72-d3efe775504b_3976x2534.png 424w, https://substackcdn.com/image/fetch/$s_!MsdO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b309ae5-9040-4777-9d72-d3efe775504b_3976x2534.png 848w, https://substackcdn.com/image/fetch/$s_!MsdO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b309ae5-9040-4777-9d72-d3efe775504b_3976x2534.png 1272w, https://substackcdn.com/image/fetch/$s_!MsdO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b309ae5-9040-4777-9d72-d3efe775504b_3976x2534.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MsdO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b309ae5-9040-4777-9d72-d3efe775504b_3976x2534.png" width="1456" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b309ae5-9040-4777-9d72-d3efe775504b_3976x2534.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6433782,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MsdO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b309ae5-9040-4777-9d72-d3efe775504b_3976x2534.png 424w, https://substackcdn.com/image/fetch/$s_!MsdO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b309ae5-9040-4777-9d72-d3efe775504b_3976x2534.png 848w, https://substackcdn.com/image/fetch/$s_!MsdO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b309ae5-9040-4777-9d72-d3efe775504b_3976x2534.png 1272w, https://substackcdn.com/image/fetch/$s_!MsdO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b309ae5-9040-4777-9d72-d3efe775504b_3976x2534.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>This year alone I&#8217;ve been charged almost $300 dollars from &#8220;Microsoft.&#8221; The random credit makes no sense either. The charges are at random times, and the descriptor on the transaction is convincing enough that I thought it was Microsoft.</p><pre><code>MICROSOFT*14 DAY TRIMSBILL.INFO</code></pre><p>I&#8217;ve had these charges in the past and had no idea what they were &#8211; so I cancelled my Amex and had a new one sent to me. But the charges persisted. So I reached out to Microsoft directly to ask what exactly these were.</p><p>I provided all versions of my Amex (I have the history of my cards in 1Password) to the support agent, and, to both of our surprises &#8211; no transaction for my name, cards, and amounts is in Microsoft&#8217;s system. At least that&#8217;s what support told me.</p><p>This is when I started reaching for my Reynolds Wrap. For a few reasons:</p><ol><li><p>&#8220;14 day free trial subscription&#8221; is an oxymoron.</p></li><li><p>It happened every few days in October</p></li></ol><h2>Digging Deeper</h2><p>The transaction descriptor has an interesting domain on it: msbill.info &#8211; So a quick visit to it does a 301 Redirect to:</p><pre><code>https://support.microsoft.com/en-us/account-billing/how-to-investigate-a-billing-charge-from-microsoft-398c5328-364c-d5e4-ea8f-f5ad60562a93</code></pre><p>I followed the steps here&#8230; and nothing. No closer to figuring out this charge. So I decided to Google it with exact search.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GMeA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d592ab5-ef3f-40aa-b1f1-00397c2fd47e_3976x2534.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GMeA!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d592ab5-ef3f-40aa-b1f1-00397c2fd47e_3976x2534.png 424w, https://substackcdn.com/image/fetch/$s_!GMeA!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d592ab5-ef3f-40aa-b1f1-00397c2fd47e_3976x2534.png 848w, https://substackcdn.com/image/fetch/$s_!GMeA!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d592ab5-ef3f-40aa-b1f1-00397c2fd47e_3976x2534.png 1272w, https://substackcdn.com/image/fetch/$s_!GMeA!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d592ab5-ef3f-40aa-b1f1-00397c2fd47e_3976x2534.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GMeA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d592ab5-ef3f-40aa-b1f1-00397c2fd47e_3976x2534.png" width="1456" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2d592ab5-ef3f-40aa-b1f1-00397c2fd47e_3976x2534.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6202423,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GMeA!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d592ab5-ef3f-40aa-b1f1-00397c2fd47e_3976x2534.png 424w, https://substackcdn.com/image/fetch/$s_!GMeA!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d592ab5-ef3f-40aa-b1f1-00397c2fd47e_3976x2534.png 848w, https://substackcdn.com/image/fetch/$s_!GMeA!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d592ab5-ef3f-40aa-b1f1-00397c2fd47e_3976x2534.png 1272w, https://substackcdn.com/image/fetch/$s_!GMeA!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2d592ab5-ef3f-40aa-b1f1-00397c2fd47e_3976x2534.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Ok good so I&#8217;m not the only one confused by this charge. But all of these are community forums and might be dominating the actual answer. What if I remove them and search for only &#8220;MSBILL.INFO&#8221; on Microsoft&#8217;s website.</p><p>Well that&#8217;s odd:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4lG-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1822e07-1c80-453c-b880-94214a55406f_3976x2534.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4lG-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1822e07-1c80-453c-b880-94214a55406f_3976x2534.png 424w, https://substackcdn.com/image/fetch/$s_!4lG-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1822e07-1c80-453c-b880-94214a55406f_3976x2534.png 848w, https://substackcdn.com/image/fetch/$s_!4lG-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1822e07-1c80-453c-b880-94214a55406f_3976x2534.png 1272w, https://substackcdn.com/image/fetch/$s_!4lG-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1822e07-1c80-453c-b880-94214a55406f_3976x2534.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4lG-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1822e07-1c80-453c-b880-94214a55406f_3976x2534.png" width="1456" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f1822e07-1c80-453c-b880-94214a55406f_3976x2534.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6172013,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!4lG-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1822e07-1c80-453c-b880-94214a55406f_3976x2534.png 424w, https://substackcdn.com/image/fetch/$s_!4lG-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1822e07-1c80-453c-b880-94214a55406f_3976x2534.png 848w, https://substackcdn.com/image/fetch/$s_!4lG-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1822e07-1c80-453c-b880-94214a55406f_3976x2534.png 1272w, https://substackcdn.com/image/fetch/$s_!4lG-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff1822e07-1c80-453c-b880-94214a55406f_3976x2534.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You&#8217;d think that Microsoft would have a page explaining their domain for transactions <em>somewhere</em> right? Well now I am <em>very</em> curious about this domain. Let&#8217;s do a quick cURL of it and see what it&#8217;s doing:</p><pre><code><code>$ curl -vvvv msbill.info
* Host msbill.info:80 was resolved.
* IPv6: (none)
* IPv4: 20.112.250.133, 20.236.44.162, 20.231.239.246, 20.70.246.20, 20.76.201.171
*   Trying 20.112.250.133:80...
* Connected to msbill.info (20.112.250.133) port 80
&gt; GET / HTTP/1.1
&gt; Host: msbill.info
&gt; User-Agent: curl/8.7.1
&gt; Accept: */*
&gt;
* Request completely sent off
&lt; HTTP/1.1 301 Moved Permanently
&lt; Content-Length: 0
&lt; Date: Sat, 16 Nov 2024 21:23:16 GMT
&lt; Server: Kestrel
&lt; Location: https://support.microsoft.com/help/10623/microsoft-account-unknown-charges
&lt; Strict-Transport-Security: max-age=31536000
&lt;
* Connection #0 to host msbill.info left intact</code></code></pre><p><code>Server: Kestrel</code> is a .NET web server, so that would hint at this being a real Microsoft domain. But, to make things interesting, let&#8217;s try it with SSL:</p><pre><code>curl -vvvv https://msbill.info
* Host msbill.info:443 was resolved.
* IPv6: (none)
* IPv4: 20.236.44.162, 20.231.239.246, 20.70.246.20, 20.76.201.171, 20.112.250.133
*   Trying 20.236.44.162:443...
* Connected to msbill.info (20.236.44.162) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-AES128-GCM-SHA256 / [blank] / UNDEF
* ALPN: server accepted h2
* Server certificate:
*  subject: C=US; ST=WA; L=Redmond; O=Microsoft Corporation; CN=*.oneroute.microsoft.com
*  start date: Oct 25 02:40:26 2024 GMT
*  expire date: Apr 23 02:40:26 2025 GMT
*  subjectAltName does not match host name msbill.info
* SSL: no alternative certificate subject name matches target host name 'msbill.info'
* Closing connection
curl: (60) SSL: no alternative certificate subject name matches target host name 'msbill.info'</code></pre><p>I have a hard time believing Microsoft would host any domain they own without valid SSL on it. So let&#8217;s see who owns it:</p><pre><code>$ whois msbill.info
Domain Name: msbill.info
Registry Domain ID: 851c4c135e6742d7a0311f7c380cad9a-DONUTS
Registrar WHOIS Server: www.whois.corporatedomains.com
Registrar URL: http://www.cscglobal.com
Updated Date: 2024-09-25T05:04:49Z
Creation Date: 2016-09-29T22:33:19Z
Registry Expiry Date: 2025-09-29T22:33:19Z
Registrar: CSC Corporate Domains, Inc.
Registrar IANA ID: 299
Registrar Abuse Contact Email: domainabuse@cscglobal.com
Registrar Abuse Contact Phone: +1.3026365400
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Registry Registrant ID: REDACTED FOR PRIVACY
Registrant Name: REDACTED FOR PRIVACY
Registrant Organization: Microsoft Corporation</code></pre><p>Ok this makes me think my charges are actually from Microsoft. CSC is a major domain registrar and it does indeed say &#8220;Microsoft Corporation&#8221; &#8211; <em>but that doesn&#8217;t mean</em> someone doesn&#8217;t have a CSC account and registered msbill.info </p><p>A lot of the information is redacted &#8211; and a <code>whois</code> for microsoft.com <strong>is not</strong>. Why redact msbill.info and not microsoft.com ? Maybe Megacorp&#8482; problems, maybe fraud. So let&#8217;s see if <a href="https://crt.sh">crt.sh</a> has anything about this smelly domain: <a href="https://crt.sh/?q=msbill.info">https://crt.sh/?q=msbill.info</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GV70!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf765d91-808d-4a1d-b74e-5e2adb9922bc_3976x2534.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GV70!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf765d91-808d-4a1d-b74e-5e2adb9922bc_3976x2534.png 424w, https://substackcdn.com/image/fetch/$s_!GV70!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf765d91-808d-4a1d-b74e-5e2adb9922bc_3976x2534.png 848w, https://substackcdn.com/image/fetch/$s_!GV70!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf765d91-808d-4a1d-b74e-5e2adb9922bc_3976x2534.png 1272w, https://substackcdn.com/image/fetch/$s_!GV70!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf765d91-808d-4a1d-b74e-5e2adb9922bc_3976x2534.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GV70!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf765d91-808d-4a1d-b74e-5e2adb9922bc_3976x2534.png" width="1456" height="928" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bf765d91-808d-4a1d-b74e-5e2adb9922bc_3976x2534.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:928,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:6325486,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GV70!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf765d91-808d-4a1d-b74e-5e2adb9922bc_3976x2534.png 424w, https://substackcdn.com/image/fetch/$s_!GV70!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf765d91-808d-4a1d-b74e-5e2adb9922bc_3976x2534.png 848w, https://substackcdn.com/image/fetch/$s_!GV70!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf765d91-808d-4a1d-b74e-5e2adb9922bc_3976x2534.png 1272w, https://substackcdn.com/image/fetch/$s_!GV70!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbf765d91-808d-4a1d-b74e-5e2adb9922bc_3976x2534.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I don&#8217;t know about you, but I feel like this list a little shady. &#8220;Catposters.net&#8221; &#8211; cmon. It&#8217;s not the the exact certificate common name, <em>but why oh why is it in here in the first place. Why does Microsoft have a domain that has NO certificates <strong>ever</strong> registered?</em></p><p>Let&#8217;s look at something else, the &#8220;digital receipt&#8221; that Amex has a link to. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BTQ0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76252639-e745-4922-b87f-9e3dcf3ae543_2208x2050.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BTQ0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76252639-e745-4922-b87f-9e3dcf3ae543_2208x2050.png 424w, https://substackcdn.com/image/fetch/$s_!BTQ0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76252639-e745-4922-b87f-9e3dcf3ae543_2208x2050.png 848w, https://substackcdn.com/image/fetch/$s_!BTQ0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76252639-e745-4922-b87f-9e3dcf3ae543_2208x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!BTQ0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76252639-e745-4922-b87f-9e3dcf3ae543_2208x2050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BTQ0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76252639-e745-4922-b87f-9e3dcf3ae543_2208x2050.png" width="1456" height="1352" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76252639-e745-4922-b87f-9e3dcf3ae543_2208x2050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1352,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3260263,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BTQ0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76252639-e745-4922-b87f-9e3dcf3ae543_2208x2050.png 424w, https://substackcdn.com/image/fetch/$s_!BTQ0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76252639-e745-4922-b87f-9e3dcf3ae543_2208x2050.png 848w, https://substackcdn.com/image/fetch/$s_!BTQ0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76252639-e745-4922-b87f-9e3dcf3ae543_2208x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!BTQ0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76252639-e745-4922-b87f-9e3dcf3ae543_2208x2050.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Again &#8211; &#8220;14 Day Trial Recurs Monthly&#8221; is sketchy enough as it is.</p><p>I&#8217;ve never seen this product &#8220;Ethoca&#8221; before but it&#8217;s legit and there&#8217;s plenty of resources online saying that. So this is where I lean more towards &#8220;this is a real charge and just no one can tell me why&#8221; &#8211; IE: Microsoft is incompetent.</p><p>But that&#8217;s no fun. Let&#8217;s keep going. </p><p>I shared this screenshot along with my bank statement screenshots with Microsoft support and they claim they cannot find these charges.</p><p>So how easy is it to charge myself this amount with this smelly transaction descriptor? <strong>Extremely easy it turns out.</strong></p><p>I happened to have a Stripe account and I thought &#8220;Fraud against myself isn&#8217;t fraud, right?&#8221; And if it is &#8211; it was totally the other guy that made me do.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!idJk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652f80ba-229b-4553-a8d0-3ef064e3b48f_1828x1164.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!idJk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652f80ba-229b-4553-a8d0-3ef064e3b48f_1828x1164.png 424w, https://substackcdn.com/image/fetch/$s_!idJk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652f80ba-229b-4553-a8d0-3ef064e3b48f_1828x1164.png 848w, https://substackcdn.com/image/fetch/$s_!idJk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652f80ba-229b-4553-a8d0-3ef064e3b48f_1828x1164.png 1272w, https://substackcdn.com/image/fetch/$s_!idJk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652f80ba-229b-4553-a8d0-3ef064e3b48f_1828x1164.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!idJk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652f80ba-229b-4553-a8d0-3ef064e3b48f_1828x1164.png" width="1456" height="927" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/652f80ba-229b-4553-a8d0-3ef064e3b48f_1828x1164.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:927,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:227266,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!idJk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652f80ba-229b-4553-a8d0-3ef064e3b48f_1828x1164.png 424w, https://substackcdn.com/image/fetch/$s_!idJk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652f80ba-229b-4553-a8d0-3ef064e3b48f_1828x1164.png 848w, https://substackcdn.com/image/fetch/$s_!idJk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652f80ba-229b-4553-a8d0-3ef064e3b48f_1828x1164.png 1272w, https://substackcdn.com/image/fetch/$s_!idJk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F652f80ba-229b-4553-a8d0-3ef064e3b48f_1828x1164.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So if it took me a whopping 5 minutes to fire an &#8220;MSBILL.INFO&#8221; charge against myself &#8230; is it possible that someone has been sneaking this by for years? I honestly don&#8217;t know. Again, it&#8217;s Microsoft &#8211; they are so big it&#8217;s almost impossible to tell.</p><h2>Conclusion</h2><p>I called Amex and even the lovely support person I was connected was beyond baffled, too. None of it made sense. The descriptor, the &#8220;14 day free trial&#8221; yet I&#8217;m getting charged constantly, the timing of it all, the pages upon pages of real people complaining on Microsoft&#8217;s website.</p><p>So, for now, I&#8217;ve added a Merchant Lock to my cards preventing Microsoft from charging me. But if it&#8217;s NOT Microsoft and I&#8217;m still charged &#8211; well that&#8217;s the smoking gun.</p><p>And if you&#8217;re someone that found this blog post after searching for the same thing &#8211; welcome, we&#8217;ve got jackets. &#129509;</p><p></p>]]></content:encoded></item><item><title><![CDATA[Three new on-call providers emerge in a week. What gives?]]></title><description><![CDATA[There's something in the water.]]></description><link>https://www.bobbytables.io/p/three-new-on-call-providers-emerge</link><guid isPermaLink="false">https://www.bobbytables.io/p/three-new-on-call-providers-emerge</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Fri, 08 Mar 2024 22:11:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!43wh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10f3f6fd-01b8-4a6f-a606-fe3e1f82b385_1920x1009.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>There&#8217;s something brewing in the incident management category &#8211; new and <em>extreme</em> competition. In the last week, FireHydrant, Rootly, and Incident.io all released on-call products competitive with PagerDuty and OpsGenie. But why did it all happen at nearly the same exact time?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!43wh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10f3f6fd-01b8-4a6f-a606-fe3e1f82b385_1920x1009.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!43wh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10f3f6fd-01b8-4a6f-a606-fe3e1f82b385_1920x1009.webp 424w, https://substackcdn.com/image/fetch/$s_!43wh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10f3f6fd-01b8-4a6f-a606-fe3e1f82b385_1920x1009.webp 848w, https://substackcdn.com/image/fetch/$s_!43wh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10f3f6fd-01b8-4a6f-a606-fe3e1f82b385_1920x1009.webp 1272w, https://substackcdn.com/image/fetch/$s_!43wh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10f3f6fd-01b8-4a6f-a606-fe3e1f82b385_1920x1009.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!43wh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10f3f6fd-01b8-4a6f-a606-fe3e1f82b385_1920x1009.webp" width="1456" height="765" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10f3f6fd-01b8-4a6f-a606-fe3e1f82b385_1920x1009.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:765,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:588032,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!43wh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10f3f6fd-01b8-4a6f-a606-fe3e1f82b385_1920x1009.webp 424w, https://substackcdn.com/image/fetch/$s_!43wh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10f3f6fd-01b8-4a6f-a606-fe3e1f82b385_1920x1009.webp 848w, https://substackcdn.com/image/fetch/$s_!43wh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10f3f6fd-01b8-4a6f-a606-fe3e1f82b385_1920x1009.webp 1272w, https://substackcdn.com/image/fetch/$s_!43wh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10f3f6fd-01b8-4a6f-a606-fe3e1f82b385_1920x1009.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Just like incidents, there are multiple contributing factors &#8211; and I wanted to take some time to write why this market is shifting so unbelievably fast from my perspective as the CEO of <a href="https://www.firehydrant.com">FireHydrant</a>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Sometimes I get spicy here, and it&#8217;s free to have it in your inbox.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h3>The rapid rise of commercial incident management tooling</h3><p>Incident management is not a new idea, but it is a relatively new market. Just over five years ago the Google SRE book made its debut, Jon Allspaw spoke at every conference imaginable, debates about root cause rattled Twitter timelines, and all of a sudden, there was a groundswell of interest in more efficiently responding to incidents, running effective retrospectives (postmortems), and adopting best SRE practices. That interest was quickly met with solutions: commercial tools and structured advice for how to actually implement change. In a rapid clip, SRE became one of the <a href="https://www.linkedin.com/business/talent/blog/talent-strategy/fastest-growing-jobs-global#:~:text=On%20the%20tech%20front%2C%20there%E2%80%99s%20also%20a%20huge%20demand%20for%20site%20reliability%20engineers">most in-demand jobs</a>.&nbsp;</p><p>I merged the -m &#8220;initial commit&#8221; of FireHydrant in September 2017 and I announced it on HackerNews six months later (cue the <a href="https://news.ycombinator.com/item?id=17382927">Dropbox comment</a> vibes). Blameless, Kintaba, RigD, Squadcast, and Transposit all entered the scene around the same time. Monitoring and observability providers took notice, as did the alerting and on-call incumbents. There was a frenzy of acquisitions that resulted in Atlassian&#8217;s status pages, PagerDuty&#8217;s rundeck automation and Grafana on-call. By 2021, focused incident management providers emerged to compete with FireHydrant (hello Rootly and Incident.io). More recently BetterStack joined the club.&nbsp;&nbsp;</p><p>It&#8217;s easy to understand why this explosion of standalone reliability tools has occurred: <strong>all software will break at some point. </strong>And there&#8217;s money to be saved (and made) by the way teams respond.&nbsp;&nbsp;</p><h3>A cosmic shift toward tool consolidation</h3><p>For more than a decade, the budget for software development (and its accompanying tooling) seemed to grow on trees. And then, shortly after the solidification of the incident management category, we saw the world press pause. For the last few years engineering teams have been under increasing pressure to get by with less expensive tools, limit new purchases, and consolidate the jobs they need done into fewer vendors.&nbsp;</p><p>Since PagerDuty is often a massive line item on an engineering budget, we felt the squeeze from some of our customers and prospects who needed to justify a tool for both alerting and on-call <em>and</em> incident management. Certainly they couldn&#8217;t wipe out their alerting provider (who takes the batteries out of their smoke detector?). But perhaps this incident management stuff could go. &#8220;Why can&#8217;t PagerDuty just do both?&#8221;, our customers would report being asked by their CFOs. &#8220;Their website says they do incident response.&#8221;&nbsp;&nbsp;</p><p>But by 2023 incident response tooling had proven itself as more than a nice-to-have. Teams could leverage in-product analytics to demonstrate critical improvements in their reliability (and the $$ associated with less downtime). Last year FireHydrant closed some of our largest logos yet &#8211; including one featured front and center in a recent PagerDuty earnings report.&nbsp;</p><p>The writing was on the wall: modern engineering teams don&#8217;t want to live without commercial incident management tooling. The pressure is on to find a budget and consolidate tools. But not every team can withstand this pressure. And why should they have to? For savvy incident management providers, <strong>consolidation of alerting and on-call with incident management tooling is a natural progression.</strong>&nbsp;</p><h3>But aren&#8217;t you scared PagerDuty will just build this?&nbsp;</h3><p><a href="https://www.bobbytables.io/p/the-alerting-tool-ecosystem-is-so">I&#8217;m openly critical of PagerDuty.</a> I mean no ill-will to the hard working employees of PagerDuty. You&#8217;re generating over $400M in revenue yearly &#8211; way more than anyone in the incident management category has (for now &#128527;). But, let&#8217;s be honest here: The PagerDuty product has not had any material innovation in its core focus area (alerting and on-call) in years. You can&#8217;t add multiple services to an incident, you can&#8217;t page a team, you can&#8217;t alert anyone without also opening an incident &#8211; it&#8217;s genuinely baffling. From the outside, it has felt like the solution to lack of innovation was to simply build more things. The <a href="https://twitter.com/QuinnyPig/status/1712077241818161348">Billboards listing a bunch of random tech terms</a> don&#8217;t help with that sentiment.</p><p>Naturally, the leadership at PagerDuty sees the same trends we do &#8211; both the market opportunity and customer demand for a consolidated incident workflow. Otherwise, they wouldn&#8217;t have acquired Rundeck and more recently Jeli. The trouble is, engineers aren&#8217;t demanding more <em>tools. </em>They&#8217;re demanding more <em>efficiency</em>. And you can&#8217;t Frankenstein your way to cleaner and more efficient incidents.&nbsp;</p><h3>What I expect in the next year</h3><p>PagerDuty isn&#8217;t going to cease to exist tomorrow, but at the current rate, I&#8217;d expect a significant change in their business operations in the next year or so. There&#8217;s already been one PE buyout rumor this year. The stock itself has not moved. And multiple financial institutions are <a href="https://seekingalpha.com/news/4057804-pagerduty-downgraded-equal-weight-recovery-lag">downgrading the stock entirely.</a></p><p>No matter what happens, though, one thing is certain: <a href="https://firehydrant.com/blog/alerting-and-on-call-scheduling-for-how-you-actually-work/">Alert + Incident Management belong together</a>, and those markets are going to merge, and the companies that moved the fastest with excellent execution will be the long-term winners. The ones that didn&#8217;t, will struggle. <a href="https://www.wired.com/insights/2014/12/understanding-the-innovators-dilemma/">A classic example of innovators dilemma.</a>&nbsp;</p><p>PagerDuty left the gate down over their moat, and FireHydrant&#8217;s Signals (<a href="https://firehydrant.com/signals/">general availability</a>) led the charge into the castle grounds. Days later, Incident.io (invite only) and Rootly (coming soon) followed suit. It&#8217;s become clear that there&#8217;s plenty of excitement for a consolidated alerting and incident management tool and that there are lots of smart people building their own, innovative takes. For now, our eyes are laser focused on our own approach: deeply integrated, staunchly reliable, rich with data, meaningfully bolstered by AI, and charting toward a place where the best incidents are the ones that never happen. &#10024;Watch this space &#10024;.&nbsp;</p><p>I wouldn&#8217;t be doing my job if I didn&#8217;t also say: <a href="https://firehydrant.com/signals/">Check out Signals</a> &#8211; our modern, fairly priced, and kickass on-call and alerting tool.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">It&#8217;s like&#8230; 5 new posts a year at this point. So, what do you have to lose?</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The alerting tool ecosystem is so far behind it hurts – and I want to fix it.]]></title><description><![CDATA["Why hasn't PagerDuty done this?"]]></description><link>https://www.bobbytables.io/p/the-alerting-tool-ecosystem-is-so</link><guid isPermaLink="false">https://www.bobbytables.io/p/the-alerting-tool-ecosystem-is-so</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Wed, 20 Sep 2023 15:16:40 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!QWwo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c96b1f-4b1d-4a5d-bb7b-c1cde9e523c3_1496x1264.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="pullquote"><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QWwo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c96b1f-4b1d-4a5d-bb7b-c1cde9e523c3_1496x1264.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QWwo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c96b1f-4b1d-4a5d-bb7b-c1cde9e523c3_1496x1264.png 424w, https://substackcdn.com/image/fetch/$s_!QWwo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c96b1f-4b1d-4a5d-bb7b-c1cde9e523c3_1496x1264.png 848w, https://substackcdn.com/image/fetch/$s_!QWwo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c96b1f-4b1d-4a5d-bb7b-c1cde9e523c3_1496x1264.png 1272w, https://substackcdn.com/image/fetch/$s_!QWwo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c96b1f-4b1d-4a5d-bb7b-c1cde9e523c3_1496x1264.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QWwo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c96b1f-4b1d-4a5d-bb7b-c1cde9e523c3_1496x1264.png" width="1456" height="1230" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/83c96b1f-4b1d-4a5d-bb7b-c1cde9e523c3_1496x1264.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1230,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:271557,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QWwo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c96b1f-4b1d-4a5d-bb7b-c1cde9e523c3_1496x1264.png 424w, https://substackcdn.com/image/fetch/$s_!QWwo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c96b1f-4b1d-4a5d-bb7b-c1cde9e523c3_1496x1264.png 848w, https://substackcdn.com/image/fetch/$s_!QWwo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c96b1f-4b1d-4a5d-bb7b-c1cde9e523c3_1496x1264.png 1272w, https://substackcdn.com/image/fetch/$s_!QWwo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F83c96b1f-4b1d-4a5d-bb7b-c1cde9e523c3_1496x1264.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><strong>"Why hasn't PagerDuty done this?"</strong></p></div><p>The first few years of FireHydrant were a constant barrage of this question. Investors, friends, and prospective customers asked it in their own way, and I responded the same way each time: "Why haven't they done&nbsp;<em><strong>anything</strong>?</em>"</p><p>My response, admittedly, is cheeky. But universally, it garnered the same reaction: "That's a fair point."</p><p>As the CEO of FireHydrant, an incident management tool, it's my job to have answers to these types of questions about other businesses in the same vicinity as ours. But that one has remained the most elusive to me. We've been building an incredible incident management tool for almost five years, and 95% of our customers have already integrated an alerting tool. Which meant the question turned towards us: </p><div class="pullquote"><p>"Why aren't&nbsp;<em><strong>you</strong></em>&nbsp;building alerting?"</p></div><p>And then I started replying with the same thing: "That's a fair point." So today, we're opening up the waitlist for a modern replacement for PagerDuty or any other alerting tool you can think of.</p><p><strong>It's called Signals.</strong></p><div><hr></div><h2>The problem with alerting tools today</h2><p>I see four main problems with the alerting ecosystem as it stands today, and I've spent time with customers and industry experts validating them all. Here's what I've learned:</p><ol><li><p>Alerting as a standalone tool is "crazy fucking expensive," and no one can tell you why. People have reached their boiling point, and current macroeconomic conditions are drawing even more scrutiny to the price of alerting tools. CFOs are not happy campers right now.</p></li><li><p>Scheduling and substitutions are painful, and it hasn't materially changed for years. It took several years even to get simple round-robin logic on schedules. Moreover, you can't do apparent tasks, such as temporary coverage to walk the dog or pick up the kids inside Slack, either.</p></li><li><p>The service directory is a sham, and teams mean nothing. Every business I spoke to inevitably griped about their configuration: "We just use the service directory to represent teams because there's no other way to page them otherwise." &#8211; This is asinine, and means service ownership isn't genuinely possible without ugly hacks.</p></li><li><p>Alerts and incidents are the same, meaning people get screwed regarding noisy monitors. This also prevents getting valuable insights such as alert noise ratio and accurate mean time to detect metrics.</p></li></ol><p>This list is far from complete, and several issues with current providers are unnamed for brevity. I know I have many of my own as a recovering on-call engineer, too.</p><p>But the feedback was too consistent to ignore, and we decided to do something about it this year.</p><h2>FireHydrant: Signals</h2><p>Alerting and incident response belong together.</p><p>First, alerting is a must-have for most businesses building software in 2023. But what isn't a must-have is paying for hundreds (or thousands) of seats that are never utilized for sometimes several months each year.</p><p>So we're resetting the pricing standard:&nbsp;<strong>Active user invoicing</strong>. You'll only pay for the notified users in any given month when you use Signals for alerting. Signals is also an add-on to our core incident management platform, meaning you get all of the power of modern incident management, alerting, status pages, and retrospectives for&nbsp;<em>less</em>&nbsp;than the average per seat on PagerDuty. This also assumes you're notifying 90%+ of your entire on-call rotation &#8211; a high percentage for most businesses.</p><p>Next up: Configuration. FireHydrant Signals leverages our existing service catalog to scope escalation policies, signal rules, and schedules to a team. You need to notify teams, not services, about incidents. It also means you can quickly ask at any given point, "Who is on call for Team X?" and page them immediately. Additionally, since services have ownership in FireHydrant already, you get the same backward compatibility with whichever tool you use. And, yes, our Terraform provider will be updated on day one.</p><p>Finally, In Signals, there's a clear separation between an incoming Signal, an outgoing alert notification, and a declared incident. The benefit? Clear-as-day analytics to determine which teams receive the most alerts and which ones have the best signal-to-noise ratio. This allows teams to have data-backed discussions about which alerts they need and which they can drop entirely. The result means more sleep, happier on-call teams, and faster assembly time.</p><p>Signals is also built from the ground up by FireHydrant. We're not acquiring or merging with a company to be able to claim that we now do alerting overnight. The reality is that no company has solved it the way we think it should be, necessitating a greenfield build. Spoiler: It's badass.</p><h2>Coming soon</h2><p>Signals is being released this Winter to everyone. Still, if you want it earlier, head to&nbsp;<a href="http://www.firehydrant.com/signals">www.firehydrant.com/signals</a>&nbsp;to sign up for our waitlist and get access to the beta when it launches. We'll also release technical details for several months about how Signals is built, considerations we've made, and why it's kickass software solving a real problem.</p><p>I'm excited to show everyone what we've built soon.</p><p>- Robert</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.firehydrant.com/signals&quot;,&quot;text&quot;:&quot;Join the waitlist&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.firehydrant.com/signals"><span>Join the waitlist</span></a></p>]]></content:encoded></item><item><title><![CDATA[Your codebase is a Jenga tower]]></title><description><![CDATA[Play your blocks wisely.]]></description><link>https://www.bobbytables.io/p/your-codebase-is-a-jenga-tower</link><guid isPermaLink="false">https://www.bobbytables.io/p/your-codebase-is-a-jenga-tower</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Mon, 06 Mar 2023 17:04:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZaB5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86e838e1-c8f5-44d4-bf56-9903cc2c4a32_2745x1624.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When production goes down, what's the first thing you investigate? Maybe you check Sentry for new runtime exceptions. Next, you might check logs or traces for where these exceptions originate. Eventually, you might find yourself on GitHub clicking the "Closed" filter on the pull request page to see the most recently merged new code and fresh production deployment.&nbsp;</p><p>I did this <em>every</em> time production broke and was responsible for responding to the incident. I've seen incidents varying from dropped production databases because rake db:drop was ran in the wrong terminal window to a Spinnaker instance redeploying three-month-old code because Redis restarted.&nbsp;</p><p>Our changes are the common catalyst for production incidents, but why?</p><h2>The Life of a Codebase</h2><p>Code, and the infrastructure that runs that code, are constantly changing. Nothing can stop us when we're bushy-tailed and bright-eyed building our first features in a wide open field. And that's (sort of) right. Short of writing just lousy code, new codebases that have very few components are inherently more reliable&#8212;small projects Just Work&#8482;.</p><p>Just look at rubular.com &#8211; a long-standing website I've used countless times to write regex statements through trial and error (I hate regex). In the 13 years I've written Ruby, this website has not changed (other than the underlying Ruby version).</p><p>But only some codebases can be like Rubular. The codebases that pay the bills are under constant scrutiny from those who rely on what they provide. Customers, those damn paying customers, are the most prominent reason why codebases change. We write new code to compete, but that new code often takes on a life of its own.</p><h2>Writing code is like playing Jenga, kinda.</h2><p>Jenga, the excellent game of wood blocks and gravity, is how I think of an evolving codebase. The tower starts as a perfectly stable grid of wood girders and excited players. The first player to go rarely has rhyme or reason for their initial move. The tower is so stable that any piece can go nearly anywhere and won't fall. But as the game progresses, the tower becomes taller and more unstable. Each player gets increasingly nervous, hoping they're not the one to make it ultimately collapse, ending the game.&nbsp;</p><p>Each turn in Jenga is the same as when you merge a pull request on GitHub.</p><p>There's one minor (oh so minor) difference between my Jenga analogy and writing code, though. When we write code, we're also minting new wood blocks and attempting to slot them into place. As engineering and product teams, you're given a choice on where we think we should place our next block. Do you want more features or more stability? Should you fortify any load-bearing tech debt you have?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZaB5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86e838e1-c8f5-44d4-bf56-9903cc2c4a32_2745x1624.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZaB5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86e838e1-c8f5-44d4-bf56-9903cc2c4a32_2745x1624.png 424w, https://substackcdn.com/image/fetch/$s_!ZaB5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86e838e1-c8f5-44d4-bf56-9903cc2c4a32_2745x1624.png 848w, https://substackcdn.com/image/fetch/$s_!ZaB5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86e838e1-c8f5-44d4-bf56-9903cc2c4a32_2745x1624.png 1272w, https://substackcdn.com/image/fetch/$s_!ZaB5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86e838e1-c8f5-44d4-bf56-9903cc2c4a32_2745x1624.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZaB5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86e838e1-c8f5-44d4-bf56-9903cc2c4a32_2745x1624.png" width="1456" height="861" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/86e838e1-c8f5-44d4-bf56-9903cc2c4a32_2745x1624.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:861,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:5617144,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZaB5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86e838e1-c8f5-44d4-bf56-9903cc2c4a32_2745x1624.png 424w, https://substackcdn.com/image/fetch/$s_!ZaB5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86e838e1-c8f5-44d4-bf56-9903cc2c4a32_2745x1624.png 848w, https://substackcdn.com/image/fetch/$s_!ZaB5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86e838e1-c8f5-44d4-bf56-9903cc2c4a32_2745x1624.png 1272w, https://substackcdn.com/image/fetch/$s_!ZaB5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F86e838e1-c8f5-44d4-bf56-9903cc2c4a32_2745x1624.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>If we're making a new feature, the block is likely getting added to the top. If we're refactoring an old feature, we could slot our girder into the middle section. If tackling overall tower reliability, we could slot a tiny steel brick at the bottom, bringing the center of gravity down and creating more stability.</p><h2>Jenga, but with a twist.</h2><p>As a Jenga master code carpenter, you can play different blocks, and they change the dynamic of the game you're playing. I reckon you have three types of main blocks to play each turn:</p><ol><li><p><strong>Wood block</strong>: Create and deploy a new feature. They can be moved or added to add height to the tower each turn.</p></li><li><p><strong>Toil block</strong>: These blocks must touch at least three other blocks, <em>and can't be moved for at least 25 turns after being placed.</em></p></li><li><p><strong>Process block</strong>: These blocks can be added anywhere on the tower <em>but can't be moved for at least 50 turns. Also, at least 2/3rds of players must agree to the location of the process block.</em></p></li></ol><p>New features and code aren't the only things that stabilize your Jenga tower. Your decisions to go down a few floors and refactor girders of choices past make a considerable difference in which towers can continue to grow and which crumble and fall. Similarly, your process is a part of your change rate failure and should accommodate the height of your tower and then some, but not <em>too</em> far beyond the desired height you're trying to reach. Process blocks should be "long-term ephemeral" (is that a thing? I think it can be) because they can't move quickly.</p><h2>Fighting gravity</h2><p>That production change that took down service wasn't singularly the cause, but it was the catalyst. The mixture of changes that preceded an outage was already fighting gravity; the latest change made is the one that just took the blame. The order of the changes we made, where we put our blocks (and where we didn't), and maybe someone barely hit the table as they got up to grab another beer gave gravity its inevitable win.</p><p>But guess what? The tumbling tower of production is precisely what needed to happen to highlight where your weak spots were. Eventually, you get good enough at playing Jenga through constant trial and error to play like this.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!oVyK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f7641b-0c9b-42d4-8dd9-8a9f6c4a09aa_384x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!oVyK!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f7641b-0c9b-42d4-8dd9-8a9f6c4a09aa_384x480.gif 424w, https://substackcdn.com/image/fetch/$s_!oVyK!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f7641b-0c9b-42d4-8dd9-8a9f6c4a09aa_384x480.gif 848w, https://substackcdn.com/image/fetch/$s_!oVyK!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f7641b-0c9b-42d4-8dd9-8a9f6c4a09aa_384x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!oVyK!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f7641b-0c9b-42d4-8dd9-8a9f6c4a09aa_384x480.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!oVyK!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f7641b-0c9b-42d4-8dd9-8a9f6c4a09aa_384x480.gif" width="384" height="480" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e1f7641b-0c9b-42d4-8dd9-8a9f6c4a09aa_384x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:384,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!oVyK!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f7641b-0c9b-42d4-8dd9-8a9f6c4a09aa_384x480.gif 424w, https://substackcdn.com/image/fetch/$s_!oVyK!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f7641b-0c9b-42d4-8dd9-8a9f6c4a09aa_384x480.gif 848w, https://substackcdn.com/image/fetch/$s_!oVyK!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f7641b-0c9b-42d4-8dd9-8a9f6c4a09aa_384x480.gif 1272w, https://substackcdn.com/image/fetch/$s_!oVyK!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe1f7641b-0c9b-42d4-8dd9-8a9f6c4a09aa_384x480.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#128075;&#127996; I&#8217;m a recovering on-call engineer and CEO of FireHydrant that loves building tools developers love. </p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Incident travel time]]></title><description><![CDATA[The real investment is how fast you get there]]></description><link>https://www.bobbytables.io/p/incident-travel-time</link><guid isPermaLink="false">https://www.bobbytables.io/p/incident-travel-time</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Wed, 15 Feb 2023 23:37:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!snkw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85177b64-2698-44ee-9e39-8d06232d69d4_4096x1714.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>How long does it take for you to &#8220;arrive on scene&#8221; for your incidents? That is, how fast did it take for you to go from receiving an incident notification, to dispatching the right team, to getting to the location of the fire? Many teams out there focus on mitigating an incident quickly, and overlook this critical metric that is the most squarely in your realm of control.</p><h2>Assembly time</h2><p>On-Call pages, customer support emails, and manual discovery are all unique ways we discover fires. In real life, we call emergency services (ie: 911) when we know something is wrong. But even 911 itself was an improvement on a convoluted system for getting help quickly. <a href="https://www.911.gov/about/the-national-911-program-celebrates-50-years-of-911">Residents had to know the local number for police and fire emergency services</a> up until 1968, which is not very helpful when you&#8217;re in a different city visiting and suddenly need help.</p><p>A standardized way of dispatching emergency services was a critical step to have full-cycle incident management for cities, especially ones operating at enormous scale like New York City. Since 2013, <a href="https://www.nyc.gov/site/911reporting/reports/end-to-end-repsonse-time.page">NYC has been publishing their response times to 911 calls</a>. This data is a treat in so many ways, but it has a notable metric <em>missing</em>: resolution.</p><p>Instead, NYC focuses on the part that is within the realm of their control: How fast they can route a 911 call to the right team suited for the job, and how long it takes for that team to travel to where the incident is occurring.</p><h2>Assigning neighborhoods</h2><p>New York City, and every city for the matter, can quickly respond to incidents because of the careful organization and planning that has gone into which departments respond to which incidents, and which of those stations get dispatched to emergencies when a 911 call is received. When it comes to software, it&#8217;s all too common to see teams haphazardly assemble before the first hypothesis on what is going wrong is formed.</p><p>Software teams can mimic the organization of cities by assigning which teams own which &#8220;neighborhoods&#8221; of their stack. We can think of a software neighborhood as a functionality, a service, or even an entire environment. The important thing is to remember that these neighborhoods have assigned teams when an incident is being dispatched, much like a real fire department in Manhattan.</p><p>The best people to assign neighborhoods for incident management are the locals themselves. People who build the software that will inevitably have an incident (big or small), are the sane default to assign when you smell smoke. Service ownership expands the entire software development lifecycle, including incidents.</p><h2>Travel time</h2><p>When it comes to incidents, reaction and travel time matters. <a href="https://storymaps.arcgis.com/stories/381fcd4a36584aa28f9d836247d9a939">Smokejumpers</a>, for example, are trained to be airborne and enroute to a wildfire in a matter of minutes. When it comes to aircraft safety, getting out of the plane in less than 45 seconds best guarantees survival during an accident. Airplane safety cards, as it turns out, <a href="https://99percentinvisible.org/episode/in-the-unlikely-event/">actually work</a>.</p><p>So when it comes to software, what is the &#8220;safety card&#8221; procedure your teams can use? Oftentimes we call these runbooks or playbooks, but the goal is the same: getting to the point where you can mitigate an incident faster.</p><blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!snkw!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85177b64-2698-44ee-9e39-8d06232d69d4_4096x1714.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!snkw!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85177b64-2698-44ee-9e39-8d06232d69d4_4096x1714.png 424w, https://substackcdn.com/image/fetch/$s_!snkw!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85177b64-2698-44ee-9e39-8d06232d69d4_4096x1714.png 848w, https://substackcdn.com/image/fetch/$s_!snkw!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85177b64-2698-44ee-9e39-8d06232d69d4_4096x1714.png 1272w, https://substackcdn.com/image/fetch/$s_!snkw!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85177b64-2698-44ee-9e39-8d06232d69d4_4096x1714.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!snkw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85177b64-2698-44ee-9e39-8d06232d69d4_4096x1714.png" width="1456" height="609" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85177b64-2698-44ee-9e39-8d06232d69d4_4096x1714.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:609,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:882536,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!snkw!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85177b64-2698-44ee-9e39-8d06232d69d4_4096x1714.png 424w, https://substackcdn.com/image/fetch/$s_!snkw!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85177b64-2698-44ee-9e39-8d06232d69d4_4096x1714.png 848w, https://substackcdn.com/image/fetch/$s_!snkw!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85177b64-2698-44ee-9e39-8d06232d69d4_4096x1714.png 1272w, https://substackcdn.com/image/fetch/$s_!snkw!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85177b64-2698-44ee-9e39-8d06232d69d4_4096x1714.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Honestly someone should call 911 about this illustration, but you get the point.</figcaption></figure></div></blockquote><p>Greasing the mental wheels of an incident response team can dramatically decrease the amount of time an incident takes to be acted on, which overall decreases the amount of time that individual incident is impacting others.</p><h2>Response time matters</h2><p>Every phase of an incident has things that can be improved, and response time has one of the highest returns on investment when reducing the overall impact of an incident. So assign your neighrborhoods, standardize your declaration, and get to the fire faster.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading this thought drop, I don&#8217;t write very often, but when I do you may want to know about it!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Call me Robert]]></title><description><![CDATA[Farewell Bobby.]]></description><link>https://www.bobbytables.io/p/call-me-robert</link><guid isPermaLink="false">https://www.bobbytables.io/p/call-me-robert</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Mon, 24 Jan 2022 16:12:18 GMT</pubDate><enclosure url="https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/7145008f-3aa6-41fc-aa0c-a0e278942eb8_666x205.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jH--!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e3ed669-5d30-4c22-b088-b540ea63291d_666x205.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jH--!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e3ed669-5d30-4c22-b088-b540ea63291d_666x205.png 424w, https://substackcdn.com/image/fetch/$s_!jH--!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e3ed669-5d30-4c22-b088-b540ea63291d_666x205.png 848w, https://substackcdn.com/image/fetch/$s_!jH--!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e3ed669-5d30-4c22-b088-b540ea63291d_666x205.png 1272w, https://substackcdn.com/image/fetch/$s_!jH--!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e3ed669-5d30-4c22-b088-b540ea63291d_666x205.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jH--!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e3ed669-5d30-4c22-b088-b540ea63291d_666x205.png" width="666" height="205" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/3e3ed669-5d30-4c22-b088-b540ea63291d_666x205.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:205,&quot;width&quot;:666,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:31908,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jH--!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e3ed669-5d30-4c22-b088-b540ea63291d_666x205.png 424w, https://substackcdn.com/image/fetch/$s_!jH--!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e3ed669-5d30-4c22-b088-b540ea63291d_666x205.png 848w, https://substackcdn.com/image/fetch/$s_!jH--!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e3ed669-5d30-4c22-b088-b540ea63291d_666x205.png 1272w, https://substackcdn.com/image/fetch/$s_!jH--!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3e3ed669-5d30-4c22-b088-b540ea63291d_666x205.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">Xkcd: <a href="https://xkcd.com/327/">Exploits of a Mom</a></figcaption></figure></div><p>TL;DR: I'm asking people to go from calling me Bobby to Robert.</p><div><hr></div><p>For the last 10 or so years, I've maintained a nickname for myself that I didn't quite choose. Xkcd, a popular nerd comic, released a 4-panel cartoon depicting a mother who receives a call from her son's school. The school mentions that her child's name, Robert'); DROP TABLE STUDENTS; --, has caused a database to be erased. Knowing full well what her son's name does to databases, the mom snidely responds, "And I hope you've learned to sanitize your database inputs."</p><p>Being a nerd named Robert, this comic naturally found itself in my life. Folks started calling me Bobby Tables, and being the person I am, I accepted it. I even introduced myself as Bobby for several years. At this point, nearly my entire professional network knows me as Bobby. I had matched my social media usernames to the new nickname of Bobby Tables and even my personal domain that you're reading this on (however, I'm looking for an alternative).</p><p>However, &#8220;Bobby&#8221; never really resonated with me. I never&nbsp;<em>felt</em>&nbsp;like a Bobby. I enjoyed the joke; what nerd wouldn't? But I always felt a lot different, even relieved, when people referred to me as Robert, especially the last year. I even began to believe that my late mother would be absolutely livid if she knew I went by Bobby. After all, she named me after her best friend and professional ice skater, <a href="https://en.wikipedia.org/wiki/Robert_Wagenhoffer">Robert Wagenhoffer</a>. After visiting my family for this last Christmas (a rarity) and was&nbsp;<em>only</em>&nbsp;called Robert, I knew I needed to make an oddly difficult decision public: I'd prefer to be named Robert by everyone.</p><p>Believe me, I don't relish asking everyone to suddenly change how I'd like to be addressed. I feel as if I'm asking hundreds of people to change a habit that only benefits me. I recognize those of you who have only known me as Bobby will almost inevitably call me that accidentally for possibly the rest of our lives. My only ask is that you&nbsp;try, and I promise to never get upset. I'm well aware it will be a challenge, especially for those of you who are particularly close to me.</p><p>Thanks for reading,</p><p>Robert Ross</p><div><hr></div><p>P.S. I'll likely keep the online moniker of Bobby Tables; it's too fun to have that username for everything (GitHub, Twitter, LinkedIn, Instagram, etc.) at this point.</p>]]></content:encoded></item><item><title><![CDATA[From Engineer to CEO - Year Three]]></title><description><![CDATA[Three lessons learned over the last year as I've transitioned from a software engineer to a CEO.]]></description><link>https://www.bobbytables.io/p/from-engineer-to-ceo-year-three</link><guid isPermaLink="false">https://www.bobbytables.io/p/from-engineer-to-ceo-year-three</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Thu, 20 Jan 2022 00:50:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!IIDx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1246e77-2378-4a44-a3e1-0fea65afa5fd_2048x1396.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IIDx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1246e77-2378-4a44-a3e1-0fea65afa5fd_2048x1396.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IIDx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1246e77-2378-4a44-a3e1-0fea65afa5fd_2048x1396.jpeg 424w, https://substackcdn.com/image/fetch/$s_!IIDx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1246e77-2378-4a44-a3e1-0fea65afa5fd_2048x1396.jpeg 848w, https://substackcdn.com/image/fetch/$s_!IIDx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1246e77-2378-4a44-a3e1-0fea65afa5fd_2048x1396.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!IIDx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1246e77-2378-4a44-a3e1-0fea65afa5fd_2048x1396.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IIDx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1246e77-2378-4a44-a3e1-0fea65afa5fd_2048x1396.jpeg" width="1100" height="750" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/a1246e77-2378-4a44-a3e1-0fea65afa5fd_2048x1396.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:750,&quot;width&quot;:1100,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:847150,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!IIDx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1246e77-2378-4a44-a3e1-0fea65afa5fd_2048x1396.jpeg 424w, https://substackcdn.com/image/fetch/$s_!IIDx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1246e77-2378-4a44-a3e1-0fea65afa5fd_2048x1396.jpeg 848w, https://substackcdn.com/image/fetch/$s_!IIDx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1246e77-2378-4a44-a3e1-0fea65afa5fd_2048x1396.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!IIDx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fa1246e77-2378-4a44-a3e1-0fea65afa5fd_2048x1396.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Around three years ago, I was a Staff Software Engineer at Namely, a New York SaaS for HR, Payroll, and Benefits. Today, I sit as the CEO for a 70+ person SaaS company called <a href="https://www.firehydrant.io">FireHydrant</a>, a Series B reliability platform. I transitioned from head bobbing to music while writing code to writing emails and enthusiastically communicating our vision. I have a consistent desire to teach others all I can, and with this blog post, I want to give some key lessons I've learned in what has felt like a blink of an eye. There are three, and I've broken them up by year.</p><h2><strong>Year 1 - If the shoe fits, take it off</strong></h2><p>Our first purchase was a pull-out couch for my friend and co-founder Dylan to sleep on in my tiny one-bedroom Greenwich Village, NYC apartment in our first year. For the next several months, our life was to wake up, maybe go to the gym together, and write code. Daniel, the third co-founder, worked hard to build our infrastructure on Google Cloud, CI pipelines, and monitoring. All three of us have engineering minds and souls. A large chunk of FireHydrant that exists today was built in those long days between December 2018 and April 2019.</p><p>We had a rather substantial surface area in our product by April 2019. Our product enabled excellent incident management in Slack, simple retrospectives, and even integrated with Jira. In addition, it came with single sign on, credit card payments, a service catalog, change event tracking, and a few other nice integrations. We built a lot of great features in short order.</p><p>I'm sure you may assume that the lesson I will give here is "follow the lean startup method and ship tiny things fast!" Ship small and fast is undoubtedly sound generic advice. Instead, the lesson I learned is that it is wildly uncomfortable to put on another hat and change lanes in the business when you're&nbsp;<em>very</em>&nbsp;good at writing software. It's the same reason kids love watching the same movie over and over again, why we become regulars at local pubs, and why a Big Mac still hits the spot. We may not fear change, but all of us almost certainly love normalcy. I had been writing software for over 15 years before starting FireHydrant, so naturally, it was my norm. In many ways, it was also my identity.</p><p>I learned that you need to shake off your specialized skills the moment you've delivered what could be considered valuable. I've come to believe that people aren't avoiding shipping small things and iterating but more that they're just great at a particular skill. They forgo attempting to sell the great something they've painstakingly built because it's too damn fun to have carte blanche as a founder on your product.</p><p>Shifting your identity is not easy. FireHydrant was fortunate in that we had a great group of friends, investors, and former colleagues encouraging us to sell our damn product. I'm incredibly thankful for those who helped me shed my skin as a developer (although not entirely) and emerge as a young CEO with a lot to learn.</p><h2><strong>Year 2 - If you build it, they probably won't come</strong></h2><p>I'm a firm believer that developers are different when it comes to purchasing, frankly, anything. We viciously debate the best coffee, whiskey, keyboards, editors, languages, and then back to whiskey again (for good measure). In developer culture, it's common to research products and services in excruciating detail before concluding to purchase. Minor flaws, such as a dead link on the website, can convince a developer that the tool is not worth opening their wallet. I don't intend these observations to come across as a dig on developer culture; I'm guilty of many of them myself. I intend to articulate a simple truth: developers are picky.</p><p>I learned a harsh lesson that I need to remind myself daily in our second year: don't measure others with your ruler. I was angling FireHydrant to be the tool I wanted to buy from day one. It's the reason we supported credit card billing right at launch and had no sales team. I had a firm belief that if we built a fantastic product, developers would come and be as excited to use it as I was. I anticipated that others bought software the same way I did: I'll swiftly purchase it and implement it myself if I like it.</p><p>Indeed, not having a sales team earlier was a mistake. Since then, we have assembled an absolute world-class sales organization, and they impress me every day. There are several growth models that any startup can employ. Still, the reality is that I was measuring the market with my ruler, which prevented me from seeing a better alternative to growing our business: kick-ass sales. We needed a team of people whose sole job was to think about obtaining currency.</p><p>I encourage you to think about what assumptions you're making about your market and product based on your ruler. You might believe that everyone knows they even have a problem, to begin with, simply because you struggled with something so much. Maybe you assume people won't need customer success because you've always been able to figure out your problems. The subtly's of our assumptions can and will creep into our business, and I've learned to be mindful of my own. But be sure they're always an advantage and not a detriment, as our experiences are the crux behind us starting companies in the first place.</p><h2><strong>Year 3 - There's no such thing as a high performing family</strong></h2><p>I dislike when companies try to build a foundation for their teams on the idea of "family." As a CEO, my role is to chase our company vision with a great product and business and do it all with a great&nbsp;<em>team</em>. I've rarely encountered a family that I'd consider "high performing." On the other hand, teams should be aiming for high performance anytime they come together. You're a member of your family day in and day out, and there's no selection in most cases.</p><p>On the other hand, teams are selected and cultivated by both sides. Team members want to join, and you want them to join, and it's a mutually agreed-upon arrangement.</p><p>FireHydrant has, by definition, employees (73 at the time of writing). However, I seldom refer to people that work here as employees. Instead, I prefer to call everyone teammates because that's who they are. We wear the same jersey, play the same game together, and are all in this together no matter what department you are in at FireHydrant. We win together, and at times, we lose together.</p><p>The lesson here was an accidental discovery. I've worked for companies that attempted to create a family, and in almost every scenario, the "family" was dysfunctional. How do you give your family feedback? How do you hold a family member accountable? Societal norms prevent us from these necessary tactics when we operate as a family.</p><p>It would be best to build an organization that operates as a team. Building the company with the strict concept of "we are a team" will also be a forcing function for work/life balance. I have yet to see disadvantages to operating as a team at FireHydrant or other organizations in the past.</p><p>However, one other thought I'd like to offer is that sometimes members on that team&nbsp;<em>become</em>&nbsp;someone you'd consider family. FireHydrant has several members on its team that I believe are my closest friends and family. I've been to their weddings, traveled the world with them, and been there for challenging moments.</p><p>It's extremely fun to be a team member of a high-performing team that is continuously improving; I encourage you to build your organization with this in mind.</p><h2>Recap</h2><ul><li><p>Pay special attention to when you need to change lanes and hats because your previous identity will get in the way.</p></li><li><p>Your ruler doesn't measure the same way when compared to others. Figure out others rulers and measure with those instead.</p></li><li><p>Build a team, not a family. Families can't be high-performing. You all wear the same jersey.</p></li></ul><h2>What's next?</h2><p>I've learned countless lessons over the last few years as the CEO of FireHydrant. But these three stand out as timeless ones that I can take anywhere and refer to anytime.</p><p>As a CEO, I'm interviewing for my job every day, and I expect the following chapters will be no different.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qg7o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a490a0a-cf5f-459f-b750-bbb9d24adc50_2000x2800.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qg7o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a490a0a-cf5f-459f-b750-bbb9d24adc50_2000x2800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qg7o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a490a0a-cf5f-459f-b750-bbb9d24adc50_2000x2800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qg7o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a490a0a-cf5f-459f-b750-bbb9d24adc50_2000x2800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qg7o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a490a0a-cf5f-459f-b750-bbb9d24adc50_2000x2800.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qg7o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a490a0a-cf5f-459f-b750-bbb9d24adc50_2000x2800.jpeg" width="1100" height="1540" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/3a490a0a-cf5f-459f-b750-bbb9d24adc50_2000x2800.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1540,&quot;width&quot;:1100,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qg7o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a490a0a-cf5f-459f-b750-bbb9d24adc50_2000x2800.jpeg 424w, https://substackcdn.com/image/fetch/$s_!qg7o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a490a0a-cf5f-459f-b750-bbb9d24adc50_2000x2800.jpeg 848w, https://substackcdn.com/image/fetch/$s_!qg7o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a490a0a-cf5f-459f-b750-bbb9d24adc50_2000x2800.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!qg7o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F3a490a0a-cf5f-459f-b750-bbb9d24adc50_2000x2800.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[It's time for standardized labels]]></title><description><![CDATA[We will hate ourselves if we don't do this soon]]></description><link>https://www.bobbytables.io/p/its-time-for-standardized-labels</link><guid isPermaLink="false">https://www.bobbytables.io/p/its-time-for-standardized-labels</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Sat, 06 Mar 2021 02:38:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JYrs!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c7ac37c-4fc3-42d0-a208-3808c2c432b9_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here's a list of technologies that I'd wager you have at least one or two of in your stack:</p><ol><li><p>Amazon Web Services / Google Cloud / DigitalOcean</p></li><li><p>Kubernetes / Nomad</p></li><li><p>Prometheus / DataDog / SignalFX</p></li><li><p>ElasticSearch + Kibana / LogDNA / Splunk</p></li><li><p>FireHydrant (right?)</p></li></ol><p>You might look at this list and go, "that's a pretty typical stack nowadays," and you'd be right. But all of these technologies&nbsp;<em>also</em>&nbsp;support labels.</p><h2>What is a label?</h2><p>A label is a method of organizing something. Labels are used to attach small pieces of information to an asset. They're effective ways of denoting what something is, its expiration date or manufactured it. Labels are everywhere, from a banana in the grocery store to your Kubernetes deployment running in AWS.</p><h2>Software is badly labeled.</h2><p>We've all collectively (whether we realize it) have agreed on one label: name&#8212;the name of our repositories, Kubernetes deployments, AWS account names, domains. We're really good at giving things a name consistently. Names are an easy way to identify something; they always will be.</p><p>However, the name label is no longer adequate for the complexities of our jobs as engineers. We need to know what revision a process is currently running. We need to discover every memory metric for all of our Go applications. We need to know which processes are a part of our Kafka pipeline. Sadly, the lowly name label cannot deliver on these needs.</p><h2>The power of keys and values</h2><p>It is the absolute wild west out there when it comes to labeling software systems. For example, no one has agreed on the same term in the first place. AWS and DigitalOcean use "tags" on their assets. Kubernetes and Prometheus have settled on "labels." Fundamentally, labels and tags aren't very different. A label is a key/value; a tag is the application of that label to something.&nbsp;</p><p>A name sticker at a speed dating event is the label, and placing it on your nicely pressed shirt makes it a tag. You look great.</p><p>Having a key with a value is simple but powerful. When you introduce the concept of a key that has a value, it means you can search on the value's intent, not just "hey do you have this value?". It aligns the value of the label to something tangible. It's why we see "Hi, my name is" on those stickers for awkward social events.</p><p>Keywords, on the other hand, are unstructured words attached to an asset. When read by a person, keywords have implied keys to humans, but to computers, they're utterly meaningless. For example, if I keyword a DigitalOcean droplet "rails@5.2.1", I can read that on a screen and go, "oh, this is probably a rails application." But ask a database to give you a list of rails, and now it has to search&nbsp;<em>every</em>&nbsp;keyword and effectively guess what you mean.</p><h2>Standard labels will set us free.</h2><p>We have far too many things operating in our software stacks to not use standard labels on them anymore.&nbsp;<a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/">Kubernetes has recommended labels</a>, but that's Kubernetes. We need to follow the&nbsp;<a href="https://www.fsis.usda.gov/sites/default/files/import/Labeling-Policy-Book.pdf">FDA's example</a>&nbsp;and create a labeling standard that&nbsp;<em>everything</em>&nbsp;uses. Using that list above, we'd be empowered to find all related assets in our system using a standardized labeling scheme. We need to define standard labels for assets that can be applied to all layers of the stack. My proposal: A standard called&nbsp;<strong>OpenAsset.io</strong></p><h2>The labels</h2><p>This standard does not need 100 label definitions to be successful. It needs to cover the most extensive use case while also not tiring out hands. If a labeling standard has too many options, it becomes less and less valuable. Automation tools become harder to maintain, and engineers will simply omit labels because it becomes redundant typing them (admit it, you've done this).</p><h3>Format</h3><p>All open asset label keys start with "openasset.io" and must be a valid URL. A valid URL ensures other parties (vendors, internal tools) can parse keys quickly. Every language has a URL parser. By using a domain/path format, it makes it easy to create a statement that recognizes the host "openasset.io"</p><h3>Specified keys and their purpose</h3><p><code>openasset.io/name: "laddertruck"</code></p><p>The most straightforward label of all, what is the name of this asset?</p><p><code>openasset.io/language: "ruby"</code></p><p>What programming language is this asset/application written in?</p><p><code>openasset.io/language-version: "3.0.0"</code></p><p>What is the language of the version of the programming language used?</p><p><code>openasset.io/framework: "rails"</code></p><p>If this asset uses a framework, which framework is it?</p><p><code>openasset.io/framework-version: "5.2.1"</code></p><p>What is the version of the framework this asset is using?</p><p><code>openasset.io/component: "web"</code></p><p>What component of your stack is this asset a part of?</p><p><code>openasset.io/deployed-by: "weave"</code></p><p>What deploys this asset to an environment?</p><p><code>openasset.io/revision: "3c12d41301a7eca481c8eda0564d79a935bafd27"</code></p><p>What is the revision for this asset? This can be a git commit, semver, etc.</p><p><code>openasset.io/tier: &#8220;4&#8221;</code></p><p>What <a href="https://thenewstack.io/how-service-tiers-can-help-to-avoid-microservices-disasters/">service tier</a> does this asset have?</p><h4>An example with Kubernetes</h4><p>Kubernetes is probably the best example of how this standard could be applied. The API allows filtering by key presence and value set.</p><pre><code>apiVersion: apps/v1
kind: Deployment
metadata:
&nbsp;&nbsp;name: pubsub
&nbsp;&nbsp;namespace: laddertruck
&nbsp;&nbsp;labels:
    openasset.io/name: "laddertruck"
    openasset.io/language: "ruby"
    openasset.io/language-version: "3.0.0"
    openasset.io/framework: "rails"
    openasset.io/framework-version: "5.2.1"
    openasset.io/component: "laddertruck"
    openasset.io/deployed-by: "weave"
    openasset.io/tier: "4"
    openasset.io/revision: "3c12d41301a7eca481c8eda0564d79a935bafd27"
</code></pre><p>My vision for this labeling standard is knowing I can take the labels above and quickly search in my logs for <code>openasset.io/revision: "3c12d41301a7eca481c8eda0564d79a935bafd27"</code> and instantly see all records for that revision. This becomes especially powerful when combined with your infrastructure provider. If I have a database hosted on AWS RDS powering Laddertruck web, I can tag that database in AWS with <code>openasset.io/component: "laddertruck"</code>.</p><h2>What does this unlock?</h2><p><strong>Discoverability</strong></p><p>The most apparent advancement teams gain by utilizing a standardized labeling scheme is discoverability. Logs, metrics, deploys, etc, are all easily found since there&#8217;s no variance in the labels used. Knowing what assets are running and what they do helps breaks down village knowledge barriers.</p><p><strong>Billing insights</strong></p><p>When you tag your infrastructure with standard labels, it makes billing insights and management easier to understand and maintain. Most infrastructure providers (such as GCP and AWS) allow getting insights on asset spend filtered by labels.&nbsp;</p><p><strong>Access management</strong></p><p>Using an open labeling standard allows building tools that enforce rules about access such as SSH, resource creation, etc.</p><p><strong>Incident management</strong></p><p>By labeling assets with the keys/values proposed, the service's incident management process becomes even more flexible. Defining tiers, components, and revisions empowers responding engineers to have more context about the degraded service.</p><h2>Why do I care</h2><p>I've built several internal tools in my career. I worked on the internal inventory management at DigitalOcean (named Atlantis) for a bit. I helped build service deployment and discovery at Namely, and now I'm making FireHydrant which offers service catalogs. After years of watching CNCF technologies explode, everyone moving to the cloud, and orchestration take over like Kubernetes, it has become painfully evident that our industry needs this standard. We currently live in an unorganized hell of infrastructure and service. It's time we get organized.</p>]]></content:encoded></item><item><title><![CDATA[Software and startups]]></title><description><![CDATA[Welcome to The Thought Drop by me, Robert Ross.]]></description><link>https://www.bobbytables.io/p/coming-soon</link><guid isPermaLink="false">https://www.bobbytables.io/p/coming-soon</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Wed, 16 Dec 2020 18:21:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JYrs!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c7ac37c-4fc3-42d0-a208-3808c2c432b9_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Welcome to The Thought Drop by me, Robert Ross. Software engineer. Co-founder and CEO of www.firehydrant.io</p><p>Sign up now so you don&#8217;t miss the first issue.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.bobbytables.io/subscribe?"><span>Subscribe now</span></a></p><p>In the meantime, <a href="https://www.bobbytables.io/p/coming-soon?utm_source=substack&utm_medium=email&utm_content=share&action=share">tell your friends</a>!</p>]]></content:encoded></item><item><title><![CDATA[Dear Mom]]></title><description><![CDATA[It has been 10 years since you died.]]></description><link>https://www.bobbytables.io/p/dear-mom</link><guid isPermaLink="false">https://www.bobbytables.io/p/dear-mom</guid><dc:creator><![CDATA[Robert Ross]]></dc:creator><pubDate>Sun, 31 Dec 2017 21:22:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JYrs!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F8c7ac37c-4fc3-42d0-a208-3808c2c432b9_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It has been 10 years since you died. Your heart attack and stroke combined made it impossible for you to continue living. Late on the evening December 22nd of 2007, you passed with your siblings, me, and other members of the family all coming to give our final goodbyes. Since then, a lot has happened with me that I&#8217;ve told you teary eyed as I talk to myself driving on California interstates merely just to get out of the house, something you taught me. But a lot has happened because of the things I passively learned by being your son. Things that can&#8217;t be taught as well as they can be observed. So here they are, things you taught me that I didn&#8217;t realize until the years following your unexpected death.</p><h1><strong>Read The Room</strong></h1><p>Over the years one thing that has always helped me inch forward in my success and life was the ability to &#8220;read the room&#8221;. Looking someone in the eye as you shake their hand is customary, but reading their cheek bones, clothes, tone of &#8220;nice to meet you&#8221;, I attribute that skill to you.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thought Drop! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Time and time again I&#8217;ve had people tell me how much of a joy you were to have at parties, events, work, hell I even thought <strong>my</strong> friends liked you more than me at times. But it was the little things you did that made that happen. In the last 10 years I&#8217;ve realized a few bullet points that have never failed me based on observing how you interacted with others.</p><ul><li><p>Inflect upward when first meeting someone. A monotone &#8220;hello&#8221; as you exchange a handshake can give a bad first impression, whereas &#8220;Hi nice to meet you Matt&#8221; with an ending on a tone higher than where you started will often times leave a lasting impression.</p></li><li><p>A name is one of the most important things a person has, and remembering it and using it early and often will create a stronger relationship. Don&#8217;t pretend you heard their name in that crowded bar, ask for it again and repeat it back.</p></li><li><p>Introduce your company. If you&#8217;ve brought a guest to an event and you&#8217;re saying hello to your previous acquaintances, before diving into any conversation make sure your guests have been introduced. There&#8217;s nothing quite worst sitting idly aside as your friend talks to people you don&#8217;t know and in a place you&#8217;ve never been.</p></li><li><p>Just be yourself. Overtime, people tend to interact with the same types of people after many trial and errors. If being yourself means you&#8217;re incompatible with that type of person, it&#8217;s merely a data point and that you can move on to others. This can extend as far as a mismatch in values or even their jokes just aren&#8217;t that funny. Being yourself is the only way to really find your clique yet people love to go the other way and try to change who they are inevitably shackling their personality to peoples expectations.</p></li></ul><p>These bullet points came from several situations where I saw you meet new people. Whether it was for work, meeting my friends parents, or just a random conversation at the grocery store, you had a way of making people feel better after they met you.</p><h1><strong>Do Things For Yourself by Yourself</strong></h1><p>One thing that has actually taken a long time for me to truly realize it&#8217;s value has been doing things for yourself, by yourself. Having friends that you can spend countless hours with and not hate each other is great, however, the person you spend your whole life with is yourself. It stands to reason you should do something with yourself too. I realize in hindsight that you did this fairly constantly. While I didn&#8217;t approve of <em>how much</em> sometimes as your son, they&#8217;re valuable to recognize and practice.</p><p>One of the most prominent memories in my mind of &#8220;you doing you&#8221; was camping in Kennedy Meadows. Every summer you&#8217;d drive us to the Sierra Nevada&#8217;s for at least a week to fish, camp, and sit by the fire playing Uno with grandma. Without fail, you&#8217;d leave us and go fish the Stanislaus river alone, beers in stored in your fishing vest (which I still have and wear when I fish now). I think you just enjoyed the catharsis brought out by the sound of the river, a tight line, and your beer. It&#8217;s taken me years to understand the value of doing something by yourself, but thinking back to you walking back with a smile on your face and trout dangling from your fathers stringer, that memory alone makes me remember to do it more often.</p><p>I used to think doing something for yourself had to be big and expensive. A trip to Europe, getting a massage at a spa, or even buying a new television. What I have only recently realized though, is reading on the couch with a glass of water and a candle that crackles as it burns is just as great.</p><h1><strong>Practice Being Creative</strong></h1><p>You <em>loved</em> Christmas. Every year we&#8217;d drive Garrison street in San Diego to look at the other people&#8217;s homes that also get <em>very</em> into Christmas decorations. The Christmas spirit also kicked you into your creativity gear for a month.</p><p>I remember complaining about having to go to Michael&#8217;s (the arts &amp; crafts store) to shop for the tiny little ceramic buildings that were plain white. We&#8217;d traverse the aisles looking for paints, hot glue gun supplies, and homes for ants. After the dreadful trip you&#8217;d take hours to paint the ceramic homes with whatever you felt made the most sense. You did this for a <em>dozen</em> of pieces at least every year. We&#8217;d attach Christmas tree holders and drape them from our Noble fir we had gotten for the year or arrange them on fake snow in the living room.</p><p>I only bring this up because it ties into something that makes me who I am. I love being creative. Whether its playing my Trumpet, making a website, or finding a unique way out in a tight situation in Halo, I&#8217;ve always loved being creative. The simple acts of creativity that you involved me in during your life led me to be this way. If you didn&#8217;t push me to be a musician, I wouldn&#8217;t have done Drum Corps, which is, by and large, why I am successful.</p><h1><strong>Mental Health Can Ruin Your Life</strong></h1><p>I wish you were alive for me to tell you this, but its one of the reasons passed away in the first place in my mind. But stress and anxiety will ruin your life. It will debilitate you more than anyone can properly explain with words. But, at the same time, <strong>I learned this from you</strong>.</p><p>Our last few years together were anything but golden arches mom. I think we can both agree on that. We fought, yelled, slammed doors, ran away, called relatives complaining&#8230; you name it, we probably did it.</p><p>A lot of this stemmed from a lack of money, which stemmed from not working. A lot of it also stemmed from me having bad grades. A lot of it might be because of booze. While speculating what exactly caused it 10 years later benefits no one, the truth of the matter was, I saw the affects of you being stressed, depressed, and anxious until your last day.</p><p>It became obvious I knew what was going on with you years ago when I started to feel the same way. I wanted to sleep anytime of the day for hours. I drank a lot. I would have outbursts at games I used to love to play. I&#8217;d get frustrated at petty things. My head would hurt for no reason. I&#8217;d cry out of nowhere by myself.</p><p>Having seen the affects of these in the longer term first hand, I&#8217;ve made it a first priority to always fix them first. It took a rough start to 2017 to make this a real priority. However, I can confidently say I have the tools and resources necessary to combat my own brain when it decides to throw a tantrum. This is only because I unfortunately saw you struggle with it but not know how to fix it, or the willingness sometimes. I wish I could tell you what I know now, when you were going through it too.</p><h1><strong>Farewell</strong></h1><p>A decade ago, I said my final farewell to you. It was the most painful thing I&#8217;ve ever endured. But I&#8217;m constantly thanking you to this day for the things you taught me without knowing it. You&#8217;ll never know the lasting effects of me playing an instrument, searching &#8220;how to make a website&#8221;, or reading a room as I walk in. All of which stemmed from the wonderful times we had together.</p><p>Thank you, Mom<br>Sincerely, Robert</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.bobbytables.io/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading The Thought Drop! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>