This guide covers setting up iamb, a Vim-like terminal Matrix client on macOS for connecting to Matrix communities.
Important: While Matrix supports end-to-end encryption for direct messages, public rooms are not private. Server operators can see metadata, and room content is visible to all members. Use Matrix for technical community discussions, not for sensitive communications.
Prefer IRC? Refer to IRC Setup Guide: WeeChat on macOS with Libera Chat.
What is Matrix?
Matrix is a federated, open-source communication protocol. Unlike IRC, it provides:
- Persistent message history
- End-to-end encryption for direct messages
- Rich media support
- Federation across multiple servers
- Modern features while remaining decentralized
However, for public technical discussions through a terminal, these advantages over IRC are minimal.
Prerequisites
- macOS with Homebrew installed
- Basic terminal and Vim knowledge (iamb uses Vim-like keybindings)
Installation
Install iamb:
brew install iamb
Creating a Matrix Account
Before using iamb, you need a Matrix account. The easiest way is via Element web:
- Go to https://app.element.io
- Click "Create Account"
- Choose your homeserver:
- matrix.org - Largest homeserver, most communities (recommended for simplicity)
- mozilla.modular.im - Mozilla's homeserver (alternative)
- Other homeservers can be found at https://joinmatrix.org/servers
- Register with:
- Username: your pseudonym
- Password: strong password
- Email: burner email (ProtonMail, Tutanota, etc.) or skip if optional
Note: Your Matrix ID will be @username:homeserver (e.g., @pseudonym:matrix.org)
Configuring iamb
Create Configuration File
mkdir -p ~/Library/Application\ Support/iamb
nano ~/Library/Application\ Support/iamb/config.toml
Add your profile (replace with your actual username and homeserver):
[profiles.matrix]
user_id = "@yourpseudonym:matrix.org"
Save and exit (Ctrl+X, Y, Enter).
First Launch
Run iamb:
iamb
It will prompt for your password. Enter the password you set during registration.
On successful login, you'll see the iamb interface.
Basic iamb Usage
iamb uses Vim-like keybindings. If you're not familiar with Vim, the learning curve is steep but worthwhile.
Essential Commands
Navigation:
- Arrow keys or
j/k- Navigate between rooms - Enter - Select/open a room
:rooms- Show room list- Ctrl+N / Ctrl+P - Switch between rooms
Messaging:
i- Enter insert mode to type a message- Type your message
- Enter - Send the message
- Esc - Exit insert mode
Room Management:
:join #roomname:matrix.org- Join a room:leave- Leave current room:members- Show room members
General:
:quitor:q- Exit iamb:help- Show help documentation
Joining Rooms
To join a room, you need its full address in the format #roomname:homeserver:
:join #security:matrix.org
:join #python:matrix.org
:join #linux:matrix.org
Finding Matrix Rooms
Unlike IRC, there's no centralized room list. Finding active technical rooms requires:
- Searching via Element web (https://app.element.io)
- Asking in existing communities
- Looking at Matrix room directories
- Following links shared on forums or social media
Reality check: Many Matrix rooms for technical topics are inactive or low-traffic. IRC often has more consistent activity for security and development discussions.
Privacy and Security Considerations
Matrix Privacy Model
Matrix provides better privacy than IRC for direct messages (end-to-end encryption), but for public rooms:
- Room content is visible to all members
- Server operators can see all messages and metadata
- Federation means your messages are copied to multiple servers
- Message history persists indefinitely
Metadata Exposure
Even with encryption, Matrix reveals:
- Your Matrix ID and homeserver
- When you're online (presence information)
- Which rooms you've joined
- Typing indicators and read receipts
- Connection metadata
Pseudonymity Practices
For basic pseudonymity:
- Use a pseudonym unrelated to your real identity
- Use a burner email for registration
- Don't link Matrix account to other online identities
- Be aware that homeserver operators can see everything
Appropriate Use Cases
Matrix is suitable for:
- Public technical discussions
- Open source project coordination
- Community engagement
- Persistent group chats
Matrix is NOT suitable for:
- Highly sensitive communications
- Discussions requiring strong anonymity
- Anything illegal or confidential
For truly secure communications, use Signal or PGP.
Configuration Persistence
iamb stores configuration and session data in:
~/Library/Application Support/iamb/
Your login session persists, so you won't need to re-authenticate each time you run iamb.
Running in tmux
Like IRC, you can run iamb in a persistent tmux session:
tmux new -s matrix
iamb
Detach with Ctrl+b then d. Reattach with:
tmux attach -s matrix
Troubleshooting
Authentication Failed
If iamb fails to authenticate:
- Verify your Matrix ID is correct in
config.toml - Ensure you're using the right password
- Check that the homeserver is accessible
- Try logging in via Element web to verify credentials
Cannot Join Room
If :join fails:
- Verify the room address is correct (
#room:homeserver) - Check if the room requires invitation
- Ensure the room actually exists
Connection Issues
If iamb disconnects:
- Check your internet connection
- Verify the homeserver is online
- Restart iamb
Comparing Matrix to IRC
Matrix advantages:
- Persistent message history
- Better mobile support
- End-to-end encryption for DMs
- Rich media and file sharing
IRC advantages:
- Simpler protocol
- More established technical communities
- Lower resource usage
- Faster and more responsive
For security and development communities, IRC often has more active discussions. Matrix is better for teams that need persistence and modern features.
Next Steps
- Join a few technical rooms and observe
- Use iamb when you have questions or want to engage with communities
- Consider keeping both IRC and Matrix for different purposes
- Focus on building technical skills rather than optimizing chat tools
Resources
- iamb Documentation: https://github.com/ulyssa/iamb
- Matrix Protocol: https://matrix.org
- Element Client: https://element.io
- Public Matrix Rooms: https://view.matrix.org
Conclusion
You now have a functional Matrix setup via iamb. Matrix provides a more modern alternative to IRC with persistent history and encryption, but for public technical discussions, the practical differences are minimal.