dronemallone's comments

dronemallone | 1 year ago | on: Ross Anderson

Could you elaborate on the “tricks” you refer to? I feel it’ll be very useful.

dronemallone | 8 years ago | on: Uber is officially a cab firm, says European court

By this logic, all stock traders should be considered employees of the stock exchange they use. Uber is just like a stock exchange - a match making service.

* Traders/riders on a transaction/ride pay the exchange/Uber for this service.

* Traders/riders are free to trade/ride as much they want to, at any hour of the day, provided there's enough liquidity in the market (surge pricing etc.)

* If a trader doesn't cut a profit on a trade, it's the trader's problem not the exchange's

* If an Uber driver doesn't drive enough to earn a living wage, it's the driver's problem not Uber's.

dronemallone | 8 years ago | on: Network Protocols

This article is missing quite a few things that's of interest to programmers:

1. IPv4 fragmentation & reassembly

2. Centralized (Dijkstra/OSPF) vs. Distributed routing (distance vector/RIP) - stuff you see in Algorithms class

3. TCP mechanisms: congestion control mechanisms that the user can configure (Cubic/westwood/new reno), flow control, retransmission timer calculation (exponential weighted moving average)

4. explicit congestion notification and other add-ons, which can be enabled in the OS by the user

5. Active Queue Management and enabling QoS on your system: stochastic fair queueing for example

6. the recently introduced TCP Fast Open mechanism

7. TCP auto tuning: http://kb.pert.geant.net/PERTKB/TCPBufferAutoTuning

8. Ethernet physical layer: you've left out modulation, and only discussed encoding

9. Multicast and spanning tree protocols

dronemallone | 9 years ago | on: Rust 1.17

I did not mention compilers in my comment. Do you mean that if I use LLVM compile a C program then I get the same assurances as when I compile a Rust program?

dronemallone | 9 years ago | on: Rust 1.17

Let's say you are using LLVM to compile a Rust program, and an "equivalent" C program. You can compile both of them down to IR, and then enforce type safety at the IR level. Doesn't that ensure that you can prove properties about the program at compile time?

dronemallone | 9 years ago | on: Rust 1.17

You could use LLVM to compile any language to LLVM IR, and then to machine code using a backend. Does that mean every language has the same properties as Rust?

If Node/Java/Go use GC (or VMs), then aren't they more safe than Rust?

dronemallone | 9 years ago | on: Rust 1.17

So why does C, for example, lack Rust's memory safety semantics? Is it something to do with the design of the language itself? Can Rust predict user input, whereas C cannot?
page 1