The book Software Engineering at Google makes a distinction between software engineering and programming. The main difference is that software engineering occurs over a longer time span than programming. In this sense, AI tools can make programming faster, but not necessarily software engineering.
I enjoy being a Vue main in these discussions, mostly because everyone leaves us alone lol
I really enjoy the syntax of Vue over React, and if it’s an application that’s complex enough to warrant something like React I’ll almost always reach for Vue so long as it also meets the requirements.
The way I approach these situations is by reminding myself that the speaker is implicitly making a request - a request for empathy or understanding. While it's tempting to try to solve their problems, what they really want is for their feelings to be heard.
THIS! And realizing this is a major step forward for many men in learning to better communicate with women (a stereotype, sure, but one that has many true instances IME).
Of course it's bad. It's new. But it won't always be either of those things. I think "bad" is relative assessment and based on a build-up of knowledge, often over decades.
Electrical plugs and stairs are "good" only because that knowledge has been discovered and has been regulated. Expecting a tool to be literally and metaphorically fool-proof immediately upon discovery strikes me as pretty disingenuous.
In the case of AI, the most anti-AI crowd are often vehement with their fingers in their ears saying "it's not good and never will be, and shouldn't exist." To be fair, the pro-AI crowd are often raving as if all the kinks had already been worked out.
We tested this against WebRTC data channels (which also uses UDP) and found that the congestion control algorithm used for WebTransport limits its use for videoconferencing. We'll probably look into it again if browsers start allowing this to be configured.
SCTP and by extension, WebRTC data channels, are supposed to use the same congestion control algorithms as TCP/QUIC. But I don't know which CC libsctp does these days.
WebTransport in Chrome currently uses CUBIC but the Google folks want to turn on BBR everywhere. It uses the same QUIC implementation as HTTP/3 so it's going to be more battle hardened.
SCTP: The FORWARD-TSN chunk was introduced to support selective unreliability: it allows the sender to tell the receiver that it will not retransmit some number of chunks, and requests that the receiver consider all these chunks as received.
QUIC has a much better alternative to FORWARD-TSN, either via RESET_STREAM or QUIC datagrams.
I've implemented SCTP before to hack in "datagram" support by spamming FORWARD-TSN. Fun fact: you can't use FORWARD-TSN if there's still reliable data outstanding. TSN is sequential after all, you have to drop all or nothing.
QUIC as a protocol is significantly better than SCTP. I really recommend the RFC
I haven't used WebTransport myself, how much can you control? I wonder how often libwebrtc does stuff that wouldn't be allowed in Javascript. Things like probing and overshooting the window?
Since libwebrtc is all in C++ and 'trusted' it can do stuff like faststart or have error correction/bandwidth estimation that is codec aware.
There's no probing in any QUIC implementation but it's possible. There's a QUIC extension in the IETF similar to transport-wide-cc but it would still be up to the browser to use it for any upload CC.
For Zoom Team Chat you can set up notifications to only notify for replies to your messages, direct messages, and explicit mentions. I agree that it would be useful to additionally batch notifications for specific channels though.
We're using conventional commits on my team, and it's extremely annoying. I've never had a reason to go deeper into the history of a repo outside of the PR merge commit history. I think it makes more sense to have conventions on PR descriptions.
reply