Build Your First Real-Time App in Node
tahazsh.com
tahazsh.com
Asking "why is this on the front page?" and "...are run-of-the-mill for any CS course..." after you say "Nice writeup" isn't a compliment. It's a back-handed compliment.
It's just surprising that out of that content, this makes it to the frontpage. I'm not faulting the author, I'm just curious as to what insight HN readers got out of this article.
I have a CS degree but am largely self-taught when it comes to web development; I found the article useful.
An example - "I'm going to ping Bob to see if he's available"
There are innumerable others.
Sure, this isn't "real-time" in the context of microcontrollers, and RTOS stuff, but in the web app context, I think it counts.
https://docs.oracle.com/cd/E19455-01/806-4750/chap7rt-21297/...
I'd be interested to see how many people are aware of this definition and why there appears to be such a divide in the first place.
Our technical terms to some extent do need to be gate-kept against having their meanings watered down, but I've seen so many "realtime" browser projects, that I'm afraid we have to accept it has entered into the common vernacular like "serverless" has, in spite of the inaccuracies.
The problem is that one of the (most commonly accepted, if not official) meanings of "real-time" is a system that guarantees response within a specific time period. Usually this is a pretty small time period. So also using the term to refer to systems where there is actually no limit on the response time creates a problem.
If we allow "real-time" to be used to represent anything interactive, then how can we make clear when we're actually talking about a real-time system? Really real-time? Legit real-time?
I mean, even though I've never done real-time programming and probably never will, I don't treat the term as up for grabs. I like that I know what "real-time" means when I hear it, so I (e.g.) gently steer coworkers towards different terminology every time they try to label something we do "real time."
Or you could cut to the chase and call it "websockets." socket.io supports other technologies for ancient browsers, but that's a detail that could be addressed in the post.
For those interested in creating something similar with NodeJS, but not having to write or manage any of the socket or socketio logic yourself, check out this 5min interactive tutorial of ours: https://gun.eco/docs/Todo-Dapp !
Also the article doesn't give any explanations, so the only thing it teaches is how to copy the code into the editor.
Async of Node is a feature, and you can write it like it is sync with async / await these days so there is nothing inconvenient about it (anymore - I used to hate callback hell back in the day).