Recent submissions

Comment · 23 days ago
Well, there are separate events for touch input and mouse input on native software. You can actually handle both if you actually have time to hone that to perfection...
Comment · 2 months ago
Well CLAUDE.local.md exists specially for personal preferences. Include line to CLAUDE.md that "never edit CLAUDE.md. Write user preferences to CLAUDE.local.md".

CLAUDE.local.md is the one that should be in .gitignore.

Comment · 4 months ago
And that is why existing installations put the heat pump to production side and then just pipe the high temperature water to district heating network.
Comment · 4 months ago
It still makes sense. If heat is produced by a burning something, it is is more efficient to do that in one dedicated place. It makes it easier to pipe exhaust away from apartments and efficiency can be higher.

Also gas pipes to every home isn't a thing in many countries.

Comment · 6 months ago
The point of the checksum is to just drop obviously wrong keys. No need to handle revocation or do any DB access if checksum is incorrect, the key can just be rejected.
Comment · 7 months ago
I think there is plenty of room to make AI inference much more energy efficient. For example, there are companies testing creating custom silicon to run the model. Once that technology matures and we have some "good enough" models for normal use, inference cost for non-bleeding-edge models can come way down.

I don't expect bleeding-edge models to become any cheaper, but previous generation models can potentially be really cheap.

Comment · 7 months ago
You don't want to copy-paste anything like that as text anyway. Just copy and paste files.

No human is reading much data regardless of the format.

What is the benefit over using for example BSON?

Comment · 1 year ago
I think in this case Rust and C code aren't equivalent which maybe caused this slow down. Union trick also affects the alignment. C side struct is 32 bit aligned, but Rust struct only has 16bit alignment because it only contains fields with 16bit alignment. In practice the fields are likely anyway correctly aligned to 32bits, but compiler optimizations may have hard time verifying that.

Have you tried manually defining alignment of Rust struct?

Comment · 1 year ago
SAF documentation seems a bit misleading: takePersistableUriPermission part only talks about files, but other sources seem to indicate that it also works for directories so it should be possible to request permissions to a directory and then maintain it correctly.
Comment · 1 year ago
NextCloud currently has to copy all files that it wants to upload & back up to its own app directory which is pain to actual usability. I'm guessing this annoyance is also related to these fun permission limitations.
Comment · 1 year ago
Here in Finland, there is legal obligation to help people in emergencies, but this does not mean that you are required to danger yourself or act beyond your abilities. So usually only thing you are actually legally required to do is to call for help.
Comment · 1 year ago
MikroTik has dynamic DNS that is based on random unique number for their router. I just point my DNS record to that dynamic DNS address and everything just works.
Comment · 1 year ago
a) resource use is minimal when deployment isn't in progress. It just idling and waiting for commands b) Agent need to be able to connect to Azure DevOps servers, but it is connection from agent to Azure DevOps servers so no need to open any extra inbound ports or anything like that. Documentation lists the domains that need to be accessible from agents.

Agent permissions to Azure are restricted based on the pipeline configuration to only allow things that are used in the pipeline. So if your pipeline does not involve cloning git some private git repo, agent cannot do that. And even that gives only access to that particular resource. So you normally have a build pipeline that generates package from you application and then deployment pipeline that only has access to that generated package which is then distributed to agents configured for some particular deployment environment.

I don't really have much direct experience with deployment side of things so someone else can probably provide extra info.

Comment · 1 year ago
Better option would be to parse json into Bson and then use that as the in-memory format. It uses minimal memory and is actually also fast to access without parsing into some other data structure.
Comment · 1 year ago
That is not how it works. You assume that the rich people can get as much net profit if income tax is higher due to progressiveness, which is not true. Also if there is a way to get more (gross) profit, they will use it regardless of the tax.

Profit of a company is small percentage of the moving money. Like 50c of $6 chipotle meal is profit and not all of that goes to the owner. Taxing owner at 50% rate instead of 25% would only increase cost a few cents. Same with landlords, there are fixed costs and loan costs that reduce profit. 100% of paid rent is not direct profit...

Actual issue of the progressive tax is truely rich people using tax evasion tactics to avoid it by structuring their income so that it belongs to some other tax category that doesn't have progressive tax.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton