Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ambrop7
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
21 ms
·
151.
▲
by
ambrop7
10y ago
I suppose this was just an example of when you want to do safety-critical control in software. For something as simple, hardware measures are probably more appropriate, but your particular problem may be far too complex to solve with simple
152.
▲
by
ambrop7
10y ago
It also means you need to be extra careful compared to simpler architectures (like AVR). For example for locking you may need to disable/re-enable interrupts also within an ISR not just in the main loop / threads. If nesting is a
153.
▲
by
ambrop7
10y ago
I think the article is missing important information about how NVIC latches interrupts, or in general the relation between the interrupt signal and the execution of the interrupt. The NVIC supports both "level" and "pulse&quo
154.
▲
by
ambrop7
10y ago
> If the other system disappeared forever, and there were no timeout, that socket would be held open forever. There is actually a more "gracefully degrading" solution, to keep those connections around potentially indefinitely o
155.
▲
by
ambrop7
10y ago
It is good if the compromise is not large-scale or is recent (e.g. only one of the mirrors was compromised, or the compromise is recent enough that search engines and such don't know much about the hacked version).
156.
▲
by
ambrop7
10y ago
No they definitely use a nonstandard ld.so path. What I showed above is actual output of ldd except there's an actual HASH. If you think about it makes sense, glibc is still "just" a dependency so it needs to be references fr
157.
▲
by
ambrop7
10y ago
I think that they don't do too drastic changes. There are certainly checks in the compilation process to not accidentally link to /usr/lib/ libraries, but I think the main problem of finding libraries works with a simple
158.
▲
by
ambrop7
10y ago
Well yes strictly speaking, the same binary. But in practice with Nix's default library resolution logic (the mentioned compiler wrapping) you will probably also have problems trying to build binaries in one package using version of a
159.
▲
by
ambrop7
10y ago
- I think the issue is partly made moot by that not many people know Guile/Scheme in the first place, so they'd need to learn one language anyway. - Guix refuses to integrate proprietary software so its usability is diminished co
160.
▲
by
ambrop7
10y ago
Normally you end up only a single version of a library needed in the scope of one application. E.g. application A depends on libraries B and C and both of these depend on the same version of library D. And there is no problem as long as thi
161.
▲
by
ambrop7
10y ago
I usually check the hashes of all software I download. How do I check the hash if the vendor doesn't publish it, you might ask? Simple, calculate it and Google it. If you find what look like legitimate hits associating this file with t
162.
▲
by
ambrop7
10y ago
Some time back I needed to generate an XML file in a Java web application. I attempted to figure out how to do it "right". The only "special" requirement was that it is formatted in a readable way. So I was figuring out
163.
▲
by
ambrop7
10y ago
I don't disagree with the conclusion but from my understanding it was made entirely on a theoretical basis. I would be interested in seeing an implementation of multiplexing benchmarked against separate connections. There are also (low
164.
▲
by
ambrop7
10y ago
By list I mean an abstract data structure, you don't "escape" it. You could encode it in a specific format like JSON, if you want.
165.
▲
by
ambrop7
10y ago
The PATH should be a list of strings not a string where : means something special.
166.
▲
by
ambrop7
10y ago
I think the problem is most people are not capable of proving code is correct even informally (and writing correct code, which can only happen if you're writing it while proving correctness in your mind). Using formal verification seem
167.
▲
by
ambrop7
10y ago
Perfect is subjective, but "correct" not so much. And when you get sufficiently skilled, you realize correctness can, for sufficiently complex software, only come together with the more subjective qualities, since it's hard t
168.
▲
by
ambrop7
10y ago
A ring buffer can work for a single writer and multiple readers, in the model that each element is received by all the readers. Each reader just needs their own read index and the writer probably needs to check all the read indices before w
169.
▲
by
ambrop7
10y ago
I think display:none is a regularly annoying design mistake. It would be better to separate the concepts of how the content should be displayed, and whether it should be displayed in the first place. It causes issues such as: - The built-in
170.
▲
by
ambrop7
10y ago
At least in the Qt implementation, signals and slots make it easy to forget to connect essential signals, and to understand which signals are essential. I also feel like they tend to encourage making the interface more complex than it needs
171.
▲
by
ambrop7
10y ago
You may be able to prevent some specific issues using shared-ptr, but in my experience it is better long-term to design the application so its use is unnecessary. One issue that pops up is reference cycles, so then you also need the weak_pt
172.
▲
by
ambrop7
10y ago
Rc is dynamic memory allocation, which means every element of your application will end up in its dynamic memory block. This is inefficient and highly undesirable for resource-restricted / embedded applications.
173.
▲
by
ambrop7
10y ago
I don't understand what you mean by "use a graph datastructure". I want to have a framework / set of patterns for building large-scale event-driven applications using composable components.
174.
▲
by
ambrop7
10y ago
No, I've long ago came to the conclusion that event-driven programming is the right way for programming large-scale network applications. The problem is that it is often poorly supported in languages/libraries, and for some reason
175.
▲
by
ambrop7
10y ago
You don't need shared_ptr in C++, and I prefer to never use it (or reference counting generally) in general. See my other comment: https://news.ycombinator.com/item?id=12031739
176.
▲
by
ambrop7
10y ago
I have to disagree that about the magical monkey patching. Event driven systems can be made to be very simple and easy to understand, and such that much boilerplate is avoided. It's just that most programmers are not capable of doing t
177.
▲
by
ambrop7
10y ago
Thanks for the hint, I must look at Nim sometime :)
178.
▲
by
ambrop7
10y ago
Well yes, I do want to avoid any unnecessary overhead, and specifically I want to avoid any dynamic memory allocation. Consider a design for a hard real-time system and/or microcontrollers where you want to have all memory allocated st
179.
▲
by
ambrop7
10y ago
Slightly off-topic, but, as far as Rust goes, I've completely given up on it after realizing (after much study) that it is unsuitable for event-driven (callback-based) design. In short, its idea of ownership, borrowing and references i
180.
▲
by
ambrop7
10y ago
I think the very reasonable expectation is that you can only have issues with respect to accessing different parts of adjacent bitfield members, since in those cases the compiler generally really needs to access other members of the structu
More ›