<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: xlii</title><link>https://news.ycombinator.com/user?id=xlii</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 13 May 2026 15:38:07 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=xlii" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by xlii in "SecurityBaseline.eu"]]></title><description><![CDATA[
<p>I checked Warsaw, Poland.<p>It has 3 HIGH RISK issues because<p><pre><code>    - DNSSEC is not configured
    - Few cookies are send and (ALERT!) Google marketing cookie
    - Missing ROA
</code></pre>
The thing though is that this is purely informational website (that's defunct under Safari :D) and all actual interaction goes through specialized portal (e.g. gov.pl, for which only complain is cipher order).<p>I get it, it's aggregator but showing red maps is at leals sensationalists<p>Seems that results are taken from internet.nl, which has WAY better UI than page posted.<p><a href="https://batch.internet.nl/site/um.warszawa.pl/17768032/#" rel="nofollow">https://batch.internet.nl/site/um.warszawa.pl/17768032/#</a></p>
]]></description><pubDate>Wed, 13 May 2026 08:57:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=48119442</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=48119442</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48119442</guid></item><item><title><![CDATA[New comment by xlii in "Postmortem: TanStack NPM supply-chain compromise"]]></title><description><![CDATA[
<p>Stupid thought.<p>Make alias called sdo that echoes sudo path and hash every time you use it to stderr.<p>That's security by obscurity though.</p>
]]></description><pubDate>Tue, 12 May 2026 08:39:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48105740</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=48105740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48105740</guid></item><item><title><![CDATA[New comment by xlii in "Idempotency is easy until the second request is different"]]></title><description><![CDATA[
<p>> I do retry because I wanted the outcome. I'm not giving it a new key (firstly because I'm a user clicking a form, not choosing UUIDs for my shopping cart) but more importantly, if I did supply a second key, it's now my fault for ordering two copies.<p>Upon initial request I have you "URPAY1". If you never check URPAY1 for status, we'll callback you and expect the result. If neither check nor callback succeeded rollback actions are ran (this is contractual agreement on partnership level).<p>You can verify your status with URPAY1. You need to provide your status check with check ID (URPAY1) and an unique request ID. You will receive a timestamped response. You won't get different responses for same CheckID + RequestID because it's a activity log and also procedure check (e.g. grossly simplifying success at 23:59:58 might be something different than success at 00:00:05 - these times can vary depending on partner, continent, so it's not only midnight etc.) If at any point you didn't get response you can retry and you will always get the same response.<p>Didn't get URPAY1 for the first time? No problem try againt second time. You'll get the same URPAY1. No new effects needed.<p>In this design you, as requester are in full power. You can make the same request 100 times which will cause only 1 effect. If networking is lost, something will crash you're still guaranteed to have effect AT MOST once.<p>In case you're curious for the full flows and handling edge cases Stripe has great documentation regarding how process looks like from merchant's customer's side (as this is their business and you can integrate with them).</p>
]]></description><pubDate>Mon, 11 May 2026 10:32:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48093210</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=48093210</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48093210</guid></item><item><title><![CDATA[New comment by xlii in "Idempotency Is Easy Until the Second Request Is Different"]]></title><description><![CDATA[
<p>That's why you need to separate work from actual input.<p>It's not about trying again but about making sure you get consistent state.<p>Imagine request for payment. You made one and timeouted. Why did it timeout? Your network or payment service error?<p>You don't know, so you can't decide between retry and not retry.<p>Thus practice is: make request - ack request with status request id (idempotent, same request gives same status id) - status checks might or might not be idempotent but they usually are - each request need to have unique id to validate if caller even tried to check (idenpotency requires state registration).<p>If you want to try again you give new key and that's it.<p>There might of course be bug in implementation (naive example: idempotency key is uint8) but proper implementation should scope keys so they don't clash. (Example implementation: idempotency keys are reusable after 48h).<p>If same calls result in different responses (doesn't matter if you saw it or not) then API isn't idempotent.</p>
]]></description><pubDate>Sun, 10 May 2026 11:58:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48083237</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=48083237</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48083237</guid></item><item><title><![CDATA[New comment by xlii in "Idempotency is easy until the second request is different"]]></title><description><![CDATA[
<p>Don't fix other people problems.<p>If idempotent key was seen then send back response.<p>Clients intention is outside the scope. If contract says "idempotency on key" the idempotent response on key. If contract says "idempotent on body hash" then response on body hash (which might or might not include extra data).<p>APIs are contracts. Not the pinky promise of "I'll do my best guess"</p>
]]></description><pubDate>Sun, 10 May 2026 11:49:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48083181</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=48083181</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48083181</guid></item><item><title><![CDATA[Show HN: SVG Fitter – Rust+WASM Vectorizer]]></title><description><![CDATA[
<p>I went crazy with a tool that helps me tracing raster images. Thought other might like it.<p>It doesn't auto vectorize image, but rather allow for guided process. Final SVG still should be edited.<p>Few fun features like genetic algorithm fit optimization, semi-manual tracing and color preservation.<p>Perfect if you want to have lightweight SVG from huge PNG image.<p>Note: If there's interest I might open-source it, just not sure if anyone would want to see it :)</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47902793">https://news.ycombinator.com/item?id=47902793</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 25 Apr 2026 16:51:18 +0000</pubDate><link>https://svg.axk.sh</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47902793</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47902793</guid></item><item><title><![CDATA[New comment by xlii in "I cancelled Claude: Token issues, declining quality, and poor support"]]></title><description><![CDATA[
<p>+1 for pi. I used claude and opencode but pi is the first agent tool that made me excited about the whole thing.</p>
]]></description><pubDate>Fri, 24 Apr 2026 23:21:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47897009</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47897009</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47897009</guid></item><item><title><![CDATA[New comment by xlii in "AI-assisted cognition endangers human development?"]]></title><description><![CDATA[
<p>Gemini can be asked about current events. I was quite surprised it was able to give structured information about love boxing event in realtime.</p>
]]></description><pubDate>Wed, 15 Apr 2026 18:48:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47783470</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47783470</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47783470</guid></item><item><title><![CDATA[New comment by xlii in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p>A small project but something that I'm happy about: Postgresql backed persistent queues crate for Rust.<p>I couldn't find any crate that would be ergonomic enough to use and provide features I deem essential, i.e. retryability, scheduling, poison job detection, barriers, backoff strategies etc.<p>it's an area I'm familiar with so after spending 2 days trying to integrate external libs I decided to roll my own and I'm quite happy how it turned out in 2 days of development.<p>I plan to open-source it in the near future but right now using it in my another project and it's running quite well.</p>
]]></description><pubDate>Mon, 13 Apr 2026 06:52:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47748560</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47748560</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47748560</guid></item><item><title><![CDATA[New comment by xlii in "A Faster Alternative to Jq"]]></title><description><![CDATA[
<p>It's a simple loop:<p>- Someone likes tool X<p>- Figures, that they can vibe code alternative<p>- They take Rust for performance or FAVORITE_LANG for credentials<p>- Claude implements small subset of features<p>- Benchmark subset<p>- Claim win, profit on showcase<p>Note: this particular project doesn't have many visible tells, but there's pattern of overdocumentation (17% comment-to-code ratio, >1000 words in README, Claude-like comment patterns), so it might be a guided process.<p>I still think that the project follows the "subset is faster than set" trend.</p>
]]></description><pubDate>Fri, 27 Mar 2026 10:34:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47540978</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47540978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47540978</guid></item><item><title><![CDATA[Show HN: Dataf*ck – An Esoteric Data Format]]></title><description><![CDATA[
<p>Article URL: <a href="https://xlii.space/projects/datafuck/">https://xlii.space/projects/datafuck/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47532242">https://news.ycombinator.com/item?id=47532242</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 26 Mar 2026 16:08:04 +0000</pubDate><link>https://xlii.space/projects/datafuck/</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47532242</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47532242</guid></item><item><title><![CDATA[New comment by xlii in "Grafeo – A fast, lean, embeddable graph database built in Rust"]]></title><description><![CDATA[
<p>I wonder if people are using (or intend to use) vibe-coded projects like the one linked.<p>I mean - I understand, some people have fun looking at new tech no matter the source, but my question is is there a person who would be designated to pick a GraphQL in language and would ignore all the LLM flags and put it in production.</p>
]]></description><pubDate>Sat, 21 Mar 2026 20:53:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47471214</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47471214</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47471214</guid></item><item><title><![CDATA[New comment by xlii in "I was interviewed by an AI bot for a job"]]></title><description><![CDATA[
<p>Fingers crossed.<p>One thing to keep in mind is that leetcode is testing (surprise) social anxiety. You can be a great engineer, terrific peer to have in the time when crisis hits but still fail at leetcode problem because someone is watching.</p>
]]></description><pubDate>Thu, 12 Mar 2026 22:05:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47357900</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47357900</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47357900</guid></item><item><title><![CDATA[New comment by xlii in "I was interviewed by an AI bot for a job"]]></title><description><![CDATA[
<p>Geez. Good one. Was in something similar lately. 10 weeks wasted and a shittiest feedback ever. These companies should be legally required to pay candidates for gauntlets they put them through.</p>
]]></description><pubDate>Wed, 11 Mar 2026 21:46:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47342489</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47342489</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47342489</guid></item><item><title><![CDATA[Show HN: Filtering "Who's Hiring" with LLMs – native desktop app in Rust/egui]]></title><description><![CDATA[
<p>Every month "Who's Hiring" drops 300+ free-form listings. Inconsistent keywords - "US only", "United States candidates exclusively", and "on-site NYC" is semantically same if you're looking for a remote job from Europe, but term-based search allows them to slip through. The thread reorders on every reload, so you lose your place.<p>This is a solved problem if you just throw an LLM at it. Define your requirements, attach your resume, Gemini scores and ranks everything. Built in Rust with egui.<p>Bring your own Gemini key — no backend, no subscription. Desktop because some listings are walls of text and a scrollable cell in a scrollable table was the only UI that made sense.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47322713">https://news.ycombinator.com/item?id=47322713</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 10 Mar 2026 13:02:55 +0000</pubDate><link>https://github.com/exlee/hn-jobs-evaluator</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47322713</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47322713</guid></item><item><title><![CDATA[New comment by xlii in "Windows: Microsoft broke the only thing that mattered"]]></title><description><![CDATA[
<p>After recent update fiascos I decided to install PopOS on a gaming rig that ran Windows 11 (as a pre-made set).<p>As they say, you can't see the light in the darkness and the difference between two is like between night and day.<p>Stable performance, consistent Remote Play to Steam Deck, quick bootup and no "hey want to play, that's a shame cause I got 20 minutes of patches to install".<p>Sure it's still a Linux with all consequences (had to switch from Wayland to Xorg for remote play and being returning user after couple years it wasn't straightforward) but it works much better.<p>I won't ever install Windows on my family computers. If I can afford to equip them with Macs I'll do so. If not - they'll get Linux instead.</p>
]]></description><pubDate>Tue, 10 Mar 2026 08:09:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47320341</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47320341</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47320341</guid></item><item><title><![CDATA[New comment by xlii in "Code Review for Claude Code"]]></title><description><![CDATA[
<p>> We've been running Code Review internally for months: on large PRs (over 1,000 lines changed), 84% get findings, averaging 7.5 issues. On small PRs under 50 lines, that drops to 31%, averaging 0.5 issues. Engineers largely agree with what it surfaces: less than 1% of findings are marked incorrect.<p>So the take would be that 84% heavily Claude driven PRs are riddled with ~7.5 issues worthy bugs.<p>Not a great ad of agent based development quality.</p>
]]></description><pubDate>Mon, 09 Mar 2026 22:14:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47316367</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47316367</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47316367</guid></item><item><title><![CDATA[New comment by xlii in "Approved. Unread. Shipped"]]></title><description><![CDATA[
<p>I think I can imagine them clearly, stay tuned.</p>
]]></description><pubDate>Thu, 05 Mar 2026 22:21:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47268113</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47268113</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47268113</guid></item><item><title><![CDATA[Approved. Unread. Shipped]]></title><description><![CDATA[
<p>Article URL: <a href="https://xlii.space/blog/approved_unread_shipped/">https://xlii.space/blog/approved_unread_shipped/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47253922">https://news.ycombinator.com/item?id=47253922</a></p>
<p>Points: 2</p>
<p># Comments: 2</p>
]]></description><pubDate>Wed, 04 Mar 2026 21:12:37 +0000</pubDate><link>https://xlii.space/blog/approved_unread_shipped/</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47253922</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47253922</guid></item><item><title><![CDATA[New comment by xlii in "Claude's Cycles [pdf]"]]></title><description><![CDATA[
<p>So the actors who portrait great thinkers are great thinkers?</p>
]]></description><pubDate>Tue, 03 Mar 2026 23:47:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47240851</link><dc:creator>xlii</dc:creator><comments>https://news.ycombinator.com/item?id=47240851</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47240851</guid></item></channel></rss>