Some of my favorite answers:
Networking:
- Should checksum be added to custom network protocols?
- Why use TCP and not UDP if you have your own error detection?
- What is the effect of setting the priority of a Linux socket?
Java & Multi-threading:
- Java Memory Model - Happens-before relationship with volatile fields
- What is the difference between Java
Future
,CompletableFuture
andRxJava
? - How multi-threaded software scales with the number of threads
- How does the JVM generate the names of network interfaces on Windows?
Rosenberg’s Law: "Software is easy to make, except when you want it to do something new. And then, of course, there is a corollary: The only software that's worth making is software that does something new."