It's really quite amazing to me that HFT reduces RPC latency by about three orders of magnitude, I feel like there are lessons from there that are not being transferred to the tech world.
3,205 karma · joined July 24, 2009
It's really quite amazing to me that HFT reduces RPC latency by about three orders of magnitude, I feel like there are lessons from there that are not being transferred to the tech world.
I'm sure interviewing can be improved, but I think it's worth remembering that we are one of the few industries that actually tries to do skills-based interviewing. When people say "get rid of leetcode" or what not, are they really saying that the alternative that the rest of the world uses (resume screen plus vibes check) is preferable?
Is this project public? I'd love to investigate
[1] https://www.ftc.gov/business-guidance/resources/can-spam-act...
I believe the version you are talking about is just a simple equivocation.
I believe the problem you are trying to elicit is that you can almost show that either envelope is a priori better than the other. The problem with this is that the means are infinite so the math isn't sound. So there's not an actual contradiction; the strategy is to open either envelope and then switch to the other one. It's unintuitive but only because we're not used to reasoning about distributions with infinite means.
As soon as you assign a well-formed probability distribution to the money in the envelopes you will find that opening the first envelope is informative.
I assume you meant to use a exponential base <0.5 so that the mean is finite
- Cheaper Python frames are enabled by making some semantic changes to the language, mostly by removing some dynamic functionality that no one uses
- "Inlined Python function calls" is a bit misleading: Python functions are not inlined, it's the "code that does the bookkeeping for calling a Python function" that is now eliminated for Python-to-Python calls.
- The most important part of the specializing interpreter is the attribute caching, which is quite significant
Source: I work on Pyston, where we do many similar things (but can't make semantic changes to the language)
I've ended a few interview processes at companies due to things I observed during onsite interviews (not necessarily rudeness), and with the benefit of hindsight I think those were absolutely the right call.
I did have one particularly rude interviewer once, but since it was in finance I thought it was a "stress interview". I took the job, and it turns out that this person was just toxic and the company had a culture of tolerating toxic people if they were high enough performers. I'm still glad I took the job, but the experience definitely was strong evidence of the link between what you see in an interview and what you get if you work there.
I think an interesting observation is that this anti-psychedelics post is written by someone who doesn't even want to try them, so this argument of his also says to treat this blog post with skepticism.
IMO there are two things that make the current abstraction of a computer as a unit make sense:
- You (mostly) don't have to try to handle partial failures within a computer. Partial failures are what make distributed systems hard.
- The difference in communication costs between two cores in a single machine is several orders of magnitude lower than communicating with a separate machine using commodity technologies. So while yes, "it's all just distributed" and you can use a common abstraction, a large enough constant factor difference means that you still will have to look through the abstraction to build a performant system.
My main takeaway from that paper is that a 2x increase in training cost improves performance by 5% (100x by 42%). I only skimmed the paper though.
To me this says that model scaling will not get us very much farther: we can probably do one more 100x but not two.
I talked to someone working on model scaling and they see the same numbers and draw a very different conclusion: my interpretation of their argument is that they view scaling money as easy versus finding new fundamental technical advances.
I just put the example into GPT3: Prompt: Can an email address contain more than one @ sign? Answer: No, an email address can only contain one @ sign.
I'm on my phone so it's a bit laborious to test more
For an example, consider approximating the identity function [f(x) = x] with a sigmoid-activation MLP. For any finite size of the net, the output will have a minimum and maximum value. One can change the parameters of the net to increase the range of the output, but at no point is the output range infinite. So even though you can construct a sequence of MLPs that in the limit in some sense converges to the identity function, in some sense it never does.
The same kind of thinking that leads to the conclusion "neural nets are universal approximators" would support the existence of perpetual motion machines; check out the "ellipsoid paradox" for more info.
The single example I typically give is that in Python you can inspect stack frames after they've exited! This has concrete implications on your VM design.
Another example is that the multiple dispatch protocol for binary operations (such as addition) is sufficiently complicated that you generally cannot encode it into your compiler. We have been able to have a simplified version of that by building a tracing JIT for C, which is able to understand the dispatch protocol, but it is not always applicable.
Source: I've been working on Python optimization for several years as part of the Pyston project.
I used XMonad for many years and finally had to give up and switch to i3, so I would recommend using that
The first problem was that they broke my configuration file with every release. I'm not a Haskell expert so fixing it was very time consuming
The second is that their gnome integration is quite bad. Also it's different for every combination of XMonad version and Ubuntu version and eventually I hit a combination that I couldn't get to work
So it was great when it worked but it didn't always work, and I'm now a happy i3 user