<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: cookiengineer</title><link>https://news.ycombinator.com/user?id=cookiengineer</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 01 Aug 2026 03:27:06 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=cookiengineer" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by cookiengineer in "DMARC has been public since 2012 but most company domains still don't enforce it"]]></title><description><![CDATA[
<p>I was talking about _mutual_ TLS.</p>
]]></description><pubDate>Sat, 01 Aug 2026 01:21:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49130236</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=49130236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49130236</guid></item><item><title><![CDATA[New comment by cookiengineer in "Arch Linux disables AUR package adoption"]]></title><description><![CDATA[
<p>> What kind of jerk would attack Arch Linux?<p>The answer is: Russians<p>Source: I'm the guy that built the antimiasma mitigation tool [1] and tracked their malware campaign iterations very closely.<p>Set LANG to ru_RU.* and the malware implant stops spreading itself, as with all APT28/29 malware.<p>[1] <a href="https://github.com/cookiengineer/antimiasma" rel="nofollow">https://github.com/cookiengineer/antimiasma</a><p>[2] <a href="https://cookie.engineer/projects/cyber-defense/antimiasma.html" rel="nofollow">https://cookie.engineer/projects/cyber-defense/antimiasma.ht...</a></p>
]]></description><pubDate>Fri, 31 Jul 2026 19:25:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49127502</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=49127502</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49127502</guid></item><item><title><![CDATA[New comment by cookiengineer in "Show HN: Distilling DeepSeek into GPT-OSS doesn't transfer censorship. Try it"]]></title><description><![CDATA[
<p>"abliterated moonshine" certainly has a ring to it</p>
]]></description><pubDate>Thu, 30 Jul 2026 22:40:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49116781</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=49116781</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49116781</guid></item><item><title><![CDATA[New comment by cookiengineer in "Document-borne AI worms can self-propagate through Copilot for Word"]]></title><description><![CDATA[
<p>> at least until we stop mixing up instructions with data.<p>That's what I always say, but nobody listens to me :D<p>Assembler had the same kind of design flaw, and we didn't learn anything from it as evident by LLM bypasses.</p>
]]></description><pubDate>Wed, 29 Jul 2026 15:04:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=49098491</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=49098491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49098491</guid></item><item><title><![CDATA[New comment by cookiengineer in "DMARC has been public since 2012 but most company domains still don't enforce it"]]></title><description><![CDATA[
<p>The cheaper the relay mechanism is, the more noise/spam you'll get.<p>Lots of servers online have a publicly exposed smtp port, where all kinds of script kiddies are just using a sendmail style email from another (not-owned) domain.<p>DKIM/DMARC tried to fix this (without success due to fakeable entries in the DNS records, spf=all is pretty much everywhere anyways nowadays). So my proposal for actual ownership of domain AND server infrastructure would be mutual TLS. Reverse IP lookups are broken almost always anyways, due to most hosting providers not offering real reverse DNS infrastructure that users can modify.<p>This way a compromised server can't send as another domain, and large-scale spamming relays that rotate ASNs would have indicators in the cert itself, which they run out of real quick due to limitations of how many IP/DNS subjects you can set in an SSL/TLS cert.<p>No faking and avoiding bad IP reputations by rotating ASNs anymore.</p>
]]></description><pubDate>Wed, 29 Jul 2026 14:58:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=49098418</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=49098418</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49098418</guid></item><item><title><![CDATA[New comment by cookiengineer in "DMARC has been public since 2012 but most company domains still don't enforce it"]]></title><description><![CDATA[
<p>^ this<p>Additionally, I would probably guess correctly that almost all spam comes from rotating ASNs these days. Aka from companies that do "growth marketing" or other bullshit that isn't a valid business but just... spamming people.<p>A lot of the domains that fall through the cracks for single-spam-campaigns have been taken over by botnet campaigns, so the actual owners of said domains probably don't know that their website is spamming everyone else.<p>But the major providers are the culprit, too, here. Gmail, hotmail, microsoft o365, mailgun ... they all don't even enforce SSL from server to server, and let through "sendmail" like spam because the spammers are paying customers to them.<p>Source: I am maintaining antispam [1] which I am using to combat spam, phishing, and malware campaigns targeting my customer networks.<p>[1] <a href="https://github.com/cookiengineer/antispam" rel="nofollow">https://github.com/cookiengineer/antispam</a></p>
]]></description><pubDate>Tue, 28 Jul 2026 14:32:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=49084530</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=49084530</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49084530</guid></item><item><title><![CDATA[Show HN: Experimental multi-head window manager made for programmatic use]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/cookiengineer/hydra">https://github.com/cookiengineer/hydra</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49064548">https://news.ycombinator.com/item?id=49064548</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 27 Jul 2026 02:26:59 +0000</pubDate><link>https://github.com/cookiengineer/hydra</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=49064548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49064548</guid></item><item><title><![CDATA[New comment by cookiengineer in "The new rules of context engineering for Claude 5 generation models"]]></title><description><![CDATA[
<p>It's actually an effect that happens in the (re-)alignment process due to harmonic properties of the positional encoding in the attention matrix.<p>(I recommend reading and implementing the Attention is all you need paper. By hand. Otherwise you won't learn anything from it.)</p>
]]></description><pubDate>Sun, 26 Jul 2026 05:01:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=49054891</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=49054891</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49054891</guid></item><item><title><![CDATA[New comment by cookiengineer in "Did they ghost you?"]]></title><description><![CDATA[
<p>> but only after I bugged them<p>working as a Redteamer/Purpleteamer, I read this as you physically planting a (listening) bug in the HR office to get that info :D</p>
]]></description><pubDate>Sun, 26 Jul 2026 04:29:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49054739</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=49054739</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49054739</guid></item><item><title><![CDATA[New comment by cookiengineer in "Startup founders urge U.S. government not to shut off Chinese open weight AI"]]></title><description><![CDATA[
<p>Europe is actually catching up right now. Not at the frontier like kimi and qwen 3.6 (yet) but it's just a matter of time until the European A3B models catch up, too.<p>Apertus and Soofi, both open source (not only open weight) models:<p>[1] <a href="https://apertus.ai/en/apps/apertus-model/" rel="nofollow">https://apertus.ai/en/apps/apertus-model/</a><p>[2] <a href="https://www.soofi.info/" rel="nofollow">https://www.soofi.info/</a></p>
]]></description><pubDate>Thu, 23 Jul 2026 19:54:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=49027163</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=49027163</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49027163</guid></item><item><title><![CDATA[New comment by cookiengineer in "Kimi K3 Is Competitive with Fable; Kimi K3 and Fable Is SoTA"]]></title><description><![CDATA[
<p>Everything is open source if you know how to reverse engineer ;)</p>
]]></description><pubDate>Wed, 22 Jul 2026 01:42:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=49000782</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=49000782</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49000782</guid></item><item><title><![CDATA[New comment by cookiengineer in "Agent swarms and the new model economics"]]></title><description><![CDATA[
<p>This so much!<p>For my current setup, the most efficient way is to use larger models for coordination, but a heretic'ed qwen 30B model for the implementations. If you build your agentic environment around specifications and test coverage tied to symbols, you can do a lot of parallelization of agent work.<p>If you then separate the filesystem and tool read/write access by agent roles and policies (e.g. coder not allowed to modify unit tests, tester not allowed to modify code files) then you can force them to use a centralized per symbol/per contract specification tool.<p>And then you can just let agents discuss issues, where the messaging threads are also tied to the same symbols.<p>[1] Exocomp, highly experimental: <a href="https://github.com/cookiengineer/exocomp" rel="nofollow">https://github.com/cookiengineer/exocomp</a></p>
]]></description><pubDate>Tue, 21 Jul 2026 11:04:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48990674</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=48990674</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48990674</guid></item><item><title><![CDATA[New comment by cookiengineer in "I joined the IndieWeb, here's what I learned"]]></title><description><![CDATA[
<p>Haha, I had to laugh a lot about this.<p>This is essentially DNS, every single step of the way. Hosting wouldn't be hard if ISPs weren't so hostile with carrier-grade NATs, if HTTP/S wouldn't rely on DNS primarily, if legitimization were using actually mTLS instead... and all of the things usually break because of DNS and (lack of) proper standardization.<p>DNS in its current form is such a shitshow of RFCs overriding RFCs overriding RFCs...and not a single moment was spent on the configuration of DNS, or a protocol to request a domain, or a protocol to authenticate a domain, or a protocol to host something for a domain, ...<p>/nerdrage</p>
]]></description><pubDate>Mon, 20 Jul 2026 05:12:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48974579</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=48974579</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48974579</guid></item><item><title><![CDATA[New comment by cookiengineer in "Godecompose: Go decompiler that uses pattern matchers"]]></title><description><![CDATA[
<p>This project was something that I had in the back of my head for a long time.<p>I'm analyzing golang malware for my dayjob most of the time and I was annoyed by the typical decompiler pipelines that always try to generate Pseudo C code instead of reusing the information of known symbols to try to reconstruct the actual source code in the actual language it was written in.<p>So I'm using ImHex a LOT because it's by far the best hex editor out there, and it uses a (custom) pattern description language which is really useful for container formats, binary formats, and finding things that "come after known byte headers". The pattern descriptors are useful because they can replace binwalk and similar tools if you know how to write the patterns for the file formats you're looking for.<p>Coming back to Go binaries: A lot of times the assembled binaries still contain useful symbol names or strings that you can use to reconstruct what the source code looked like, but most decompilers don't care about intelligent symbol matching, and they always focus on pure disassembly workflows which are kind of useless for any binary that's been compiled by a VM based programming language.<p>This decompiler tries to use pattern matching to reconstruct things that are part of the stdlib in Go. Theoretically, you can extend this pattern database with whatever standard libraries are the most common ones out there to get better results (gin, gorilla, etc?).<p>I have no idea about other VM based binaries like C#, but if there's a runtime-specific header in that binary, and if the symbol names aren't obfuscated, this project could be ported to those languages, too.<p>However, this is a prototype that's been written with a lot of LLM assistance.<p>I would have never had the months of time needed to just write those thousands of demo code programs, debug the headers in the symbol/hash tables, find out how the Plan9/Go assembler looks like, and then add the pattern matchers and end to end unit tests for those.<p>Thought I'd share this approach, might be useful for a lot of other VM-based languages that have their own stdlibs. For the next couple weeks I'm probably going to refactor this, and try to find more efficient ways to lookup/replace known matching symbols.</p>
]]></description><pubDate>Sat, 18 Jul 2026 23:23:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48963460</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=48963460</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48963460</guid></item><item><title><![CDATA[Godecompose: Go decompiler that uses pattern matchers]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/cookiengineer/godecompose">https://github.com/cookiengineer/godecompose</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48963373">https://news.ycombinator.com/item?id=48963373</a></p>
<p>Points: 5</p>
<p># Comments: 1</p>
]]></description><pubDate>Sat, 18 Jul 2026 23:10:21 +0000</pubDate><link>https://github.com/cookiengineer/godecompose</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=48963373</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48963373</guid></item><item><title><![CDATA[New comment by cookiengineer in "Command Line Interface Guidelines"]]></title><description><![CDATA[
<p>> It would be nice to have an agreed-upon protocol for progress reporting.<p>That was initially USR1 and USR2 as process signals, well, at least across binutils and coreutils.<p>I just wish that UNIX architecture or POSIX would have been modernized since then, like with JSONL based process communication or similar things.<p>In Go I usually end up building my own JSONL protocol to marshal/unmarshal states between long running processes. Wish that could've been a POSIX standard.</p>
]]></description><pubDate>Thu, 16 Jul 2026 04:41:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48930425</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=48930425</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48930425</guid></item><item><title><![CDATA[New comment by cookiengineer in "Since Chromium 148, Math.tanh is now fingerprintable to link underlying OS"]]></title><description><![CDATA[
<p>Fun fact that will blow your mind:<p>Microsoft decided to send Windows NT 10.0 in the User-Agent header even on Windows 11 for compatibility reasons. That's literally the reason why the Sec-CH-* headers say Windows 11 but the User-Agent says Windows 10.<p>And regarding your claims of vendor interests: Nope, you seemingly never had to use O365 crapware on Linux browsers. They make it as painful as possible, and even disable copy/paste functionality when your User-Agent and Sec-CH headers say Linux. Identical browser with an extension that overrides the fingerprinting headers and it works perfectly.<p>Also as an additional note: Cloudflare does TCP fingerprinting, because no cloudflare pages will work (and send you into an infinite loop of unsolvable captchas) when these headers mismatch with the tcp window and other options in the handshake frames.<p>Source: am maintaining my chromium-profiles tool that generates farbled profiles with a generated extension, so that I can use shitty Microsoft products because my customers are not really the smartest policy decision makers.<p>PS: I will never use a separate laptop with a separate OS to use a damn web app. That is a completely unjustified waste of hardware resources and should be illegal. But here we are. Wasting one laptop at a time for absolutely no reason.<p>[1] <a href="https://github.com/cookiengineer/chromium-profiles" rel="nofollow">https://github.com/cookiengineer/chromium-profiles</a></p>
]]></description><pubDate>Mon, 13 Jul 2026 03:50:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48887680</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=48887680</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48887680</guid></item><item><title><![CDATA[New comment by cookiengineer in "Postgres rewritten in Rust, now passing 100% of the Postgres regression tests"]]></title><description><![CDATA[
<p>Unit tests don't test for branch coverage.<p>That's the culprit, because LLMs tend to forget and remove a lot of branch logic in these kinds of tasks. If unit tests don't cover these specific if/elseif/else cases, then they'll just disappear.<p>They'll also disappear if the LLM is allowed to modify the unit tests, because they sure like to cheat their way around into greenlit test suites. The agentic environment <i>must</i> disallow write access to the unit test files for the agent that writes the code.<p>If you implement that in your tools, you'll see quickly how the models will try to rewrite the unit tests at all cost, no matter what kind of prompting you've done. Tool policies are the only boundary to successfully guarantee this.<p>Source: Am building my own agentic environment because of that behavior</p>
]]></description><pubDate>Sat, 11 Jul 2026 01:48:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48867746</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=48867746</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48867746</guid></item><item><title><![CDATA[New comment by cookiengineer in "Interview with Mitchell Hashimoto about Ghostty and Zig"]]></title><description><![CDATA[
<p>Not trying to derail the discussion, but the reason for me to leave the Rust ecosystem in favor of Go was also the implied culture.<p>Experienced Go devs that stay inside the ecosystem try to write their libraries as "pure go" libraries with zero dependencies other than the upstream core libraries (or golang.org/x if needbe), which results in a very low maintenance ecosystem. This combined with the strong toolchain makes it joyful to work with.<p>I still don't agree with a lot of design choices of the language, but I realize that I can be more efficient if I am setting aside my opinion.<p>And that's exactly the thing that somehow never happened in the Rust ecosystem. I always joke that the Rust ecosystem has more OpenGL bindings than developers, because there's just so many low quality bindings or wrappers out there that the ecosystem in result got too noisy to maintain.<p>I don't want to write more (verbose) code. I want to write less.<p>I kind of already know that my comment goes to shit in terms of downvotes, but that's what I expect while writing this. How dare I criticized Rust as a language? How dare I, a fulltime noob, do this? Rust is better, always!<p>...the Rust ecosystem is just so effing toxic. I am glad that I left it. I just got tired of being angry at random online things all the time. Go is my happy place where my annoyances are reduced to Cgo, maps, and the unsafe package <3</p>
]]></description><pubDate>Fri, 10 Jul 2026 05:29:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48856054</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=48856054</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48856054</guid></item><item><title><![CDATA[New comment by cookiengineer in "Moving to FreeBSD from Linux"]]></title><description><![CDATA[
<p>Apple made me realize that I should choose AGPL as a license for my own projects, because I don't agree with the implied contract values of X11/MIT or BSD licenses anymore.<p>The latter licenses I choose now only for things I absolutely don't care about and won't spend any time on. Things that I care about I license under AGPL. If someone wants it fixed by paying development time, great, then just offer it dual-licensed AGPL/EULA.</p>
]]></description><pubDate>Fri, 10 Jul 2026 05:13:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=48855968</link><dc:creator>cookiengineer</dc:creator><comments>https://news.ycombinator.com/item?id=48855968</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48855968</guid></item></channel></rss>