<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: loxs</title><link>https://news.ycombinator.com/user?id=loxs</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 00:45:33 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=loxs" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by loxs in "Databases in 2025: A Year in Review"]]></title><description><![CDATA[
<p>As I said, my app is write heavy. So there are several separate processes that constantly write to the database, but of course, often, before writing, they need to read in order to decide what/where to write. Currently they need to have their own read cache in order to not clog the database.<p>The "web service" is only the user facing part which bears the least load. Read caching is useful there too as users look at statistics, so calculating them once every 5-10 minutes and caching them is needed, as that requires scanning the whole database.<p>A CDN is something I don't even have. It's not needed for the amount of users I have.<p>If I was using Postgres, these writer processes + the web service would share the same read cache for free (coming from Posgres itself). The difference wouldn't be huge if I would migrate right now, but now I already have the custom caching.</p>
]]></description><pubDate>Mon, 05 Jan 2026 11:17:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46497486</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=46497486</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46497486</guid></item><item><title><![CDATA[New comment by loxs in "Databases in 2025: A Year in Review"]]></title><description><![CDATA[
<p>Funny how people used to ask "what is a cloud application", and now they ask "what is a local application" :-)<p>Local as in "desktop application on the local machine" where you are the sole user.</p>
]]></description><pubDate>Mon, 05 Jan 2026 11:08:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=46497439</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=46497439</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46497439</guid></item><item><title><![CDATA[New comment by loxs in "Databases in 2025: A Year in Review"]]></title><description><![CDATA[
<p>After 2 years in production with a small (but write heavy) web service... it's a mixed bag. It definitely does the job, but not having a DB server does have not only benefits, but also drawbacks. The biggest being (lack of) caching the file/DB in RAM. As a result I have to do my own read caching, which is fine in Rust using the mokka caching library, but it's still something you have to do yourself, which would otherwise come for free with Postgres.
This of course also makes it impossible to share the cache between instances, doing so would require employing redis/memcached at which point it would be better to use Postgres.<p>It has been OK so far, but definitely I will have to migrate to Postgres at one point, rather sooner than later.</p>
]]></description><pubDate>Mon, 05 Jan 2026 10:59:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46497386</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=46497386</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46497386</guid></item><item><title><![CDATA[New comment by loxs in "Programming languages used for music"]]></title><description><![CDATA[
<p>Is there feature parity? Strudel might be ahead by now?</p>
]]></description><pubDate>Tue, 23 Dec 2025 09:45:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46363893</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=46363893</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46363893</guid></item><item><title><![CDATA[New comment by loxs in "GraphQL: The enterprise honeymoon is over"]]></title><description><![CDATA[
<p>It depends very much on the language/server you are using. In Rust, IMO GraphQL is still the best, easiest and fastest way to have my Rust types propagated to the frontend(s) and making sure that I will have strict and maitainable contracts throughout the whole system. This is achieved via the "async_graphql" crate which allows you to define/generate the GraphQL schema in code, by implementing the field handlers.<p>If you are using something which requires you to write the GraphQL schema manually and then adapt both the server and the client... it's a completely different experience and not that pleasant at all.</p>
]]></description><pubDate>Sun, 14 Dec 2025 21:46:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46267313</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=46267313</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46267313</guid></item><item><title><![CDATA[New comment by loxs in "Make product worse, get money"]]></title><description><![CDATA[
<p>The answer to the final question in the article is: "Mostly, because the government forbids us from solving this problem". Start a company? That will be 2k for incorporation and 3k per year for auditing/bookkeeping. You want to build something physical in Europe? What a bummer, come here and pay the exorbitant carbon tax. You still think you are very smart? Your will pay 70% effective tax rate if you want to hire someone else to help you.</p>
]]></description><pubDate>Sat, 22 Nov 2025 15:52:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=46015631</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=46015631</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46015631</guid></item><item><title><![CDATA[New comment by loxs in "Taylor Otwell: What 14 Years of Laravel Taught Me About Maintainability"]]></title><description><![CDATA[
<p>I have a Rust web project written ~5 years ago. Zero updates until a month ago, also zero problems. A month ago I upgrade the docker file to latest rust, zero problems compiling. Could have left it to run like this for 5 more years probably but I decided to experiment...<p>I issue a `cargo update` to upgrade the leaf dependencies and do automatic minor version updates. Issue cargo check. Some new warnings from `clippy`, but it still compiles and runs without problems. Could have deployed for 5 more years, but I decided to experiment more...<p>I upgrade some of the libraries to major new versions - I am experienced and I know which ones will upgrade without problem. They do upgrade without problem. Could have deployed for 5 more years but decided to walk the extra mile...<p>I upgrade the more problematic ones, especially actix_web, the web framework, which had a massive rewrite and a huge new release with almost completely different API surface... It's a bit difficult to understand the changes, especially some parts of the old code written for the old version (which I no longer remember), but in an hour I'm done. Afterwards `cargo outdated` does not report any outdated libraries. I deploy for the next 5 years. Zero problems since then.<p>Well, it's not decades yet, but I can imagine similar effort to maintain it over the next decade.</p>
]]></description><pubDate>Sat, 30 Aug 2025 19:39:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=45077409</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=45077409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45077409</guid></item><item><title><![CDATA[New comment by loxs in "Glyn: Type-safe PubSub and Registry for Gleam actors with distributed clustering"]]></title><description><![CDATA[
<p>> Rust’s complexity is a price you pay once and you reap the rewards forever afterwards<p>This resonated with me. Will use it in the future when I explain why I use Rust for almost everything.</p>
]]></description><pubDate>Sat, 23 Aug 2025 06:28:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=44993749</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44993749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44993749</guid></item><item><title><![CDATA[New comment by loxs in "OCaml as my primary language"]]></title><description><![CDATA[
<p>I would imagine most of it, because the program in question mostly does parsing and ETL.</p>
]]></description><pubDate>Sat, 16 Aug 2025 10:07:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=44921899</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44921899</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44921899</guid></item><item><title><![CDATA[New comment by loxs in "OCaml as my primary language"]]></title><description><![CDATA[
<p>Yeah, I just checked in my repository, it was ocamlopt</p>
]]></description><pubDate>Fri, 15 Aug 2025 11:42:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=44911142</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44911142</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44911142</guid></item><item><title><![CDATA[New comment by loxs in "OCaml as my primary language"]]></title><description><![CDATA[
<p>Just the straight/naive rewrite was ~3 times faster for my benchmark (which was running the program on the real dataset) and then I went down the rabbit hole and optimized it further and ended up ~5 times faster. Then slapped Rayon on top and got another ~2-3x depending on the number of cores and disk speed (the problem wasn't embarrassingly parallel, but still got a nice speedup).<p>Of course, all of this was mostly unneeded, but I just wanted to find out what am I getting myself into, and I was very happy with the result. My move to Rust was mostly not because of speed, but I still needed a fast language (where OCaml qualifies). This was also before the days of multicore OCaml, so nowadays it would matter even less.</p>
]]></description><pubDate>Fri, 15 Aug 2025 11:31:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=44911053</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44911053</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44911053</guid></item><item><title><![CDATA[New comment by loxs in "OCaml as my primary language"]]></title><description><![CDATA[
<p>Yeah, I was that kind of person, then I wrote a real tool that does real work in OCaml... and then I discovered than I am no longer such a person and went to Rust.</p>
]]></description><pubDate>Fri, 15 Aug 2025 11:21:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=44910953</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44910953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44910953</guid></item><item><title><![CDATA[New comment by loxs in "Monero appears to be in the midst of a successful 51% attack"]]></title><description><![CDATA[
<p>Based on how the crypto world works 100% of the time.</p>
]]></description><pubDate>Wed, 13 Aug 2025 19:11:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=44892546</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44892546</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44892546</guid></item><item><title><![CDATA[New comment by loxs in "OCaml as my primary language"]]></title><description><![CDATA[
<p>I migrated from OCaml to Rust around 2020, haven't looked back. Although Rust is quite a lot less elegant and has some unpleasant deficiencies (lambdas, closures, currying)... and I end up having to close one one eye sometimes and clone some large data-structure to make my life easier... But regardless, its huge ecosystem and great tooling allows me to build things comparatively so easily, that OCaml has no chance. As a bonus, the end result is seriously faster - I know because I rewrote one of my projects and for some time I had feature parity between the OCaml and Rust versions.<p>Nevertheless, I have fond memories of OCaml and a great amount of respect for the language design. Haven't checked on it since, probably should. I hope part of the problems have been solved.</p>
]]></description><pubDate>Wed, 13 Aug 2025 19:08:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=44892513</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44892513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44892513</guid></item><item><title><![CDATA[New comment by loxs in "Monero appears to be in the midst of a successful 51% attack"]]></title><description><![CDATA[
<p>Yeah, but the moment that happens they will confiscate/block the funds of the shorters.</p>
]]></description><pubDate>Tue, 12 Aug 2025 17:54:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=44879692</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44879692</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44879692</guid></item><item><title><![CDATA[New comment by loxs in "Monero appears to be in the midst of a successful 51% attack"]]></title><description><![CDATA[
<p>Having the power to deny others to mine blocks does not mean that you can obtain the tokens from their wallets. Miners can't sign transactions on users' behalf. You can rewrite all of history but then no exchange will accept your version of it to let you exchange the tokens for fiat. Also this will almost certainly crash the price of XMR substantially. And later people will be able to fork/restore the original version. The technological side of the blockchain is only part of the consensus/trust/market/popularity. People are the other part, and people will not pay the attacker for their successful attack.</p>
]]></description><pubDate>Tue, 12 Aug 2025 17:46:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=44879600</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44879600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44879600</guid></item><item><title><![CDATA[New comment by loxs in "Monero appears to be in the midst of a successful 51% attack"]]></title><description><![CDATA[
<p>You can only do that on centralized exchanges, which would mean that you effectively doxx yourself by shorting. Also the exchange will most probably seize your funds before you are able to withdraw them.</p>
]]></description><pubDate>Tue, 12 Aug 2025 17:37:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=44879497</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44879497</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44879497</guid></item><item><title><![CDATA[New comment by loxs in "AMD CEO sees chips from TSMC's US plant costing 5%-20% more"]]></title><description><![CDATA[
<p>If it's only 20%, it's a no-brainer.</p>
]]></description><pubDate>Fri, 25 Jul 2025 09:04:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=44681153</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44681153</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44681153</guid></item><item><title><![CDATA[New comment by loxs in "A non-anthropomorphized view of LLMs"]]></title><description><![CDATA[
<p>We can argue all day what "think" means and whether a LLM thinks (probably not IMO), but at least in my head the threshold for "decide" is much lower so I can perfectly accept that a LLM (or even a class) "decides". I don't have a conflict about that. Yeah, it might not be a decision in the human sense, but it's a decision in the mathematical sense so I have always meant "decide" literally when I was talking about a piece of code.<p>It's much more interesting when we are talking about... say... an ant... Does it "decide"? That I have no idea as it's probably somewhere in between, neither a sentient decision, nor a mathematical one.</p>
]]></description><pubDate>Mon, 07 Jul 2025 10:49:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=44488849</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44488849</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44488849</guid></item><item><title><![CDATA[New comment by loxs in "Apple announces sweeping App Store changes in the EU"]]></title><description><![CDATA[
<p>Can you elaborate? If you sell the app via a limited company do you have to doxx yourself personally?</p>
]]></description><pubDate>Thu, 26 Jun 2025 21:07:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=44391378</link><dc:creator>loxs</dc:creator><comments>https://news.ycombinator.com/item?id=44391378</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44391378</guid></item></channel></rss>