7 ms·
Using bad hardware: why I work in the terminal (2024)
- loloquwowndueo 2y agoCovers a lightweight window manager on Linux, a terminal emulator and editor. I wonder how this person manages modern web browsing on underpowered systems though.
- neuroelectron 2y agoWhat is modern web browsing good for besides engagement and advertising?
- loloquwowndueo 2y agoWhere do you find and read technical documentation?
- neuroelectron 2y agoGenerally such websites work fine in older browsers and with JS disabled.
- ohgr 2y agoComplaining about things where the engagement failed.
- neuroelectron 2y agoThat's the same thing as engagement.
- abbieoverflight 2y agoHi, I'm the author of that blog post! I actually used Firefox at the time of this post but I now use Librewolf. Modern day web browsing actually isn't as demanding as you think it is: I've been able to happily have Firefox open with Discord in it and FreeTube (an electron app for watching YouTube) on a Pentium T4300 with 4GB of RAM. It was slow but it worked perfectly fine, you just have to have patience to use older hardware. Hope this clears that up :) (As an aside, my main PC now uses KDE instead of i3wm!)
- loloquwowndueo 2y agoThanks for replying!
- arp242 2y agoI have a machine with a N4500, and it's actually fine for web browsing in regular Firefox. The main problem I experience with it are: 1) Go compile times on some projects, and 2) JS frontend builds. The Go compiler is fairly fast, but there are some patterns that can make the compiler much slower, and the difference can be pretty dramatic. I don't do that much frontend stuff and many projects are fine, but some projects are just a horse to build. At my last job it took at least ~5G of RAM and ~3 minutes on my i5-8350U (never tried on the N4500). This is a main reason I bought a new machine; otherwise I'd still be using the i5 (a second-hand x280 I got for ~€200 because the screen on the N4500 broke, although that has magically fixed itself in the meanwhile and now I have 3 laptops).
- alabastervlog 2y agoI tried to use an ancient Asus Chromebox as my main desktop for a while, maybe three years ago. Old dual-core celeron processor, I wanna say 8GB of memory but it might have been 4. The only usable browsers were very-light WebKit ones, and even then, more than three tabs was no good, and heavier “webapps” weren’t an option, unusably slow. Firefox and Chrome were unusable, period, and “lightweight” options based on their engines are not very lightweight at all. It had to be WebKit. Wild that with the early ‘00s Web I could browse far more capably on machines 1/10 that powerful. [edit] I mean, it was a chromebox by brand but I was running Void Linux on it.
- arcanemachiner 2y agoI recently had the pleasure of using an old low-end laptop running Windows Vista from around 2005 which had a lower-end CPU and like 1 or 2 GB of RAM. It was surprisingly snappy and usable.
- SoftTalker 2y agoAn ad blocker helps a lot and is essential for doing web browsing on older or underpowered hardware.
- robin_reala 2y agoThere is definitely value to be had in using systems that force you to write high-performing code. In the web space we all too often we sit down at high powered macs to write code that will be run by low-end Android devices, and fail to appreciate the consequences.
- bdcrazy 2y agoI'm always wondering about thoughts like this. Although there are likely a humongous amounts of low end devices, as a whole, how much potential return would you get from this group? This is a value judgment and I know many have low end devices for reasons other than monetary and just completely ignoring quantity may not be viable for certain investments, its just an interesting thing. It might be similar to the debate about the cost of handling credit cards vs cash. Cash has its own set of costs that are usually neglected. You could easily get more return by adding features than spending any time optimizing.
- MonkeyClub 2y ago> how much potential return would you get from this group? This reads a bit like "these poor sods can't afford to pay for my app, so why bother", at least to me. However even if a certain device owner subgroup doesn't represent a potential revenue stream, you can as a developer still profit from also (or even primarily) targeting their devices. Apps that will run on lower-powered devices will almost necessarily be leaner, and as a side benefit will have less complexity, less dependencies, and, ultimately, less technical debt for you as the developer to manage.
- 38 2y ago> all too often we sit down at high powered macs I think you mean you. I don't and never have done that, and I suspect millions of windows developers have not either.
- arcanemachiner 2y agoI think they mean them, and the obviously-high percentage of developers that use Macs compared to the general population of users. Which, ironically, skews the percentage of Windows users lower than most other demographics. In fact, how dare you forget the Linux users when writing your comment?!
- zokier 2y ago> Terminal text editors are also lighter due to the fact that the terminal is providing all of the windowing fuss for them and that terminals are light applications in and of themselves due to not having to do much that is extremely novel or intensive on a CPU I think this is a common fallacy. Fundamentally adding an tty layer in the middle does not make lighter solution, so in almost all cases terminal application+terminal emulator is inherently heavier than equivalent application talking directly to display server.
- flutetornado 2y agoI think the performance in terminal apps could come from the fact that terminals can use pre rendered, pre cached in GPU, text glyphs covering a fixed size small grid (of glyph sized blocks instead of pixels.) At least that’s what I have wondered - because the terminal UI experience has been always a lot more slick compared to heavy GUI based programs. Feel free to correct me if someone has done actual performance analysis.
- bitwize 2y agoGenerally you're going to need some sort of layer in order to display something meaningful; even if you count ncurses, the tty stuff is way, way lighter than all the rendering code, componentry, and hierarchical dispatch stuff that goes into a typical GUI toolkit. And it can appear on more devices.
- zokier 2y ago> even if you count ncurses, the tty stuff is way, way lighter than all the rendering code, componentry, and hierarchical dispatch stuff that goes into a typical GUI toolkit But using tty/ncurses does not avoid the costs of GUI, your terminal emulator will still need to have that. So using terminal can only add additional cost, not reduce it.
- bitwize 2y agoThe costs of, say, xterm (or even konsole) + tty layer are still far less than the costs of the UI layer for a halfway decent IDE. It's a bit penny-wise and pound-foolish to worry about the added cost of the tty layer when the "talking directly to the display server" approach incurs so much more cost, unless you were willing to accept an unusably minimal user interface (worse than any terminal program would be). Remember, Unix systems implemented tty support in perhaps tens of kilobytes of memory, on CPUs running at single-digit megahertz speeds. Graphical IDEs these days are often frickin' Electron apps.
- sramsay 2y agoThis has more-or-less been my setup for over twenty-five years. I've used gentoo and vim that entire time, but have changed desktops a few times (i3 currently, but always something along those lines). All development -- and all writing -- is in terminals. The difference is that I tend to to work on pretty high-powered machines (not for graphics or gaming, but for audio). But the main reason I have this set up is that I find the minimalism . . . calming? It's not entirely distraction free, but I just find it easier to work in a kind of low-stimulation environment. I do occasionally work on way less powerful rigs (and way more powerful servers), and it's nice that the basic tools don't change. But ultimately, I think my fondness for this way of working might be aesthetic.
- the_snooze 2y agoI'm in the same boat. I want my computing tools to feel like a musical instrument: stable and predictable, very capable but requires skill and learning to use well, and serves me instead of drawing attention to itself. Let me get into a flow state and focus on the task at hand. Working in a terminal is that. If UIs are constantly shifting or if there are popups telling you about a "cool" new feature, then that software feels less interested in serving the user and more serving its developers. I don't want the manic Silicon Valley hype-of-the-month when I have other more important things to do than fight with technology that's supposed to be helping me (and me exclusively).
- mystified5016 2y agoA craftsman becomes a master largely by mastering his tools. When your tools change every damn week because some faceless soulless middle manager wants a promotion, you can't master the damn tools. I don't know how anyone is supposed to become a master at programming when the industry standard tooling requires waiting around for tooltips to show up because meaningless icons are "clean"
- godelski 2y agoNot only that, but a master craftsman modifies their tools and builds their own. But it's not even that tools change every week. When you look at things like VSCode it's hard to make your own. Is hard to shape into an environment for you and instead you should shape to it. I see this in a lot of tools and it's destructive. Everyone is different and there's nothing that can be made for everyone. So a good tool needs to be modifiable, so that people can turn it into the thing that works for them.
- srean 2y agoDuring my grad school years in India, my advisor had a DEC Alpha desktop. Everything he did was through an Emacs session. God knows how many years old the session was or what was the last boot time. Memory fails me on whether it was running Linux or another Unix.
- codr7 2y agoI enjoyed this as my Linux GUI for a while: https://github.com/emacs-exwm/exwm https://github.com/emacs-exwm/exwm
- jmclnx 2y agoThis is close to what I do, but my Window managers of choice is fvwm and cwm depending on screen size. I dread the day we are forced to move to wayland, in that environment one is forced to use a Desktop Environment or a Tiling WM. Luckily, the site works well in lynx. The colors under Firefox was atrocious for me.
- srean 2y agoHa! Love fvwm. It's been ages since I heard it mentioned in any forum
- precompute 2y agoI upgraded from an outdated system (Pentium+HDD) only when web browsers started giving me grief. Now I'm on a relatively modern AMD system and it does anything I can throw at it. Debian Stable XFCE4 works very well. XFCE4-Terminal is one of the best terminals out there but doesn't get much recognition. XFCE4-Terminal, Emacs and Firefox are my Big 3. I use Thunar occasionally. I use XFWM, it can act as a pseudo tiling WM with wmctrl / xdotool shortcuts.
- arcanemachiner 2y agoI use i3 with XFCE, and I love it. I'm so grateful for XFCE: Boring, stable, and functional.
- porridgeraisin 2y ago+1 for XFCE4-Terminal
- klez 2y agoWhen talking about Linux workflows on older devices it is always worth it to remind people of the existence of kmandla[0] and their later website Inconsolation[1] Too bad they don't seem to publish anymore. [0] https://kmandla.wordpress.com/projects/ https://kmandla.wordpress.com/projects/ [1] https://inconsolation.wordpress.com/ https://inconsolation.wordpress.com/
- Lyngbakr 2y agoI like this philosophy. At home, my dev machine is a Raspberry Pi with Raspberry Pi OS Lite installed to keep things minimal and clean. I added OpenBox, Helix, and Konsole, then I'm pretty much sorted (besides tooling for OCaml & Lua). It's a refreshing change to my work laptop.
- rambambram 2y agoNice! I used an RPi4 for three years as my dev machine and daily driver. Even light video editing was possible, although slowly.
- 1vuio0pswjnm7 2y agoMany years ago I gave up on X11, etc. to remain in the console and virtual terminals 100% of the time, unless I need to view graphics. I use VGA text mode on NetBSD and something like kmscon on Linux. I use tmux instead of a window manager. Before I ditched X11 I used evilwm.
- eviks 2y agoIf you were ok with such a basic editor like nano you'd be just fine using it in those server cases, it still wouldn't justify the need to use a worse option universally, but also gui text editors have been light enough to work on even less powerful hardware of decades ago, so the one doesn't justify it either