<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: njitbew</title><link>https://news.ycombinator.com/user?id=njitbew</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 28 May 2026 15:45:22 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=njitbew" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by njitbew in "Stepping down as Mockito maintainer after ten years"]]></title><description><![CDATA[
<p>Sounds like a problem that the Mockito team created for themselves, and like a problem only they can solve.</p>
]]></description><pubDate>Mon, 29 Dec 2025 09:10:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46418816</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=46418816</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46418816</guid></item><item><title><![CDATA[New comment by njitbew in "Stepping down as Mockito maintainer after ten years"]]></title><description><![CDATA[
<p>See <a href="https://openjdk.org/jeps/451" rel="nofollow">https://openjdk.org/jeps/451</a>: JEP 451: Prepare to Disallow the Dynamic Loading of Agents, which has a lot of background on the topic.</p>
]]></description><pubDate>Sun, 28 Dec 2025 22:05:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46414988</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=46414988</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46414988</guid></item><item><title><![CDATA[New comment by njitbew in "Stepping down as Mockito maintainer after ten years"]]></title><description><![CDATA[
<p>I respect the maintainer's decision, but I don't understand the justification.<p>> but when it was communicated with Mockito I perceived it as "Mockito is holding the JVM ecosystem back by using dynamic attachment, please switch immediately and figure it out on your own".<p>Who did the communication? Why is dynamic attachment through a flag a problem, and what was the solution? Why is "enable a flag when running tests" not a satisfactory solution? Why do you even need a _dynamic_ agent; don't you know ahead of time exactly what agent you need when using Mockito?<p>> While I fully understand the reasons that developers enjoy the feature richness of Kotlin as a programming language, its underlying implementation has significant downsides for projects like Mockito. Quite frankly, it's not fun to deal with.<p>Why support Kotlin in the first place? If it's a pain to deal with, perhaps the Kotlin user base is better served by a Kotlin-specific mocking framework, maintained by people who enjoy working on those Kotlin-specific code paths?</p>
]]></description><pubDate>Sun, 28 Dec 2025 21:33:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46414752</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=46414752</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46414752</guid></item><item><title><![CDATA[New comment by njitbew in "Why was Apache Kafka created?"]]></title><description><![CDATA[
<p>> and it feels bloated (Java!)<p>I'm curious, what exactly feels bloated about Java? I don't feel like the Java language or runtime are particularly bloated, so I'm guessing you're referring to some practices/principles that you often see around Java software?</p>
]]></description><pubDate>Sat, 23 Aug 2025 19:33:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=44998494</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=44998494</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44998494</guid></item><item><title><![CDATA[New comment by njitbew in "Distributed Transactions at Scale in Amazon DynamoDB (2023)"]]></title><description><![CDATA[
<p>> Horrible dev experience, no decent clients/libs, complex pricing, weird scaling in/out mechanism, slow, it only works well for well defined use-cases.<p>Most of these arguments probably don't outweigh the benefits. If you're in need of a managed, highly-consistent, highly-scalable, distributed database, and you're already an AWS customer, what would you use instead?</p>
]]></description><pubDate>Wed, 15 Jan 2025 10:11:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=42709275</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=42709275</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42709275</guid></item><item><title><![CDATA[New comment by njitbew in "Cloud Egress Costs"]]></title><description><![CDATA[
<p>Oracle Cloud only charges a fraction of want Google, Microsoft, and Amazon charge. Any idea how Oracle is able to keep the cost so low? Or are the others just inflating the price so customers don’t move to the competitor? In that case Oracle deserves a shout out for not applying these vendor lock-in practices.</p>
]]></description><pubDate>Sat, 10 Feb 2024 22:46:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=39330922</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=39330922</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39330922</guid></item><item><title><![CDATA[New comment by njitbew in "Our journey in dropping the ORM in Go"]]></title><description><![CDATA[
<p>ORMs could (and most do) provide some escape hatch, where you can write the query yourself and reuse the hydration layer, or reuse the query generator and customize the hydrator, or a combination. Or you can just bail out completely for the few performance critical queries.<p>Honestly, ORMs are just an abstraction. They come at a cost and they’re not a silver bullet, just like most abstractions. I believe the hate for ORMs in many cases is due to a lack of understanding/wrong expectations.</p>
]]></description><pubDate>Fri, 26 Nov 2021 18:05:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=29352462</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=29352462</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29352462</guid></item><item><title><![CDATA[New comment by njitbew in "GraalVM at Facebook"]]></title><description><![CDATA[
<p>I don't understand the negativity in this thread about Oracle and the pricing model. GraalVM is an amazing piece of technology that enables many new applications. Oracle has the courage to invest heavily in this research, provides a community edition for free, and asks a very reasonable fee for the enterprise version. The pricing model is admittedly a bit complex, but from what I've been told it is a fairly common pricing model in this industry. And if you use the enterprise version in a way that is not allowed, you risk facing the consequences; no surprises there.<p>Disclaimer: You guessed it, I work at Oracle.</p>
]]></description><pubDate>Fri, 09 Jul 2021 19:43:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=27787729</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=27787729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27787729</guid></item><item><title><![CDATA[New comment by njitbew in "Solved by 1440p HiDPI: MacBook Pro 16“ is hot and noisy with an external monitor"]]></title><description><![CDATA[
<p>After upgrading my MacBook Pro 13" (2017) to Big Sur in Dec 2020 I had a similar experience. I use a 4k monitor and everything got super slow, fans started spinning, processes got throttled, and I could barely get any work done. I later did a fresh install of Catalina and everything was fast again.<p>I never did proper benchmarking, but my feeling was that resolution played a role. When using 1080p things were fast, but the resolution is unusable on a 27" 4k display. When using 2160p things were fast, but too small for my eyes. Any resolution in between (this implies things are being scaled?) was sluggish.<p>Note that this is a 13" model, so the problem does not seem to be restricted to the 16" model that the author is talking about.</p>
]]></description><pubDate>Sat, 22 May 2021 11:06:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=27245384</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=27245384</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27245384</guid></item><item><title><![CDATA[New comment by njitbew in "Gradle 7.0"]]></title><description><![CDATA[
<p>I know nothing about Android development with Gradle (or Android development in general, for that matter). I feel that is where a lot of negativity in this thread comes from. But then it's not per-se Gradle who is to blame; it's this specific use case of Gradle with Android which apparently is giving people a poor experience (e.g. lacking documentation).<p>> You are probably doing a bit simpler stuff, if that basic tutorial suffices you.<p>I've written a couple Gradle plugins, one of them was to build and test programs in our custom DSL. This exposed me to all facets of Gradle, because whatever Gradle offers to compile Java, Kotlin, ... you will most likely use for another language as well. I could not have written these plugins without the Gradle documentation. But again, it's totally unrelated to Android development.</p>
]]></description><pubDate>Mon, 12 Apr 2021 09:09:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=26777330</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=26777330</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26777330</guid></item><item><title><![CDATA[New comment by njitbew in "Gradle 7.0"]]></title><description><![CDATA[
<p>This is funny, because I have the complete opposite experience. Yes, it took me an afternoon to find my way around Gradle. But ever since I really appreciate their documentation. It is to the point, well written, contains code samples (which I believe are unit-tested, so they the code samples are always up-to-date), contains examples in both Groovy & Kotlin, and I could keep going on. A good entry point, for example, is Build Script Basics (<a href="https://docs.gradle.org/current/userguide/tutorial_using_tasks.html" rel="nofollow">https://docs.gradle.org/current/userguide/tutorial_using_tas...</a>).<p>> But I am yet to encounter a developer who actually learned Gradle inside out just from using it and reading the documentation.<p>You just met him! ;)</p>
]]></description><pubDate>Sun, 11 Apr 2021 20:11:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=26773010</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=26773010</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26773010</guid></item><item><title><![CDATA[New comment by njitbew in "Gradle 7.0"]]></title><description><![CDATA[
<p>The problem is that it is super easy to modify a Gradle build scripts, but also super hard to get it right (e.g. understanding of configuration vs. execution phase, concept of configurations, task dependencies). As long as you don't touch the build script, Gradle is superior to Maven in _so_ many ways.</p>
]]></description><pubDate>Sun, 11 Apr 2021 19:59:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=26772934</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=26772934</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26772934</guid></item><item><title><![CDATA[New comment by njitbew in "The Product-Minded Software Engineer (2019)"]]></title><description><![CDATA[
<p>Why so negative? You don't _have_ to do all of that, but as a software engineer you are in the unique position in which you're able to do a bit of all of that _if you want to_. It's like saying: why should I do operations work when I'm a developer. But then DevOps became a thing and every developer was suddenly also an operations guy. Being able to pick up different roles is an extremely valuable skill, and you're limiting yourself if you're drawing an imaginary boundary between technical and non-technical things.</p>
]]></description><pubDate>Sat, 10 Apr 2021 14:45:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=26761849</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=26761849</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26761849</guid></item><item><title><![CDATA[New comment by njitbew in "AWS Lambda Edge changes duration billing granularity from 50ms down to 1ms"]]></title><description><![CDATA[
<p>I don't understand what nginx has to do with this. nginx's language is just that: a language. If Lambda@Edge would support nginx language, you would still be invoking a lambda. But I'd must rather write some header rewriting code in, say, JavaScript than nginx's language.<p>Then why a (Turing-complete) programming language and not a config language? Simple: because a programming language gives you infinite more power than what any config system could ever provide. E.g. I could compare the origin IP, determine the country, and change the response based on that. And there are plenty of use cases like this which you cannot express in a config language.</p>
]]></description><pubDate>Fri, 09 Apr 2021 20:47:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=26755939</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=26755939</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26755939</guid></item><item><title><![CDATA[New comment by njitbew in "AWS Lambda Edge changes duration billing granularity from 50ms down to 1ms"]]></title><description><![CDATA[
<p>Sounds like it. Which in turn is similar to Akamai EdgeWorker (Akamai's JavaScript-at-the-edge)</p>
]]></description><pubDate>Fri, 09 Apr 2021 20:37:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=26755823</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=26755823</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26755823</guid></item><item><title><![CDATA[New comment by njitbew in "The world needs a software bill of materials"]]></title><description><![CDATA[
<p>Without reading the article, I can imagine that listing the components of a technological product (i.e., an SBOM) is a _first step_ towards the goal of solving all those problems. Once you have a standardized way of communicating what a software product is made of, you can start thinking of automatically upgrading dependencies (Maven's pom.xml does this to some extent, and Dependabot and Renovatebot leverage this semi-standard to automatically upgrade your dependencies). If you take this one step (or two steps) further, you can start to automatically rebuild the code, automatically deploy the code, patch running systems, detect when CVEs are actively being abused, and so on. Basically, automate the heck out of this so that the "they just didn't do it" will not happen. And for automation, you need standards.</p>
]]></description><pubDate>Sun, 21 Mar 2021 13:11:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=26530122</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=26530122</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26530122</guid></item><item><title><![CDATA[New comment by njitbew in "Apple M1 Microarchitecture Research"]]></title><description><![CDATA[
<p>The distinction you're making is more about _fundamental_ research vs. _applied_ research, but it is research nevertheless.<p>From the first hit I found on Google:<p>* Fundamental researches mainly aim to answer the questions of why, what or how and they tend to contribute the pool of fundamental knowledge in the research area.<p>* Opposite to fundamental research is applied research that aims to solve specific problems, thus findings of applied research do have immediate practical implications.</p>
]]></description><pubDate>Sun, 07 Mar 2021 20:34:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=26379512</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=26379512</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26379512</guid></item><item><title><![CDATA[New comment by njitbew in "Bose QC 35 Firmware 4.5.2 Noise Cancellation Investigation Report"]]></title><description><![CDATA[
<p>Are these "leather cups" you're talking about these "ear cushions" (<a href="https://www.bose.com/en_us/products/headphones/headphone_accessories/qc35-ear-cushion-kit.html#v=qc35_earcushion_acc_black" rel="nofollow">https://www.bose.com/en_us/products/headphones/headphone_acc...</a>)? If yes, then that's only 30-40$, which does not seem unreasonable for a product you use so intensively? I replaced mine after about 2 years. I remember the sound insulation being a _lot_ better afterwards.<p>I have the same experience on the battery: my pair is almost 3 years old and I can go about 2 days of work (~12 hours) before I have to charge them.</p>
]]></description><pubDate>Sun, 05 Apr 2020 09:29:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=22784695</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=22784695</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22784695</guid></item><item><title><![CDATA[New comment by njitbew in "MIT-licensed high-quality SVG icons"]]></title><description><![CDATA[
<p>There seems to be a connection though. This project tabler/tabler-icons is part of Tabler, which features FeatherIcons: <a href="https://preview.tabler.io/icons.html" rel="nofollow">https://preview.tabler.io/icons.html</a>.<p>Not saying there's anything wrong here, for all I know it might be the same author on both projects. Taking a closer look, it might even be the case that tabler-icons is just a rebranding of FeatherIcons.</p>
]]></description><pubDate>Thu, 19 Mar 2020 09:30:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=22625871</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=22625871</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22625871</guid></item><item><title><![CDATA[New comment by njitbew in "MIT-licensed high-quality SVG icons"]]></title><description><![CDATA[
<p>Quality as in "a BMW is of better quality than a Peugeot" ;)</p>
]]></description><pubDate>Thu, 19 Mar 2020 09:28:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=22625862</link><dc:creator>njitbew</dc:creator><comments>https://news.ycombinator.com/item?id=22625862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22625862</guid></item></channel></rss>