Edited Wed Feb 11 12:21:26 CST 2009
application a program that gives a computer instructions that provide the user with tools to accomplish a task;
I think a lot about my tool, er my tools. What is each one? Is Ruby an application? It is certainly a tool. I will avoid any swiss army knife analogies :) So what kind of tool is it? And what does the definition of “program” encompass? A language is itself a tool, but speakers (programmers) are necessary of the language before any tasks get accomplished. (Hammers don’t swing themselves.) Languages do not dole out instructions, either.
I like making lists. “Most useful programs” and so on. In reviewing this list, I noticed that the items all have in common that they adhere to the first principle of the so-called “Unix philosophy,” as elucidated by Douglas McIlroy:
This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.
Another thing about my list: there is no duplication—no A and B of C. There is conflict, however; e.g., I really should learn git soon. I learned git. Another thing I noticed is that GUI is out, CLI is in.
La Liste:
- Linux
- OS
- Arch Linux
- Distro
- git
- Version control.
- Ruby
- scripting language
- vim
- text editor
- GNU/Screen
- terminal multiplexer.
- zsh
- shell
- rxvt-unicode
- terminal
- openssh
- secure shell
- sshfs
- secure filesystem client
- Apache
- webserver
- cmus
- audio player
- rexima
- audio mixer
- rtorrent
- torrent client
- irssi
- IRC client
- htop
- process viewer
- Gmail
- Google Reader
- rss reader
- delicious
- social bookmarking
- LaTeX
- document preparation
- Firefox
- browser
- awesome
- window manager
Have I forgotten any?