<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: Scaevolus</title><link>https://news.ycombinator.com/user?id=Scaevolus</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 08 Apr 2026 00:16:31 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Scaevolus" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Scaevolus in "Telnyx package compromised on PyPI"]]></title><description><![CDATA[
<p>I'm glad there's many teams with automated scans of pypi and npm running. It elevates the challenge of making a backdoor that can survive for any length of time.</p>
]]></description><pubDate>Fri, 27 Mar 2026 20:33:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47547886</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=47547886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47547886</guid></item><item><title><![CDATA[New comment by Scaevolus in "An update on Steam / GOG changes for OpenTTD"]]></title><description><![CDATA[
<p>That's a narrow fair use exception. Many of these open game engines are effectively 1:1 decompilations of the original games, and it would be <i>shocking</i> if they were not effectively copyrighted the same as the original.<p>I don't think this has been tested in court, but the recent flood of Nintendo game decompilations is likely to change that.</p>
]]></description><pubDate>Fri, 20 Mar 2026 02:46:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47449834</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=47449834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47449834</guid></item><item><title><![CDATA[New comment by Scaevolus in "Microsoft's 'unhackable' Xbox One has been hacked by 'Bliss'"]]></title><description><![CDATA[
<p>Microsoft released a video that covers effectively all of the Xbox One security system, and it's referred to extensively in the talk. The specific methods of glitching don't require any insider knowledge.</p>
]]></description><pubDate>Tue, 17 Mar 2026 16:26:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47414883</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=47414883</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47414883</guid></item><item><title><![CDATA[New comment by Scaevolus in "The AI Vampire"]]></title><description><![CDATA[
<p>You're reading more dismissal than I wrote.<p>Most businesses can and many businesses <i>do</i> run efficiently out of shared spreadsheets. Choosing the processes well is the hard part, but there's just not much computational complexity in the execution, nor more data than can be easily processed by a single machine.</p>
]]></description><pubDate>Wed, 11 Feb 2026 16:10:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46976733</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46976733</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46976733</guid></item><item><title><![CDATA[New comment by Scaevolus in "The AI Vampire"]]></title><description><![CDATA[
<p>Many engineers get paid a lot of money to write low-complexity code gluing things together and tweaking features according to customer requirements.<p>When the difficulty of a task is neatly encompassed in a 200 word ticket and the implementation lacks much engineering challenge, AI can pretty reliably write the code-- mediocre code for mediocre challenges.<p>A huge fraction of the software economy runs on CRUD and some business logic. There just isn't much complexity inherent in any of the feature sets.</p>
]]></description><pubDate>Wed, 11 Feb 2026 09:32:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46972833</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46972833</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46972833</guid></item><item><title><![CDATA[New comment by Scaevolus in "Show HN: A luma dependent chroma compression algorithm (image compression)"]]></title><description><![CDATA[
<p>JPEG XL also incorporates Chroma from Luma. It's a standard coding tool in modern codecs.</p>
]]></description><pubDate>Sun, 08 Feb 2026 00:32:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46929960</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46929960</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46929960</guid></item><item><title><![CDATA[New comment by Scaevolus in "Animated AVIF for the Modern Web"]]></title><description><![CDATA[
<p>Hardware video decoding APIs often have significantly more latency than software decoders, to the point that it's a noticeable several hundred milliseconds of delay. If they have this delay, they're unusable for images.</p>
]]></description><pubDate>Sat, 31 Jan 2026 20:11:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46840303</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46840303</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46840303</guid></item><item><title><![CDATA[New comment by Scaevolus in "Elasticsearch was never a database"]]></title><description><![CDATA[
<p>You have that backwards. GFS was replaced by Colossus ca. 2010, and largely functions as blob storage with append-only semantics for modification. BigTable is a KV store, and the row size limits (256MB) make it unsuitable for blob storage. GCS is built on top of Spanner (metadata, small files) and Colossus (bulk data storage).<p>But that's besides the point. When people say "RDBMS" or "filesystem" they mean the full suite of SQL queries and POSIX semantics-- neither of which you get with KV stores like BigTable or distributed storage like Colossus.<p>The simplest example of POSIX semantics that are rapidly discarded is the "fast folder move" operation. This is difficult to impossible to achieve when you have keys representing the full path of the file, and is generally easier to implement with hierarchical directory entries. However, many applications are absolutely fine with the semantics of "write entire file, read file, delete file", which enables huge simplifications and optimizations!</p>
]]></description><pubDate>Sat, 17 Jan 2026 08:26:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46656269</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46656269</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46656269</guid></item><item><title><![CDATA[New comment by Scaevolus in "Personal thoughts/notes from working on Zootopia 2"]]></title><description><![CDATA[
<p>Most companies doing CGI work, both in games and movies, are quite open about their technical details. The whole industry relies on pooled research and development. While the actual code is typically confidential, publishing information serves multiple purposes for the work's publicity, the advancement of the field, the happiness of employees, and company prestige for recruiting people.</p>
]]></description><pubDate>Mon, 12 Jan 2026 22:54:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46595329</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46595329</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46595329</guid></item><item><title><![CDATA[New comment by Scaevolus in "Fabrice Bellard's TS Zip (2024)"]]></title><description><![CDATA[
<p>When LLMs predict the next token, they actually produce a distribution of the probability of each of the possible next tokens, and the sampler chooses one of them, and not necessarily the most likely one!<p>If instead you run LLM prediction and then encode the <i>probability</i> of the next token of the input text you want to encode (from the cumulative distribution, a number in [0, 1]) using arithmetic coding, you can run the same operation in reverse to achieve lossless compression.<p>The tricky part is ensuring that your LLM executes absolutely deterministically, because you need to make sure that the encoder and decoder have the same probability distribution map at each step.</p>
]]></description><pubDate>Mon, 12 Jan 2026 21:24:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46594502</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46594502</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46594502</guid></item><item><title><![CDATA[New comment by Scaevolus in "Show HN: VAM Seek – 2D video navigation grid, 15KB, zero server load"]]></title><description><![CDATA[
<p>Client-side frame extraction is far too slow to be usable for large volumes of data.<p>You want to precompute the contact sheets and serve them to users. You can encode them with VP9, mux to IVF format, and use the WebCodec API to decode them in the browser (2000B-3000B per 240x135 frame, so ~3MB/hour for a thumbnail every 4 seconds). Alternatively, you can make the contact sheets with JPEG, but there are dimension restrictions, reflow is slightly fiddly, and it doesn't exploit intra-frame compression.<p>I made a simple Python/Flask utility for lossless cutting that uses this to present a giant contact sheet to quickly select portions of a video to extract.</p>
]]></description><pubDate>Sun, 11 Jan 2026 09:48:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46574082</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46574082</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46574082</guid></item><item><title><![CDATA[New comment by Scaevolus in "Robotopia: A 3D, first-person, talking simulator"]]></title><description><![CDATA[
<p>GGML is another neat ML abstraction layer, but I don't think much work has been dedicated to the Windows port.</p>
]]></description><pubDate>Sat, 10 Jan 2026 08:31:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46563906</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46563906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46563906</guid></item><item><title><![CDATA[New comment by Scaevolus in "Robotopia: A 3D, first-person, talking simulator"]]></title><description><![CDATA[
<p>Shipping GPU-accelerated ML models in games looks difficult, are there any major examples other than vendor-locked upscaling like DLSS or FSR?<p>(Yep! <a href="https://cod.ifies.com/voxel-visibility/" rel="nofollow">https://cod.ifies.com/voxel-visibility/</a> )</p>
]]></description><pubDate>Sat, 10 Jan 2026 04:57:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46562907</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46562907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46562907</guid></item><item><title><![CDATA[New comment by Scaevolus in "Robotopia: A 3D, first-person, talking simulator"]]></title><description><![CDATA[
<p>Are the LLMs run on-device, or does this use cloud compute?<p>(Off-topic AMA question: Did you see my voxel grid visibility post?)</p>
]]></description><pubDate>Sat, 10 Jan 2026 04:25:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46562731</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46562731</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46562731</guid></item><item><title><![CDATA[New comment by Scaevolus in "enclose.horse"]]></title><description><![CDATA[
<p>The pre-machine-learning formulations of AI focused on symbolic reasoning through the dual problems of search and logic. Many problems can be reduced to enumerating legal steps, and SAT/SMT/ASP and related systems can churn through those in a highly optimized and genetic manner.</p>
]]></description><pubDate>Tue, 06 Jan 2026 15:34:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46513571</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46513571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46513571</guid></item><item><title><![CDATA[New comment by Scaevolus in "enclose.horse"]]></title><description><![CDATA[
<p>Yes, this is the major challenge with solving them with SAT. You can make your solver check and reject these horseless pockets (incrementally rejecting solutions with new clauses), which might be the easiest method, since you might need iteration for maximizing anyways (bare SAT doesn't do "maximize"). To correctly track the flood-fill flow from the horse, you generally need a constraint like reachable(x,y,t) = reachable(nx,ny,t-1) ^ walkable(x,y), and reachable(x,y,0)=is_horse_cell, which adds N^2 additional variables to each cell.<p>You can more precisely track flows and do maximization with ILP, but that often loses conflict-driven clause learning advantages.</p>
]]></description><pubDate>Tue, 06 Jan 2026 15:23:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46513413</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46513413</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46513413</guid></item><item><title><![CDATA[New comment by Scaevolus in "enclose.horse"]]></title><description><![CDATA[
<p>The site uses Answer Set Programming with the Clingo engine to compute the optimal solutions for smaller grids. Maximizing grids like this is probably NP-hard.<p>Note that traditional SAT and SMT solvers are <i>quite</i> inefficient at computing flood-fills.<p>The ASP specifications it uses to compute optimal solutions are surprisingly short and readable, and look like:<p><pre><code>  #const budget=11.
  horse(4,4).
  cell(0,0).
  boundary(0,0).
  cell(0,1).
  boundary(0,1).
  % ...truncated for brevity...
  cell(3,1).
  water(3,1).
  % ...
  
  % Adjacent cells (4-way connectivity)
  adj(R,C, R+1,C) :- cell(R,C), cell(R+1,C).
  adj(R,C, R-1,C) :- cell(R,C), cell(R-1,C).
  adj(R,C, R,C+1) :- cell(R,C), cell(R,C+1).
  adj(R,C, R,C-1) :- cell(R,C), cell(R,C-1).
  
  % Walkable = not water
  walkable(R,C) :- cell(R,C), not water(R,C).
  
  % Choice: place wall on any walkable cell except horse and cherries
  { wall(R,C) } :- walkable(R,C), not horse(R,C), not cherry(R,C).
  
  % Budget constraint (native counting - no bit-blasting!)
  :- #count { R,C : wall(R,C) } > budget.
  
  % Reachability from horse (z = enclosed/reachable cells)
  z(R,C) :- horse(R,C).
  z(R2,C2) :- z(R1,C1), adj(R1,C1, R2,C2), walkable(R2,C2), not wall(  R2,C2).
  
  % Horse cannot reach boundary (would escape)
  :- z(R,C), boundary(R,C).
  
  % Maximize enclosed area (cherries worth +3 bonus = 4 total)
  #maximize { 4,R,C : z(R,C), cherry(R,C) ; 1,R,C : z(R,C), not cherry(  R,C) }.
  
  % Only output wall positions
  #show wall/2.</code></pre></p>
]]></description><pubDate>Tue, 06 Jan 2026 08:08:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=46509838</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46509838</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46509838</guid></item><item><title><![CDATA[New comment by Scaevolus in "I/O is no longer the bottleneck? (2022)"]]></title><description><![CDATA[
<p>Apple had soldered DDR ram for a long time that was no faster than any other laptop. It's only with the Apple Silicon M1 that it started being notably higher bandwidth.</p>
]]></description><pubDate>Tue, 06 Jan 2026 04:18:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46508678</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46508678</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46508678</guid></item><item><title><![CDATA[New comment by Scaevolus in "Linux is good now"]]></title><description><![CDATA[
<p>2026 YOLOTD!</p>
]]></description><pubDate>Thu, 01 Jan 2026 21:07:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=46457995</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46457995</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46457995</guid></item><item><title><![CDATA[New comment by Scaevolus in "Rainbow Six Siege hacked as players get billions of credits and random bans"]]></title><description><![CDATA[
<p><a href="https://x.com/vxunderground/status/2005008887234048091" rel="nofollow">https://x.com/vxunderground/status/2005008887234048091</a><p>Here's the word on the internet streets:<p>- THE FIRST GROUP of individuals exploited a Rainbow 6 Siege service allowing them ban players, modify inventory, etc. These individuals did not touch user data (unsure if they even could). They gifted roughly $339,960,000,000,000 worth of in-game currency to players. Ubisoft will perform a roll back to undo the damages. They're probably annoyed. I cannot go into full details at this time how it was achieved.<p>- A SECOND GROUP of individuals, unrelated to the FIRST GROUP of individuals, exploited a MongoDB instance from Ubisoft, using MongoBleed, which allowed them (in some capacity) to pivot to an internal Git repository. They exfiltrated a large portion of Ubisoft's internal source code. They assert it is data from the 90's - present, including software development kits, multiplayer services, etc. I have medium to high confidence this true. I've confirmed this with multiple parties.<p>- A THIRD GROUP of individuals claim to have compromised Ubisoft and exfiltrated user data by exploiting MongoDB via MongoBleed. This group is trying to extort Ubisoft. They have a name for their extortion group and are active on Telegram. However, I have been unable to determine the validity of their claims.<p>- A FOURTH GROUP of individuals assert the SECOND group of individuals are LYING and state the SECOND GROUP has had access to the Ubisoft internal source code for awhile. However, they state the SECOND GROUP is trying to hide behind the FIRST GROUP to masquerade as them and give them a reason to leak the source code in totality. The FIRST GROUP and FOURTH GROUP is frustrated by this<p>Will the SECOND GROUP leak the source code? Is the SECOND GROUP telling the truth? Did the SECOND GROUP lie and have access to Ubisoft code this whole time? Was it MongoBleed? Will the FIRST GROUP get pinned for this? Who is this mysterious THIRD GROUP? Is this group related to any of the other groups?</p>
]]></description><pubDate>Sat, 27 Dec 2025 23:48:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46406759</link><dc:creator>Scaevolus</dc:creator><comments>https://news.ycombinator.com/item?id=46406759</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46406759</guid></item></channel></rss>