HNHacker News
TopNewBestAskShowJobs

dodomodo

61 karma · joined March 11, 2022

submissionscomments
dodomodo··on Hidden interface controls that affect usability
I don't think I can do better, I just feel betrayed,
dodomodo··on Google says "not a security vulnerability", quickly fixes without attribution
this is out of scope for the project, it is insane to expect every software project to deal with random file system corruptions. if this kind of thing was considered a security vulnerability we would have 100x the vulnerabilities we have now.
dodomodo··on Google says "not a security vulnerability", quickly fixes without attribution
The fact that something was fixed doesn't make it a security vulnerability, the "security vulnerability" here is equivalent to a command line tool not accepting weak passwords, defenetly something worth having, but not a vulnerability.
dodomodo··on Code-GUI bidirectional editing via LSP
first of all I want to say that I have a lot fun talking to you! Honestly I would also prefer dll based approach, if you really want to see the limits of the architecture of Lsp I recommend you to read the discussion about adding syntax highlighting to the protocol, but I see why the people behind LSP did what they did.

One final point!

I think there is a difference between absorbing low quality tools and absorbing low quality code. I think that it makes a lot of sense for a plugin system to design for low quality plugins. I have two examples from my job, the first is a micro services based parsing infrastructure, where each team is responsible with parsing it's own formats, which are oftentimes layered apon formats parsed by different teams. I believe this takes about 10x-100x more resources than it should, but it has the benefit that a rouge parser can't takes everything down with it. The second example is internal scripting capability of a different system where a lot of work was done to make sure the script can't do anything stupid.

In both of those cases the system is designed for low quality code because it is more cost effective to make sure code can be low quality without affecting the overall system, than to make sure low quality code doesn't exists.

dodomodo··on Code-GUI bidirectional editing via LSP
1. True, but in practice it's not always the case, for example older versions of resharper sometimes slowed down typing speed. It's much harder to fuck it up when there is a network request in the middle.

2. What about languages like Java and Go?

3. a. The experience of lsp server crashing is much better than an editor crashing, the editor usually automatically restart it. I had lsp servers crash without me noticing at all.

b. Memory problems in both lsp servers and traditional IDE analysis are extremely common in my experience. It seem to me that the problem is that there are a lot of pathological cases where the analysis enters a loop and keeps allocating memory.

4. When mixing runtimes I actually find it easier to have multiple processes because I can attach a specialized debugger to each process but this is definitely an important point.

5. good counter argument, I retract my point

6. what I meant is that for very large code bases it can be beneficial to run a central lsp server that many people can connect to because most of the index is shared between all of them and the parsing+indexing itself is very costly. I heard Google were doing something like that but I don't have more information.

dodomodo··on Code-GUI bidirectional editing via LSP
there are many practical benefits:

1. naturally async

2. each server and the editor itself can be written in its own language and runtime easily

3. servers can just crash or be killed because of oom errors and your editor won't be affected

4. in a lot of languages it is easier to write a server then to call/export c abi

5. the editor can run in a browser and connect to a remote server

6. you can have a remote central server

all of those things are done in practice

dodomodo··on Discover C++26's compile-time reflection
It's not that hard to just copy the relevant part from the standard library of your platform
dodomodo··on Fan Service
Nice artical! However the supposed rationale for having ACPI WMI is wrong, the real reason is that it allows firmware to (almost) directly expose higher level WMI objects, which is in my opinion clearer and easier to use than the sysfs style used in linux. The problem is that it stopes making any sense when all the supporting infrastructure is not available.
dodomodo··on The Merge
But the whole usage of the math puzzle is that you have to solve it using brute force, If there was a better way it won't be useful. So yeah the whole point is just guessing numbers not solving the puzzle.
← PreviousPage 2 of 2