Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
apenwarr
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
38 ms
·
121.
▲
by
apenwarr
9y ago
python 2 made a rational, well-considered choice, though I do like the python 3 replacement better. Despite its self-consistency, python 2 ended up causing hard-to-find errors (mostly when people accidentally compared "0" with 0 t
122.
▲
by
apenwarr
9y ago
This information is similar to debian's popcon: http://popcon.debian.org/ , but one advantage popcon has is that it tries to measure actual usage of a tool even after it's installed. This avoids over-counting pe
123.
▲
by
apenwarr
9y ago
That's not quite right. The most common problem with (especially, but not only) DSL is bufferbloat, where you fill up your upload buffers, and this greatly increases RTT. Then your ACKs in response to downloaded content will take a l
124.
▲
by
apenwarr
9y ago
In normal CPython, you can design your C extension (such as bzip2) to release the GIL while it runs. This is one of the few times when threads are useful in Python. It's also why scipy etc are as fast as they are. I don't know if
125.
▲
by
apenwarr
9y ago
The main benefit would be the ability to offer public Internet-facing services through a NAT, even a carrier-grade NAT that lumps multiple ISP customers behind a single IP address. (You would need some kind of cooperation from the NAT to be
126.
▲
by
apenwarr
9y ago
It seems so to me. But someday, years from now, the investment might still pay off. In the meantime it's just pain.
127.
▲
by
apenwarr
9y ago
That's basically just an IPIP tunnel. It works, but adds tons of latency. A "good" mobile IP (which would be possible with eg. QUIC) would add no per-packet latency.
128.
▲
by
apenwarr
9y ago
The point is that actually IPv6 already includes all the complexity you're talking about: complicated multicast to replace complicated broadcast, complicated routing to replace complicated bridging. The underlying problem with IPv6 is
129.
▲
by
apenwarr
9y ago
With NAT, this has essentially already happened. You could say IPv4 is actually 48-bit addressing, at least on the client side. For all useful purposes, NAT expanded every /24 or even /32 subnet by an extra 16 bits, which is the
130.
▲
by
apenwarr
9y ago
You should read about QUIC, which is designed to be able to do this, almost exactly like you describe. https://www.chromium.org/quic
131.
▲
by
apenwarr
9y ago
The title ought to have been, "Why you should rewrite some of it in Rust." That's what the article is actually about. Then we could have a productive discussion about which parts, rather than yes or no.
132.
▲
by
apenwarr
9y ago
It's actually a pretty accurate use of the term. Immigrants end up taking less money and putting up with very bad workplace situations because many of them end up forced to work for a particular employer or return (at great expense) t
133.
▲
by
apenwarr
9y ago
Since we're here anyway: if we would just change web browsers to connect to a default port number obtained via DNS instead of always using 80/443 by default, then we could offer web servers through NAT gateways (by hosting up to 6
134.
▲
by
apenwarr
9y ago
Usually people write an actual function called main(), and call it from the global level conditional, to avoid this oddness. The actual function called main() has no special meaning in python.
135.
▲
by
apenwarr
9y ago
Sure. But you're still talking about the analog portion of the circuit. If the analog output of a digital recording - supposedly the input was a near-perfect square wave - is different from the analog output of an analog recording, and
136.
▲
by
apenwarr
9y ago
But that's the analog system which is band limited, not the digital! The problem is poor analog components after the digital decode phase in this case. A time domain digital representation absolutely can represent a perfect square wave
137.
▲
by
apenwarr
9y ago
Eliminate all the scripts that go into a package, moving them to runtime. This is the only way to eliminate instability caused by buggy scripts that then prevent upgrades. Also get rid of all interactivity during install and upgrade. It
138.
▲
by
apenwarr
9y ago
Why are we talking about Fourier series? Uncompressed digital audio doesn't need them, it just records the raw voltage level samples. You still can't produce a perfect square wave, but there's no reason you shouldn't be
139.
▲
by
apenwarr
9y ago
If experience is the x axis and learning is the y axis, and the learning curve is "steep," that might not mean it's easy to learn. It might mean that it's impossible to even get valid experience at first because it'
140.
▲
by
apenwarr
10y ago
Some even more in depth slides about why wifi doesn't always perform: http://apenwarr.ca/diary/wifi-data-apenwarr-201602.pdf
141.
▲
by
apenwarr
10y ago
One thing that I think people miss about the book is its profound disappointment that there are so few cities that even begin to approach her ideal. I think she would agree that you don't need to get the maximum number of people to liv
142.
▲
by
apenwarr
10y ago
Cesium is a really great iOS music player app. It's basically the iOS 6 UI with the bug fixes you always wanted, and none of the gunk from iOS 7 and above.
143.
▲
by
apenwarr
10y ago
bbr does not infer bandwidth using delay; it just measures the amount of data asked between two points in time (ie. it directly measures the bandwidth). It also directly measures the rtt. The big insight in bbr is that these two values are
144.
▲
by
apenwarr
10y ago
There shouldn't be much overhead per stream. The estimators are just a few integers each, which is tiny compared to the TCP socket buffer itself. There could be added cpu overhead from implementing pacing if it isn't done carefull
145.
▲
by
apenwarr
10y ago
My favourite feature of this algorithm is it ought to fix the problems of very fast TCP over very long distances when there is nonzero packet loss. I think :) Traditionally recovering from packet loss can take several RTT, and if round tri
146.
▲
by
apenwarr
10y ago
It doesn't need to be as complicated as pathchar, because of a lucky fact: if you measure the end to end bandwidth, you are always measuring the bottleneck bandwidth :) So you can just count how many packets arrive at the other end be
147.
▲
by
apenwarr
10y ago
I think the need for fq is just because that's how Linux does pacing, and pacing is essential for the accuracy of measurements used by bbr.
148.
▲
by
apenwarr
10y ago
Not directly. But if more people use bbr for their TCP sessions, there will be less latency caused by sessions alongside the gaming session.
149.
▲
by
apenwarr
10y ago
The averaging period says more about how fast they expect min_rtt to change than how long it takes to calculate it. If the rtt is fairly stable, that measurement could be accurate much sooner than 10s. Super short lived sessions can really
150.
▲
by
apenwarr
10y ago
The OP quotes diagrams that clearly show that incompetent people tend to overestimate their competence, and the most competent people tend to underestimate their competence. Almost all your quoted definitions match that data, so I don'
More ›