<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: maksut</title><link>https://news.ycombinator.com/user?id=maksut</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 01 May 2026 23:33:31 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=maksut" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by maksut in "Show HN: Perfect Bluetooth MIDI for Windows"]]></title><description><![CDATA[
<p>That wouldn't surprise me.<p>Surprisingly Windows audio stack is a mess. I have a mini keyboard with Bluetooth and it was an adventure to get it working in Windows. In Linux it was pretty much plug and play.<p>Low latency audio drviers are also messy in Windows when not using an audio interface with well written ASIO drivers. Pipewire in Linux is  much easier to configure. Looks like MacOS also does not have this driver problem.<p>It is surprising. Because most audio plugins and DAWs support only Windows and MacOS.</p>
]]></description><pubDate>Fri, 01 May 2026 12:00:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47973772</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=47973772</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47973772</guid></item><item><title><![CDATA[New comment by maksut in "Java 25's new CPU-Time Profiler"]]></title><description><![CDATA[
<p>I disagree with this. The tooling around JVM is great or at least good enough.<p>Maven is mostly smooth sailing comparing to Python's env solutions or JS ecosystem. Maven is 21 years old. A quick search says Python has/had; pip, venv, pip-tools, Pipenv, Poetry, PDM, pyenv, pipx, uv, Conda, Mamba, Pixi.<p>Debugging is just fine. Modern debugging tools are there. There is remote debugging, (although limited) update & continue, evaluating custom expressions etc. I don't know what they complain about. If using Clojure, it is also possible to change running application completely.<p>Monitoring tools are also great. It is easy to gather runtime metrics for profiling or monitoring events. There are tools like Mission Control to analyse them.</p>
]]></description><pubDate>Sat, 13 Sep 2025 18:32:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=45234273</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=45234273</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45234273</guid></item><item><title><![CDATA[New comment by maksut in "Why do CPUs have multiple cache levels? (2016)"]]></title><description><![CDATA[
<p>That is interesting. I wonder if L1 is denser because it has to have more bandwidth. But doesn't that point to a space constraint rather than money? A combination of L1 & L2 will have a bigger capacity so it would be faster than pure L1 cache in the same space (for some/most workloads)?<p>I always thought cache layers was because of locality but that is my imagination :) The article talks about different access patterns of the cache layers which makes sense in my mind.<p>It also mentions density briefly:<p>> Only what misses L1 needs to be passed on to higher cache levels, which don’t need to be nearly as fast, nor have as much bandwidth. They can worry more about power efficiency and density instead.</p>
]]></description><pubDate>Thu, 16 May 2024 17:52:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=40381213</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=40381213</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40381213</guid></item><item><title><![CDATA[New comment by maksut in "How to Use the Foreign Function API in Java 22 to Call C Libraries"]]></title><description><![CDATA[
<p>It was a learning exercise. Just playing around with clojure, raylib and this new api. I know all these can also be done with C# with some pros & cons.<p>I wasn't advocating java for gamedev. Just pointing that, this new api is a nice addition. And I am glad that jvm ecosystem is improving.<p>To be fair, if I was starting a game project I wouldn't stay in Java/C# level. Depending on the project, something like C, C++, zig might be more practical. Ironically I believe they would be easier for iterating ideas and deploy into different platforms (mobile, wasm etc.).</p>
]]></description><pubDate>Thu, 09 May 2024 18:42:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=40311516</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=40311516</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40311516</guid></item><item><title><![CDATA[New comment by maksut in "How to Use the Foreign Function API in Java 22 to Call C Libraries"]]></title><description><![CDATA[
<p>I don't know much about C#. It certainly looks more popular in gamedev circles.<p>When I played with this new java api. I wasn't worried about the FFI cost. It seemed fast enough to me. My toy application was performing about 0.77x of pure C equivalent. I think Java's memory model and heavy heap use might hurt more. Hopefully Java will catch up when it gets value objects with Project Valhalla. Next decade or so :)</p>
]]></description><pubDate>Wed, 08 May 2024 19:48:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=40302135</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=40302135</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40302135</guid></item><item><title><![CDATA[New comment by maksut in "How to Use the Foreign Function API in Java 22 to Call C Libraries"]]></title><description><![CDATA[
<p>I have played with raylib bindings for clojure by using the new foreign function api. It was a lot of fun. SDL might be a better fit because it prefers pass by reference arguments [0].<p>[0] <a href="https://gist.github.com/raysan5/17392498d40e2cb281f5d09c0a4bf798" rel="nofollow">https://gist.github.com/raysan5/17392498d40e2cb281f5d09c0a4b...</a></p>
]]></description><pubDate>Wed, 08 May 2024 19:21:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=40301898</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=40301898</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40301898</guid></item><item><title><![CDATA[New comment by maksut in "How to Use the Foreign Function API in Java 22 to Call C Libraries"]]></title><description><![CDATA[
<p>You made me search it again. And still I don't see how that's possible. `Runtime.load` requires a regular file with an absolute path[0].<p>Stackoverflow is full of "copy it into a temp file" solutions. ChatGPT keeps saying "sorry" but still insists on copying it into a temp file :)<p>[0] - <a href="https://docs.oracle.com/en%2Fjava%2Fjavase%2F22%2Fdocs%2Fapi%2F%2F/java.base/java/lang/Runtime.html#load(java.lang.String)" rel="nofollow">https://docs.oracle.com/en%2Fjava%2Fjavase%2F22%2Fdocs%2Fapi...</a></p>
]]></description><pubDate>Wed, 08 May 2024 18:55:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=40301671</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=40301671</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40301671</guid></item><item><title><![CDATA[New comment by maksut in "How to Use the Foreign Function API in Java 22 to Call C Libraries"]]></title><description><![CDATA[
<p>Is that still true when distributing libraries?</p>
]]></description><pubDate>Wed, 08 May 2024 18:27:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=40301398</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=40301398</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40301398</guid></item><item><title><![CDATA[New comment by maksut in "How to Use the Foreign Function API in Java 22 to Call C Libraries"]]></title><description><![CDATA[
<p>I'd like to learn how they do it. Because last time I've looked at this, the suggested solution was to copy the binaries from claspath (eg: the jar) into a temporary folder then load it from there. It feels icky :)</p>
]]></description><pubDate>Wed, 08 May 2024 18:03:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=40301137</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=40301137</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40301137</guid></item><item><title><![CDATA[New comment by maksut in "JVM Performance Comparison for JDK 21"]]></title><description><![CDATA[
<p>It is free to try. But may not be free for commercial use. Some random blog post says check it with Oracle if you want to sell your products/services with it.</p>
]]></description><pubDate>Tue, 06 Feb 2024 17:31:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=39277456</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=39277456</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39277456</guid></item><item><title><![CDATA[New comment by maksut in "JVM Performance Comparison for JDK 21"]]></title><description><![CDATA[
<p>Apparently those are not available for native executibles produced by graalvm community edition.<p>Profile guided optimisation for native executibles sounds cool. Too bad Oracle wants to keep it closed for monetisation.</p>
]]></description><pubDate>Tue, 06 Feb 2024 17:16:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=39277177</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=39277177</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39277177</guid></item><item><title><![CDATA[New comment by maksut in "RubyWM – an X11 window manager in pure Ruby"]]></title><description><![CDATA[
<p>I am eyeing river wm. Because it has pluggable layout manager and controller via custom wayland protocols. Which means I can implement just those parts in my favourite lang to scratch the itch. Kudos to you going for the whole wm :)</p>
]]></description><pubDate>Mon, 22 Jan 2024 12:10:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=39088619</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=39088619</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39088619</guid></item><item><title><![CDATA[New comment by maksut in "Let it snow()"]]></title><description><![CDATA[
<p>But it seems to have "rand()" calls. Also trigonometric functions can be used as a pseudo random generator (kind of): <a href="https://thebookofshaders.com/10/" rel="nofollow noreferrer">https://thebookofshaders.com/10/</a></p>
]]></description><pubDate>Tue, 26 Dec 2023 08:51:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=38770021</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=38770021</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38770021</guid></item><item><title><![CDATA[New comment by maksut in "Ask HN: Why are Ubuntu images so big?"]]></title><description><![CDATA[
<p>It is not number of packages! 20.04 has 2977 packages and 23.10 has 1841 (from pkglist from distrowatch). After a quick eyeballing, example packages in 20.04 but NOT in 23.10: apache, g++, qemu, php, postgres, samba.<p>Also for comparison:<p>- MacOS installer ~14G [0]<p>- Windows 11 installer ~8G [1]<p>- Arch installer ~800M [2]<p>0: <a href="https://support.apple.com/en-gb/HT201372" rel="nofollow noreferrer">https://support.apple.com/en-gb/HT201372</a><p>1: <a href="https://www.microsoft.com/software-download/windows11" rel="nofollow noreferrer">https://www.microsoft.com/software-download/windows11</a><p>2: <a href="https://archlinux.org/download/" rel="nofollow noreferrer">https://archlinux.org/download/</a></p>
]]></description><pubDate>Wed, 25 Oct 2023 13:19:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=38012480</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=38012480</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38012480</guid></item><item><title><![CDATA[New comment by maksut in "My ranking of the best numbers from 0-100"]]></title><description><![CDATA[
<p>What 91 and 95 did to you? They are not in the list. And 97 gets to enjoy two places. It is just not fair!</p>
]]></description><pubDate>Mon, 23 Oct 2023 11:48:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=37984344</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=37984344</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37984344</guid></item><item><title><![CDATA[New comment by maksut in "How to avoid fearing data migration?"]]></title><description><![CDATA[
<p>Maybe you can use one of the data interchange protocols that has a story for backward/forward compatibility? Something like Apache Avro or Protocol Buffers should allow you to work with different versions of your data at the same time.<p>See: <a href="http://martin.kleppmann.com/2012/12/05/schema-evolution-in-avro-protocol-buffers-thrift.html" rel="nofollow">http://martin.kleppmann.com/2012/12/05/schema-evolution-in-a...</a><p>His book "Designing Data-Intensive Applications" has a section on this.</p>
]]></description><pubDate>Wed, 04 Jul 2018 14:13:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=17457358</link><dc:creator>maksut</dc:creator><comments>https://news.ycombinator.com/item?id=17457358</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17457358</guid></item></channel></rss>