Ejabberd on Ubuntu

Just keeping a note to self (and others who could find it useful). How to install Ejabberd on Ubuntu server 12.04:

  • aptitude install ejabberd (for some reason apt-get didn’t work out that well);
  • go to wherever you manage your DNS records and add a SVR record as mentioned here;
  • edit /etc/ejabberd/ejabberd.cfg and add admin user as mentioned here .

All of these steps are to avoid placing hosts as localhost on your ejabberd.cfg file which could work but than you might have problems with clients trying to connect.

Compare files in Linux

Not long ago I was working with some .po files and needed a nice and simple diff program to merge 2 files. First I tried the multi-purposed text editor vim.

Using vim as a diff and merge tool:

with Andrej’s article I found some nice tips & tricks and the Vim manual for diff tasks. Some useful commands,

  • vim -o one.txt two.txt three.txt” (for horizontal split), “vim -O one.txt two.txt three.txt ” (for vertical split)
  • go to the next diff point   ” ]c “; go to previous diff point “ [c
  • merge to original “do“, merge from original “dp“.

The window you’ll be looking at will look something like this:


Where text highlighted red will display text which doesn’t match from the files being compared.

Another tool I found was Meld. This program was incredibly simple to use and visually simple to work with.

Using Meld Diff Viewer:

  • open the files (or directories) which you’d like to compare;
  • you will visually see where on the original file the text is at on the other file(s) being compared. Specially useful if the text in the files you’re comparing are in completely separate lines;
  • clicking on arrows between the files being compared, the text will go to or from the original file.



if you’re working on the command line, vim will do the job quite nicely but can be troublesome to inform you if text in both files are the same but spaced out in different line numbers. On the other hand, Meld was the tool I used for the task since there was basically no learning curve to get started and it displayed very well differences and matches in the file even if text were separated by dozens of line between both files I was comparing.

Piwiki – website analytics

I’ve just read in HowToForge a nice article about Piwik, an open source web analytics tool.

You can download Piwik and install it on your own server to gather analytics data that could replace your usage of Google Analytics. In my personal opinion, it is always nice to have two services running to make sure you’re getting the right analytics data or still have data in case something happens and one service breaks.

What seems pretty neat about Piwik is the fact that it works with plug-ins so you can add and remove functionalities that are suitable for you. The service runs on php and MySQL so it should be an easy install process, the site says less than 5 minutes. 😉

They’re on version 0.2 right now but give it a try, their online demo sems pretty awesome.

Task manager [Android]

I’m an follower of GTD. Probably not the best one, but at least I try to keep myself as organized as I can in the stream of neverending to-dos.

Which is why one of the first applications I searched for to install on my Android device was a good task manager to sync with RememberTheMilk. I was quite happy to find the open source app Astrid. The program does exactly what I need:

Asstrid Android task manager

Asstrid Android task manager

Syncing with RememberTheMilk is a breeze, the only problem is that all tasks go to my inbox and not the lists I have already defined. But, overall Astrid meets all of my demands 🙂

Libre.fm, open source last.fm project

Last.fm’s decision to start charging for web streaming of their radio service outside the US, UK and Germany made reasonable financial sense for them didn’t make me too happy.

As a consequence of the news (it seems), a new open source project was started called libre.fm. Right now the project is in closed alpha and will allow you to collect the information of songs you’re listening to, similar to audioscrobbler.

If you get an invite, all you have to do is install turtle to start sending the information of your listening habits. Libre.fm will have all of the code released under GNU AGPL and much like laconi.ca, you will be able to launch your own instance or use their own hosting to store your data.

Right now it is an early stage project, but since it is open source who knows what will appear in the future?

Now if only I could get an invite…

“Open source” maps

Google Maps could very well be the most highly used online map service, why would anything else be better? GMaps’ data is proprietary, you can use it but with some restrictions and software developers can not use its full potential for their own benefit.

OpenStreetMap is a world map done entirely from user’s submitted data. Similar to a wiki, you construct the map details by adding street names, information of buildings, commercial and government establishments, everything including terrain information.

The amount of data OpenStreetMap has about some areas in Europe I checked sometimes is even better than Google Maps. There are thousands of active participants throughout the world collaborating in this project. You can participate in various ways, from uploading data recorded by your GPS unit and even editing directly on the web in OSM’s own website.

With OSM we can have a project such as Open Route Service that provides a very nice set of directions to and from your next destination. If there is any information in these services that is incorrect, we can easily fix it.

The only thing I think would make it better is adding more user generated photos so we can have something similar to Google’s Street View.

Online localization platform

If you’re working on a localization project and would like to have the translation work done online, Pootle is currently the best option I found. Having an online translation platform is a great option for collaborative work since your team of translators can work from different parts of the world simultaneously.

Pootle has a nice user rights management feature allowing you to set the responsibilities of each team member in your project:

  • those that can submit translation suggestions;
  • reviewers;
  • team leaders designating specific tasks and setting deadlines;
  • technical management of the translation files.

All of the translation work done easily online. The translator chooses the project page, sees the source string on the left and on the right just start writing the translation. If needed, he/she can also leave notes for other translators or reviewers.

Pootle works well with PO or XLIFF files and you can export these to offline .csv format or directly to .mo for direct usage.

Knowing well Pootle, you’ll discover an incredible number of other features such as: setting translation memories; direct integration with version control systems, acquiring translation statistics and more. A large number of famous projects are currently using Pootle, including Firefox, OpenOffice, Compiz Fusion, and laconi.ca.

With a project I’m working on, it was a bit of a hassle to get it installed but once ready to go, a try life saver it was.

Create and manage your online surveys

In the past, to run online surveys I used GoogleDocs and SurveyMonkey. One was a paid service and the other too minimalistic. LimeSurvey though is a very nice open source platform to run complex online surveys however you choose.

The list of features is quite incredible, the best ones I found were the export / import format options (including SPSS, CSV, PDF, and .xls); large possibly of question types; integration of pictures and movies in a survey; and plenty of graphics options for you to analyze results inside the platform.

I was very glad to find this platform so I can run surveys the way I want to and be sure that all of the data is kept safe with me.

Identi.ca with new features!

The open source based microblogging platform identi.ca has recently added some cool new features:

  • hip new design giving the platform a fresher look;
  • cloud tags for individual micro-bloggers;
  • and the best of all, groups! You can create groups, join existing ones and write posts inside groups writing “!” in front of the group name.


Adding groups functionality is a nice feature, inspired (maybe?) in FriendFeed’s rooms. People with similar interests can discuss topics together and you’ll always receive posts of the groups you’re connected to.

Since identi.ca’s platform is completely open source, you can download the laconi.ca and create your own microblogging instance with all of these features.

Using rsync with no command like [linux]

For those (like me) who are interested on using rsync but are command line inexperienced, finding a GUI is a lifesaver.

grsyncGrsync can make sure you use rsync without the terminal. The developers list several features such as:

  • you can easily run the most common rsync tasks, more complex tasks can still be done but with command line tweaking;
  • Saves multiple settings with customized names;
  • performs simulations or normal executions;
  • print rsync output to a log or a separate file;
  • operation pause.

For those who have no clue about what is rsync, it is a tool used very often for backups and incremental file transfers. In other words, if you’re doing a backup with rsync, you will not have to copy every single file over and over again in different backups, only the files that have changed.