News for hackers. Stuff that matters.
Re:Ruma, a Matrix homeserver written in Rust by Perceptes on Sunday July 03, 2016 @11:49PM (#12028807)
Author of Ruma here. I can answer any questions people have. Ruma is in very early stages of development, if it's not clear from the website, so it can't actually be used for its intended purpose yet, but we're getting there. :}
Re:Ruma, a Matrix homeserver written in Rust by alex_duf on Monday July 04, 2016 @07:04AM (#12030006)
I don't know if you're involved in Matrix's development, but what's the advantage compared to XMPP? I feel like it's bringing a new protocol that - as xmpp - is unlikely to break the massive silos that are Hangout, Messenger, whatsapp etc...

Or am I wrong, and if so what did I miss?

Edit: Don't get me wrong, I'm dreaming to see the end of that fragmentation happening, and I don't want to discourage anyone to address that problem, I'm simply wondering if anything is fundamentally different from XMPP.

Edit2: found a few answers here : https://matrix.org/docs/guides/faq.html#what-is-the-differen...

Re:Ruma, a Matrix homeserver written in Rust by Perceptes on Monday July 04, 2016 @07:13AM (#12030046)
I answered the same question elsewhere in the thread so I will just link to it: https://news.ycombinator.com/item?id=12028977

Happy to follow up with additional questions, though!

Re:Ruma, a Matrix homeserver written in Rust by akerro on Monday July 04, 2016 @03:56AM (#12029372)
How does end-to-end encryption compares to tox? Tox uses TOXID - huge hexadecimal numbers as encryption key and DHT to find peers. Once you connect to a friend you know their IP, all messages, AV and file transfers are encrypted. I find a lot of documentation about it is missing. Would like to know which tox or matrix will be better for my next project. Tox also doesn't expose any metadata.
Re:Ruma, a Matrix homeserver written in Rust by Perceptes on Monday July 04, 2016 @04:49AM (#12029522)
End-to-end encryption is still in the draft phase in terms of the Matrix specification—there hasn't yet been a published version of the spec that includes it. Synapse, the reference homeserver implementation, and Vector, the premiere web client, are still developing the implementation and will be deploying it sometime soon, likely followed by a new version of the spec that formalizes it.

The documents I know of that provide details about it are here:

* https://matrix.org/jira/browse/SPEC-162 (the tracking issue for the feature in Matrix's issue tracker)

* https://matrix.org/git/olm (C implementation of the protocol formerly known as axolotl v2 developed for use in Matrix)

* https://matrix.org/speculator/spec/drafts%2Fe2e/client_serve... (draft of the spec for E2E)

Re:Ruma, a Matrix homeserver written in Rust by akerro on Monday July 04, 2016 @05:34AM (#12029638)
Thanks, I will try to find some time and join your team and help with development. I lost hopes in tox despite being much more mature than matrix.
Re:Ruma, a Matrix homeserver written in Rust by zanny on Monday July 04, 2016 @11:40AM (#12031354)
Depends on your definition of mature. The security was mature, but the UX was always garbage and there was never consensus in the ecosystem and huge swathes of critical features (like usable dns) have never been wholly adopted.

Matrix is lacking its E2E encryption but already has everything else. You can use Vector today to replace Hangouts or Skype completely.

Re:Ruma, a Matrix homeserver written in Rust by roblabla on Monday July 04, 2016 @05:12AM (#12029578)
encryption in matrix is still very much Work-in-Progress[0]. It will use olm for encryption, which is AFAIK, just an axololt implementation (the protocol behind Open Whisper System).

There's no concept of finding "peers" in Matrix. It's more akin to xmpp : each user is attached to a Homeserver, which can chose to federate to one or multiple other HSes. Users may then create rooms on their own HS (or the HS they federate to) and other users may join those rooms, similar to IRC.

[0] http://matrix.org/speculator/spec/drafts%2Fe2e/client_server...

Re:Ruma, a Matrix homeserver written in Rust by Ralith on Monday July 04, 2016 @09:28PM (#12033907)
It should be noted that rooms are not "on" a homeserver the way IRC channels are on a network. The server is just a convenient reference point. If it goes down, the room still exists and can still be used, and even given a new name.
Re:Ruma, a Matrix homeserver written in Rust by shimo5037 on Monday July 04, 2016 @03:31AM (#12029311)
The name of the project means "ugly" in Finnish. I wouldn't sweat it though, no one cares. Just thought I'd let you know since it's mildly humorous.
Re:Ruma, a Matrix homeserver written in Rust by Perceptes on Monday July 04, 2016 @03:41AM (#12029343)
I learned that recently and also thought it was pretty amusing. Cheers. :}
Re:Ruma, a Matrix homeserver written in Rust by buovjaga on Monday July 04, 2016 @04:11AM (#12029405)
There's a pair of bars called Ruma in Finland: http://www.ruma.fi/
Re:Ruma, a Matrix homeserver written in Rust by SilasX on Monday July 04, 2016 @12:32PM (#12031651)
Wait till you hear what rust(y) means/connotes in English!

(Seriously, I know it seems minor, but I've always hated the name they picked; it's almost like they named it "filth".)

Re:Ruma, a Matrix homeserver written in Rust by eximius on Monday July 04, 2016 @01:09PM (#12031836)
Anecdotally, it is named after a certain multi-stage lifecycled fungus. Much better :)
Re:Ruma, a Matrix homeserver written in Rust by SilasX on Monday July 04, 2016 @03:54PM (#12032661)
Maybe so, but if they had named it "filth" and explained that it was this Uber-geeky reference, I'd still say it's a bad name for the same reason.
Re:Ruma, a Matrix homeserver written in Rust by eximius on Tuesday July 05, 2016 @01:34AM (#12034565)
I also tend to think of thermite before uncleanliness when I hear rust. Rust is just iron oxide, not anything dirty.
Re:Ruma, a Matrix homeserver written in Rust by SilasX on Tuesday July 05, 2016 @12:21PM (#12037541)
When I hear "rust", I get images of rusty pipes, old rusty nails, faucets where the water is tainted with rust, and people's skills getting rusty. I feel disgust, and it's why I didn't feel particularly eager pursuing it further.
Re:Ruma, a Matrix homeserver written in Rust by steveklabnik on Monday July 04, 2016 @01:36PM (#12031980)
That's one of the various reasons for the name; there's no single reason Rust is named "Rust."
Re:Ruma, a Matrix homeserver written in Rust by rajanchandi on Monday July 04, 2016 @04:01AM (#12029381)
What is the underlying protocol that Ruma uses for communication? Is it HTTP, XMPP or something else?
Re:Ruma, a Matrix homeserver written in Rust by Perceptes on Monday July 04, 2016 @04:40AM (#12029485)
In terms of OSI layer 7 protocol, Matrix uses HTTP, though in the future it may specify other application protocols.
Re:Ruma, a Matrix homeserver written in Rust by rajanchandi on Monday July 04, 2016 @07:20AM (#12030066)
The problem with HTTP is that it drains 11 times more battery on a mobile phone than something like MQTT.
Re:Ruma, a Matrix homeserver written in Rust by Arathorn on Monday July 04, 2016 @10:15AM (#12030886)
As Perceptes says, Matrix is designed to have modular transports. So if you want to use MQTT or CoAP or WebSockets or whatever for the client/server API, then go for it :) PRs welcome!
Re:Ruma, a Matrix homeserver written in Rust by gmfawcett on Monday July 04, 2016 @09:54AM (#12030766)
Can you give any evidence to support that statement?
Re:Ruma, a Matrix homeserver written in Rust by akerro on Monday July 04, 2016 @12:54PM (#12031756)
[sources required]
Re:Ruma, a Matrix homeserver written in Rust by fit2rule on Monday July 04, 2016 @02:48AM (#12029214)
Would love to know how you're testing it .. can you describe your rig?
Re:Ruma, a Matrix homeserver written in Rust by Perceptes on Monday July 04, 2016 @02:55AM (#12029237)
The basic functionality of the homeserver is only just starting to land, so we're not testing any of the federation aspects yet. The current test suite is just your standard web app integration testing. Take a look at the repository's README[1] for some high-level details, and src/test.rs[2] for details of how it's actually achieved in Rust using the iron-test and diesel crates. The PostgreSQL database used for testing is managed with Docker and Docker Compose.

[1] https://github.com/ruma/ruma [2] https://github.com/ruma/ruma/blob/04e5af143136c026c1b7449921...

Re:Ruma, a Matrix homeserver written in Rust by Arathorn on Monday July 04, 2016 @03:38AM (#12029331)
It's worth noting that the Matrix.org project itself provides an integration test harness called sytest which can be pointed at other HS implementations to check their behaviour: github.com/matrix-org/sytest