Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
majke
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
38 ms
·
391.
▲
by
majke
10y ago
fluxcapacitor autor here. Fluxcapacitor is focused on speeding up complex programs - most notably test suites (that do fork/execve). The idea is to cheat on time, to allow testing timeout-related branches in code. You can spin out a se
392.
▲
by
majke
10y ago
Agreed. Such code without decent doctests is close to useless. Also - try to get decent code coverage if you can.
393.
▲
by
majke
10y ago
Not available without linkedin login. login-wall
394.
▲
Automatically closing FIN_WAIT_2 is a violation of the TCP specification
(blog.cloudflare.com)
3 points
by
majke
10y ago
|
0 comments
395.
▲
by
majke
10y ago
The article first describes context and then it goes into describing the idea: > We can begin a (hardware) transaction just before a function return instruction, and end the transaction at its intended destination. Interesting indeed!
396.
▲
by
majke
10y ago
Since you insist, this is one of many open positions: https://boards.greenhouse.io/cloudflare/jobs/589571
397.
▲
by
majke
10y ago
Assuming a candidate without super-strong experience: 1) Good code sample showing non-trivial piece of code, ideally in C. (craftsmanship) 2) Reasonable github profile, showing ability to contribute to some opensource projects (which means:
398.
▲
by
majke
10y ago
The company I work for is in London / San Fran / Austin and couple other smaller locations.
399.
▲
by
majke
10y ago
This goes both ways - where do C people look for job. As you know most competent people have one job or another, so it's equally important to be recognizable for the employed bunch. I do a fair bit of blog posts / outreach to good
400.
▲
by
majke
10y ago
I struggle to find good low-level devs. It is surprisingly hard to find good C / kernel / network programmers.
401.
▲
by
majke
10y ago
Author here. The markup is trivial. The CSS is basic. I'm not sure what problem precisely you have, but I did spend quite some effort to make it look good on iphone. (for added kicks press "d" on your keyboard on desktop)
402.
▲
by
majke
10y ago
Lua, in its vanilla form, is not a language supporting proper multi-tenancy. It works okay if only one (trusted) user writes the scripts, but it's not the good choice for running truly untrusted code from the internet. What will just h
403.
▲
by
majke
10y ago
hard to confirm http://hnrankings.info/14053958/
404.
▲
Drawing the Foul: Operation of a DDoS Honeypot (USENIX Enigma 2017)
(youtube.com)
3 points
by
majke
10y ago
|
0 comments
405.
▲
Google Chrome resolves three random domains at startup (2012)
(mikewest.org)
3 points
by
majke
10y ago
|
0 comments
406.
▲
How long does it take to make a context switch? (2010)
(blog.tsunanet.net)
87 points
by
majke
10y ago
|
72 comments
407.
▲
by
majke
10y ago
Author here. I showed an example - short lived http 1.0 connections. I haven't done benchmarks but my hunch is that you can run accept at in low tens of thousands times per second from one CPU. If you have more than, say, 10k qps the a
408.
▲
by
majke
10y ago
> Get an iPhone and use it in preference to your computer. When connecting to a computer or charging, never ever tap on "trust this computer". If I understand it right "trusting this computer" involves some irrevocabl
409.
▲
by
majke
10y ago
In practice you take X lower bits of the hash value. For example 10 bits if the hash table size is 1024. It's trivial to find many input stings which hash(string) % 1024 == fixed value, for any, even best cryptographic hash function.
410.
▲
by
majke
10y ago
I think the link should be https://blog.cloudflare.com/the-porcupine-attack-investigati...
411.
▲
by
majke
10y ago
Hash tables are very important data structures in the computer science world. Hash tables allow you to have amortized O(1) access cost to arbitrary elements - like key/value (often called: map, dict). In order to implement hash table o
412.
▲
by
majke
10y ago
Depending on your server workload, sometimes accept() is the bottleneck. That's why there are workarounds. For example TCP SO_REUSEPORT: https://lwn.net/Articles/542629/
413.
▲
by
majke
10y ago
In my defense, I never said "don't use select(2)". The point I want to get through: due to the semantics, it's impossible to create a fast kernel side implementation of select().
414.
▲
by
majke
10y ago
Imagine a kernel has a data structure for each socket. When a process blocks on that socket, a kernel must "register" it on it. So that - when an event on a socket happens, the kernel instantly knows which processes to wake up. A
415.
▲
by
majke
10y ago
EPOLLEXCLUSIVE was introduced very recently, and frankly, I don't have a 4.5+ kernel to test.
416.
▲
by
majke
10y ago
You are correct. Directly blocking on accept() in multiple processes does not have the "thundering herd" behaviour. This is good to know. But this proves next point - select is a poor abstraction. This means that accept() is doing
417.
▲
by
majke
10y ago
So what does the sigreturn(2) syscall actually do? I herby claim that sigreturn() restores the user space state in kernel context: https://lwn.net/Articles/676803/
418.
▲
by
majke
10y ago
agreed
419.
▲
by
majke
10y ago
Strange or not, linux did not restore SS on sigreturn in 64 bit mode. The point of explaining that is to emphasize that the issue described in the blog post is not the only one in this code (the code doing entering / exiting signal han
420.
▲
by
majke
10y ago
This comment suggests that #DF is rarely used anyway https://lkml.org/lkml/2008/3/6/50 > The conclusion is that DF=1 in x86_64 64-bit code is extremely rare
More ›