The people of the West Bank have engaged in terrorism against Israeli civilians up to 2005 - https://en.wikipedia.org/wiki/Second_Intifada - and that's not particularly ancient history.
Maybe that's the subject for the next blog post, but I think the main reason cancellation causes more troubles than ordinary IO problems, is that with ordinary errors you assume that the resource that suffered the…
Its more that in Rust, async cancellation will occur exactly at await points, which are generally when you do IO.
The one system I've seen work is when each medium team (of say, 20-36 people) has a "devops team" of say 4-6 people that is responsible for all the infrastructure stuff, while the rest of the people can focus on product…
The main difficulty I have with this method is that I don't have an easy way to pass a Python array to bash as an array of parameters.
When calling shell from bash (to use pipes etc.), I found it useful to pass variables via the environment, like this: def safe_call(command, **keywds): return subprocess.check_call(f'set -euo pipefail; {command}',…
Not that surprising: CPUs can perform scalar in parallel with computation, so I would expect a few scalar ops to be free in any code that is not scalar-bound.
> The described attack utilized a malicious router. I understand how cross-interface packets can be used maliciously. I'm just trying to figure out the non-malicious use cases for them.
What's the configuration you're talking about? In the Wifi+Ethernet case, how do the routers know to send the packets towards the "right" interface, without the computer having the "right" IP address? I mean, suppose…
Is there a place where I can read about these cases?
How is this supposed to work? How will the packet destined to the WiFi IP address get to the Ethernet interface?
> nping --tcp --flags SA --source-ip 192.168.12.1 --dest-ip 10.8.0.8 -- rate 3 -c 3 -e ap0 --dest-mac 08:00:27:9c:53:12 Why is Linux accepting packets coming from one interface into an IP address belonging to a…
From the outside, it feels that most exploit chains on modern systems rely on 4 mostly-independent steps: 1. code execution in a worker process - typically a memory corruption 2. ACE in worker process to ACE in…
For example, accidentally sharing a lock-less cache or a non-atomic reference counted pointer between threads. For example this code, which tries to send a reference-counted pointer between threads, which can cause the…
Engine failed during qualification testing, not acceptance testing - so it's a new design. If you don't occasionally blow an engine up on the stand you are either not testing hard enough or not pushing the limits hard…
But these are "customer protection" laws, which are intended to make sure people are informed and to make it reasonable to shop in the street, not to protect against people who intentionally try to break them. They are…
The main criticism of HFT I have heard is that it makes life harder for institutional investors, which makes them less likely to take effort to invest well.
In Rust the "verified product" is the chain of bors merges - we even save build artifacts for each node in the chain for easy bisection of issues. A rollup creates a single bors merge for all the commits in them, so…
This is how you do high-school algebra, after all. As long as it is clear that all steps are reversible, it is ok.
> PTYs are "terminal servers"—they're just sucky ones from a time when a terminal had fewer expected capabilities. But, indeed, you can connect a TTY directly to e.g. a serial modem, and then the person dialling your…
If you don't care about "making it pretty", you can make a cookie-cutter 3270-style UI pretty easily.
You need some sort of "terminal server" to maintain the session and station state, and I think screen's server does that thing quite well - I don't see a good reason to integrate the "terminal server" with the OS. You…
While we are post-scarcity in respect to food production, we are not post-scarcity in food distribution in undeveloped countries. That turns out to be a much harder problem.
Performance is really not something you can design from scratch. If you are using Hadoop for a 1GB job, it's likely that you have architectural bottlenecks that will prevent you from scaling to multiple-terabyte…
The reason is of course that returning a variably-sized value to an already-existing address space is annoying. IOW that's what standard output (and pipes on /proc/self/fd/N) is for.
The people of the West Bank have engaged in terrorism against Israeli civilians up to 2005 - https://en.wikipedia.org/wiki/Second_Intifada - and that's not particularly ancient history.
Maybe that's the subject for the next blog post, but I think the main reason cancellation causes more troubles than ordinary IO problems, is that with ordinary errors you assume that the resource that suffered the…
Its more that in Rust, async cancellation will occur exactly at await points, which are generally when you do IO.
The one system I've seen work is when each medium team (of say, 20-36 people) has a "devops team" of say 4-6 people that is responsible for all the infrastructure stuff, while the rest of the people can focus on product…
The main difficulty I have with this method is that I don't have an easy way to pass a Python array to bash as an array of parameters.
When calling shell from bash (to use pipes etc.), I found it useful to pass variables via the environment, like this: def safe_call(command, **keywds): return subprocess.check_call(f'set -euo pipefail; {command}',…
Not that surprising: CPUs can perform scalar in parallel with computation, so I would expect a few scalar ops to be free in any code that is not scalar-bound.
> The described attack utilized a malicious router. I understand how cross-interface packets can be used maliciously. I'm just trying to figure out the non-malicious use cases for them.
What's the configuration you're talking about? In the Wifi+Ethernet case, how do the routers know to send the packets towards the "right" interface, without the computer having the "right" IP address? I mean, suppose…
Is there a place where I can read about these cases?
How is this supposed to work? How will the packet destined to the WiFi IP address get to the Ethernet interface?
> nping --tcp --flags SA --source-ip 192.168.12.1 --dest-ip 10.8.0.8 -- rate 3 -c 3 -e ap0 --dest-mac 08:00:27:9c:53:12 Why is Linux accepting packets coming from one interface into an IP address belonging to a…
From the outside, it feels that most exploit chains on modern systems rely on 4 mostly-independent steps: 1. code execution in a worker process - typically a memory corruption 2. ACE in worker process to ACE in…
For example, accidentally sharing a lock-less cache or a non-atomic reference counted pointer between threads. For example this code, which tries to send a reference-counted pointer between threads, which can cause the…
Engine failed during qualification testing, not acceptance testing - so it's a new design. If you don't occasionally blow an engine up on the stand you are either not testing hard enough or not pushing the limits hard…
But these are "customer protection" laws, which are intended to make sure people are informed and to make it reasonable to shop in the street, not to protect against people who intentionally try to break them. They are…
The main criticism of HFT I have heard is that it makes life harder for institutional investors, which makes them less likely to take effort to invest well.
In Rust the "verified product" is the chain of bors merges - we even save build artifacts for each node in the chain for easy bisection of issues. A rollup creates a single bors merge for all the commits in them, so…
This is how you do high-school algebra, after all. As long as it is clear that all steps are reversible, it is ok.
> PTYs are "terminal servers"—they're just sucky ones from a time when a terminal had fewer expected capabilities. But, indeed, you can connect a TTY directly to e.g. a serial modem, and then the person dialling your…
If you don't care about "making it pretty", you can make a cookie-cutter 3270-style UI pretty easily.
You need some sort of "terminal server" to maintain the session and station state, and I think screen's server does that thing quite well - I don't see a good reason to integrate the "terminal server" with the OS. You…
While we are post-scarcity in respect to food production, we are not post-scarcity in food distribution in undeveloped countries. That turns out to be a much harder problem.
Performance is really not something you can design from scratch. If you are using Hadoop for a 1GB job, it's likely that you have architectural bottlenecks that will prevent you from scaling to multiple-terabyte…
The reason is of course that returning a variably-sized value to an already-existing address space is annoying. IOW that's what standard output (and pipes on /proc/self/fd/N) is for.