Live data from Hacker News

K: We need to talk about group

gist.github.com

91–100 of 102 posts

Re: K: We need to talk about group

#91
post #89

Earlier quoted context omitted.

I think I’ve only heard of such a component referred to as a matching engine.

I've heard it both ways. Now you have as well, so next time you see it, you won't need someone to explain it to you.

I did try looking it up fwiw. That was my guess but I was wondering if you meant something else and didn’t want to jump to conclusions.

I was surprised by the suggestion that kdb+ was used for this because a matching engine doesn’t really sound like the kind of case that APL-family languages would be well suited to – they tend to work well on large batches of data but for a matching engine, you have messages that come in over time and you want to process each message with reliable low latency (if you have higher latencies you will get wider spreads which is a competitive risk and leads to collecting less in fees), which means not operating on batches.

Do you have a source for the claim that kdb+ is used for the matching engine?

Re: K: We need to talk about group

#92
post #63

Earlier quoted context omitted.

You can enter any symbol but not quickly unless you set up some hotkeys or something. There is a key on the keyboard for e. Whatever you have to do for a unicode set symbol, it's going to be harder than hitting the e key. And with regards to hotkeys, let's say you do Ctrl+alt+shift+esc+e to insert a unicode symbol, is that really better than just having a programming language where the common hotkeys are spelled out…

I have the apl keyboard set to super so ∊ is exactly as hard as E.

That's the reason the apl keyboard is good!

Re: K: We need to talk about group

#96
post #43

From the way I often use Haskell, Matlab, and even crazy shell one-lines with lots of pipes, awk, sort, and other stuff, I often have the impression that array languages are exactly what I'm looking for for certain problems. The question is... which array language should I pick? What are the reasons to pick one over the other?

Q/kdb, it is practical, and you can find a good pay job with it.

Re: K: We need to talk about group

#97
post #85

Earlier quoted context omitted.

J recursion is $: You can do flow control in both scripting style and array style. Loops are loops.

is $ meaningful in verb trains? because that was what I was referring to when I said no loops/recursion/flowcontrol N.B. a sibling says J has added a direct definition construct while I wasn't watching which renders my comment largely irrelevant although the I feel general point that a lot of J 'example code' tends towards difficult-for-noobs to parse verb trains still holds.

Yes. this one is fun. Recursive, memoized Fibonacci, the 155th integer precisely.

{{(-&2 +&$: -&1) ^: (1&It'll run in your browser in 0.003 seconds.

https://jsoftware.github.io/j-playground/bin/html2/#code=%7B...

Re: K: We need to talk about group

#98
post #89

Earlier quoted context omitted.

I've heard it both ways. Now you have as well, so next time you see it, you won't need someone to explain it to you.

I did try looking it up fwiw. That was my guess but I was wondering if you meant something else and didn’t want to jump to conclusions. I was surprised by the suggestion that kdb+ was used for this because a matching engine doesn’t really sound like the kind of case that APL-family languages would be well suited to – they tend to work well on large batches of data but for a matching engine, you have messages that com…

I worked on that codebase personally but here is a write-up on it:

https://blog.bitmex.com/bitmex-technology-scaling-part-1/

https://kx.com/news/kdb-powers-trading-platform-bitmex-high-...

https://www.odbms.org/2017/09/use-case-kdb-integral-to-bitme...

It really works, and also the codebase is quite mindbending. There is a weird elegance to it but also huge lock in.

Re: K: We need to talk about group

#99
post #27

Earlier quoted context omitted.

APL predates Unicode! You used to have to use special APL keyboards to write it. The symbols were included in Unicode as a way to try and make APL more palatable.

> The symbols were included in Unicode as a way to try and make APL more palatable. That seems highly unlikely. Do you have a source, or are you sharing speculation as fact? It’s more likely that APL symbols were included in Unicode as part of its mission to unify all the world’s scripts into single code set.

They weren't included to make it more palatable, but because APL was being actively used in larger systems.

Re: K: We need to talk about group

#100
post #88
post #82

Earlier quoted context omitted.

←⥊c⊏∾× Yeah, I’d love to discuss with colleagues how square-c works together with right double crowbar. No, thanks.

If you see the following: x = √y … would you pronounce it as “x, two parallel horizontal lines, V with a left hook, y”? The symbols have a meaning that’s unrelated to their appearance. It’s the same in APL. The “square c” is just like “V with a left hook”.

And octothorp (#) is “eight-something”. Circumflex (^) is “bent around”. Names of most characters only sound academic because we don’t know Latin and Greek too good.

“√” isn’t even a natural character, it’s a graphical delineator between an index and a radicand, similar to ÷ or % forms of division. By “obelus” (sharpened stick) do you mean dot above and below a line, a percent, a dagger or just a line?

Sure there will be enough confusion with ~10-30 extra symbols that aren’t even on a keyboard and may not have a single meaning or a name.

Post reply on HN