<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: berkes</title><link>https://news.ycombinator.com/user?id=berkes</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Apr 2026 19:37:25 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=berkes" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by berkes in "I run multiple $10K MRR companies on a $20/month tech stack"]]></title><description><![CDATA[
<p>Yes. It strikes me as odd how many people will put forward Python with the argument of "simplicity".<p>It is not. Simple. It may be "easy" but easy != simple (simple is hard, I tend to say).<p>I'm currently involved in a project that was initially layed out as microservices in rust and some go, to slowly replace a monolyth Django monstrosity of 12+ years tech debt.<p>But the new hires are pushing back and re-introducing python, eith that argument of simplicity. Sure, python is <i>much</i> easier than a rust equivalent. Esp in early phases. But to me, 25+ years developer/engineer, yet new to python, it's unbelievable complex.
Yes, uv solves some. As does ty and ruff. But, my goodness, what a mess to set up simple ci pipelines, a local development machine (that doesn't break my OS or other software on that machine). Hell, even the dockerfiles are magnitudes more complex than most others I've encountered.</p>
]]></description><pubDate>Sun, 12 Apr 2026 08:16:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47737232</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47737232</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47737232</guid></item><item><title><![CDATA[New comment by berkes in "I run multiple $10K MRR companies on a $20/month tech stack"]]></title><description><![CDATA[
<p>I was wondering this as well: Why did OP look for VC?<p>In my case, I've used a similar strategy of keeping costs under €100/month. (But have sold, or stopped my ventures before hitting such MRRs as OP reports).<p>I raised some capital to pay my own bills during development. But mostly to hire freelancers to work on parts that I'm bad at, or didn't have time for: advertising, a specific feature, a library, rewrite-in-rust (wink) or deep research into functional improvements.</p>
]]></description><pubDate>Sun, 12 Apr 2026 08:04:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47737164</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47737164</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47737164</guid></item><item><title><![CDATA[New comment by berkes in "I run multiple $10K MRR companies on a $20/month tech stack"]]></title><description><![CDATA[
<p>I always thought I had to add a swap file to avoid crashing with OOM. I wasn't aware of the cold pages overhead.<p>Sometimes that crashing is what I want: a dedicated server running one (micro)service in a system that'll restart new servers on such crashes (e.g. Kubernetes-alike). I'd rather have it crash immediately rather than chugging along in degraded state.<p>But on a shared setup like OP shows, or the old LAMP-on-a-vps, i'd prefer the system to start swapping and have a chance to recover. IME it quite often does. Will take a few minutes (of near downtime) but will avoid data corruption or crash-loops much easier.<p>Basically, letting Linux handle recovery vs letting a monitoring system handle recovery</p>
]]></description><pubDate>Sun, 12 Apr 2026 07:58:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47737124</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47737124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47737124</guid></item><item><title><![CDATA[New comment by berkes in "Git commands I run before reading any code"]]></title><description><![CDATA[
<p>Oh, but I had a daily sit down and addressed this and other issues several times.<p>The problem was, as I mentioned, "he though he was the best developer ever". stubborn as hell. And pushed back against anything he wasn't used to, anything that wasn't his usual "ssh or ftp into prod and change stuff until it works" because he thought this was the only method that worked.<p>This was my first encounter with a self-proclaimed "10x" developer before that term existed. Someone who - as seen by far off management - seemingly have a high output, but in reality just create a trail of tech-debt and work for the rest of the team.</p>
]]></description><pubDate>Fri, 10 Apr 2026 13:33:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=47717900</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47717900</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47717900</guid></item><item><title><![CDATA[New comment by berkes in "Git commands I run before reading any code"]]></title><description><![CDATA[
<p>Plotting Churn against Complexity is far more useful than merely churn.<p>It shows places that are problematic much better. High churn, low complexity: fine. Its recognized and optimizef that this is worked on a lot (e.g. some mapping file, a dsl, business rules etc). Low churn high complexity: fine too. Its a mess, but no-one has to be there.
But both? Thats probably where most bugs originate, where PRs block, where test coverage is poor and where everyone knows time is needed to refactor.<p>In fact, quite often I found that a teams' call "to rewrite the app from scratch" was really about those few high-churn-high-complexity modules, files or classes.<p>Complexity is a deep topic, but even simple checks like how nested smt is, or how many statements can do.</p>
]]></description><pubDate>Wed, 08 Apr 2026 16:23:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47692372</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47692372</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47692372</guid></item><item><title><![CDATA[New comment by berkes in "Git commands I run before reading any code"]]></title><description><![CDATA[
<p>I once tutored an intern. Who thought he was The Best Programmer On Earth (didn't we all at that age?). 
He refused to use revision control, it slowed him down.<p>So we told him to commit at least once every day, with a relevant commit message, or else fail his internship.<p>He worked 21 more days. There were 21 commits: "17:00, time to go home".</p>
]]></description><pubDate>Wed, 08 Apr 2026 16:09:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47692174</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47692174</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47692174</guid></item><item><title><![CDATA[New comment by berkes in "Axios compromised on NPM – Malicious versions drop remote access trojan"]]></title><description><![CDATA[
<p>Ah but you don't know how far in the future I intended it to be :)</p>
]]></description><pubDate>Tue, 07 Apr 2026 19:06:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47679900</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47679900</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47679900</guid></item><item><title><![CDATA[New comment by berkes in "France pulls last gold held in US for $15B gain"]]></title><description><![CDATA[
<p>But the gold price has been rising (on average) a lot over the period July 2025 to January 2026</p>
]]></description><pubDate>Mon, 06 Apr 2026 09:04:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47658489</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47658489</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47658489</guid></item><item><title><![CDATA[New comment by berkes in "France pulls last gold held in US for $15B gain"]]></title><description><![CDATA[
<p>>  As the price of gold continued to rise as they did this,<p>Seems counterintuitive to me. This would only make gains when they bought the new gold before selling the old, or when there's some arbitrage going on between Gold/USD, Gold/EUR and USD/EUR.<p>If they first sold the old for USD, then bought the new for USD, with a rising gold price, they'd miss the price-gain during the time between the trades, when they held the USD. It'd be a loss, not a gain.<p>If there's some arbitrage going on, then I highly doubt that brings $15B gain. The differences would have to be <i>huge</i>.<p>I think the (author (AI)) writing that article is simply mixing up stuff. I think this gain is not a cause-effect of the conversion, merely the gains from rising gold prices on the gold it holds over that period.</p>
]]></description><pubDate>Mon, 06 Apr 2026 09:00:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47658463</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47658463</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47658463</guid></item><item><title><![CDATA[New comment by berkes in "France pulls last gold held in US for $15B gain"]]></title><description><![CDATA[
<p>> BdF Governor  Francois Villeroy de Galhau said the decision to keep the new bars in Paris is “not politically motivated,” as the higher-standard gold bars it bought were traded on a European market.</p>
]]></description><pubDate>Mon, 06 Apr 2026 08:39:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=47658327</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47658327</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47658327</guid></item><item><title><![CDATA[New comment by berkes in "Axios compromised on NPM – Malicious versions drop remote access trojan"]]></title><description><![CDATA[
<p>... and since it was architectured to allow runtime injection-patching of events before they hit the enterprise-service-bus, everyone using this library must first set fourteen ENV vars in their profile, and provide a /etc/java/springtime/enterprise-workday-handling/parse-event-mismatch.jar.patch. Which should fix the bug for you.<p>You can find the patch files for your OSs by registering at Oracle with a J3EE8.4-PatchLibID (note, the older J3EE16-PatchLib-ids aren't compatible), attainable from your regional Oracle account-manager.</p>
]]></description><pubDate>Tue, 31 Mar 2026 10:29:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47585245</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47585245</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47585245</guid></item><item><title><![CDATA[New comment by berkes in "Axios compromised on NPM – Malicious versions drop remote access trojan"]]></title><description><![CDATA[
<p>> Workdays!<p>This is java<i>script</i>, not Java.<p>In JavaScript something entirely new would be invented, to solve a problem that has long been solved and is documented in 20+ year old books on common design patterns. So we can all copy-paste `{ or: [{ days: 42, months: 2, hours: "DEFAULT", minutes: "IGNORE", seconds: null, timezone: "defer-by-ip" }, { timestamp: 17749453211*1000, unit: "ms"}]` without any clue as to what we are defining.<p>In Java, a 6000LoC+ ecosystem of classes, abstractions, dependency-injectables and probably a new DSL would be invented so we can all say "over 4 Malaysian workdays"</p>
]]></description><pubDate>Tue, 31 Mar 2026 08:24:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47584263</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47584263</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47584263</guid></item><item><title><![CDATA[New comment by berkes in "How I'm Productive with Claude Code"]]></title><description><![CDATA[
<p>The good old Cobra effect?<p><a href="https://en.wikipedia.org/wiki/Perverse_incentive?wprov=sfla1" rel="nofollow">https://en.wikipedia.org/wiki/Perverse_incentive?wprov=sfla1</a></p>
]]></description><pubDate>Tue, 24 Mar 2026 07:29:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47499551</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47499551</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47499551</guid></item><item><title><![CDATA[New comment by berkes in "Cloudflare crawl endpoint"]]></title><description><![CDATA[
<p>I know in practice it no longer is the case, if it ever was.<p>But semantic HTML is <i>exactly</i> that explicit machine-readable entrypoint. I am firmly entrenched in the opinion that HTML, and the DOM is <i>only</i> for machines to read, it just happens to be also somewhat understandable to some humans. Take an average webpage, have a look at all characters(bytes) in there: often two third won't ever be shown to humans.<p>Point being: we don't need to invent something new. We just need to realize we already have it and use it correctly. Other than this requiring better understanding of web tech, it has no downsides.
The low hanging fruit being the frameworks out there that should really do a better job of leveraging semantics in their output.</p>
]]></description><pubDate>Wed, 11 Mar 2026 07:51:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47332735</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47332735</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47332735</guid></item><item><title><![CDATA[New comment by berkes in "Danish government agency to ditch Microsoft software (2025)"]]></title><description><![CDATA[
<p>Since a few people ask "What can I do to help my govt/region/country to become more sovereign", here's my tips on this:<p>- All governments under EU (on almost all levels) are "required" to use and/or produce software as Open Source. The source of "that government app" should be available somewhere (though quite likely is not)¹ So go hunt for the source and start there.<p>- Look at underlying standards. EU regulation, trickling down into local laws and guidelines, rely on Open Standards almost always. That app you use to log into your tax environment quite probably uses (a weird, hard to recognize) variation of OAUTH2 or OpenID connect, SAML or such. The app that shows the time+dates for garbage-collection, quite probably uses a simple ical-feed under the hood. With that knowledge, you may be able to develop/fork/use open source alternatives without too much effort².<p>- Show (local) representatives the alternatives. Listen to them. Learn from them. Most representatives are suprisingly open to you as expert. But, I cannot stress enough, learn and listen foremost. IT experts and open source community in particular have an (IMHO well deserved) reputation for being arrogant, know-it-all unfriendly and rediculously single-minded. So don't lecture that councillor for using Twitter instead of Mastodon, riduculing them for not using GPG or scoffing at their insistence on using Microsoft Word over Vim with Markdown (My younger self was such an arrogant neckbeard; I am now convinced I have done actual harm to the Open Source community that way). But ask why twitter, have they tried mastodon, or bluesky? Why not? Why did they leave? What features in MSword do they require? Did they know that Jitsi is an option? Maybe you can show how they could use Nextcloud for at least their own files? Sometimes you can answer some of their questions and help them. More often, you learn a few things that you could use to improve sovereign and open source alternatives and align them slightly more with whats needed.<p>¹ The details, interpretations and implementations are a mess, but the idea is "open source, unless..." for any software that any government buys, rents, builds, etc. In practice almost all projects fall under "unless...". I spoke to a MSFT account-manager for several local govts and he told me they have f*in training material to "help" govt officials write tenders/requirements in such a way that Open Source is practically excluded and Microsoft the only option. I am appalled, but also not that surprised.<p>² The ical-finding is how I got my local garbage-collection schedule into my calendar app. And when I told this to someone who happened to work at the municipality, they realized that publishing the urls and docs online helped a lot of citizens. Ironically, the push-back, according to this person, was from a civil-servant whose career was influenced on the success (install counts) of the "municipality app" and who was afraid that if people could add the calendar to their outlook/google cal/ical/other-cal, might no longer install the app. Again, I was appalled at such perverse incentives.</p>
]]></description><pubDate>Fri, 27 Feb 2026 09:33:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47178548</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47178548</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47178548</guid></item><item><title><![CDATA[New comment by berkes in "Show HN: enveil – hide your .env secrets from prAIng eyes"]]></title><description><![CDATA[
<p>How does a mounted secret (vault) protect against dumping secrets on crash or debugging?<p>The app still has it. It can dump it. It will dump it. Django for example (not a security best practice in itself, btw) will indeed dump ENV vars but will also dump its settings.<p>The solution to this problem lies not in how you get the secrets into the app, but in prohibiting them getting out of it. 
E.g. builds removing/stubbing tracing, dumping entirely. Or with proper logging and tracing layers that filter stuff.<p>There really is no difference, security wise, between logger.debug(system.env) and logger.debug(app.conf)</p>
]]></description><pubDate>Thu, 26 Feb 2026 08:08:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47163288</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47163288</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47163288</guid></item><item><title><![CDATA[New comment by berkes in "Danish government agency to ditch Microsoft software (2025)"]]></title><description><![CDATA[
<p>I'm not familiar with all current ongoing projects. Because of the situation mentioned above.<p>Currently I'm involved in projects surrounding <a href="https://developer.overheid.nl/kennisbank/security/standaarden/eudi-wallet" rel="nofollow">https://developer.overheid.nl/kennisbank/security/standaarde...</a> . Have a look there. It's not FLOSS in the way that you can just provide PRs of things you'd like different, but FLOSS in the way that you can get in touch and with enough expertise, have people listen to you.</p>
]]></description><pubDate>Wed, 25 Feb 2026 12:39:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47150749</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47150749</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47150749</guid></item><item><title><![CDATA[New comment by berkes in "Show HN: enveil – hide your .env secrets from prAIng eyes"]]></title><description><![CDATA[
<p>I strongly disagree.<p>Environment variables are -by far- the securest AND most practical way to provide configuration and secrets to apps.<p>Any other way is less secure: files on disk, (cli)arguments, a database, etc. Or about as secure but far more complex and convoluted. I've seen enterprise hosting with a (virtual) mount (nfs, etc) that provides config files - read only - tight permissions, served from a secure vault. A lot of indirection for getting secrets into an app that will still just read them plain text. More secure than env vars? how?<p>Or some encrypted database/vault that the app can read from using - a shared secret provided as env var or on-disk config file.</p>
]]></description><pubDate>Wed, 25 Feb 2026 12:36:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47150718</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47150718</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47150718</guid></item><item><title><![CDATA[New comment by berkes in "Danish government agency to ditch Microsoft software (2025)"]]></title><description><![CDATA[
<p>> This is symbolism<p>It is probably unintentional. I work and worked in such projects (in The Netherlands), and the process is -rightfully- chaotic.<p>Governments typically don't have a central single team that builds all their android apps. They usually write a tender with loads of requirements and app-agencies will then build it. Or freelancers. Or volunteer teams. Or all of that. So there's no central team governed by one minister who can dictate what should happen today. There's hundreds of companies, teams, freelancers, interims, running around trying to make deadlines<p>Between writing a spec and the delivered app, there's chasms: could be a year between the specs are written and the first app pushed onto a phone. In a (trump)year a lot can change. But also between how specs are requirements or wishes in real life. "No user data may ever reach a google server" (actual specs are far vaguer and broader) may sound good, but will conflict directly with "user must receive push notifications of Foo and Bar". Or "passport NFC data must be attested for login", requiring a non-rooted, android, signed-by-google hardware attestation thingymajick.<p>So no, this is not malice. Nor incompetence. This is a sad reality, where we've allowed the monopoly to dictate what we, and users, expect, and to have that monopoly be the only option to provide those expectations.</p>
]]></description><pubDate>Wed, 25 Feb 2026 12:25:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47150627</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47150627</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47150627</guid></item><item><title><![CDATA[New comment by berkes in "Show HN: enveil – hide your .env secrets from prAIng eyes"]]></title><description><![CDATA[
<p>FWIW, I looked into it myself too, and found e.g. this direnv setup:<p><a href="https://github.com/direnv/direnv/wiki/Sops" rel="nofollow">https://github.com/direnv/direnv/wiki/Sops</a></p>
]]></description><pubDate>Tue, 24 Feb 2026 13:56:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47137214</link><dc:creator>berkes</dc:creator><comments>https://news.ycombinator.com/item?id=47137214</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47137214</guid></item></channel></rss>