Hacker News new | ask | show | jobs
by trinix912 1921 days ago
I've used to do this for a very long time. I've tried to customize almost every aspect of the system. At the time, I've also used to bash on Macs a lot.

I've later figured out it all stops being funny whenever I have some work to do quickly and am not in the mood for bothering with my tiling WM having too many windows open or some random broken packages.

It finally clicked when I had to collaborate on a UX desgin project and it was a big pain... My teammates used Sketch and Photoshop. Sketch is not available on Linux (which I used at the time) and GIMP just didn't want to open/save PSDs right (there was always something wrong with layers).

I've switched to macOS, it was quite a big change but I've since figured out I don't need to tweak every aspect of the OS just because I can.

Don't get me wrong, Linux, FreeBSD, OpenBSD... are great operating systems. They do just work for lots of use cases. It's just that customizing your OS often doesn't justify the time spent.

5 comments

I jumped from Apple to Linux because I had to get work done and the scientific software that I wanted to use was a pain to keep working on Macs. Also, it was impossible to configure MacOS to work the way I wanted it to, unlike Linux.

By the way, I use a tiling window manager (dwm) and I can’t figure out what you mean by “tiling WM having too many windows open”. I also don’t understand why free software such as the Gimp should be expected to support the binary file format of some closed-source program. But I do understand the need to work with other people without making excuses, even if their choice of tools is shortsighted.

I've been running a work Linux virtual machine (or a few of them) on a MacBook. Best of both worlds really -- I don't have to worry about running Linux on the hardware or running dev tools on macOS.

As a bonus, a full system backup is a simple folder copy to a USB stick, and with that stick I can instantly continue working on any machine, Mac, Linux or Windows.

Yeah, I think there is virtue in this approach. If I had figured this out back then (and if it were possible—I don’t know) I might have gone that route.
> I can’t figure out what you mean by “tiling WM having too many windows open”

Tiling WMs only work for me when I have <5 windows open. Afterwards, they just become a huge mess, unless you have a big screen with a huge resolution.

> I also don’t understand why free software such as the Gimp should be expected to support the binary file format of some closed-source program. But I do understand the need to work with other people without making excuses, even if their choice of tools is shortsighted.

I'm not saying they should be responsible for supporting a random (tho admittedly quite ubiquitous) proprietary format. But on the same topic, where would Open-/LibreOffice be without support for docx/pptx/xlsx? If they never support any proprietary formats then there's no alternative to what everyone else uses.

If you have the privilege of choosing what to work with in all situations then it's of course not a problem. But one can't expect a group of UX designers to completely break their workflow for a project with a strict deadline just because one person holds onto their sacred OS.

> Afterwards, they just become a huge mess, unless you have a big screen with a huge resolution.

Or you can just use several virtual desktops.

Or use tabbed/fullscreen/custom views.

The GP comment is so backwards that I wonder if they even used a tiling wm for any period of time longer than a day or two. Tiling window managers are better at managing many windows than having them all scattered randomly over a desktop with a traditional window manager.

Not all tiling window managers are the same and one of the bigger differences is what they do with new windows, so this is really dependent on the tiling WM you've used.
If you plug every single window into the same workspace no matter how many windows you have you are basically using it ineffectively.

Let us propose you have a really tiny 12" screen and you are using 5 windows that each really need your full screen area to be useful. It makes no sense to split it 5 ways so instead each window is its own workspace. This hardly seems to be a situation where a tiling window manager benefits you you could very well arrange the same thing on any graphical environment by switching to each workspace opening each application and maximizing the window.

However what it did do was keep you from dumping all 5 windows in the same workspace because the result would be painful and ensure that instead of alt tabbing an average of 3 times per window switch or taking your hands off the keyboard and clicking on a ui element to select the individual app from the taskbar. Instead when you want to go from app 1 to 5 or app 2 to 4 you go directly to the correct workspace.

It also automated maximizing the windows as they were created.

To put it succinctly it encouraged a certain workflow and automated the window management steps when using that workflow.

This is also true if you have 18 windows and 3 28" monitors. By far the most common arrangements are going to be simple arrangements of 1-3 windows on the same monitor which can be automatically applied as windows are added.

If we consult one of my favorite infographics

https://xkcd.com/1205/

To save 2 seconds 100 times a day (not depicted) we can spend 96 hours learning to use a tiling window manager and come out ahead over 5 years. In reality the time required is probably on the order of 2-4 hours and as it is a low stress, simple activity it can trivially be done during downtime in the time when you would spend on social media as opposed to when you ought to be working.

In effect you are trading a few hours of playtime for 96 hours of more effective work time which if you think about is a pretty good trade.

It's also entirely possible that you don't enjoy this workflow and thusly wouldn't benefit which is OK too.

Insofar as LibreOffice vs Gimp you are entirely correct. On a related note Bloom although not free claims to have great PSD support

>You say Bloom imports PSD files. What specifically does it import and does it support layers? We understand why this question comes up. :) A lot of packages claim to import PSD files, but then either end up importing a single flattened image, or layers stripped of styles, masks, and blending effects. We are proud to have created the best-in-class PSD importer for Bloom, which supports not only layers and groups, but also masks on both of them, all layer blending modes, and even layer blending effects such as drop shadows and glows - even on groups! While we can't guarantee the documents will look pixel-perfect compared to Adobe Photoshop (they are completely different software packages, after all), they are very close in terms of their appearance, and all key information is preserved.

https://thebloomapp.com

I haven't tried it personally but it has a free demo.

> It's just that customizing your OS often doesn't justify the time spent.

That really depends on a) what you choose to customize, and b) how adept you are at customizing. In other words, it depends on your skill and foresight.

With enough practice - you get it by simply working with computers over the years - you can recognize the pain points with the biggest payoffs quite accurately. With enough skill, you can fix them relatively quickly. This way you get a "10x" setup tailored for your specific needs.

Of course, trying to indiscriminately customize everything while putting a lot of time into learning how to customize them is a net productivity sink. That's normal. Most people start with such approach, get burned by it, and conclude that the whole customizability-as-a-feature is not worth it.

It's quite possible that it's true for majority of users. The well-tuned, A/B tested, in-depth researched defaults can be good enough for many. I have nothing against such defaults. However, forcing me to use them, while I know precisely what I personally need to be more productive, is something I can't agree to.

My current setup is Linux, AwesomeWM, Firefox, and Emacs. I customized away all the pain points I had with them a decade ago (half a decade with Awesome). The time spent on maintaining the configs across upgrades is trivial, on the order of tens of minutes a year.

To sum it up: customizing your OS can be well worth it if you do it right. You can also go wrong with it, too. But, using software which doesn't allow for customization not only removes the risk of customization going wrong - it also robs you of the possibility of doing it right.

> My current setup is Linux, AwesomeWM, Firefox, and Emacs. I customized away all the pain points I had with them a decade ago (half a decade with Awesome).

Amen brother! Exact same setup here: Linux / AwesomeWM (with a dedicated modifier key on my keyboard only for AwesomeWM related keybindings), Firefox, Emacs and the occasional IntelliJ IDEA for Java stuff.

> The time spent on maintaining the configs across upgrades is trivial, on the order of tens of minutes a year.

Exactly.

As a tech fan, but not a professional programmer, this only took me a couple hours to figure out :-)

Basically the moment you start to use Linux desktop, you will immediately start googling how to twist this and that. Maybe in an hour, you will start to go to this and that folders to change this and that cfg files. For me, I quickly realize that 1) I won't remember what I did and I don't know all the implications of those changes I made, and 2) I don't want to spend time on those stuff.

> 1) I won't remember what I did and I don't know all the implications of those changes I made, and

That's why I keep a log of everything. Any error message I encounter, any change I made and why. Neatly organised, in an org (org-mode) file.

I make exactly the same as I do in programming project or server configuration: keep notes, explaining to my later self (and to others) what I did and why.

> 2) I don't want to spend time on those stuff.

As I commented already: then you're forced to adapt to things others thought it would be best for you instead of adapting the system to your way of working.

Bingo, I just learn to accept the defaults as much as possible. If I can't love them, I accept them.
> It's just that customizing your OS often doesn't justify the time spent.

Of course it does, spending a tiny bit of time optimizing my workflows here and there, now and then, whether OS or text editor, saves hours yearly. Not to mention reducing annoyances and plain friction.

saves hours, yearly? tiny bit of time optimzing?

Hahahaha. Keep telling yourself that.

A linux fanboy would argue that your problem wasn’t linux, it was proprietary software that vendors won’t port to linux. They might also argue that your team should not choose software which is so restrictive.

For me though it boils down to two things: (1) linux does not go out of its way to provide stable ABI’s, which makes porting proprietary software to linux and maintaining it there expensive and (2) if you are serious about doing productive work the best productivity software is often proprietary. Add those together and there is a sort of gradient over time where if you work together with non-linux users there are always things pulling you over to windows or macOS.

> They might also argue that your team should not choose software which is so restrictive.

Which in the end is a valid point.

I've seen offices fighting with their own MS Word templates because neither current MS Word versions nor alternatives like LibreOffice can correctly display and format them anymore. Meanwhile Microsoft Team's online Word is not 100% consistent with the offline package, and when you need your PDF export to just work it's not fun when suddenly PowerPoint decides to always invert the colors for no reason.

Then there are cases like the subscription-based Adobe tools which are nice until you happen to be in a country targeted by a US trade embargo and overnight your subscription is cancelled with no way to even access your own files in cloud storage. Oops.

Is Gimp inferior to a billion dollar corporation's top-seller? Sure. But I know tomorrow I'll still be able to open all my files on almost any device running a desktop OS. If you earn your salary with this kind of software that's still not very convincing of course and I get that, however on the other hand when you depend on this kind of software to be working reliably it's worth considering how much you really want to depend on some corporation's servers being online when you need to rely on it.

> Is Gimp inferior to a billion dollar corporation's top-seller? Sure. But I know tomorrow I'll still be able to open all my files on almost any device running a desktop OS

Not only that, skills you learn on an open platforms don't really expire. I spent a while getting pretty good at using both Photoshop and GIMP, but these days I'm not using Photoshop enough to warrant paying a subscription fee to use it when I do need it. Those skills and time invested in using it essentially go to waste without a license. GIMP, on the other hand? I've been benefiting from the time I've invested in it for over 15+ years now without a hitch.

    > (1) linux does not go out of its way to provide stable ABI's, which makes porting proprietary software to linux and maintaining it there expensive
My impression is that the opposite is true for user space - https://yarchive.net/comp/linux/gcc_vs_kernel_stability.html Maybe you're referring to GNU or kernel modules? There are more than a few anecdotes of people running 20+ year old binaries that still work with X11.
Linux keeps the userspace<->kernel ABI stable, sure. But that's largely an implementation detail; what matters is the ABI presented to applications - at the library level, not underneath libc. And this varies between libraries and distributions.
About (1), Linux itself actually does go out of its way to provide stable ABIs as do some very common infrastructure-level libraries like the GNU C libraries. X11 itself is also very stable and both code and the protocol has been compatible going back to the early 90s.

However everything built on top of those is not and does not care about ABI or even API stability and now several desktop projects are actively undermining X11's stability with Wayland. Gtk+ breaks its API and ABI every major version as does Qt - and IMO even if Qt wanted to remain stable, as a C++ library it is very hard to do. Also Qt is really middleware and its developers have very different priorities than what you'd need for an actual platform (not to mention how intentionally misleading they have been towards users of their library).

There is a stable desktop API on Linux, Motif, but that is ugly and nothing targets it anymore and the company behind it nowadays actively promotes Qt instead.

Regarding Gtk's frequent breakages, I really can't understand the thought process of whoever is making these decisions.

Gtk is pretty much only relevant on Linux, the Linux desktop is itself a tiny fraction of the desktop market, and the amount of developers who're willing to write GUI apps for Linux, to write documentation or tutorials on the subject, etc. is already extremely low. So you'd think it makes sense to keep things as stable as possible, to make sure that no unnecessary effort is wasted and to encourage people to improve their apps or write new ones.

But apparently the Gtk people don't care. So much effort has been wasted due to stability issues, not even talking about the multitude of good-willing people who got burned in the process and just stopped caring about Gtk altogether. It's really a sad state of affair.

It's unfortunate about the ABIs - I think this probably adversely affects linux stability even when you have the source and allow a recompile.
Couldn't they trivially use QT and bundle the libraries needed with the software?

This doesn't seem dissimilar to how one could ship software for windows.