<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: dtech</title><link>https://news.ycombinator.com/user?id=dtech</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 04 Aug 2026 02:20:46 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=dtech" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by dtech in "Decathlon Germany adds Wero payment option to decathlon.de website"]]></title><description><![CDATA[
<p>It's primarily an online payment system, not a money transfer system. It has worked since forever (20+ years, it's a rebranded Dutch system) from web browser. Still does.</p>
]]></description><pubDate>Mon, 27 Jul 2026 20:49:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=49075330</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=49075330</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49075330</guid></item><item><title><![CDATA[New comment by dtech in "Patreon laying off 20% of staff"]]></title><description><![CDATA[
<p>Twitter had a lot of side projects and people that were not needed to run their core business. E.g. they used to have a Linux kernel engineering team [1]. They argued their value, but I was always a tad skeptical. Even if they earned their keep in terms of ROI, Twitter can definitely be run without kernel engineers.<p>[1] <a href="https://danluu.com/in-house/" rel="nofollow">https://danluu.com/in-house/</a></p>
]]></description><pubDate>Fri, 24 Jul 2026 13:50:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=49035639</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=49035639</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49035639</guid></item><item><title><![CDATA[New comment by dtech in "Startup founders urge U.S. government not to shut off Chinese open weight AI"]]></title><description><![CDATA[
<p>That was not actually the ad, that was "You wouldn't steal a car. [...] Downloading Pirated Movies is stealing. [...] Piracy it's a crime."<p>Easily misremembered and meme-able.</p>
]]></description><pubDate>Thu, 23 Jul 2026 20:22:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=49027523</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=49027523</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49027523</guid></item><item><title><![CDATA[New comment by dtech in "JEP 540: Simple JSON API (Now in Incubator)"]]></title><description><![CDATA[
<p>That's not what the person I replied to asked at all, arbitrary types weren't mentioned.<p>They literally asked why they couldn't write JsonObject.of(Map.of(...))</p>
]]></description><pubDate>Thu, 23 Jul 2026 18:08:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=49025768</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=49025768</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49025768</guid></item><item><title><![CDATA[New comment by dtech in "JEP 540: Simple JSON API (Now in Incubator)"]]></title><description><![CDATA[
<p>Java lacks the expressiveness to make it much better than this. There's a reason almost all the "replacement Java" languages add something to support DSLs, e.g. type safe builders in Kotlin [1]<p>The kotlin stdlib-adjacent json lib does it like this<p><pre><code>   buildJsonObject {
     putJsonArray("providers") {
        add("SUN")
        add("SunRsaSign")
        add("SunEC")
     }
   }
</code></pre>
[1] <a href="https://kotlinlang.org/docs/type-safe-builders.html" rel="nofollow">https://kotlinlang.org/docs/type-safe-builders.html</a></p>
]]></description><pubDate>Thu, 23 Jul 2026 17:56:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=49025595</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=49025595</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49025595</guid></item><item><title><![CDATA[New comment by dtech in "JEP 540: Simple JSON API (Now in Incubator)"]]></title><description><![CDATA[
<p>It's pretty normal, almost all libs work this way. This way you can parse the JSON string into the matching data structure or print it into a string, and when building you can ensure it's valid JSON.</p>
]]></description><pubDate>Thu, 23 Jul 2026 17:54:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=49025552</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=49025552</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49025552</guid></item><item><title><![CDATA[New comment by dtech in "Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot"]]></title><description><![CDATA[
<p>~no one == approximately no one</p>
]]></description><pubDate>Thu, 23 Jul 2026 12:05:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=49020269</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=49020269</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49020269</guid></item><item><title><![CDATA[New comment by dtech in "Escape IntelliJ: Scala and Kotlin LSPs on Emacs Eglot"]]></title><description><![CDATA[
<p>Nah, there is little demand for it that's the reason.<p>LLMs don't need a LSP, they work better without it often.
Most Java devs use IntelliJ or another IDE with its inbuilt thing.
For everyone else the existing one is good enough for incidental usage.<p>So ~no one cares</p>
]]></description><pubDate>Thu, 23 Jul 2026 10:01:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=49019179</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=49019179</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49019179</guid></item><item><title><![CDATA[New comment by dtech in "OnePlus halts operations in USA and Europe"]]></title><description><![CDATA[
<p>They are minor in the west which is what I replied to</p>
]]></description><pubDate>Sat, 18 Jul 2026 18:55:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48961049</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=48961049</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48961049</guid></item><item><title><![CDATA[New comment by dtech in "OnePlus halts operations in USA and Europe"]]></title><description><![CDATA[
<p>There are minor Android players who seem to be standing their ground, so something has to be different here. Nothing, Xiaomi/Redmi, Motorola</p>
]]></description><pubDate>Thu, 16 Jul 2026 11:24:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48933045</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=48933045</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48933045</guid></item><item><title><![CDATA[New comment by dtech in "Japan develops a method to recover up to 90% of lithium from used EV batteries"]]></title><description><![CDATA[
<p>The "advantage" is that in contrast to heavy metals like lead lithium is a lot less toxic as far as we know. Not 0, but not in the same league.</p>
]]></description><pubDate>Tue, 14 Jul 2026 07:01:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48903162</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=48903162</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48903162</guid></item><item><title><![CDATA[New comment by dtech in "TypeScript 7"]]></title><description><![CDATA[
<p>There's a lot of nuance to that statement. Most languages, including e.g. Java or Typescript, would not be strongly typed according to your definition, because their type system is "unsound": there are known cases where the type system does not protect you and the types are wrong. We generally still call these languages strongly typed.<p>In Typescript this is by design. The most obvious is array variance. Typescript makes them covariant because that's what a lot of sane TS and JS code uses them as, but they should be invariant because you can write to them.<p>Example:<p><pre><code>   const dogs: Dog[] = []
   // A sound type system would error here,
   // but there's too many useful cases where you want to do this
   const animals: Animal[] = dogs 
   animals.push(new Cat())
   animals[0].bark() // runtime TypeError here</code></pre></p>
]]></description><pubDate>Wed, 08 Jul 2026 20:03:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48836758</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=48836758</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48836758</guid></item><item><title><![CDATA[New comment by dtech in "Do you hate XML? (2010)"]]></title><description><![CDATA[
<p>It's non-trivial to implement XML parser in a secure way, many stdlib ones are insecure by default. That should just not be a thing. XML has a bunch of vulnerabilities very specific to it, XXE is the most well known one, but you also have a bunch of DoSes due to expansions and XPath injection etc.<p>An object serialization format should not have a bunch of footguns and vulnerability categories specific to it.</p>
]]></description><pubDate>Sun, 05 Jul 2026 20:06:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48797511</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=48797511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48797511</guid></item><item><title><![CDATA[New comment by dtech in "Leaking YouTube creators' private videos"]]></title><description><![CDATA[
<p>You pay either just with money (Youtube premium) or by watching ads...</p>
]]></description><pubDate>Sun, 05 Jul 2026 11:21:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48793250</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=48793250</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48793250</guid></item><item><title><![CDATA[New comment by dtech in "Physical disc production ending in Jan 2028 for new games on PlayStation"]]></title><description><![CDATA[
<p>Steam has DRM,so no. Easily cracked yes, but then you can just go the full pirate route.</p>
]]></description><pubDate>Thu, 02 Jul 2026 06:09:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48757185</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=48757185</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48757185</guid></item><item><title><![CDATA[New comment by dtech in "Sony Deletes 551 Movies PlayStation Owners Paid For"]]></title><description><![CDATA[
<p>That's not <i>selling</i>, that's renting</p>
]]></description><pubDate>Wed, 01 Jul 2026 17:49:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=48750643</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=48750643</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48750643</guid></item><item><title><![CDATA[New comment by dtech in "Physical disc production ending in Jan 2028 for new games on PlayStation"]]></title><description><![CDATA[
<p>Microsoft just tried a generation too early. They could have gotten away with it this gen, and assuming 2028 will be start of next gen it looks like next gen it will go over without a fight.</p>
]]></description><pubDate>Wed, 01 Jul 2026 17:10:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48750086</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=48750086</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48750086</guid></item><item><title><![CDATA[New comment by dtech in "Correlated randomness in Slay the Spire 2"]]></title><description><![CDATA[
<p>I'm so happy most modern language stdlibs decided having a guaranteed order for maps and other collections is a good idea.<p>Although I can definitely respect Go's decision to always iterate over maps in a random order.</p>
]]></description><pubDate>Tue, 16 Jun 2026 18:43:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48560009</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=48560009</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48560009</guid></item><item><title><![CDATA[New comment by dtech in "SQLite is all you need for durable workflows"]]></title><description><![CDATA[
<p>Their managed solution is pricey and especially the linear scaling with how much you use it is very meh. It's comparable with AWS lambda which also isn't cheap. However it's minor on a typical cloud bill.<p>Self-hosting is very easy in my experience, I've done it for 2 years but management wanted to move to Temporal Cloud. They have a helm chart which just works including upgrades. This does assume you have the whole k8s shebang set up and working in your company. I never had to touch is outside upgrades which took maybe 30m including validation.</p>
]]></description><pubDate>Sat, 30 May 2026 14:08:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48336376</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=48336376</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48336376</guid></item><item><title><![CDATA[New comment by dtech in "Exit IP VPN servers mitigation rollout"]]></title><description><![CDATA[
<p>Not retail ISPs, but many extensions and free VPNs route VPN traffic through the connections of those who use them.</p>
]]></description><pubDate>Mon, 25 May 2026 18:57:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=48270335</link><dc:creator>dtech</dc:creator><comments>https://news.ycombinator.com/item?id=48270335</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48270335</guid></item></channel></rss>