My Jami posts

Some links to articles I wrote or talk I gave.

I’m a Core Developer for since several years now. During those years, I gave some talks and wrote a lot of articles that I’ll link of that page: Articles “Improving the call experience in Jami” - 2022, Aug 31 - “Swarm file transfers” - 2022, Aug 09 - “Synchronizing conversation history with Swarm” - 2022, Feb 16 - “Swarm: a new generation of group conversations” - 2021, Jan 15 - https://jami. [Read More]
jami  dev  talk  software 

A GPT-3 bot to answer my tickets

A project done in one week-end

Long time no see! I have a looooooot of projects in mind and a lot far too big (+40h of work & personal community stuff & life). However, I got a list of projects I can do in one week-end(ish) (e.g. a Gartic Phone with DALL-E, play with open push, etc) and because I answer to a lot of tickets every-day, I was wondering how this can be automatized nowadays with all the new AI projects (for the fun, to be honest, I think a good FAQ should answer to all common questions and a good documentation should complete this. [Read More]
gpt-3  dev  ai  software 

Git dissect

P2P internals - episode 4

It’s been a long time since my previous post, but let’s continue this serie about distributed systems with a tool that a lot of people use every day: git. Git is a versioning tool. Unlike some systems like subversion, you don’t need to have a server to use git. Every member of the project own a (partial or not) copy of the project and can directly send data to another member. [Read More]
p2p  dev  git 

P2P internals - episode 3


In the previous articles we talked about how to create a peer to peer connection and what issues we can encounter. These problems are generally due to the NAT which needs methods to pass through it (e.g. TURN servers) or some new protocols (like ICE). It is now time to talk about distributed applications and structures created on top of a p2p network. For a lot of distributed applications, all the nodes in the system can’t be stable. [Read More]
p2p  dev 

P2P internals - episode 2

ICE (RFC 6544, RFC 8445)

In the first article of this series, we saw how to make an application (DEL) which is able to transfer a file from one peer to one another by successfully bypassing the NAT thanks to a TURN server. However, this technique is not really effective, because, in a lot of cases, a TURN server is completely useless. Indeed, if both peers are on the same network or both peers has an IPv6 address, the TURN server is not mandatory. [Read More]
p2p  dev 

P2P internals - episode 1

TURN over TCP (RFC 6062)

I love distributed systems for a various of reasons. But these systems are complex and require interactions with many layers. Even if a lot of distributed systems and software exists, such systems can be difficult to use for several reasons. Today, our operating systems tend to avoid doing as many calculations as possible (i.e. mobile devices need to save battery and avoid data consumption). Also, IPv4 is still massively used so NATs are still needed, interfaces are mainly created to interact with servers, etc. [Read More]
p2p  dev