<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: msteffen</title><link>https://news.ycombinator.com/user?id=msteffen</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 15 Jun 2026 14:23:21 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=msteffen" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by msteffen in "Building from zero after addiction, prison, and a felony"]]></title><description><![CDATA[
<p>> The beginning of the end: The day I bought an Adderall from a classmate. When that amphetamine feeling kicked-in, it was as if life was perfect for the first time. I was happy, confident, felt I could do anything.<p>You know, I had a similar experience, but in my case I got an appointment with a psychiatrist afterwards, described the experience in detail, was given a computer test, diagnosed with ADHD, and then given a prescription. (Also in my case, I learned Adderall doesn’t actually feel great or help you if you take too much).<p>Take care of your kids. The war on drugs is stupid. Etc.</p>
]]></description><pubDate>Sun, 07 Jun 2026 21:58:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48438995</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=48438995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48438995</guid></item><item><title><![CDATA[New comment by msteffen in "Universal Memory Protocol – a shared format for agent memory"]]></title><description><![CDATA[
<p>IIUC, the most basic version is when you have a log where every entry has both “date added” and “effective date,” so you can add stuff to the log retroactively. For example, “the user just informed us yesterday that they moved last year” -> address date added=yesterday, date effective=last year</p>
]]></description><pubDate>Sat, 06 Jun 2026 22:16:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=48429563</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=48429563</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48429563</guid></item><item><title><![CDATA[New comment by msteffen in "It Will Never Be the Year of the Linux Desktop"]]></title><description><![CDATA[
<p>Yeahhhh…this is not really how Linux works, though.<p>Most of LLM world is kind of anti-linux right now because the most popular LLMs are walled off by these huge companies and hella expensive. At some point, a nerd will realize they could hack together a surprisingly ok homebrew version of what everybody else is using, and do. Then a company realizes that they can build a brand on the anarchist, grassroots vibe of the homebrew thing, and capitalize its development (software development, but also community development, which is brand development for the company). Now, it’s much later, but the open source thing is competitive, and popular for being open-source.<p>At one point I got interested in why Red Hat handed over tens of millions of dollars in stock to Linus leading up to their IPO, in exchange for…nothing specific. Nominally it was a gift of appreciation, but handing out random gifts is somewhat opposed to maximizing shareholder returns. It’s because Linus controls merges to the Linux kernel and doesn’t have to care about Red Hat, and the board wanted him to care at least a little bit. They were stuck between “people trust our business because it’s built on this populist OS” and “this populist OS is mostly controlled by a guy who doesn’t work for us.” It’s hard to have one without the other.<p>I’m glad Apple is taking accessibility seriously, and I wish accessibility worked better on Linux, but I don’t think Linux is ever going to make developers “do their homework,” because the community wouldn’t trust a Linux like that. If the author is right, it’ll happen because “AI for the People, Inc.” builds a business on it and sponsors the work.</p>
]]></description><pubDate>Fri, 29 May 2026 15:37:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48324587</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=48324587</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48324587</guid></item><item><title><![CDATA[New comment by msteffen in "Productivity isn't about going faster"]]></title><description><![CDATA[
<p>I've never heard this before, but it seems very insightful to me.</p>
]]></description><pubDate>Tue, 12 May 2026 15:54:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48110082</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=48110082</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48110082</guid></item><item><title><![CDATA[New comment by msteffen in "Productivity isn't about going faster"]]></title><description><![CDATA[
<p>I mean the headline is great! I can't tell you how many arguments I've had about "you can't execute your way out of a bad strategy" (which I claim the original "you can't exercise your way out of a bad diet" is a special case of)</p>
]]></description><pubDate>Tue, 12 May 2026 06:09:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=48104795</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=48104795</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48104795</guid></item><item><title><![CDATA[New comment by msteffen in "Local AI needs to be the norm"]]></title><description><![CDATA[
<p>> One of the current trends in modern software is for developers to slap an API call to OpenAI or Anthropic for features within their app.<p>Well there’s your problem, control needs to go the other way. If you want your app to be AI-enabled, you need to make it easy for AI to control your app. Have you used OpenClaw? It’s awesome!</p>
]]></description><pubDate>Sun, 10 May 2026 20:53:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48087885</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=48087885</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48087885</guid></item><item><title><![CDATA[New comment by msteffen in "Read Programming as Theory Building"]]></title><description><![CDATA[
<p>I wrote a series of blog posts about this a few years ago: <a href="https://creating.software/essays/theory_of_a_program/" rel="nofollow">https://creating.software/essays/theory_of_a_program/</a>, some of the few I ever actually finished, lol.<p>Most of my posts have aged terribly in the age of AI (especially the ones I didn't finish...so long, extended discussion of how to use a lab notebook when debugging, we hardly knew ye. Claude fixes our bugs now) but one job that engineers still have is the collection and retention of context that AI doesn't have and can't easily get.</p>
]]></description><pubDate>Sat, 09 May 2026 15:06:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48075562</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=48075562</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48075562</guid></item><item><title><![CDATA[New comment by msteffen in "The bottleneck was never the code"]]></title><description><![CDATA[
<p>For that matter, here's a thread from a few days ago recommending the practice of scheduling status meetings for the purpose of pressuring the attendees to work on your project in addition to their other work: <a href="https://news.ycombinator.com/item?id=47906942">https://news.ycombinator.com/item?id=47906942</a><p>What hermit wouldn't love meetings that simultaneously insist that you do more while taking away time to do it, all to avoid adjusting a pollyanna quarterly plan and budget!</p>
]]></description><pubDate>Wed, 06 May 2026 16:58:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48038552</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=48038552</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48038552</guid></item><item><title><![CDATA[New comment by msteffen in "The bottleneck was never the code"]]></title><description><![CDATA[
<p>Yes! So much of professional software development is about assisting the nominal job of management—planning and budgeting—rather than users or even business fundamentals.<p>Why am I awake at 1:00am, ruining my brain and body, trying to get this feature finished before the end of the week instead of three days later? Ah yes, so that we meet our quarterly OKR, and the next quarter's plan that the EM and PM negotiated without me or our customers isn't disrupted and doesn't need adjustment. That would invite reprimand from the director, and the extra work would be terrible for them, I understand.<p>I'm reminded of this recent thread in which Heroku left the devs in charge and suddenly features that the author had requested for years got implemented: <a href="https://news.ycombinator.com/item?id=47669749">https://news.ycombinator.com/item?id=47669749</a></p>
]]></description><pubDate>Wed, 06 May 2026 13:41:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48036134</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=48036134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48036134</guid></item><item><title><![CDATA[New comment by msteffen in "Meetings are forcing functions"]]></title><description><![CDATA[
<p>My point being, in case it’s still unclear, that “I’ll create pressure on everyone and then progress will happen,” is IMO bad management.<p><i>Sometimes</i> the problem is not enough motivation, though I think that if you hire well, that’s rare—the best engineers are intrinsically creative and motivated. Often, lack of progress is due to some other organizational problem—too much toil, unclear priorities, conflict, etc—and just adding pressure until progress happens is the manager equivalent of whining until your sister does your chores for you.<p>Even if it works, either<p>1. the team is working around the problem (which the manager doesn’t know about or understand, and isn’t dealing with it) and will eventually get fed up and leave, or<p>2. someone pushes extra hard and solves the problem for everybody else. Now, that person the de-facto leader, though they’re not recognized, and in fact are often penalized for getting distracted from the paper priorities, since the managers who do this are rarely interested in the mechanics of how their problem was solved. Respect for management is lost, because they don’t understand what’s happening. Eventually everyone gets fed up and leaves.<p>Managers can’t solve every problem themselves, of course, but the manager needs to understand what the problems are, explicitly set the priority of solving them, and understand and celebrate the solutions when they’re found.</p>
]]></description><pubDate>Tue, 28 Apr 2026 14:29:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=47935166</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=47935166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47935166</guid></item><item><title><![CDATA[New comment by msteffen in "Meetings are forcing functions"]]></title><description><![CDATA[
<p>You know what, I read it again and I don't even disagree with the concrete advice in the post—weekly meeting, starting with open tasks from last week—which I would characterize as a basic, ubiquitous, almost anodyne organizational coordination tool. My problem is this part:<p>> Everyone has other obligations, fires to put out, and emails to answer. It’s easy for long-term strategic, high-impact work to sink to the bottom of everyone’s todo list...this creates pressure on everyone to make progress.<p>One experience among many: I spent a very painful six months as a new grad, in a particularly dysfunctional corner of a mildly dysfunctional organization, in hours of daily back-to-back arm-twisty status meetings with team after team who wanted something from me and were sure this would get it (after which I would stay up all night working, since that was the only time I had left for that).<p>You know how it ended? The tech lead on my team cornered me in a conference room to find out why nothing was getting done, and I fully lost it with the guy. Like just started shouting that the actual consequences of ignoring the things people wanted ignored were transparently not acceptable, and I was barely sleeping trying to hold everything together. He got very quiet, said "ok," and we started going to meetings together and saying no to stuff. The amount that was collectively being demanded from me/us exceeded what could be delivered, but no one was on triage duty.<p>I've learned quite a bit since then (including spending a few years in management), so I've gotten better at understanding what's happening and asking for what I need. I've just also decided that "it's not my role to figure it out" managers (and PMs) are like rocks in the bowels of an organization. They’re in the way, subtly, quietly making everything bloated and painful as long as they’re there.</p>
]]></description><pubDate>Tue, 28 Apr 2026 05:57:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47930869</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=47930869</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47930869</guid></item><item><title><![CDATA[New comment by msteffen in "Meetings are forcing functions"]]></title><description><![CDATA[
<p>IMO this is such a manager-brained take. If your long-term strategic goals aren't being advanced, <i>you</i> have to figure out why. Talk to your team and figure out what the deal is. Talk to other teams too, while you're at it. You might accidentally solve a problem.<p>The number of managers who've successfully convinced themselves that knowing things and making decisions aren't part of their job, and just fill their days with arm-twisting and event-planning, is literally unbelievable to me. I've never met a founder with the attitude "yes I'll just put the stakeholders in an alignment meeting and my company will build itself," but somehow half the of the rest of leadership thinks that's a job.</p>
]]></description><pubDate>Tue, 28 Apr 2026 03:30:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47930190</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=47930190</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47930190</guid></item><item><title><![CDATA[New comment by msteffen in "Do I belong in tech anymore?"]]></title><description><![CDATA[
<p>A lot of this is about knowledge debt if I’m reading it correctly (people not knowing things that they should know, or knowing the wrong things). In my last few jobs, I’ve maintained an Anki deck about facts relevant to my job (who certain people are, how certain systems work, details of the programming languages we use, etc.)<p>I’ve started kind of a funny rule, which is that when I make a change now, I can use Claude or not. But if I use Claude, some cards have to go into the deck. Both about how the implementation works, and also about anything within the implementation I didn’t know about. It does force you to double-check things before committing them to memory.</p>
]]></description><pubDate>Sat, 25 Apr 2026 13:20:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47901382</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=47901382</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47901382</guid></item><item><title><![CDATA[New comment by msteffen in "Over-editing refers to a model modifying code beyond what is necessary"]]></title><description><![CDATA[
<p>I think about this a lot, though one paragraph from that article:<p>> Many assembly programmers were accustomed to having intimate control over memory and CPU instructions. Surrendering this control to a compiler felt risky. There was a sentiment of, if I don’t code it down to the metal, how can I trust what’s happening? In some cases, this was about efficiency. In other cases, it was about debuggability and understanding programming behavior. However, as compilers matured, they began providing diagnostic output and listings that actually improved understanding.<p>I would 100% use LLMs more and more aggressively if they were more transparent. All my reservations come from times when I prompt “change this one thing” and it rewrites my db schema for some reason, or adds a comment that is actively wrong in several ways. I also think I have a decent working understanding of the assembly my code compiles to, and do occasionally use <a href="https://godbolt.org/" rel="nofollow">https://godbolt.org/</a>. Of course, I didn’t start out that way, but I also don’t really have any objections to teenagers vibe-coding games, I just think at some point you have to look under the hood if you’re serious.</p>
]]></description><pubDate>Wed, 22 Apr 2026 18:53:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47867706</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=47867706</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47867706</guid></item><item><title><![CDATA[New comment by msteffen in "Cal.diy: open-source community edition of cal.com"]]></title><description><![CDATA[
<p>> Millions and possibly billions of dollars just assuming average SWE compensation rates<p>Yeah, and average kernel devs are not average SWEs</p>
]]></description><pubDate>Tue, 21 Apr 2026 21:11:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47854553</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=47854553</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47854553</guid></item><item><title><![CDATA[New comment by msteffen in "Show HN: Alien – Self-hosting with remote management (written in Rust)"]]></title><description><![CDATA[
<p>IIUC this kind of thing is usually called “managed deployment.” Minio used to have a slick implementation of this, and I think databricks does as well. Usually it’s less “execute arbitrary commands on customer hosts,” and more “send metrics and logs to shared repository and send RPCs to customer deployment”</p>
]]></description><pubDate>Mon, 20 Apr 2026 17:03:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47837214</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=47837214</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47837214</guid></item><item><title><![CDATA[New comment by msteffen in "Dear Heroku: Uhh What's Going On?"]]></title><description><![CDATA[
<p>Next week: “we are right-sizing the organization”</p>
]]></description><pubDate>Tue, 07 Apr 2026 05:03:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=47670957</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=47670957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47670957</guid></item><item><title><![CDATA[New comment by msteffen in "Dear Heroku: Uhh What's Going On?"]]></title><description><![CDATA[
<p>Five bucks it’s this:<p>Management: “we’re going into maintenance mode”<p>Devs: “You mean we get to work on whatever we want?!”</p>
]]></description><pubDate>Tue, 07 Apr 2026 04:51:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47670894</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=47670894</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47670894</guid></item><item><title><![CDATA[New comment by msteffen in "Got kicked out of uni and had the cops called for a social media website I made"]]></title><description><![CDATA[
<p>Very nice thread by the former CEO of Reddit about online behavior, moderation, etc: <a href="https://x.com/yishan/status/1586955288061452289" rel="nofollow">https://x.com/yishan/status/1586955288061452289</a><p>Per the thread, it’s possible this problem could’ve been solved by burying the site in affiliate links…</p>
]]></description><pubDate>Mon, 06 Apr 2026 22:44:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47668335</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=47668335</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47668335</guid></item><item><title><![CDATA[New comment by msteffen in "Shooting down ideas is not a skill"]]></title><description><![CDATA[
<p>Honestly IMO this kind of thing just depends a lot on tone. “That won’t work because” tends to piss people off and they usually do the thing anyway. “Cool idea! What about …? We tried … years ago and failed because of that” works at least sometimes (and sometimes they have a good answer)<p>Edit: also, bluntly, sometimes objections have answers that can’t be said. “DevOps won't want to support another service.”…”that’s because our devops engineers all think you’re an overpaid jackass and are strongly inclined to reject your ideas out of the gate. My one other idea they liked, so they’ll probably take a chance on another one.” What’s hard but important to remember is that sometimes you’re the person that things can’t be said to.</p>
]]></description><pubDate>Sun, 05 Apr 2026 01:46:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47645378</link><dc:creator>msteffen</dc:creator><comments>https://news.ycombinator.com/item?id=47645378</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47645378</guid></item></channel></rss>