All it takes is going to one random website, that embeds ads, that embed an exploit kit. Not a new thing, we had this happen even with popular news sites. So yeah, it is more likely than you think.
Oh, but Matrix is much more than an instant messenger. It's a replicated database with ACLs.
It could theoretically fail in the IM space and still succeed in the data sharing space. For instance, you could build an Activitypub-like ecosystem on top of it.
> ...Matrix is much more than an instant messenger. It's a replicated database with ACLs...
THIS is one of the main reasons that I'm such a fan of the matrix protocol. Yes, the chat use case is by far - for now - the most popular direction...but i can envision many other use cases (not just, say, for IoT devices)!
For what its worth im quite content with Samsung/HP printer i got. Basic thing, no bells and whistles apart of one retarded button that nobody will use. Granted i knew story behind when buying..
There is perfect c interop - you can import c functions using {.importc.} pragma.
C++ interop is best i have seen so far. You can use c++ template types! Here is the sample: https://github.com/3dicc/Urhonimo/blob/master/modules/contai... Of course it is not perfect. For example if you would like to override c++ method you will have to write a bit of c++ code using {.emit.} pragma. I do not know a single language that could map c++ template types into it's own generic types like nim can.
With a simple extern(C++) you can use templates, classes and vtable's are matched up to single inheritance. There is also some experimental work on catching C++ exceptions but I've never tried to use it.
Telegram being secure or not is a separate question.
Secure messaging is hard, most people when producing secure messaging will produce poor secure messaging - it doesn't mean they've been compromised by a government.
Yes but Telegram continues to avoid fixing flaws that have been pointed out by cryptographers.
It's one thing to get some security wrong because its "hard." It's another to not fix those problems when people explain how and why you did something wrong.