<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: hinst</title>
    <description>The latest articles on DEV Community by hinst (@hinst).</description>
    <link>https://dev.to/hinst</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1284944%2F6094d50c-5ac4-4237-b4dc-34a1a6b0e52b.png</url>
      <title>DEV Community: hinst</title>
      <link>https://dev.to/hinst</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hinst"/>
    <language>en</language>
    <item>
      <title>Top 5 Java troll moments</title>
      <dc:creator>hinst</dc:creator>
      <pubDate>Thu, 05 Mar 2026 17:25:59 +0000</pubDate>
      <link>https://dev.to/hinst/top-3-java-troll-moments-4jp1</link>
      <guid>https://dev.to/hinst/top-3-java-troll-moments-4jp1</guid>
      <description>&lt;ol&gt;
&lt;li&gt;Memory limit is not a real memory limit 🤔

&lt;ul&gt;
&lt;li&gt;I can define heap memory limit for the JVM... But the actual memory usage can end up being 10% higher, or 20%, or even 50% higher, because native memory allocations are not counted as heap memory&lt;/li&gt;
&lt;li&gt;My app will use all available memory inside the container and crash, even though I thought I set a limit... What?&lt;/li&gt;
&lt;li&gt;At this point, why even have a memory limit at all?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Reserved words that do nothing 🅰️

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;const&lt;/code&gt; is a reserved keyword, but I cannot define a constant value with it&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;_&lt;/code&gt; underscore is also a reserved keyword, but it cannot be used until Java 25. It took 10+ years from keyword introduction to actual implementation. No way... Better later than never?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Character to number implicit casting 🔟

&lt;ul&gt;
&lt;li&gt;It is possible to create string builder from character: &lt;code&gt;new StringBuilder('a')&lt;/code&gt;. But &lt;code&gt;'a'&lt;/code&gt; will be treated as integer 97. What the heck...&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ForkJoinPool.commonPool() 📊

&lt;ul&gt;
&lt;li&gt;The number of available threads is limited to the number of CPU threads&lt;/li&gt;
&lt;li&gt;If some tasks spawn other tasks, then I will run out of threads and enter a deadlock... Or not, if I am lucky enough to run on a multicore CPU with enough cores&lt;/li&gt;
&lt;li&gt;No error message, only infinite waiting&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Check if two objects are equal 🍏

&lt;ul&gt;
&lt;li&gt;Compare two strings using &lt;code&gt;==&lt;/code&gt; operator, a beginner's mistake&lt;/li&gt;
&lt;li&gt;Or compare two objects using &lt;code&gt;a.equals(b)&lt;/code&gt;, only to find out that the objects belong to different classes, and cannot be equal ever&lt;/li&gt;
&lt;li&gt;These errors can only be caught effectively with a good linter. Compiler will say nothing about those errors&lt;/li&gt;
&lt;li&gt;Bonus headache if one of the objects is null, calling &lt;code&gt;null.equals()&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>java</category>
      <category>devjournal</category>
    </item>
    <item>
      <title>dev.to HTML markup broken... what?</title>
      <dc:creator>hinst</dc:creator>
      <pubDate>Tue, 03 Mar 2026 18:13:22 +0000</pubDate>
      <link>https://dev.to/hinst/devto-html-markup-broken-what-2pd5</link>
      <guid>https://dev.to/hinst/devto-html-markup-broken-what-2pd5</guid>
      <description>&lt;p&gt;I was writing a blog post just now and immediately noticed that the &lt;br&gt;
&lt;code&gt;"New post here..."&lt;/code&gt; &lt;br&gt;
placeholder is cut into half, looking like uhh... a medieval samurai warrior slashed it with a blade. Come on, Dev.to UI team needs to wake up and fix this 🥴&lt;/p&gt;

</description>
      <category>devjournal</category>
    </item>
    <item>
      <title>2026.03.03</title>
      <dc:creator>hinst</dc:creator>
      <pubDate>Tue, 03 Mar 2026 17:35:59 +0000</pubDate>
      <link>https://dev.to/hinst/20260303-42em</link>
      <guid>https://dev.to/hinst/20260303-42em</guid>
      <description>&lt;p&gt;The time to post on dev.to has come.&lt;br&gt;
I posted two short rants on &lt;strong&gt;dev.to&lt;/strong&gt; a while ago, in year 2024, but gave up on posting shortly after, and the whole year 2025 went without a single post on &lt;strong&gt;dev.to&lt;/strong&gt; for me.&lt;/p&gt;

&lt;p&gt;However, times change. Up until now, I have been posting my dev diary on &lt;strong&gt;SmartProgress.do&lt;/strong&gt;, in my native language. I used to post in there regularly for many years, but recently the website has been dying: frequently displaying bad gateway error, instead of the actual web page.&lt;/p&gt;

&lt;p&gt;Therefore, I had to look for an alternative, and the best I could find was dev.to, so there we go.&lt;/p&gt;

&lt;p&gt;My plan is to post weekly, regardless of engagement: whether I get any views or comments, it does not matter. The goal of this blog will be documenting my programmer journey.&lt;/p&gt;

</description>
      <category>devjournal</category>
    </item>
    <item>
      <title>Beware of MongoDB network compression</title>
      <dc:creator>hinst</dc:creator>
      <pubDate>Wed, 17 Apr 2024 12:58:02 +0000</pubDate>
      <link>https://dev.to/hinst/beware-of-mongodb-network-compression-4722</link>
      <guid>https://dev.to/hinst/beware-of-mongodb-network-compression-4722</guid>
      <description>&lt;p&gt;Recently I encountered a weird problem while working on my paid customer's project.&lt;/p&gt;

&lt;p&gt;We have a Java service app which does basically nothing more than accept incoming data from remote senders and save the data in a time series database. Meanwhile, MongoDB is used to store related metadata, such as the list of data sources and access tokens. The Java service checks if the sender is authorized through a MongoDB collection with access tokens and then sends time series values to a different database.&lt;/p&gt;

&lt;p&gt;The problem is, enabling MongoDB compression tripled our random access memory usage of the Java service app.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compression=&lt;strong&gt;Off&lt;/strong&gt;: using &lt;strong&gt;1 GB&lt;/strong&gt; of RAM and &lt;strong&gt;50% CPU&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Compression=&lt;strong&gt;On&lt;/strong&gt;: using &lt;strong&gt;3 GB&lt;/strong&gt; of RAM and &lt;strong&gt;100% CPU&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All the excessive memory gets allocated in native, outside of Java heap, so the heap limit does not restrict this excessive memory usage&lt;/p&gt;

&lt;p&gt;Overall, the fact that the CPU and memory both went up is not a big surprise by itself, but the sheer factor by how much they went up feels a bit much.&lt;/p&gt;

&lt;p&gt;Triple memory usage for MongoDB compression on client side? ☕🤔🚿&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>mongodb</category>
      <category>java</category>
    </item>
    <item>
      <title>Videogame storage space optimization is terrible in some games</title>
      <dc:creator>hinst</dc:creator>
      <pubDate>Thu, 11 Apr 2024 12:42:46 +0000</pubDate>
      <link>https://dev.to/hinst/videogame-storage-space-optimization-is-terrible-in-some-games-4n44</link>
      <guid>https://dev.to/hinst/videogame-storage-space-optimization-is-terrible-in-some-games-4n44</guid>
      <description>&lt;p&gt;How can people bear to play live service videogames that require 10+ GB update every week?&lt;/p&gt;

&lt;p&gt;By the time the update is completed, I do not even want to play anymore. Do the game developers not understand it?&lt;/p&gt;

&lt;p&gt;I do not mind a quick 1 GB update, but the huge dumb file updates need to stop&lt;/p&gt;

&lt;p&gt;I frown at these worst offenders: Fortnite and Genshin Impact&lt;/p&gt;

</description>
      <category>gamedev</category>
    </item>
  </channel>
</rss>
