19 May 2014

Gitter, an Instant Messaging Service for GitHub Users

Often, collaboration on GitHub is restricted to either email and issues or solely issues. While both are very sufficient means of communication, they are not suitable for rapid back-and-forth communication in a chat-like style. Such sentences as "My branch is stable, can I deploy it?" don't need fully-fledged issues nor emails to be sent back and forth, but they are important nonetheless. We do have Google Hangouts and other messaging services, but they're all integrated with larger things and are slower and more general than they could be. Wouldn't it be great if there was a chat service that behaved a lot like GitHub but was more for private chat for the smaller but still important things?

Enter Gitter (currently in beta)

It Integrates

While it is an external messaging service, Gitter integrates very effectively with all sorts of services, including GitHub, BitBucket, Heroku, Jenkins, Travis, Trello, Huboard, and Sprintly. Gitter rooms are built on a per-repository or per-user basis (You can create non-associated rooms if you need to), so keeping chat separated between your projects is very easy. If you need to, you can very easily switch between projects quickly and efficiently.

For example, I'm working on a project with some folks who have integrations with both Heroku and Travis CI, and so every time a commit is pushed, a deploy is performed, or the build status changes, a little notification is displayed in the chat window (Most of this is configurable). This enables fast realization of problems without ever having to leave the Gitter window.

It's Beautiful

Gitter supports GitHub flavored markdown, which means that writing messages in it is just like writing messages on GitHub issues. It supports editing in both "chat mode," where shorter and rapid-fire messages are sent using Enter or Return, and "compose mode," where longer messages are sent using Ctrl+Enter or Return.

On top of that, Gitter has a very beautiful and simple modern design. It's very easy to get started, and it's easy to join and use rooms. Everything flows nicely and everything is where I would expect it to be.

Would I Recommend It?

Absolutely. Not a doubt in my mind. I'd highly recommend that you try it out and use it. It's very helpful.

13 May 2014

DuckDuckGo: A Search Engine Done Right

DuckDuckGo is my favorite search engine for so many reasons. With its new redesign, DuckDuckGo is undergoing a major visual revamp which I hope will draw more new users, because both the fundamental philosophy of DuckDuckGo and its execution are models for a perfect search engine. Google is currently the industry leader, and many have tried and failed to beat Google. DuckDuckGo is one contender, but compared to Bing and Yahoo, DuckDuckGo isn't very significant. Yet.

The problem with Google is that they use extensively-obtained user data to provide context for a user's search terms. Often times, there's more meaning to the search terms than just the words and spaces, there's something behind their use of those words and their searching for a particular thing at any given time. I've used Google off and on for quite some time and I find it to be quite helpful, but I'm not satisfied with it any more.

DuckDuckGo, on the other hand, does not (to my knowledge) use context-based recognition of users' search terms. I find that many of my searches turn out better results on DuckDuckGo than on Google, surprisingly enough. Sometimes, when I'm looking for an answer to a programming question or something like that, DuckDuckGo is a much better search engine for that kind of question. I find that this is often because the first few pages of Google's results are merely Stack Overflow questions relating to my query, and often the answers to those are of such low quality that they are not applicable to my search. DuckDuckGo, on the other hand, always gives me results from sites that are reputable in the area (e.g. W3 for HTML-related stuff).

Another feature that Google lacks that DuckDuckGo users will find incredibly useful is the ability to use other search engines. DuckDuckGo includes a library of so-called "bangs," which are basically words or abbreviations that start with exclamation marks and do various things to the search. For example, the "!gi" bang will forward the search to Google Images, if you prefer to use that. Or, if you're looking for a Wikipedia article, "!w" is available. If you're looking for JSTOR documents, there's "!jstor". If you're looking for documentation, even "!ruby" or "!js" are out there. Bangs redefine searching: the user probably knows what they want to find, and the user is usually right.

So I would highly suggest DuckDuckGo. If you don't already have it set as default in your browser, you can click buttons on their new homepage or you can follow their helpful instructions. Give it a spin. Let me know what you think.