<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: pavel_pt</title><link>https://news.ycombinator.com/user?id=pavel_pt</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 29 Oct 2026 19:11:50 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=pavel_pt" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by pavel_pt in "Ghostty 1.4"]]></title><description><![CDATA[
<p>AFAICT, the bug from 1.3.1 where you cannot paste into the search field is still present in 1.4. I guess agents doing all the grepping these days?</p>
]]></description><pubDate>Wed, 28 Oct 2026 08:06:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=50270492</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=50270492</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50270492</guid></item><item><title><![CDATA[New comment by pavel_pt in "Today is when the Amazon brain drain sent AWS down the spout"]]></title><description><![CDATA[
<p>Business hours for the team receiving the alarm; many issues can wait to be resolved during <i>your own</i> waking hours if they are not impacting customers.</p>
]]></description><pubDate>Tue, 21 Oct 2025 11:13:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=45654495</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=45654495</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45654495</guid></item><item><title><![CDATA[New comment by pavel_pt in "Today is when the Amazon brain drain sent AWS down the spout"]]></title><description><![CDATA[
<p>I worked at AWS (EC2 specifically), and the comment is accurate.<p>Engineers own their alarms, which they set up themselves during working hours. An engineer on call carries a "pager" for a given system they own as part of a small team. If your own alert rules get tripped, you will be automatically paged regardless of time of day. There are a variety of mechanisms to prioritize and delay issues until business hours, and suppress alarms based on various conditions - e.g. the health of your own dependencies.<p>End user tickets can not page engineers but fellow internal teams can. Generally escalation and paging additional help in the event that one can not handle the situation is encouraged and many tenured/senior engineers are very keen to help, even at weird hours.</p>
]]></description><pubDate>Tue, 21 Oct 2025 09:02:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=45653863</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=45653863</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45653863</guid></item><item><title><![CDATA[New comment by pavel_pt in "The Heart of Innovation: Why Most Startups Fail"]]></title><description><![CDATA[
<p>Fantastically insightful; surprised this didn't gain more traction here. Curious if the gook contains deeper insights still.</p>
]]></description><pubDate>Sun, 18 May 2025 06:44:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=44019476</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=44019476</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44019476</guid></item><item><title><![CDATA[New comment by pavel_pt in "Amazon Ends Support for Chime"]]></title><description><![CDATA[
<p>I think things like the Slack conference call integration depend on this. In fact that’s the only use outside of the official client I’m aware of.</p>
]]></description><pubDate>Thu, 20 Feb 2025 15:52:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=43116170</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=43116170</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43116170</guid></item><item><title><![CDATA[New comment by pavel_pt in "Initial details about why CrowdStrike's CSAgent.sys crashed"]]></title><description><![CDATA[
<p>If that’s all it takes an attacker, you’re doing AWS wrong.</p>
]]></description><pubDate>Sun, 21 Jul 2024 08:39:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=41023486</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=41023486</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41023486</guid></item><item><title><![CDATA[New comment by pavel_pt in "Show HN: Restate – Low-latency durable workflows for JavaScript/Java, in Rust"]]></title><description><![CDATA[
<p>I hope @sewen will expand on this but from the blog post he wrote to announce Restate to the world back in August '23:<p>> Stateful Functions (in Apache Flink): Our thoughts started a while back, and our early experiments created StateFun. These thoughts and ideas then grew to be much much more now, resulting in Restate. Of course, you can still recognize some of the StateFun roots in Restate.<p>The full post is at: <a href="https://restate.dev/blog/why-we-built-restate/" rel="nofollow">https://restate.dev/blog/why-we-built-restate/</a></p>
]]></description><pubDate>Wed, 12 Jun 2024 18:53:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=40661595</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=40661595</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40661595</guid></item><item><title><![CDATA[New comment by pavel_pt in "Show HN: Restate – Low-latency durable workflows for JavaScript/Java, in Rust"]]></title><description><![CDATA[
<p>Restate also stores a deployment version along with other invocation metadata. FaaS platforms like AWS Lambda make it very easy to retain old versions of your code, and Restate will complete a started invocation with the handlers that it started with. This way, you can "drain" older executions while new incoming requests are routed to the latest version.<p>You still have to ensure that all versions of handler code that may potentially be activated are fully compatible with all persisted state they may be expected to access, but that's not much different from handling rolling deployments in a large system.</p>
]]></description><pubDate>Wed, 12 Jun 2024 16:17:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=40659798</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=40659798</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40659798</guid></item><item><title><![CDATA[New comment by pavel_pt in "Show HN: Restate – Low-latency durable workflows for JavaScript/Java, in Rust"]]></title><description><![CDATA[
<p>Disclaimer: I work on Restate together with @p10jkle.<p>You can absolutely do something similar with a RDBMS.<p>I tend to think of building services in state machines: every important step is tracked somewhere safe, and causes a state transition through the state machine. If doing this by hand, you would reach out to a DBMS and explicitly checkpoint your state whenever something important happens.<p>To achieve idempotency, you'd end up peppering your code with prepare-commit type steps where you first read the stored state and decide, at each logical step, whether you're resuming a prior partial execution or starting fresh. This gets old very quickly and so most code ends up relying on maybe a single idempotency check at the start, and caller retries. You would also need an external task queue or a sweeper of some sort to pick up and redrive partially-completed executions.<p>The beauty of a complete purpose-built system like Restate is that it gives you a durable journal service that's designed for the task of tracking executions, and also provides you with an SDK that makes it very easy to achieve the "chain of idempotent blocks" effect without hand-rolling a giant state machine yourself.<p>You don't have to use Restate to persist data, though you can - and you get the benefit of having the state changes automatically commit with the same isolation properties as part of the journaling process. But you could easily orchestrate writes into external stores such as RDBMS, K-V, queues with the same guaranteed-progress semantics as the rest of your Restate service. Its execution semantics make this easier and more pleasant as you get retries out of the box.<p>Finally, it's worth mentioning that we expose a PostgreSQL protocol-compatible SQL query endpoint. This allows you to query any state you do choose to store in Restate alongside service metadata, i.e. reflect on active invocations.</p>
]]></description><pubDate>Wed, 12 Jun 2024 16:04:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=40659644</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=40659644</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40659644</guid></item><item><title><![CDATA[New comment by pavel_pt in "Show HN: Restate – Low-latency durable workflows for JavaScript/Java, in Rust"]]></title><description><![CDATA[
<p>We don't have specific plans for our next SDK to build, but Python definitely comes up often - thank you for the input!</p>
]]></description><pubDate>Wed, 12 Jun 2024 15:43:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=40659376</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=40659376</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40659376</guid></item><item><title><![CDATA[New comment by pavel_pt in "Show HN: Restate – Low-latency durable workflows for JavaScript/Java, in Rust"]]></title><description><![CDATA[
<p>Appreciate the feedback! What kind of support do you wish for, if there was one thing you would prioritize?</p>
]]></description><pubDate>Wed, 12 Jun 2024 15:40:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=40659350</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=40659350</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40659350</guid></item><item><title><![CDATA[New comment by pavel_pt in "Code that sleeps for a month: Solving durable execution's immutability problem"]]></title><description><![CDATA[
<p>I think you do it just like you handle compatibility between services – you never remove parameters; you only ever add new optional ones if you have to. This way a message from the past will be compatible with a future handler, same as if you have a caller that depends on you which is using an outdated client/API definition.<p>But you are right; it's very hard to reason about testing such systems, since you may have accumulated state which causes your handler logic to behave differently. The problem exists in service architectures in general though, it's just very hard to miss with intentionally delayed processing.</p>
]]></description><pubDate>Fri, 23 Feb 2024 17:21:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=39483450</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=39483450</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39483450</guid></item><item><title><![CDATA[New comment by pavel_pt in "Solving durable execution's immutability problem"]]></title><description><![CDATA[
<p>How do you imagine detection of conflicts working?</p>
]]></description><pubDate>Wed, 07 Feb 2024 08:53:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=39286128</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=39286128</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39286128</guid></item><item><title><![CDATA[New comment by pavel_pt in "Solving durable execution's immutability problem"]]></title><description><![CDATA[
<p>+1 on views, for those things than need direct DB access.<p>One effective pattern I’ve seen in large DB deployments is to separate the write schema from the read schema. That is, treat what is allowed to be written into the DB separately from the shapes of any views that exist. The views themselves are a tightly coupled client of the DB log - by constraining writers, you can migrate/rebuild views, then point services to read from the migrated views, and retire old views.<p>This allows you to keep accepting writes - you never have to shut down the write path. If you’re introducing new shapes or the DB, you’d prepare a new view, the “widen” the write schema, and begin accepting writes in the new shape, and only then re-point clients to read from the new view.<p>To drop elements of your read schema, you do the dance in reverse. First, constrain your writes. Then, build new views that don’t require the elements you removed. Gradually, update application code to work on the new, reduced views. When you’re done reading from the original views, you can drop them.<p>This is inherently much less efficient than online or offline DB migrations. But it’s a sane strategy for wrangling very large systems with very low risk.<p>Versioned workflows are in practice distributed entities that interact with their peers, themselves defined by versioned interfaces. By tracking the versions of handlers touched by any given execution, we can imagine a similar experience for deployed code - including garbage-collecting unused versions.</p>
]]></description><pubDate>Tue, 06 Feb 2024 07:11:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=39271652</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=39271652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39271652</guid></item><item><title><![CDATA[New comment by pavel_pt in "Solving durable execution's immutability problem"]]></title><description><![CDATA[
<p>Are there any aspects in particular that would be of interest?</p>
]]></description><pubDate>Mon, 05 Feb 2024 19:12:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=39265582</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=39265582</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39265582</guid></item><item><title><![CDATA[New comment by pavel_pt in "Solving durable execution's immutability problem"]]></title><description><![CDATA[
<p>Not just in durable execution, but in control systems in general! Anything that operates on persisted state in a distributed environment has similar issues. Durable execution frameworks make them more apparent - and may also help us chart a path for how to deal with updates more rigorously.</p>
]]></description><pubDate>Mon, 05 Feb 2024 19:11:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=39265564</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=39265564</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39265564</guid></item><item><title><![CDATA[New comment by pavel_pt in "AWS CloudWatch Events"]]></title><description><![CDATA[
<p>For customers with big infrastructure and/or a high rate of modifying resources, the ability to be notified of events occurring within AWS instead of than polling various describe APIs should be a huge win.</p>
]]></description><pubDate>Fri, 15 Jan 2016 08:29:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=10907971</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=10907971</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10907971</guid></item><item><title><![CDATA[AWS CloudWatch Events]]></title><description><![CDATA[
<p>Article URL: <a href="https://aws.amazon.com/about-aws/whats-new/2016/01/introducing-cloudwatch-events-monitor-and-rapidly-react-to-changes-in-your-amazon-web-services-resources/">https://aws.amazon.com/about-aws/whats-new/2016/01/introducing-cloudwatch-events-monitor-and-rapidly-react-to-changes-in-your-amazon-web-services-resources/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=10907949">https://news.ycombinator.com/item?id=10907949</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 15 Jan 2016 08:24:26 +0000</pubDate><link>https://aws.amazon.com/about-aws/whats-new/2016/01/introducing-cloudwatch-events-monitor-and-rapidly-react-to-changes-in-your-amazon-web-services-resources/</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=10907949</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10907949</guid></item><item><title><![CDATA[New comment by pavel_pt in "RAML – RESTful API modeling language"]]></title><description><![CDATA[
<p>Ditto, used RAML on a previous project and everyone involved really enjoyed it. It manages to capture just enough about how thinks work without getting overbearing. I particularly like the fact that it allows for examples to be specified.<p>I haven't built anything with Swagger but I never clicked with it the way I instantly did with RAML. It's a pity - there seems to be a lot more industry and open source support behind Swagger than there is for RAML which is mostly backed by MuleSoft.</p>
]]></description><pubDate>Thu, 10 Sep 2015 20:07:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=10200256</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=10200256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10200256</guid></item><item><title><![CDATA[New comment by pavel_pt in "RAML – RESTful API modeling language"]]></title><description><![CDATA[
<p>The good parts of WSDL, I presume? ;-) I spent way too long staring at raw WSDL, I almost think certain profiles are actually OK. But SOAP on the whole is a world of pain.</p>
]]></description><pubDate>Thu, 10 Sep 2015 20:04:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=10200239</link><dc:creator>pavel_pt</dc:creator><comments>https://news.ycombinator.com/item?id=10200239</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10200239</guid></item></channel></rss>