suc aims to replace Slack in Five Lines of Bash

Unix's design philosophy is quite simple. The software should do one thing as simply as possible, and do only one thing. As a design principle, this is sound advice, even well outside the realm of Unix, and even software in general, but that doesn't stop modern software packages from being too large for their own good. So if you're tired of bloated chat programs like Slack or Mattermost with their millions of lines of code, you might want to go with something like Simple Unix Chat (suc) instead.

The idea is that suc can perform almost any modern chat function in just five lines of Bash, supporting rich text chat, file sharing, access control, and encryption. These five lines, however, only perform the main function of suc - which is to write text to a system file. Indeed, suc makes liberal use of many other Unix services that don't increase line count, such as using SSH to handle authentication. It also relies on other common Unix system features to manage things like ownership and access to text files that host chat text.

As channels are simply text files, this makes writing bots or other tools extremely easy. You can also easily pipe the output of commands directly into suc with simple lines that can do things like flush the output of make to a specific pipe if the compilation fails.

While it's unlikely that everyone will abandon tools like Slack to move to something like this, it's still an impressive demonstration of what can be done when designing around the Unix ethos and by leveraging system tools that already exist rather than reinventing the dial and reprogramming all of those tools into the app. Such practices can reduce development time and make it easier to develop cross-platform apps, but they often produce a less than desirable user experience.

suc aims to replace Slack in Five Lines of Bash

Unix's design philosophy is quite simple. The software should do one thing as simply as possible, and do only one thing. As a design principle, this is sound advice, even well outside the realm of Unix, and even software in general, but that doesn't stop modern software packages from being too large for their own good. So if you're tired of bloated chat programs like Slack or Mattermost with their millions of lines of code, you might want to go with something like Simple Unix Chat (suc) instead.

The idea is that suc can perform almost any modern chat function in just five lines of Bash, supporting rich text chat, file sharing, access control, and encryption. These five lines, however, only perform the main function of suc - which is to write text to a system file. Indeed, suc makes liberal use of many other Unix services that don't increase line count, such as using SSH to handle authentication. It also relies on other common Unix system features to manage things like ownership and access to text files that host chat text.

As channels are simply text files, this makes writing bots or other tools extremely easy. You can also easily pipe the output of commands directly into suc with simple lines that can do things like flush the output of make to a specific pipe if the compilation fails.

While it's unlikely that everyone will abandon tools like Slack to move to something like this, it's still an impressive demonstration of what can be done when designing around the Unix ethos and by leveraging system tools that already exist rather than reinventing the dial and reprogramming all of those tools into the app. Such practices can reduce development time and make it easier to develop cross-platform apps, but they often produce a less than desirable user experience.

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow