Setup an instant messaging server for your office
Email is a great tool for communication and that is why even in the age of social networks, it persists. However, if you work in an office environment that requires constant and real-time communication between users, email may not cut it. Sometimes you just want to send a quick message without clogging your users Inboxes. What you need is an instant messaging system.
There are quite a number of open source based IM messaging servers; however, I like and have used jabberd over the years. Jabberd2 is an open source implementation of the jabber/XMPP protocol used by popular IM clients.
Installation of jabberd2 on Linux is fairly easy, although you need to know your way around the command line interface and how to edit configuration files.
To start with, install jabberd2. On Fedora/CentOs/RedHat systems:
yum install jabberd
After installation, you will find all configuration files located under /etc/jabberd
You will need to edit the files sm.xml s2s.xml c2s.xml, router.xml; and templates/roster.xml to suit your environment. Then setup your user accounts in your preferred driver backend. Detailed configuration instructions can be found here.
Now all you need to do is install an IM client on your users PCs. There are several of these for all platforms. On Linux; favorites include pidgin and empathy
One cool thing with jabberd2, is that it is very extensible and you can add chat rooms functionality; a sort of ‘circles’ – old school style
Git – The open source developer’s favorite version control system
Today, my brother sent me a link to Clay Sirky’s talk on the political ramifications of ‘cooperation without coordination’ on communities – How the internet will one day transform government. Knowing how much an advocate for open source software I am, he couldn’t have picked a good time. I’ve been thinking of recommending an open source tool called git on this blog.
OK, I won’t comment on the politics here, but I encourage you to listen to this talk, even if you’re not a software developer.
Interestingly, Clay Sirky mentions the power of collaborative software development using git, which enables one developer in Edinburgh to collaborate with another developer in Entebbe (Uganda) without them knowing each other.
So what is git? Git is an open source based distributed version control system, that allows software developers to collaborate and share code. Unlike traditional systems that require a central server, with git, anyone can clone a repository and make changes locally, that can be pushed upstream. Git was created by the man who invented Linux i.e. Linus Torvalds, so you know it embodies the open source spirit!
I recently migrated all my software development projects to using git, I am really loving it as it makes keeping track of the projects a lot easier than before.
I won’t delve into how to use git here, but a good How-To can be found at:
Getting Started with Git
If you are an open source developer and you’ve not yet started using git, you are really missing out.
Try it and you’ll not look back.
Remind: A Cool CLI based UNIX program
I have started a category on this blog featuring cool open source programs. These are mainly command line based, since that is where I spend most of my time. I will also pick those programs that have real life and practical applications.
Remind: As its name suggests is a reminder application. I use it to remind me of birthdays, anniversaries, holidays, etc
To install it: Use your favorites package manager such as apt or yum:
Using Yum: yum -v install yum
Typical Usage: remind [options] [filename]
e.g. remind ../mybirthdays
Typical contents of the file: mybirthdays:
REM 1 Feb MSG Peter’s birthday
This tells the app to remind you that it is Peter’s Birthday on Feb 1.
You can now script this command and do all sorts of cool things, like sending an email or SMS to your phone, when there’s a reminder.
For Help: Type ‘man remind’ to get a detailed how to