Recent submissions

Comment · 8 months ago
Or in the middle of a song -- lots of songs modulate between different keys.
Comment · 1 year ago
A great book that has perfume as a major plot point is "Jitterbug Perfume" by Tom Robbins.
Comment · 1 year ago
Having good results w/Azul so far
Comment · 1 year ago
On another note, Jellyfin can look inside .iso files, which afaict Plex is not able to. Very handy with my collection of ripped dvd's.
Comment · 1 year ago
wonder what diagnosis Tom Sawyer or Huck Finn would have got
Comment · 1 year ago
Michael Porter's books on marketing (esp. "Competitive Strategy") are well-regarded.
Comment · 2 years ago
" I also managed to make contended nsync mutexes go 30% faster than nsync upstream on AARCH64, by porting it to use C11 atomics."

Curious about this -- so what does C11 atomics use to implement? At least in Linux, C++11 atomics use pthreads (not the other way around).

Comment · 2 years ago
Comment · 2 years ago
If you're using dynamic linking, the following two tools will come in very handy:

- pldd (https://man7.org/linux/man-pages/man1/pldd.1.html) shows the actual dynamic libs linked into a running process. (Contrast this with ldd, which shows what the dynamic libs would be based on the current shell environment).

- libtree (https://github.com/haampie/libtree) which shows dependencies similarly to ldd, but in tree format.

Comment · 2 years ago
You might want to take a look at https://github.com/nyfix/memleaktest

We've open-sourced the tools we use to run valgrind (and ASAN) on large mixed C++/Java code bases. The JVM in particular triggers a slew of errors which can make filtering valgrind output impractical, but the scripts we developed can handle that. FWIW, we use these tools every day on the code that goes into NYFIX Marketplace (https://www.broadridge.com/financial-services/capital-market...).

Comment · 2 years ago
I thought it was a brilliant design, but it was dog-slow on hardware at the time. I keep hoping someone would revive the design for current silicon, would be a good impedance match for modern languages, and OS's.
Comment · 2 years ago
So it seems that TB prioritizes throughput over latency, similar to VoltDB for instance -- is that correct?
Comment · 3 years ago
At my day job we run > 50 million messages per day through ZeroMQ, and have been quite pleased with its performance and stability (https://github.com/nyfix/OZ/tree/master#who-uses-it).

But the truth is that ZeroMQ has a steep learning curve, and some rather sharp edges that can leave nasty cuts if one is not careful.

If you're interested in becoming familiar with ZeroMQ, you might want to check out our implementation: <https://github.com/nyfix/OZ/>.

Comment · 3 years ago
Well, the original non-thread-safe sockets (e.g., ZMQ_SUB, etc.) were that way because they support multi-part messages. And yes, the fact that they are not thread-safe is a bit of a stumbling-block for ZeroMQ newbies (including me, back in the day).

However, it's not that hard to work around their non-thread-safe nature with a single dispatch thread (e.g., see <https://github.com/nyfix/OZ/blob/master/src/transport.c#L457>), and that approach has other potential benefits.

In any case, newer socket types (e.g., ZMQ_CLIENT) have since been defined that are thread-safe, but necessarily don't support multi-part messages. (They tend to be different in other ways as well -- e.g., ZMQ_RADIO/ZMQ_DISH are "sort of" replacements for the original ZMQ_PUB/ZMQ_SUB sockets, but have other constraints as well).

Comment · 3 years ago

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton