HNHacker News
TopNewBestAskShowJobs

gnull

1,197 karma · joined December 5, 2018

You can contact me over ntjvwmi7l@mozmail.com
submissionscomments
gnull··on Denmark data breach exposes 8.8M people's personal data
In Sweden, to avoid this kind of malicious leaks, we leak the residents' data officially. https://hitta.se lets you look up personal numbers, names, addresses, birthdays and sometimes phone numbers of any resident. The residents are not asked for consent, the data goes there automatically (some of my friends had success with having it removed from hitta, but it comes back once you change residence address).

It's quite convenient, when you meet a new friend, to go and check what neighbourhood they're from, who do they live with and where they lived before.

What's the big deal, Danes? What do you have to hide?

(The provocative tone is intentional as a joke, I'm not even a Swede, I just find the brotherly rivalry between Scandinavians amusing.)

gnull··on The Tao of Backup
It's not guaranteed to be bit identical (the why of it is a can of worms), but it's identical enough for all practical purposes.
gnull··on In Ukraine, distributed renewables foil Russia's assaults
Good points, didn't know that.
gnull··on In Ukraine, distributed renewables foil Russia's assaults
Yeah, the C++ comments this gentleman posts ate rather repelling.
gnull··on In Ukraine, distributed renewables foil Russia's assaults
I agree that they hit civilian targets, the evidence is there. How do you know they targeted them? Missiles sometimes can miss or or be shot down by air defenses, then fall and explode.

It's been broken down many times with a lot of examples from history: harassing civilians only mobilizes them. So Russia must be not only cruels but also stupid if you want to argue that they're targeting civilians.

The death toll among civilians also does not look like they're being targeted, more like collateral damage. Typically when you see a headline like "another bloodthirsty attack of Russian orcs of Ukraine's civilians", you open the post to see that there's 4 dead + 15 injured. Like if they had a goal of killing civilians, they wouldn't do it by hundreds.

It's cheap to demonize and dismiss the side you don't like, picture them as cruel, stypid, evil. And from there, creatively explain everything they do with these qualities. It seldom helps you understand reality though.

So it could be that your case is special, you're not just being lazy and racist in building your worldview, but people you don't like are actually unreasonably cruel, evil and also stypid. Or maybe not, and your explanation is lazy and of poor quality. Guess which one is more likely.

gnull··on In Ukraine, distributed renewables foil Russia's assaults
[flagged]
gnull··on In Ukraine, distributed renewables foil Russia's assaults
Even the big targets nowadays take hundreds of drones launched to destroy, because of air defense. Air defense seems like one of those thigs that's easier to concentrate around a select number of key sites. You won't put a Patriot next to each residential building, but you can put some next to a big power plant.

And the drones today are made with large targets in mind, carrying one bigger payload of explosive. I wonder how they can change if the goal would be to target stacks of fragile solar panelts with best cost efficiency. I've seen on the news yesterday that Russia started targeting bridges more because that have some new payload that's more destructive to them than just a big lump of explosive.

I don't know what's actually true here, just some ideas on what else need to be taken into account.

gnull··on In Ukraine, distributed renewables foil Russia's assaults
A hypothetical is not a position. They are a logical/rhetorical tool that let's you see what are the implications of X being true without saying that X is true. The point of a hypothetical is seeing where something leads without making that something your position.

One reason to do hypotheticals is to see if X being true leads to any valuable, surprising implications. So that after that you can go back to talking about whether X is true, this time knowing why you need to know it (or skip talking about it if it doesn't lead anywhere interesting).

Making two hypothetical that contradict each other is extremely useful and common way to use them. One typical example is case matching. If you show that some Y holds under the assumption that X is true, then you show that Y also holds under the assumption that X is not true; this allows you to conclude that Y is true, no matter whether X is true.

In don't know if Ukraine moving to decentralized will make attacks on its grid useless. In two differs branches here I consider what happens if it does and what happens if it doesn't. In response to whatever the other commenters seem to believe in. When someone states X as their position, sometimes I prefer to see what are the implications of it, and if any are interesting come back to talking about whether their position is true. If no implications are surprising, I won't even approach the costlier task of trying to understand if the commenters position is true.

You seemed to believe that decentralizing will make grid attacks not viable, and from there try to go to saying decentralization helps. My point to you was that there's a few variables (decentralization penalty, Russia's next best target after grid) that must be taken into account if you were to conduct an argument like that. I'm saying that without stating (or even having) a position on whether decentralization will stop grid attcks.

In the other thread the discussion was about whether grid attcks will stop. And my point was that I don't find it obvious that they won't.

Strictly speaking, none of this was stating my position. There's so much more to logic and rhetorics than stating positions and defending them.

gnull··on In Ukraine, distributed renewables foil Russia's assaults
Fair points.
gnull··on In Ukraine, distributed renewables foil Russia's assaults
> mitigate Russia's ability to inflict pain

The crux of the distinction I'm making is right there. Russia is not doing some ephemeral "inflict pain", it's pursuing a clear objective of draining Ukraine's budget.

The way I'd do it if I was in Kremlin is something close to make up a list of targets, rank them by (Ukraine's cost to maintain)/(Russia's cost of missiles), pick the top 3-5 and hit them. Also continuously update the cost estimates and reevaluate those 3-5 targets.

In this vocabulary, Ukraine moving to decentralized is a cost in itself, so if it does pay that cost to move "energy grid" item down Russia's list, Russia can celebrate it and move on to the next target. If this happens, Ukraine will have paid the cost of moving to decentralized, and will be continuously paying a penalty for it, while Russia's coat of incurring that on Ukraine goes to zero (since the new missiles are hitting different targets).

And critically, if we assume moving to decentralized will make it pointless for Russia to hit the grid, deciding how much will it help requires knowing what target they will aim those newly freed missiles at, and how much cost that is going to incur.

> you were claiming PV being outside was "much easier to hit" but now you are saying those systems probably won't be targeted.

These are all hypotheticals, I assumed we're on the same page about it. We don't really know here in this forum what's going to work. Considering two contradicting hypotheticals in different threads is alright.

My comments are not about what is true, what's going to actually happen on the ground. They're about how one should go about arguing whatever they're arguing for, what reservations they're missing, and what assumptions they made they're not aware of.

gnull··on In Ukraine, distributed renewables foil Russia's assaults
Fair!
gnull··on In Ukraine, distributed renewables foil Russia's assaults
I meant a diesel generator in a residential building. The refineries stay centralized somewhere safe (not a problem in Ukraine's case).
gnull··on In Ukraine, distributed renewables foil Russia's assaults
I meant greenwashing as pulling a reason to make something about renewables out of thin air. In this case article's choice to center it's argument on renewables is greenwashing. Maybe I need a different word, not sure.

The argument that decentralization (diesel or renewable) helps makes sense to me. What they do though is attribute the benefits of decentralized to renewables (ignoring how many buildings are powered by diesel in Ukraine today, those which did not receive that grant from Denmark to do solar), then completely skip potential downsides of renewables, and draw a conclusion from there.

gnull··on In Ukraine, distributed renewables foil Russia's assaults
The drone will disbale more than one of those 1kW panels if it hits an array of them. Panels are stationary, easier to target than vehicles.

Could you also motivate the choice to compare Wh of energy lost, instead of, say, US dollar cost of the damage? Sounds a bit odd, because Wh is not the currency I pay bills with.

How much does it cost to replace an array of solar panels, compared to the cost of sending another diesel truck (and paying for the destroyed one + its fuel)?

gnull··on In Ukraine, distributed renewables foil Russia's assaults
Disabling them is a means to deal economic damage, not an end-goal in itself.

People built centralized grids because it's cheaper to build and service when the equipment is concentrated in one place. The economy of scale kicks in.

If you move to decentralized so there's fewer outages, but now you're paying extra to maintain it, your solution is not as good as it used to be, that's economic damage right there.

And your enemy probably will also stop targeting the small decentralized grid elements, so they're not spending bucks on missiles. They can use more of them to hit other parts of your economy that are still centralized.

Estimating the net impact of this change is bigger than the article suggests.

gnull··on In Ukraine, distributed renewables foil Russia's assaults
This is greenwashing.

The article suggests that renewables are somehow more helpful in a war when your grid is targeted by drones and missiles. It doesn't do a comparison to back it up though.

Decentralized power production vs. centralized does make sense: decentralized doesn't offer a single point of failure taking out which causes a lot of damage.

But can't energy from fossil fuels be generated in a decentralized manner too? Sounds only better than renewables because it doesn't go up and down throughout a day, and doesn't need grid to amortize the jumps.

Renewables sort of need to be out there in the open to harvest energy from the elements. Solar needs sunlight, wind needs to spin its huge blades in open air. A diesel generator, on the other hand, perfectly goes underground, much harder to target.

So the article doesn't really establish that renewables offer a clear advantage over fossils in a war.

Upd: some comments below have convinced me that fossils don't decentralize as easily as renewables.

gnull··on Dutch governments builds alternative for Microsoft based on NixOS
Coming from fp background, I find Nix language very sensible. Especially for something like hermetic packaging.

The primitives for packaging in nix feel exactly like what they should be. When you look at a definition, the things that piece of code could do in principle (and things you could do with it as a consumer) tend to cleanly match it's semantic purpose and its responsibilities. So a lot of things are self-documenting.

gnull··on Noodle Gallery – Self-hosted photo and video manager forked from Immich
Was there a reason these features were not accepted to upstream Immich and needed to be in a fork?

Looking at the latest commits, Noodle Galery has many signed with Claude, but Immich doesn't. Is LLM policy a reason for fork? (Just speculating, I don't know.)

UPD: Immich has this in CONTRIBUTING.md, seems like its LLM policy is more strict:

> We ask you not to open PRs generated with an LLM.

vs. Noodle Galery:

> We actively encourage the use of LLMs and AI coding tools.

gnull··on llama.cpp
It also even easier to get working and integrate into your system in a sustainable manner with NixOS. Do it by hand or throw an LLM at it, it will get you a declarative patch for your NixOS config that brings llama-cpp into your config that you can review and add under version control (no random `make install` build artifacts contaminating your system, no wondering "what was it that I ran? what are all these files? how do I do the same with a newer version?" a couple months later). There's also likely some build cache where Nixoids have already build what you want.

I had a great experience with llama-cpp with Nvidia backend on NixOS.

(Sorry for being that guy.)

gnull··on Go is an ideal language for AI-assisted software engineering
What concrete arguments are there to believe in your talent hypothesis instead of their tool hypothesis?

A couple more comments like this from you, and I'll be able to say, "cyanmoonx has a history of blaming the talent rather than bad tools". There being a history like that is neither an argument for nor against tools being bad. And also, don't forget that bad tools and bad talent don't rule each other out.

gnull··on Qwen3.8 Max now ranked as the best overall model by agentic index
Claude code is just pool quality. They don't make how this thing will behave clear to the user, or give control. They fail at anything that needs an abstraction or model, not just APIs and shell scripts glued together. And "just ask AI" seems to be the default fix.

That vibe coding they brag about as if it was a good thing, it shows.

Take their notation for describing permissions. The docs are not comprehensive, and in practice it doesn't quite work how they describe it.

Or their management of sub-agents. I once lost a sub-agent, it finished and disappeared from UI. Apparently, you can't bring it back yourself: you have to ask the parent agent to do it for you. But the parent was Fable, and I ran out of credits, so I was locked out of using my opus sub-agent because of it.

Or an even more grotesque example: when you paste your claude API token to authorize, it covers characters with *. But it seems like an LLM has hallucinated a limit of API key length and the tail of your key stays visible.

gnull··on Professor's invisible prompt trap catches 32/35 students cheating with AI
What is a "document editor"? I edit my documents in Kakoune, and send a PDF. Where is that history supposed to be?

About your actual point: can you also make AI actually say things and have something to say, and not just try to imitate someone who is trying to get a point across?

I'm not catching students, I'm reviewing comments in code and documentation written with AI. I even wish it would convince me and try not to notice it, but I can't. I'm pretty sure I'd fail AI generated slop, not for cheating, but for nonsense.

Ps. You didn't write that comment with AI, did you?

gnull··on Solod: Go can be a better C
> So is for Go developers who want systems-level control without learning a new language. And for C programmers who like Go's safety, structure, and tooling.

Wut?

Also, how do you preserve garbage collector semantics without garbage collector?

gnull··on Postgres rewritten in Rust, now passing 100% of the Postgres regression tests
What was your methodology and structure in making the prompts for the rewrite? Did you let the LLM roam in all of the codebase and tests from the beginning, or revealed things to it gradually in some way?
gnull··on Postgres rewritten in Rust, now passing 100% of the Postgres regression tests
Regression tests start to play a different role with LLMs.

On one hand, they give an LLM a short feedback loop to correct itself, and iterate fast when writing code. A human also uses it as a feedback loop, but we don't iterate as fast and don't handle big walls of conditions, so its effect is not as big.

On the other hand, LLM's ability to handle a big wall of if-conditions can backfire if it starts taking shortcuts and taking the tests-as-a-spec too literally, overfitting the solution, overly focusing on the given datapoints (conditions checked by tests) and missing the overall behavior shape that the tests intend to pin down. For humans, this is less of a concern because we are bad at big walls of if-conditions, and we'd rather try to see the original shape that the tests are pinning down than monkey-patch the solution to fit the individual points.

It's interesting to see how one balanced these two. In this case particularly. Maybe you could play around with separating the data you give an LLM into "training set" and "validation set", training set can be seen fully, but validation set is hidden and is only queried when the solution is deemed ready. Say, training set = original source code + half of the tests; LLM uses that for quick feedback loop. And validation set = the remaining half of the tests; test code is not shown to the LLM and run only when the LLM says it's done to catch potential overfitting of the resulting solution over training set.

To me, the credibility of a solution like that would depend on what methodology the authors used. If they just let the LLM see all tests, I'd be skeptical (albeit unable to point out specific bugs due to the volume of work and LLM's ability to make bad things look trustworthy). The good thing is, real-life use will add new, unseen before datapoints for testing — so validation set will build up with time. Really curious to see how it will work.

gnull··on A decade of Docker containers
Packaging for nix is exceptionally easy once you learn it. And once something is packaged, it's solved for all, it's not going to randomly break.

If you care about getting it to work with minimal effort right now more thar about it being sustainable later, then sure.

gnull··on Georgian wine culture dates back, uninterrupted, approximately 8k years
I agree about democracy. What I was referring to is that part of the society didn't roll with the legitimate leader's decision not to align with EU in 2013. And it was undemocratic.

I stressed that it was split, and the democratic thing to do would be to wait another year until the next election, where everyone will be given equal opportunity to express their choice and determine what's the next thing we're rolling with. But we'll never know what they'd choose because some chose to protest, and then continue doing so when it git violent. Give me one reason why Maidan organizers couldn't go home in 2013 and just vote a year later.

Maybe there could have been a referendum on EU course. But we'll never know, since neither Yanukovich nor pro-EU leaders have conducted one.

gnull··on Georgian wine culture dates back, uninterrupted, approximately 8k years
Are there any key details you're leaving out? Is there a chance you creatively picked what to leave out in a way that serves the view you're sympathetic to?
gnull··on Georgian wine culture dates back, uninterrupted, approximately 8k years
Is this trolling by stupidity? You are irredeemable. I wasn't talking about elections, I meant everything before it that caused premature elections in 2014.

Was there something major that happened in 2013-2014 involving violence that interrupted the term of elected, legitimate president Yanukovich? Can you recall?

gnull··on Georgian wine culture dates back, uninterrupted, approximately 8k years
Sure. And you keep babbling and restating your point instead of proving it because you've got an overwhelming proof, you're just too polite to share it with us.
Page 1 of 12Next →