Rocket.Chat – the ultimate self-hosted open source chat platform

Chat is becoming more and more important for team communication and collaboration (what is ChatOps?).  Old school applications like Skype are being replaced with modern, web-based chat platforms, that provide group/room and one-on-one chats, file uploads, screen sharing, voice and video communications, API integration and more.  There are plenty of solutions to choose from too.

Traditionally, self-hosted solutions were difficult to setup and maintain, and were lacking in integration options.  So many teams choose to go for the third-party hosted approach.  This is not very exciting for companies that deal with sensitive data though.

As mentioned before, at work, we are using HipChat.  It’s nice, it’s free, and it integrates nicely.  Lately, there has been a lot of hype about Slack, which I tried, but didn’t particularly like.

rocket.chat

Today, however, I came across a very nice option, which seems to be a breeze to self-host and maintain – Rocket.Chat.  It’s modern – written in JavaScript, it has a long list of features, and there is a vibrant community around it.

You can try the live demo, or deploy it to your infrastructure via a gadzillion different methods, or read the beautiful documentation.  And there’s a rumor of HipChat and Slack import tool, so you won’t have to start from scratch…

Let me know what you think.

WordPress 4.5 “Coleman”

WordPress 4.5 “Coleman” – the newest WordPress version has been released (I’ve just upgraded).  Some of the changes included in this release are:

  • New and improved user interface for editing links in posts and pages.
  • More Markdown-like shortcuts for formatting text (now with code and horizontal lines).
  • Logo support in themes
  • Much improved image optimizations (initially expected in WordPress 4.4)
  • Better embed templates
  • Update for underlying libraries, such as jQuery, Backbone, and Underscore.

If you already manage a WordPress website, you’ll find the notification of the update in your admin area.  If not, then go and download it.

Red Hat Satellite

Here’s something I didn’t know about – Red Hat Satellite.  From the FAQ page:

Red Hat® Satellite is a system management solution that makes Red Hat infrastructure easier to deploy, scale, and manage across physical, virtual, and cloud environments. Red Hat Satellite enables users to provision, configure, and update systems to help ensure that they are running efficiently andsecurely, and remain compliant with relevant standards. By automating most tasks related to maintaining systems, Red Hat Satellite helps organizations increase efficiency, reduce operational costs, and enable IT to better respond to strategic business needs.

Now Red Hat’s acquisition of Ansible makes even more sense.  I guess, their satellite is looking for the galaxy.

Open Source software is so reassuring …

There’s nothing like working on a problem for a few days and getting to the reassuring code snippet like this:

sub PSGIApp {
    my $self = shift;

    # XXX: this is fucked
    require HTML::Mason::CGIHandler;
    require HTML::Mason::PSGIHandler::Streamy;
    my $h = RT::Interface::Web::Handler::NewHandler('HTML::Mason::PSGIHandler::Streamy');

    $self->InitSessionDir;

    my $mason = sub {
        my $env = shift;

        # mod_fastcgi starts with an empty %ENV, but provides it on each
        # request.  Pick it up and cache it during the first request.
        $ENV{PATH} //= $env->{PATH};

        # HTML::Mason::Utils::cgi_request_args uses $ENV{QUERY_STRING} to
        # determine if to call url_param or not
        # (see comments in HTML::Mason::Utils::cgi_request_args)
        $ENV{QUERY_STRING} = $env->{QUERY_STRING};

The first comment is misleading. It throws you off. Almost make you close the file and go somewhere else. But that’s just a little frustration from the last few days. The solution to my problem is here too… And that’s when the warm, cozy feeling I have for the Open Source Software kicks in.

P.S.: both the problem and the solution will be posted separately.