Flowdalic | 7 months ago | on: A month using XMPP (using Snikket) for every call and chat (2023)
Flowdalic's comments
Flowdalic | 7 months ago | on: A month using XMPP (using Snikket) for every call and chat (2023)
(Seemingly) conflicting extensions are another consequence of the loosely coupling between standardization and implementations. In addition, the emergence of several functionally overlapping extensions is stimulated by the freely accessible standardization process.
Especially in the early phase of an extension, you want to encourage experimentation with different approaches. Early selection would be disadvantageous.
Flowdalic | 7 months ago | on: A month using XMPP (using Snikket) for every call and chat (2023)
I could be wrong, but that reads like you suggest that there is an alternative to the "extension model".
However, any solution where standardization and implementations are independent entities, and thereby experience a sufficient degree of freedom, will have a trajectory to a situation where you have a robust core specification and optional extensions.
Think about protocols like SMTP and DNS—each has a foundational core that’s been expanded upon by numerous optional features.
Flowdalic | 2 years ago | on: OpenRC is a dependency-based init system for Unix-like systems
Flowdalic | 3 years ago | on: Golang disables Nagle's Algorithm by default
Because maybe the 50 bytes are latency sensitive and need to be at the recipient as soon as possible?
> I understand that Nagle's algorithm will send the first couple packets "eagerly" […] Disabling Nagle's algorithm should be trading network usage for latency
No, Nagle's algorithm will delay outgoing TCP packets in the hope that more data will be provided to the TCP connection, that can be shoved into the delayed packet.
The issue here is not Go's default setting of TCP_NODELAY. There is an use case for TCP_NODELAY. Just like there is a use case for disabling TCP_NODELAY, i.e., Nagle's algorithm (see RFC 869). So any discussion about the default behavior appears to be pointless.
Instead, I believe the application or a underlying library is to blame. Because I don’t see why applications performing a bulk transfer of data by using “small” (a few bytes) write is anything but a bad design. Not writing large (e.g., page-sized) chunks of data into the file descriptor of the socket, especially when you know that there multiple more of this chunks are to come, just kills performance on multiple levels.
If I understand the situation the blog post describes correctly, then git-lfs is sending a large (50 MiB?) file in 50 bytes chunks. I suspect this is because git-lfs (or something between git-lfs and the Linux socket, e.g., a library) issues writes to the socket with 50 bytes of data from the file.
Flowdalic | 3 years ago | on: Golang disables Nagle's Algorithm by default
Flowdalic | 3 years ago | on: Meson Build System 1.0
Flowdalic | 3 years ago | on: IETF Draft: Centralization, Decentralization, and Internet Standards
I guess the art in protocol design is to have as few as possible mandatory-to-implement parts, which are itself minimized in complexity, so that a minimal implementation is doable with a reasonable amount of effort while already achieving a good result (and UX). Then the optional parts can be added piece-by-piece, after the implementation was already published/released.
Flowdalic | 3 years ago | on: Zoom: Remote Code Execution with XMPP Stanza Smuggling
Flowdalic | 3 years ago | on: Zoom: Remote Code Execution with XMPP Stanza Smuggling
Flowdalic | 3 years ago | on: Zoom: Remote Code Execution with XMPP Stanza Smuggling
That is a common misconception, although I am not sure of its origin. I know plenty of XMPP implementations that use an XML pull parser.
Flowdalic | 3 years ago | on: Zoom: Remote Code Execution with XMPP Stanza Smuggling
Flowdalic | 3 years ago | on: BGP Blockchain
Flowdalic | 4 years ago | on: XMPP, a comeback story
Flowdalic | 4 years ago | on: XMPP, a comeback story
Flowdalic | 5 years ago | on: 40 Milliseconds of latency that just would not go away
Flowdalic | 6 years ago | on: Dino: An open-source application for XMPP messaging
Flowdalic | 6 years ago | on: Ask HN: A New Decade. Any Predictions?
2. The consequences of quantitative easing will emerge and affect us all
3. Another cryptocurrency and bitcoin will form the backbone of a usable payment network with near-instant transactions for a low-fee
Flowdalic | 6 years ago | on: Movim 0.16 – A federated web-based social XMPP client
You mean you just want to use RFC 6120/6121? That's fine, just do it then.
Flowdalic | 6 years ago | on: Movim 0.16 – A federated web-based social XMPP client
It was my impression that Google dropped XMPP support not because of the spec being "not good", but because they saw now advantage allowing the federation, since nearly nobody else federated with them, while it comes with a cost.
The XMPP specification is open and in large parts malleable, nothing would have stopped Google from participating in improving it.
Na, the standardization process starts much earlier. Using the example of the IETF process, after which XMPP standardization process is largely modeled: standardization starts when you submit an I-D to IETF and/or approach an IETF WG.
> What matters is what the standard itself looks like, do you have a coherent specification which specifies the current way of doing things, including optional components? Or do you have a set of independent ways of doing it, because the standardization process doesn't actually decide what is the correct way of doing something (e.g. managing a group chat)
Well put and I totally agree (I think no one would have a reason to disagree with that statement).