<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Matrix</title><link>https://jwheel.org/tags/matrix/</link><description>Homepage of Justin Wheeler, an Open Source contributor and Free Software advocate from Georgia, USA.</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>Justin Wheeler</managingEditor><lastBuildDate>Tue, 08 Aug 2017 00:00:00 +0000</lastBuildDate><atom:link href="https://jwheel.org/rss/tags/matrix/index.xml" rel="self" type="application/rss+xml"/><item><title>IRC for the 21st century: introducing Riot</title><link>https://jwheel.org/blog/2017/08/riot-matrix-irc/</link><pubDate>Tue, 08 Aug 2017 00:00:00 +0000</pubDate><guid>https://jwheel.org/blog/2017/08/riot-matrix-irc/</guid><description><![CDATA[<p><a href="https://opensource.com/article/17/5/introducing-riot-IRC"><em>This article was originally published on Opensource.com.</em></a></p>
<hr>
<p><a href="https://en.wikipedia.org/wiki/Internet_Relay_Chat">Internet Relay Chat</a>, or IRC, is one of the oldest chat protocols around and still popular in many open source communities. IRC&rsquo;s best strengths are as a decentralized and open communication method, making it easy for anyone to participate by running a network of their own. There&rsquo;s also a variety of clients and bots available for IRC. But on the reverse side, usability is a concern. Most common user interfaces for IRC clients or platforms aren&rsquo;t always intuitive. People from parts of the world with unstable Internet connections are challenged with remaining connected to participate in conversation. Many people have tried addressing this problem before, but none have come as far as Riot.</p>

<h2 id="what-is-riot">What is Riot?&nbsp;<a class="hanchor" href="#what-is-riot" aria-label="Anchor link for: What is Riot?">🔗</a></h2>
<p><a href="https://riot.im/">Riot</a> is a free, open source, and multi-platform client based on the <a href="https://matrix.org/">Matrix</a> protocol. To understand better, think of Matrix as the protocol and Riot as the client. Matrix is a decentralized, secure, messaging protocol. It has the benefit of using HTTP / JSON APIs, is capable of sending and receiving messages with full end-to-end encryption, WebRTC VoIP / video calling, and maybe most importantly, integration capabilities. Matrix was built to integrate with IRC servers and other communication protocols, meaning you can use the Riot client as an <a href="https://opensource.com/article/17/4/never-leave-irc-again">IRC bouncer</a>. You can read more of the details on what separates Matrix from Riot <a href="https://matrix.org/docs/guides/faq.html#what-is-the-difference-between-matrix-and-irc">on their FAQ</a>.</p>
<p>As a result, Riot becomes most useful in its implementation as the default Matrix client. It&rsquo;s convenient and decentralized, as anyone is able to launch their own Matrix &ldquo;homeserver&rdquo; and connect it with Riot. However, Matrix by default has servers bridged with <a href="https://freenode.net/">Freenode</a>, <a href="https://wiki.mozilla.org/IRC#Connect_to_the_Mozilla_IRC_server">Mozilla IRC</a>, and more. This lets you use Riot as a persistent client that keeps you connected to IRC even when you&rsquo;re not there.</p>
<p>
<figure>
  <img src="/blog/2017/03/intro-riot-01-logged-in.png" alt="Riot desktop application on Fedora Linux using Matrix" loading="lazy">
  <figcaption>Riot desktop application</figcaption>
</figure>
</p>
<p>Outside of the web application, you can also find it as a <a href="https://riot.im/desktop.html">desktop application</a> for Mac, Windows, and Linux, or a mobile application for iOS and Android. In this guide, you&rsquo;ll learn how to get started using Riot as a full-time messaging client with the default Matrix / IRC integration servers.</p>

<h2 id="register-and-get-a-client">Register and get a client&nbsp;<a class="hanchor" href="#register-and-get-a-client" aria-label="Anchor link for: Register and get a client">🔗</a></h2>
<p>First, you&rsquo;ll need to grab an account from Riot&rsquo;s website. Registration is straightforward and shouldn&rsquo;t take you much time. You can find the registration form <a href="https://riot.im/app/">here</a>. Once you&rsquo;re registered and have confirmed your email, you&rsquo;ll need to get the Riot applications on your devices of choice.</p>

<h4 id="desktop-clients">Desktop clients&nbsp;<a class="hanchor" href="#desktop-clients" aria-label="Anchor link for: Desktop clients">🔗</a></h4>
<p>There are desktop clients available for Windows, macOS, and Linux. If you&rsquo;re running Windows or macOS, you can download the right version for your desktop on the <a href="https://riot.im/desktop.html">Riot downloads</a> page. If you&rsquo;re using Debian, Ubuntu, or a related operating system, you can add a repository to your system to install the Riot desktop client. You can read <a href="http://data.agaric.com/how-install-riot-desktop-matrix-client-debian-based-systems">this guide</a> on how to add the repository and install Riot to your system.</p>

<h5 id="fedora">Fedora&nbsp;<a class="hanchor" href="#fedora" aria-label="Anchor link for: Fedora">🔗</a></h5>
<p>Riot is not yet officially packaged in Fedora&rsquo;s repositories. However, there is a <a href="https://copr.fedorainfracloud.org/coprs/taw/Riot/">third-party Copr repository</a> where the desktop application is packaged. Until it makes it into Fedora&rsquo;s repositories, you can use this version to get started with Riot. You can find the Copr project and install instructions <a href="https://copr.fedorainfracloud.org/coprs/taw/Riot/">here</a>.</p>

<h4 id="mobile-clients">Mobile clients&nbsp;<a class="hanchor" href="#mobile-clients" aria-label="Anchor link for: Mobile clients">🔗</a></h4>
<p>Want to have Riot integrated on your phone or prefer a mobile client? You can also find official versions of Riot on <a href="https://itunes.apple.com/us/app/vector.im/id1083446067">iOS</a>, <a href="https://play.google.com/store/apps/details?id=im.vector.alpha">Google Play Store</a>, and <a href="https://f-droid.org/repository/browse/?fdid=im.vector.alpha">F-Droid</a>. Using any of the mobile clients will integrate fully with a desktop client, if you choose to use both. This guide will focus more on the desktop clients.</p>

<h2 id="setting-up-freenode-in-riot">Setting up Freenode in Riot&nbsp;<a class="hanchor" href="#setting-up-freenode-in-riot" aria-label="Anchor link for: Setting up Freenode in Riot">🔗</a></h2>
<p>Riot currently supports eight IRC networks: Freenode, Moznet, Snoonet, OFTC, GIMPNet, Foonetic, Rizon, and EsperNet. Although you can use any network you like and the instructions will mostly be the same, this guide focuses on using <a href="https://freenode.net">Freenode</a>.</p>

<h4 id="joining-your-first-channel">Joining your first channel&nbsp;<a class="hanchor" href="#joining-your-first-channel" aria-label="Anchor link for: Joining your first channel">🔗</a></h4>
<p>One of the first things you&rsquo;ll see after signing into Riot is the directory. In the directory, you can search through chat rooms on Matrix itself or any of the other IRC servers that are integrated. To join your first channel, you can select the IRC channel of choice in the dropdown menu and search for a channel.</p>
<p>For example, if we want to find <code>#opensource.com</code> on Freenode, you can select the Freenode option and search for <code>#opensource.com</code>. Once it&rsquo;s there, you can join and say hello to the rest of the Opensource.com community hanging out in IRC.</p>
<p>
<figure>
  <img src="/blog/2017/03/intro-riot-05-join-opensource.com_.png" alt="Searching for #opensource.com on Freenode from Matrix / Riot client" loading="lazy">
  <figcaption>Searching for #opensource.com on Freenode from Riot client</figcaption>
</figure>
</p>
<p>Alternatively, if you would prefer directly joining a room, you can type the following as a command from any chat window in Riot.</p>
<pre tabindex="0"><code>/join #freenode_#channelname:matrix.org
</code></pre>
<h4 id="setting-your-irc-nick">Setting your IRC nick&nbsp;<a class="hanchor" href="#setting-your-irc-nick" aria-label="Anchor link for: Setting your IRC nick">🔗</a></h4>
<p>
<figure>
  <img src="/blog/2017/03/intro-riot-07-message-appservice.png" alt="Send a message to @appservice-irc:matrix.org to change your IRC nick in Matrix / Riot" loading="lazy">
  <figcaption>Send a message to <code>@appservice-irc:matrix.org</code> to change your IRC nick</figcaption>
</figure>
</p>
<p>By default, your IRC nick, or username, will be similar to your display name in Riot. Sometimes it will have a <code>[m]</code> appended to the end. However, after you connect to a channel, you can <a href="https://github.com/matrix-org/matrix-appservice-irc/blob/master/HOWTO.md#changing-nicks">change your nick</a> on the IRC side as well. You&rsquo;ll need to start a new conversation with the IRC integration bot between Riot and Freenode.</p>
<p>In the bottom left corner of your Riot client, you can start a new personal chat with any user. To message the IRC integration bot, start a new chat with <code>@appservice-irc:matrix.org</code>. This will put you and the bot together in a private chat. To change your nick, send the following command to the bot:</p>
<pre tabindex="0"><code>!nick irc.freenode.net &lt;IRC nick&gt;
</code></pre><p>You should receive a confirmation message, similar to: &ldquo;<em>Nick changed from &lsquo;OldNick&rsquo; to &lsquo;NewNick.&rsquo;</em>&rdquo; For more help, you can read the <a href="https://github.com/matrix-org/matrix-appservice-irc/blob/master/HOWTO.md#changing-nicks">official documentation</a> on changing your nick.</p>

<h4 id="authenticating-with-nickserv">Authenticating with NickServ&nbsp;<a class="hanchor" href="#authenticating-with-nickserv" aria-label="Anchor link for: Authenticating with NickServ">🔗</a></h4>
<p>One of the other vital functions you might need to do is authenticate with NickServ. This is especially important if you want to use your registered IRC nick or are a member of invite-only channels. However, it&rsquo;s possible to do this too.</p>
<p>You&rsquo;ll need to start another direct chat again. This time, you can search for the user <code>@freenode_NickServ:matrix.org</code>. This will put you into a private message with NickServ on Freenode&rsquo;s servers. To authenticate, you can send a message just like you normally would.</p>
<pre tabindex="0"><code>IDENTIFY &lt;username&gt; &lt;password&gt;
</code></pre><p>After doing this, you should receive the normal confirmation that you are now logged in as your account. Remember to use caution when opening this chat in a public place, as your password will be displayed in plaintext whenever you open that direct message with NickServ.</p>

<h2 id="say-hello">Say hello!&nbsp;<a class="hanchor" href="#say-hello" aria-label="Anchor link for: Say hello!">🔗</a></h2>
<p>Once you&rsquo;ve joined a channel, claimed your nick, and authenticated with NickServ, you will be all set to begin using Riot. In any channel bridged in IRC with Matrix, all of your messages from Riot will show up in the IRC channel. Riot can also act like an IRC bouncer that keeps you persistently connected. Whenever you open Riot, you will be able to see a log of past discussions even if you weren&rsquo;t connected to the Internet.</p>
<p>Both Matrix and Riot are open source projects. You can find <a href="https://github.com/matrix-org">Matrix&rsquo;s code</a> and <a href="https://github.com/vector-im">Riot&rsquo;s code</a> on GitHub. If you want to better understand how the integration bridge works, you can read <a href="https://matrix.org/blog/2017/03/14/an-adventure-in-irc-land/">this blog post</a> by one of the developers.</p>
<p>Have any comments or stories to share about using Riot? Are you already using it for IRC? Share your comments with us down below!</p>]]></description></item></channel></rss>