I've been wanting something sort of like this for my login screen. Little box for the login, of course and a whole bunch of scary-to-everyone-but-me looking output, like hollywood (https://github.com/dustinkirkland/hollywood).
+1 if I could use the terminal emulator of my choice so cool-retro-term (https://github.com/Swordfish90/cool-retro-term) could make it look like the screen is about to melt.
The login screen is ultimately just a regular process. I haven't tried it but there is nothing against starting cool retro term and hollywood inside of it. The most difficult part is probably to make it display on the framebuffer. For the login itself you could then just reuse the decades old login binary that provides the login prompt you see in text mode terminals, if you like. Shouldn't be too hard.
Neat. For people looking at alternatives for configurable dashboards i suggest sampler[0]. It has a weird license but free for personal use. You can report any output of a terminal command with a custom time rate. E.g. you can SSH and pipe HTOP of a remote system, query your local DB and do a timeseries etc. all in one place.
This looks pretty nice but without secret management it's not really that useful. Without that you can't share your configs or have your config in your dotfiles-repository.
It is a productivity thing. CLI tools have consistent interfaces and once you are familiar with the common tools and workflow, it is considerably faster to do what you are looking to do. One particular trait that has personally made my workflow a lot faster is being able to repeat a command from history (by pressing Ctrl-R) and then writing only part of the command to run it. It saves a lot of time and makes it less cumbersome to type in very long commands.
Now to contrast this with GUIs, even the simplest things would require me to jump through menus, type some stuff, etc. Everything in the command line is precise and repetitive steps are easy to replicate.
Piping is another aspect that the command line enables, which basically feeds to output of one command into another. One common example of this is to look at lines of a log file that contain a certain set of words: `cat log.txt | grep "[ERROR]"`.
But perhaps the strongest selling point of working in the command line is consistency among tools. If you want to be productive as a developer, use of various tools for doing various tasks is common. Using the CLI for all these tools keep everything a few commands away, even interoperability is enabled seamlessly due to piping and consistency.
So yes, there is a fairly steep learning curve, but in my opinion learning how to use CLI tools over GUI is well-worth the hassle.
In my experience, it is easier to automate a workflow using command line applications. The GUI versions of tools have to try and predict every possible workflow, while terminal applications can be easily combined in scripts.
That being said, there are definitely major productivity features to be had with GUIs, such as those with web browsers and IDEs.
I do both, all the time. I always have at least two different browsers open and several productivity apps. And an iTerm window with several tabs, or if I'm doing sysadmin-y stuff then several such windows.
For me the terminal is mostly used for these things:
1) A stable/reproducible Linux environment in which to test and run code.
2) A place to use UNIX tools to quickly do things that would take a long time, or maybe not be possible, in my (fairly large) collection of GUI apps. In particular one-off searching and manipulation of text files, log streams, etc.
Plus if I want to make small edits to a file, I can do this faster in vim than in TextMate or Sublime. And I sometimes run apps like "calc" in my terminal out of habit. YMMV on that kind of stuff, but for the two reasons above, if you are a developer of server software then this is much of your life.
I prefer to use GUI apps for some things, but I totally get it that others don't. Once you're at home in the terminal, it's tempting to want everything to live there. But if you're like me and prefer a GUI client for source control, you can easily have both!
Familiarity and low resources needed .. I can use a $5/year natted VPS and program (via Git/Vim), run scripts, surf the web (links), chat on IRC (Weechat) and continue my Tmux/Screen workflow on basically any *nix machine with at least ~16MB memory.
I have RSI in my mouse hand from pointing and clicking so much and basically my index and middle finger are constantly inflamed. The only thing that makes the swelling go down is icing, ibuprofen, and not using a mouse.
Faster reading: everything uses the same font, size, color and position on the screen. Your eyes don't have to constantly scan for different graphical elements across applications.
(if this sounds far-fetched, try reading a book with a different font for each paragraph for 4 hours)
Faster interaction: no dreaded mouse needed.
UI speed: terminal application are rarely slow at it.
Consistency: Works on local and remote hosts over SSH.
Force of habit... I'm not really sure how I made the move, I grew up on Macs but moved to Linux (for the FREEDOM), and gradually all the GUI apps just fell away. I have a PDF reader and a browser and I think everything else is in the terminal. Occasionally I'm forced to use a Mac or Windows machine in professional situations, and it just annoys the fork out of me. I just prefer typing, and I have all the commands I need memorized to an embarrassing degree.
I also appreciate the resource usage. My personal laptop is a Lenovo from 2009, and it never feels slow. It is slow for some things, like compilation, but it never feels laggy in the way a GUI can.
I would never recommend to anyone that they go down this road. It's silly to think how many hours I spent learning what I know, and the main effect is that nobody but me can use my computer and I barely know how to work anyone else's. I'm wicked fast on VIM and that looks cool and all but... the bells and whistles in something like VS Code probably help more in the day-to-day as a developer. But I can't use it. I feel completely lost when I can't Control-Z and git grep, or whatever. I don't even know how to quit a GUI programme anymore.
Everything can be done with the keyboard and is generally scriptable, leading to high productivity but also superior ergonomics is a big part for me.
My wrist joint have a tendency to crack loudly (not sure if this is the correct English term), which feels unpleasant and have been a driving reason for me personally to avoid the mouse unless absolutely necessary. Additionally to basically living in my terminal I use vim bindings in my browsers and replaced my caps-lock with the Hyper-modifier* allowing me to control almost all parts of the operating system from my keyboard and mostly from my home row.
Using a mouse / pad break the flow, makes you move your hands out of the keyboard inducing delay (positing on the mouse, repositioning on the keyboard). Usually point and click takes more time than a shortcut. Makes you more prone to Carpal Tunnel Syndrome.
For me it's mostly about comfort than productivity, productivity is a nice side effect. As a coder I don't spend most of my time typing code but thinking and reading so pure typing speed is non relevant for productivity.
Depending on when and how a person started out with computers, there may have been no GUI available. My university was just getting connected to the internet about a year or so before the the web came into being. I picked up a VT125 terminal and a 1200 baud modem from ham radio flea markets, and used that setup over dialup for a couple years. No GUI, all text; programming assignments, email, web in a text browser when that was a thing, NNTP.
I use tmux (wrapped in byobu) a lot and tend to end up with one screen (on each host I usual a fair amount) as a dashboard like this, manually constructed from many panes each running a tool like iftop, watching a log with "tail -f", or regularly running other checks via "watch", ...
Even though I'm not a fan of go myself, it does work well for small, simple utilities - it's lightweight, fast, and compiles to self-contained executables, with no dependency on a runtime like Node.js, Python, or a JRE.
There are some other languages that have similar benefits, but go is the most popular and trendy. Rust could fill a similar niche but GC is very nice and Rust definitely has a higher learning curve.
I haven't used Go much but I've gotten the impression that tooling is very good, it's easy to create a self-contained executable and startup time is low. All this while the language itself aims for simplicity and doesn't include a plethora of features rarely used or needed creating an almost python-like simplicity.
This actually looks really useful if you have multiple screens. (I tend to type on my laptop connected to a monitor above it.) I keep concocting shell prompts that are more and more complicated (current git branch, IP, python virtualenv and so on and so on) -- this might just be the ticket to stop wasting time on that.
My first impression was that it looks cool, but than I tried to think of a use case and failed. It still looks very cool, though. If I want to look anything up I just look it up, no need for something to run somewhere to occasionally glance on.
Why does everyone feature a world clock in their information dashboards? Yes, it's a handy feature to have, and yes, it's easy to build, but very few people actually use them.
very useful for multi-time-zoned projects. Working with overseas times means you get good at mental translation but with daylight savings, people moving around, new people on the project, etc - it becomes very handy.
One of my favorite clock related features is in KMail where it says "Senders current time", which is often helpful as well.
Does it support the mouse? I didn't see any mention of it and I haven't tried it yet. If not then I think this would be unusable for me. I live inside the terminal and use Vim, tmux but once a TUI gets quite complicated (another example for me is wee-slack plugin for wee-chat or multiple accounts in mutt) I struggle a bit and find I'm faster in a GUI.
This is really impressive. I'm currently developing a web-based personal dashboard [1] and I'm sure WTF will provide me a lot of inspiration here and there :)
Does it run on Windows? I can't tell if the lack of Windows binaries is because the author didn't compile it/test it for the platform or because for some reason it won't run there.
For a desktop project, supporting the OS of 60+% of desktops would seem a boon to adoption (putting aside the politics and all).
[+] [-] cptnapalm|6 years ago|reply
[+] [-] weinzierl|6 years ago|reply
[+] [-] carokann|6 years ago|reply
[0]: https://github.com/sqshq/sampler
[+] [-] maweki|6 years ago|reply
That makes it really not that portable.
[+] [-] senorprogrammer|6 years ago|reply
[+] [-] unknown|6 years ago|reply
[deleted]
[+] [-] shay_ker|6 years ago|reply
[+] [-] unknown2374|6 years ago|reply
Now to contrast this with GUIs, even the simplest things would require me to jump through menus, type some stuff, etc. Everything in the command line is precise and repetitive steps are easy to replicate.
Piping is another aspect that the command line enables, which basically feeds to output of one command into another. One common example of this is to look at lines of a log file that contain a certain set of words: `cat log.txt | grep "[ERROR]"`.
But perhaps the strongest selling point of working in the command line is consistency among tools. If you want to be productive as a developer, use of various tools for doing various tasks is common. Using the CLI for all these tools keep everything a few commands away, even interoperability is enabled seamlessly due to piping and consistency.
So yes, there is a fairly steep learning curve, but in my opinion learning how to use CLI tools over GUI is well-worth the hassle.
[+] [-] iwalton3|6 years ago|reply
That being said, there are definitely major productivity features to be had with GUIs, such as those with web browsers and IDEs.
[+] [-] biztos|6 years ago|reply
For me the terminal is mostly used for these things:
1) A stable/reproducible Linux environment in which to test and run code.
2) A place to use UNIX tools to quickly do things that would take a long time, or maybe not be possible, in my (fairly large) collection of GUI apps. In particular one-off searching and manipulation of text files, log streams, etc.
Plus if I want to make small edits to a file, I can do this faster in vim than in TextMate or Sublime. And I sometimes run apps like "calc" in my terminal out of habit. YMMV on that kind of stuff, but for the two reasons above, if you are a developer of server software then this is much of your life.
I prefer to use GUI apps for some things, but I totally get it that others don't. Once you're at home in the terminal, it's tempting to want everything to live there. But if you're like me and prefer a GUI client for source control, you can easily have both!
[+] [-] joshbaptiste|6 years ago|reply
[+] [-] tyri_kai_psomi|6 years ago|reply
[+] [-] federico_3|6 years ago|reply
(if this sounds far-fetched, try reading a book with a different font for each paragraph for 4 hours)
Faster interaction: no dreaded mouse needed.
UI speed: terminal application are rarely slow at it.
Consistency: Works on local and remote hosts over SSH.
[+] [-] rvense|6 years ago|reply
I also appreciate the resource usage. My personal laptop is a Lenovo from 2009, and it never feels slow. It is slow for some things, like compilation, but it never feels laggy in the way a GUI can.
I would never recommend to anyone that they go down this road. It's silly to think how many hours I spent learning what I know, and the main effect is that nobody but me can use my computer and I barely know how to work anyone else's. I'm wicked fast on VIM and that looks cool and all but... the bells and whistles in something like VS Code probably help more in the day-to-day as a developer. But I can't use it. I feel completely lost when I can't Control-Z and git grep, or whatever. I don't even know how to quit a GUI programme anymore.
[+] [-] drinfinity|6 years ago|reply
[+] [-] hultner|6 years ago|reply
My wrist joint have a tendency to crack loudly (not sure if this is the correct English term), which feels unpleasant and have been a driving reason for me personally to avoid the mouse unless absolutely necessary. Additionally to basically living in my terminal I use vim bindings in my browsers and replaced my caps-lock with the Hyper-modifier* allowing me to control almost all parts of the operating system from my keyboard and mostly from my home row.
* https://github.com/suliveevil/Capslock
[+] [-] luxcem|6 years ago|reply
[+] [-] grimjack00|6 years ago|reply
Depending on when and how a person started out with computers, there may have been no GUI available. My university was just getting connected to the internet about a year or so before the the web came into being. I picked up a VT125 terminal and a 1200 baud modem from ham radio flea markets, and used that setup over dialup for a couple years. No GUI, all text; programming assignments, email, web in a text browser when that was a thing, NNTP.
[+] [-] atoav|6 years ago|reply
[+] [-] unixhero|6 years ago|reply
[+] [-] stjohnswarts|6 years ago|reply
[+] [-] dspillett|6 years ago|reply
I use tmux (wrapped in byobu) a lot and tend to end up with one screen (on each host I usual a fair amount) as a dashboard like this, manually constructed from many panes each running a tool like iftop, watching a log with "tail -f", or regularly running other checks via "watch", ...
[+] [-] mjfisher|6 years ago|reply
[+] [-] enriquto|6 years ago|reply
[+] [-] davidgl|6 years ago|reply
[+] [-] bogle|6 years ago|reply
[+] [-] unixhero|6 years ago|reply
Yikes! Hold my beer! This will take all weekend.
[+] [-] kilroy123|6 years ago|reply
[+] [-] MrCharismatist|6 years ago|reply
[+] [-] brbrodude|6 years ago|reply
[+] [-] senorprogrammer|6 years ago|reply
[+] [-] atarian|6 years ago|reply
[+] [-] Arcsech|6 years ago|reply
There are some other languages that have similar benefits, but go is the most popular and trendy. Rust could fill a similar niche but GC is very nice and Rust definitely has a higher learning curve.
[+] [-] hultner|6 years ago|reply
[+] [-] eeZah7Ux|6 years ago|reply
[+] [-] thanatropism|6 years ago|reply
[+] [-] Kaiyou|6 years ago|reply
[+] [-] hnarn|6 years ago|reply
[1]: https://github.com/Swordfish90/cool-retro-term
[+] [-] Exuma|6 years ago|reply
[+] [-] rpmisms|6 years ago|reply
[+] [-] calvinmorrison|6 years ago|reply
One of my favorite clock related features is in KMail where it says "Senders current time", which is often helpful as well.
[+] [-] senorprogrammer|6 years ago|reply
[+] [-] Jakob|6 years ago|reply
After a while you memorize the time zone differences. But to be sure and take daylight savings in account world clocks are not bad.
[+] [-] kilroy123|6 years ago|reply
[+] [-] roryrjb|6 years ago|reply
[+] [-] darekkay|6 years ago|reply
[1] https://github.com/darekkay/dashboard
[+] [-] kup0|6 years ago|reply
[+] [-] andrewbinstock|6 years ago|reply
For a desktop project, supporting the OS of 60+% of desktops would seem a boon to adoption (putting aside the politics and all).
[+] [-] BeetleB|6 years ago|reply
[+] [-] synunlimited|6 years ago|reply