<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: xgk</title><link>https://news.ycombinator.com/user?id=xgk</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 01 Jul 2026 02:02:51 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=xgk" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by xgk in "DSpark: Speculative decoding accelerates LLM inference [pdf]"]]></title><description><![CDATA[
<p>Mixture-of-Expert (MoE) was introduced in the 1990s [1, 2], see also
[3, 4]. The idea was that MoE scales up model capacity and only
introduces small computation overhead. MoEs did not become viable for high-performance
applications until sparse routing was integrated with modern deep
networks, made possible by large-scale distributed computation.  The
breakthrough came with the development of sparsely gated networks [5],
which showed that it is possible to maintain model accuracy while
activating only a small fraction of a large parameter network during both
training and inference.<p>[1] R. A. Jacobs, M. I. Jordan, S. J. Nowlan, G. E. Hinton, <i>Adaptive mixtures of local experts.</i> (1991)<p>[2] M. I. Jordan, R. A. Jacobs, <i>Hierarchical mixtures of experts and the EM algorithm.</i> (1993)<p>[3] L. Xu, M. Jordan, G. E. Hinton, <i>An alternative model for mixtures of experts.</i> (1994)<p>[4] S. Waterhouse, D. MacKay, A. Robinson, <i>Bayesian methods for mixtures of experts.</i> (1995)<p>[5] N. Shazeer, A. Mirhoseini, K. Maziarz, A. Davis, Q. Le, G. Hinton, J. Dean, <i>Outrageously large neural networks: The sparsely-gated mixture-of-experts layer.</i> (2017)</p>
]]></description><pubDate>Sat, 27 Jun 2026 18:59:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48700738</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=48700738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48700738</guid></item><item><title><![CDATA[New comment by xgk in "My first patch to the Linux kernel"]]></title><description><![CDATA[
<p>Indeed, that is the standard approach. It is also how some of the aforementioned languages desugar opaque type synonyms during compilation. It has the slight disadvantage that we can no longer use variables like<p><pre><code>    x
</code></pre>
in some situations, but need to use<p><pre><code>    x._polynomials_gf_2
</code></pre>
or whatever is the structure's field name. It is nice to avoid this boilerplate, which can become annoying quickly. Let the type-checker not the human do this work ...<p>> <i>You do not need another language for this.</i><p>By the Church-Turing thesis you never <i>need</i> another language, but empirical practise has shown that the software engineering properties we see with real-world code and real-world programmers differ significantly between languages.</p>
]]></description><pubDate>Tue, 24 Mar 2026 09:18:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=47500210</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=47500210</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47500210</guid></item><item><title><![CDATA[New comment by xgk in "My first patch to the Linux kernel"]]></title><description><![CDATA[
<p>There are even more algebras on the same bits, when you take signed integers into account, such as <i>saturating arithmetic</i>.<p>One interesting programming language construct that might be useful in this context are <i>Opaque Type Synonyms</i>, a refined form of C's typedef, which modern languages like Rust, Haskell, Go or Scala offer. This allows the programmer to use the same underlying types (e.g. int), give it different names, and define different algebras with the alias. The typing system prevents the different aliases accidentally to flow into each other. Of course that alone does not help to manage the profusion of algebras over the same bits. I think a better approach for a high-level programming language  is  to follow assembly and really use different names for different operations, e.g. <i>not</i> have + build in. Instead use explicit names like  add_uint32, add_polynomials_gf_2, 
 add_satur_arith, etc etc. The user can then explicitly define (scoped) aliases for them, including +, as long as the typing system can disambiguate the uses. The Sail DSL for ISA specification (<a href="https://github.com/rems-project/sail" rel="nofollow">https://github.com/rems-project/sail</a>) does this, and it is nice.</p>
]]></description><pubDate>Mon, 23 Mar 2026 16:04:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47491367</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=47491367</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47491367</guid></item><item><title><![CDATA[New comment by xgk in "My first patch to the Linux kernel"]]></title><description><![CDATA[
<p>> <i>CPUs actually implements 5 distinct data types</i><p>Yes, that's true, but  the registers themselves are untyped, what modern CPUs really implement is multiple instruction semantics over the same bit-patterns. In short: <i>same bits, five algebras</i>! The algebras are given by different instructions (on the same bit patterns).<p>Here is an example, the bit pattern 1011:<p>• as a non-negative integer: 11. ISA operations: Arm UDIV, RISC-V DIVU, x86 DIV<p>• as an integer residue mod 16: the class  [11] in  Z/16Z. ISA operations: Arm ADD, RISC-V ADD/ADDI, x86 ADD<p>• as a bit string: bits 3, 1, and 0 are set. ISA operations: Arm EOR, RISC-V ANDI/ORI/XORI, x86 AND.<p>• as a binary polynomial: x^3 + x + 1. ISA operations: Arm PMULL, RISC-V clmul/clmulh/clmulr, x86 PCLMULQDQ<p>• as a binary polynomial residue modulo, say,  x^4 + x + 1: the residue class of  x^3 + x + 1 in GF(2)[x] / (x^4 + x + 1). ISA operations: Arm CRC32* / CRC32C*, x86 CRC32, RISC-V clmulr<p>And actually ... the floating point numbers also have the same bit patters, and could, in principle reside in the same registers. On modern ISAs, floats are usually implemented in a distinct register file.<p>You can use different functions in C on the bit patterns we call unsigned.</p>
]]></description><pubDate>Sun, 22 Mar 2026 17:42:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47480047</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=47480047</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47480047</guid></item><item><title><![CDATA[New comment by xgk in "Loongson 3A6000: A Star Among Chinese CPUs"]]></title><description><![CDATA[
<p>> <i>China’s terrible demographics</i><p>Are China's demographics appreciatively different from other industrialised countries? Questionable. Not to mention that it's unclear why an aging society is a problem at least for the next 100 years or so (e.g. most violent crime is perpetrated by the under-30s). It's also easy, at least for a dictatorship, to increase the birth rate (e.g. restrict access to all birth control, give massive preferences to families with children, like housing, salary, "bachelor tax" etc).<p>> <i>military containment of China.</i><p>That is expensive. One frequently cited explanation for the collapse of the Soviet Union was  that its poor economy could not support its oversized army, which it needed to keep the Soviet Bloc at heel (not to mention all the revolutions and secession movements it fostered elsewhere).<p>Also, does anyone actually believe that China is expansionist? Compare:<p><a href="https://en.wikipedia.org/wiki/List_of_wars_involving_the_United_States#21st-century_wars" rel="nofollow">https://en.wikipedia.org/wiki/List_of_wars_involving_the_Uni...</a><p><a href="https://en.wikipedia.org/wiki/List_of_wars_involving_the_People%27s_Republic_of_China" rel="nofollow">https://en.wikipedia.org/wiki/List_of_wars_involving_the_Peo...</a><p>The strategic problem of China's rise is more that other countries will eventually switch allegiance away from the West.</p>
]]></description><pubDate>Sat, 16 Mar 2024 17:20:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=39727700</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=39727700</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39727700</guid></item><item><title><![CDATA[New comment by xgk in "Loongson 3A6000: A Star Among Chinese CPUs"]]></title><description><![CDATA[
<p>> <i>In terms of design, China has world class companies.</i><p>And not just companies. This is currently the world's top open-source RISC-V development <a href="https://github.com/OpenXiangShan">https://github.com/OpenXiangShan</a> coming from the Chinese Academy of Science.<p>(Whether China will remain investing in RISC-V, given that the US government has started to pressure US RISC-V development to limit their involvement with China is another question.)</p>
]]></description><pubDate>Sat, 16 Mar 2024 16:33:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=39727283</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=39727283</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39727283</guid></item><item><title><![CDATA[New comment by xgk in "Loongson 3A6000: A Star Among Chinese CPUs"]]></title><description><![CDATA[
<p>An alternative explanation might involve both of:<p>1. Stopping technology transfer worked exceedingly well for the west weakening the Soviet Union during the Cold War.<p>2. A distinct lack of (non-violent) alternatives for the West preventing China becoming the world's leading technological superpower (and hence also strongest military).<p>I doubt this will be successful in the long run, because China is not burdened by the Soviet Union's extremely inefficient way of organising its economy.  Not to mention that China is the worlds biggest market.</p>
]]></description><pubDate>Sat, 16 Mar 2024 16:28:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=39727237</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=39727237</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39727237</guid></item><item><title><![CDATA[New comment by xgk in "Try to make sudo less vulnerable to Rowhammer attacks"]]></title><description><![CDATA[
<p>Sorry, I should have said: ... (row)hammer hard enough, every <i>sufficiently dense/modern</i> DRAM ...</p>
]]></description><pubDate>Wed, 31 Jan 2024 20:42:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=39209089</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=39209089</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39209089</guid></item><item><title><![CDATA[New comment by xgk in "Try to make sudo less vulnerable to Rowhammer attacks"]]></title><description><![CDATA[
<p>I think if you (row)hammer hard enough, every DRAM will eventually flip a bit.</p>
]]></description><pubDate>Mon, 29 Jan 2024 21:10:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=39182657</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=39182657</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39182657</guid></item><item><title><![CDATA[New comment by xgk in "Try to make sudo less vulnerable to Rowhammer attacks"]]></title><description><![CDATA[
<p><i>This is misleading.</i><p>I recommend [1] as an introduction to the semiconductor physics behind the Rowhammer problem. Rowhammer is an instance of the <i>"weird machine"</i> problem behind many security problems, i.e. a mismatch between two abstractions: the abstraction we pretend  describes the system, vs the reality of the system. In the case of Rowhammer, that is the abstraction of memory as a digital device, against the reality of storing bits with capacitors and wires, ie. analog devices. Clearly  a leaky abstraction. The denser you pack those capacitors and wires, the more leaky.<p>[1] A. J. Walker, S. Lee, D. Beery, <i>On DRAM Rowhammer and the Physics of Insecurity.</i>  <a href="https://ieeexplore.ieee.org/document/9366976" rel="nofollow">https://ieeexplore.ieee.org/document/9366976</a></p>
]]></description><pubDate>Mon, 29 Jan 2024 13:53:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=39176236</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=39176236</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39176236</guid></item><item><title><![CDATA[New comment by xgk in "Try to make sudo less vulnerable to Rowhammer attacks"]]></title><description><![CDATA[
<p>Agree. The extreme secrecy of DRAM manufacturers about the innards of their chips puts an additional obstacles in the way of memory controllers (MCs) implementing efficient Rowhammer defences. In particular, if the MC doesn't know which addresses are corresponding to neighbouring rows, how can an MC know with certainty that any concrete row is being attacked? (And, to the best of my knowledge, DRAM manufacturers don't give away this information.)</p>
]]></description><pubDate>Sun, 28 Jan 2024 22:50:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=39170668</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=39170668</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39170668</guid></item><item><title><![CDATA[New comment by xgk in "Try to make sudo less vulnerable to Rowhammer attacks"]]></title><description><![CDATA[
<p>The possibility of flipping bits in DRAM in a Rowhammer like fashion, was known in the DRAM industry since at least the 1990s (sorry, no reference handy), and Rowhammer-like access was used in DRAM quality testing.<p>As silicon density increased, the issue became more urgent.</p>
]]></description><pubDate>Sun, 28 Jan 2024 22:11:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=39170315</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=39170315</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39170315</guid></item><item><title><![CDATA[New comment by xgk in "Try to make sudo less vulnerable to Rowhammer attacks"]]></title><description><![CDATA[
<p>It has been possible to re-purpose such additional refresh cycles as an additional Rowhammer attack vector, see <a href="https://www.usenix.org/conference/usenixsecurity22/presentation/kogler-half-double" rel="nofollow">https://www.usenix.org/conference/usenixsecurity22/presentat...</a></p>
]]></description><pubDate>Sun, 28 Jan 2024 22:06:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=39170283</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=39170283</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39170283</guid></item><item><title><![CDATA[New comment by xgk in "Try to make sudo less vulnerable to Rowhammer attacks"]]></title><description><![CDATA[
<p>Have you ever seen any even moderately detailed specification of what the DRAM manufacturers do in this  regard? I have not, and I looked.  I am deeply sceptical ....<p>I don't believe that Rowhammer mitigations happen inside the DRAM chips themselves, I think that they are being put into the memory controller that talks to DRAM. Since DRAMs with built-in Rowhammer defences would have to spend transistors on this defence, those transistors would be 'wasted' in situations where Rowhammer is not part of the attacker model.</p>
]]></description><pubDate>Sun, 28 Jan 2024 22:02:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=39170252</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=39170252</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39170252</guid></item><item><title><![CDATA[New comment by xgk in "How to Think for Yourself"]]></title><description><![CDATA[
<p><p><pre><code>   On one side ...
   On the other side ...
</code></pre>
Only one of those sides has children in substantial numbers, so <i>this</i> polarity will sort itself out over longer time scales. As somebody living next to a primary school in a very progressive city I already see this in a big way!</p>
]]></description><pubDate>Fri, 27 Nov 2020 20:02:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=25232115</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=25232115</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25232115</guid></item><item><title><![CDATA[New comment by xgk in "Nvidia to Acquire Arm for $40B"]]></title><description><![CDATA[
<p><p><pre><code>   questionably from the beginning
</code></pre>
Agreed. If you look at what's the majority of compute loads (e.g. Instagram, Snap, Netflix, HPC) then that's (a) not particularly security critical, and (b) so big that the vendors can split their workload in security critical / not security critical, and rent fast machines for the former, and secure machines for the latter.<p>I wonder which cloud provider is the first to offer this in a coherent way.</p>
]]></description><pubDate>Mon, 14 Sep 2020 08:35:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=24468062</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=24468062</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24468062</guid></item><item><title><![CDATA[New comment by xgk in "Why Does DARPA Work?"]]></title><description><![CDATA[
<p>Other networking protocols coming from a telco background, in particular ATM and ISDN, were all circuit switched, and had suitable resource reservation for QoS. Acceptance of telephony degradation was probably driven by cost: VoIP was free and that made a difference, especially for international calls. In my experience, in 2020 the VoIP calls I make are really high quality, even better than 1980s-style ISDN calls,  and the main cause of audio quality degradation are  people using "hands-free" setups with their laptops.</p>
]]></description><pubDate>Sun, 28 Jun 2020 20:25:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=23671760</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=23671760</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23671760</guid></item><item><title><![CDATA[New comment by xgk in "A Brief History of the Current Empirical Software Engineering Science Turf War"]]></title><description><![CDATA[
<p><p><pre><code>   studies are bs because 

</code></pre>
<i>We should not let the perfect be the enemy of the good.</i>
The problem is that we do not currently know how to carry out studies on the efficacy of programming language paradigms under "controlled laboratory conditions". It's known to be  hard.  Feel free to change this and become famous! The studies discussed in the article are but first steps towards:<p>- a better empirical grounding of programming language & software engineering research;<p>- more emphasis on reproducibility in science.<p>I'm glad that Vitek, Berger et al are starting serious empirical PL/SE research, and care about reproducibility! Bravo!</p>
]]></description><pubDate>Thu, 28 Nov 2019 10:26:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=21656076</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=21656076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21656076</guid></item><item><title><![CDATA[New comment by xgk in "Energy of the 229 Th nuclear clock transition"]]></title><description><![CDATA[
<p><p><pre><code>   somehow messed with Cs 
   absorption line
</code></pre>
In a simple case yes, but if all  other time keeping mechanisms would also be messed with by dark matter, there might be no way of saying which one is the right own.</p>
]]></description><pubDate>Fri, 13 Sep 2019 01:03:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=20958132</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=20958132</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20958132</guid></item><item><title><![CDATA[New comment by xgk in "Energy of the 229 Th nuclear clock transition"]]></title><description><![CDATA[
<p>The clock drift of A1 and A2 could be correlated for some reason that we don't currently understand.</p>
]]></description><pubDate>Fri, 13 Sep 2019 01:00:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=20958115</link><dc:creator>xgk</dc:creator><comments>https://news.ycombinator.com/item?id=20958115</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20958115</guid></item></channel></rss>