Readit News logoReadit News
Avshalom · 3 years ago
N.B. https://code.kx.com/q/ref/dotz/ is doing the heavy lifting here.
Paul-Craft · 3 years ago
Pay no attention to that man behind the curtain!

Lol. Seriously though, that's how all of these kinds of $DO_SOPHISTICATED_THING in $ABSURDLY_FEW lines goes.

ssfrr · 3 years ago
Your comment makes it sound like they’re using some task-specific library, but this looks like pretty generic standard library functions to me.
bshimmin · 3 years ago
This is such a helpful comment - what looks, to the uninitiated, like line noise actually starts to make some sense now!
Paul-Craft · 3 years ago
Lol, yes! That language looks like it was optimized for code golfing or something.
toastal · 3 years ago
This reminds me that XMPP needs to make a comeback. Its push-oriented nature is efficient, was largely built in a time when we didn’t expect users to have unlimited data, and the eXtensible part has allowed it to modernize with multi-device encryption, loading chat history, etc.
srgpqt · 3 years ago
Matrix is arguably the modern successor to XMPP.
Jiejeing · 3 years ago
It is a bit weird to frame one of two competing protocols as the successor of the other, when the only data point for this assertion is that one is older.
f1refly · 3 years ago
Matrix is not even close to the lightweight nature of xmpp.
lmm · 3 years ago
XMPP needs to die and stay dead. Its extensible design ended up being flexible in all the wrong ways, at once horrendously complex to implement and yet impossible to make do the right thing in several key areas.
MattJ100 · 3 years ago
You could make similar arguments against just about any mature network protocol (see the recent HN post about regrets in TCP/IP's design). Luckily we have plenty of choice, and there are bridges between the open solutions.

The fact is that XMPP has been, and still is, happily deployed at scale in various scenarios. You're welcome to your opinions, but they are just that.

Disclaimer: I'm a full-time XMPP developer and executive director of the XMPP Standards Foundation.

huttt · 3 years ago
XMPP hasn't gone away, it's incredibly popular: WhatsApp is built upon it, with over a billion users.
ilyt · 3 years ago
can you federate with whatsapp ? No? Then it doesn't matter
talhah · 3 years ago
XMPP would be viable if it had a better iOS client. Some of my contacts switched to iOS and every app we tried wasn't as good as "Conversations" on Android.
toastal · 3 years ago
Is Monal not good? I don’t know since I don’t use or recommend Apple devices, but I saw they were putting in GSoC bids for features.
brenns10 · 3 years ago
As an alternative to web sockets and JavaScript, can I offer my alternative (ok, it's not persistent chat) implemented with character devices as a Linux kernel module? I don't know if it still works, but it has the same name :)

https://github.com/brenns10/kchat

samwillis · 3 years ago
austinjp · 3 years ago
Strange set of comments in this thread.

Personally, I'd not heard of k or kdb before so this was an interesting read.

The code is from 9 years ago, and looks to me like a proof of concept. It's a kinda stepping stone between the 90s approaches * mentioned in sibling comments and the bloat of the modern web.

* A truly amazing and dreadful time. The commercial (and artistic/indie) web pushed developers to twist immature technologies and create perverse superpowers. Never-closing responses in hidden iframes. Constantly exploiting JS engine bugs as features. Disgusting fun.

Kiro · 3 years ago
What is kdb+/k/q? The link to kx.com didn't tell me much.
duskwuff · 3 years ago
It's a somewhat esoteric, and extremely terse, language used by some financial modeling firms. Influenced heavily by APL, but (thankfully!) without the non-ASCII characters.

https://en.wikipedia.org/wiki/K_(programming_language)

curiousgal · 3 years ago
It's also used by every investment bank who's active in the algo/e-trading business.
jpfr · 3 years ago
k and q are array languages in the APL tradition. APL is one the "ur programming languges". https://madhadron.com/programming/seven_ur_languages.html

Here's an open source implementation of k: https://codeberg.org/ngn/k/

kdb is a time-series database with deep integration to k. It is famously used in the financial industry.

ssfrr · 3 years ago
k: super terse language inspired by APL and lisp

q: slightly less-terse language written in k, with similar semantics. The vendor (kx) supports q, not k

kdb+: column-oriented database bundled with q

LukaD · 3 years ago
Came here to ask the same. kx.com is just some marketing page. I still have no idea what kdb+/k/q is.
steveBK123 · 3 years ago
Skip all the marketing materials & go to the dev pages - https://code.kx.com/q/learn/install/
mianos · 3 years ago
All good except the 50K a year license to run 'q'.
plagiarist · 3 years ago
Oh, yikes. I was interested in following up reading about kdb and now I am not.
steveBK123 · 3 years ago
cost is for commercial license only

free for personal use for 12 months, then you click some buttons to renew another 12 months, etc https://kx.com/kdb-personal-edition-download/

shin_lao · 3 years ago
Per core
leprechaun1066 · 3 years ago
Azure has prices that vary:

https://azuremarketplace.microsoft.com/en-us/marketplace/app...

That's for commercial though.

One can get a personal use license for hobbies as other commenters have pointed out.

steveBK123 · 3 years ago
People paying $MM/year for SaaS that does less, but have prettier websites
mianos · 3 years ago
No doubt, kdb/q is offers a of bang for buck in a commercial scenario. We use it and for some stuff it's good value, aside from staffing costs.
BozeWolf · 3 years ago
Fun! Combine it with ios notifications for web apps and rename the title of this post to “<60 lines”.

https://developer.apple.com/documentation/usernotifications/...

HotGarbage · 3 years ago
It's sadly more than 10 lines, server and client side.

https://peter.hotgarba.ge