top | item 25440915

(no title)

stfwn | 5 years ago

I used to be all in on Apple. On macOS I had a little program called Magnet to snap windows to sides and corners, and on my iPad (with external keyboard) I SSH’d into a VPS to write and run code there. I used Alfred and had all kinds of workflows in there. I thought it was great.

But then during my AI studies I wanted some beefier hardware, which was just not affordable for me within Apple’s ecosystem, plus they only used AMD graphics cards. I built a desktop computer that outperformed the top of the line Mac Pro for a fraction of the cost and turned it into a Hackintosh. Two weeks later Mojave came out, and Apple never approved any Nvidia drivers from then on.

My eyes opened to Linux and i3 in particular, which looked like Magnet taken to the extreme. What had taken me hours to install and configure on macOS (GPU-acceleration for PyTorch, for example) just worked with one package install on Linux. All my expensive apps were replaced with simple and free, much more configurable alternatives. At first I spent a day or two getting things just right. Since then not much has changed because not much needed changing, which I really like.

Now I look at macOS and iOS and cringe how locked down it all is. Users are very creative in their workarounds to make it work, but it is ultimately quite silly that you need to use special URL schemes and workflows to open a text file across different apps.

Thanks, i3!

discuss

order

pimeys|5 years ago

Almost like reading my story...

I used to be all in on Apple, using their iMac G4 and later on the Intel iMacs at home, but needed a beefier machine. So when I started in a new job, instead of getting a macBook, I asked the company IT to build me a workstation (and been asking for it from the companies I worked for after that). Installed Arch Linux and i3 to it, and never looked back. Did run Linux and i3 in the macs I owned for a while, until I built myself a home desktop and replaced my laptop with a ThinkPad, all running Arch Linux and either i3 or sway as a window manager.

This is the end game for me. Emacs, Alacritty and Firefox with a rolling release distribution. The same configuration with even the same wallpaper for the past 10 years that follows me from Gitlab.

Thanks, i3 and sway!

francis-io|5 years ago

This is kind of my story too. I stick with ubuntu LTS just for an added level of confidence things are compatible, but Arch might be a good idea to look into. The arch packages are a big plus. Do you find many compatibility issues?

octoberfranklin|5 years ago

This was more or less my path as well.

I will never, ever forgive Apple for removing two-dimensional virtual desktops (I think they called it "spaces"). Then just to spite all of us, a few releases later they made it impossible for TotalSpaces (a hack that gave us back this functionality) to do the kernel code-injection wizardry that they sold for the incredible bargain price of $12 or something like that. Because, you know, "security".

That was the end of my Apple decade.

Now I use sway, which is an astonishingly-faithful (like, down to the config files) wayland clone of i3.

pimeys|5 years ago

Exactly this. And why I nowadays only use open source software is that I know my experience stays the same for good. I use i3 because it works just like it worked 10 years ago. I don't need a new experience with every release, new graphics, new ways to use my computer. I just need a utilitarian desktop with my editor, browser and a terminal.

CraigJPerry|5 years ago

This functionality does still exist - it's just changed a bit. When you full screen an app in MacOS Big Sur, you can add another app side by side with it in it's space.

It was better before as just spaces though. Windows does this right. If you add powertoys you can even go beyond the i3 tiling options but i'd argue i3 is a bit more naturally usable than the powertoys desktop stuff.

addicted|5 years ago

I think the biggest contribution i3 has made to my computing life is helping me recognize just how superfluous most of what I normally did on my Windows and Mac computers was.

Take away a lot of the chrome and it’s incredible how much can be achieved via simple text files and unfussy Linux tools.

As an example, my GTD workflow (before I switched to a physical bullet journal) went from a variety of apps to a single i3 workspace that auto opened with 5 terms with each containing a single markdown file opened in vim.

The leftmost column contained the processing file from top to bottom. The middle column had Doing and Follow up files.

The rightmost column had Done and Projects files.

My done would be archived each week with a script and a new done file opened for the upcoming week.

If there were any other major files I wanted (for example I would maintain a ling term projects file) that would be opened in a different buffer in the VIM app containing the projects file.

Moving items from one folder to another was as simple as quickly navigating to that folder, using a shortcut to yank or cut the line to the global clipboard, ans then pasting it to the file I wanted to move it to.

I suspect it would have been trivial to write a script that would have automatically moved the entire line over with a single shortcut.

There is absolutely no additional overhead and it works extremely fast and well.

akho|5 years ago

Why use five i3 windows, if you can use five Vim windows? That would make moving things around a lot easier.

satysin|5 years ago

I am still on macOS but I totally agree with your post. macOS and iOS are seriously locked down and it can be very frustrating.

Like you I used Magnet but wanting to get something more tiling window manager-like I switched to Amethyst[1] which while not as powerful is pretty good for what it is.

Sadly macOS has frustratingly laggy window resizing for a lot of things. Finder and Safari are usually fine but pretty much everything else feels laggy to resize and generally macOS just has absolutely terrible window manager so a tiling window manager is a god send.

I mostly use macOS because I have been doing iOS and macOS development and so what else you gonna use but I have to admit I want to move away from the platform. It is all 'very exciting' right now with all the Apple Silicon hype and yeah it genuinely is impressive but for me I kinda want to get back to something more open even if it doesn't have a lovely highly efficient and performant custom SoC driving it.

I am like 90% there in convincing myself to build a nice AMD desktop next year and moving away from macOS as my main OS. Luckily I am not dependent on any Apple services so switching shouldn't be that bad.

[1] https://github.com/ianyh/Amethyst

Hammershaft|5 years ago

yeah, I agree that macos seems to have the worst window management, both in design and implementation (particularily performance).

i3 sounds like a dream window manager to me, but in the meantime while I use Mac OS (& Windows), I've been using yabai, which is heavily inspired by i3 but limited by Mac OS.

https://github.com/koekeishiya/yabai

toxik|5 years ago

i3 aside, the continuation to your story for me is, use Linux machine, be decently productive but nothing works quite the way it should.

Change your keyboard layout to one of your own? Eh maybe Xmodmaps, oh but then it gets reset every so often because $HISTORICAL_ARTIFACT. You have to change the actual xkb mapping, which is very much not a “happy path” in any DE.

The only graphical e-mail client that actually seems feature complete is Thunderbird, and for _years_ I have to race to disable the global search within 10 seconds of starting it. Otherwise the program just freezes up. I don’t even know what to use for calendar stuff.

I would really love it if Linux was viable for me as a desktop OS. It just isn’t, because of things like these.

cycomanic|5 years ago

Not sure what you're trying to do in keyboard layouts. I've yet to encounter the flexibility for keyboard layouts that you have in linux in any other OS.

Regarding email clients, again I'm not sure what you consider feature complete, but even some of the proprietary options like mailspring or hiri exist on linux.

For calendar it again depends on what you are trying to do. I've recently started using Minetime, which is not OSS but free and is working very well for me.

One of the weird phenomena that I find in these discussions, is that people are often happy for proprietary software (like OSX or windows) to restrict what they are able to do, and having to adjust their workflow to these systems, but when it comes to OSS suddenly not being able to match the previous workflow, makes the system unsuitable. (Note that this is not aimed at you directly, just a general observation).

hxegon|5 years ago

Current apple user/ex linux user

Can't speak to your firebird issues, never used it, but as for keyboard issues?

Spouse uses my main machine for basic stuff, she has her own account. I use dvorak, she uses qwerty. About 75% of the time when the layout is switched back from qwerty to dvorak it becomes completly fubar, and all layouts output non-sense garbage until a restart. Because the layouts are broken, I can't save any of my terminal work.

I'm still pretty on the fence about things, but honestly I'd say linux and os-x are pretty even as far as shit breaking, and imo linux is a little bit better. I remember the old days when you sudo apt-get update && sudo apt-get upgrade & pray, but stuff is pretty stable even on distros like arch these days.

Every time there's a major update for os x, I already know it will definitely break something for me. Catalina broke most my game collection that could run on os x to begin with, and I'll be waiting at least another couple months before upgrading to big sur.

This isn't to try and invalidate your experience, but just saying that mine has been: Switched to OS X because things were more stable and I need a solid work machine, but linux is getting more stable while my faith in apple's software quality goes down dramatically every year.

nemo136|5 years ago

For the keyboard layout, use a mechanical keyboard program it through qmk, loose 1 month adapting to it, and voila, problem solved.

098799|5 years ago

Changing the xkb mapping is not a happy path? It's perfectly portable to any system running X11, you can define your own shortcuts to quickly switch maps with setxkbmap... It's a backbone of my workflow with a 60% keyboard.

bee_rider|5 years ago

I haven't had that experience. I have had the slightly annoying experience of mapping keys using tools for X, and then realizing some time later that when in the console those mappings vanish. Of course, there are tools for remapping keys in the console, but they are a little less user friendly.

In the end, I got a keyboard that incidentally had functionality to remap keys built in (I wanted the keyboard already anyway, but the remapping feature was a nice bonus). This ended up routing around the problem entirely, and seems like a generally better solution. Now my remaps survive all the way to Windows, for my rare trips over there.

zhengyi13|5 years ago

Your complaint about the xkb/xmodmap/whatever situation is dead on, so my solution has been to simply go with a programmable keyboard. Don't have to remap capslock -> ctrl anymore - no matter what distro I use, capslock is always ctrl, right from the get-go.

donatzsky|5 years ago

What's wrong with Thunderbird's built-in calendar?

vmchale|5 years ago

The mail client is worse than Windows IMO. But a tiling window manager and terminal is worth it for now.

Steltek|5 years ago

I'm jealous of you and others in this thread that shared this path. I've unfortunately been dragged in the other direction: I was a happy i3/Linux user and now I'm coping with a multi-monitor Mac setup which stubbornly refuses to support workflows which I find to be very fast and efficient.

There are some tools (all $$) for Mac which attempt to replicate a tiling WM but Apple's support for it is extremely poor, affecting the quality of the tools.

city41|5 years ago

This is the danger of tiling window managers :( I now fear one day I will work at a company that won't let me use Linux.

But on the flip side, it's a great testament to the power of tiling. You'll have to claw i3 out of my cold dead hands :)

SJetKaran|5 years ago

I moved from linux to mac for work stuff. Really miss the I3 functionality; yabai fills that gap mostly but not all the way.

SxC97|5 years ago

Do you mind expanding a bit on that thought? What gaps aren’t filled with yabai?

markogresak|5 years ago

How did you get used to the different modifier key layout? I am missing the cmd every time I try to switch to Linux. I have tried rbreaves/kinto, but it was not working well for me, so I decided to keep the native layout.

It took me about 2 weeks to get kind-of used to the different modifier keys, but it did not feel the same.

But the thing that made me switch back is when I was buying a laptop. I was set on not going with Apple anymore after my previous macbook screen died 2.5 years in and they were asking almost 1000€ to fix it. But I could not find an option that would match the 16" macbook laptop. I was considering the build quality, screen size and its resolution, battery life, usb type-c charger, trackpad experience and the overall software support that I will expect from a daily driver to do my web development work. I was seriously considering the dell xps 15 9500 that launched this year, but I saw a lot of feedback about generally poor battery life on linux and some cases of trackpad problems.

I was thinking about getting a second, cheaper device like System76 Pangolin and see how it works and use this as a transition to a different platform instead of going all in by immediately switching the daily driver.

vmchale|5 years ago

Yup, I envy the M1 but I'm on XMonad (lol) and I really wouldn't want to go back to a non-tiling window manager.

pimeys|5 years ago

Waiting to get an M1 with a custom motherboard, a fast GPU and Arch Linux installed. I doubt that'll happen with Apple, but I suspect in a few years we have some other ARM CPU that has integrated RAM and competes with M1.

For now, a Ryzen runs circles around M1 (at least with my workloads, C/C++/Rust compilation with needs for 64+ GB of RAM) if you're willing to use some more energy.

jjuel|5 years ago

i3 turned out to be a gateway window manager. Tried out all sorts of different tiling managers, and finally stuck on DWM.

brobdingnagians|5 years ago

Yeah, I didn't realize how much I'd like DWM. Once in awhile I'll try awesome or i3, but DWM seems to hit the sweet spot.

highmastdon|5 years ago

On mac there’s a window manager called yabai which I’m using and works very well. It’s a bsp (binary space partitioner) for some advanced uses as moving to other desktops it requires SIP to be disabled (System Integrity Protection) but for the basic stuff it works much much better than Magnet or Amethyst

robenkleene|5 years ago

> it is ultimately quite silly that you need to use special URL schemes and workflows to open a text file across different apps.

Curious what you mean by this? Which additional mechanism does Linux (or i3?) have for opening a text file between apps?

Out_of_Characte|5 years ago

There is no additional mechanism, You just open text files as many times as you want with any program. (Unless I misunderstand the parent comments)

j7ake|5 years ago

Nice story thanks for sharing!

Is it easy to reconfigure keyboard shortcuts like cmd+C for Mac but ctrl+C on Linux? I have spent way too much time trying to do it on Ubuntu and it has made it hard for me to make the switch.

stfwn|5 years ago

In macOS it is not entirely clear to me what category of things the cmd key is for. On one hand it's used for keyboard shortcuts related to window management and the system, but on the other hand it's also used to issue commands to the application itself.

In i3 you assign a $mod key, which then always and exclusively used for 'system and window management'. Opening, closing, moving and resizing windows, switching workspaces and showing toolbars is all done with some key combination that starts with $mod.

Since reading and writing the clipboard is done by the application, in my brain it should not involve $mod. So I use ctrl+c and ctrl+v for all applications. The one exception is the terminal, in which ctrl+c terminates programs. So there I use ctrl+shift+c. I also unified the register vim yanks to with the system clipboard, so for me most copying and pasting that happens in the terminal is done via `y` (yank) and `p` (paste).

A more straight answer to your question is: yes, you can remap everything to bits. You can modify what keypress each keycode should trigger, so there is really no limit to what you can do there.

gorgoiler|5 years ago

Get your keyboard setup as close as you can with whatever tools seem comfortable (eg gnome settings) and then dump the layout to an XKB file.

Now you can make the tweaks you need, and load them automatically next time with a call to xkb in your .xsession.

Linux and GNU and Xorg et al may be heterogenous and weird, but the joy of an open system is that if you want to take it apart and tweak it, you can.

wincent|5 years ago

I'm trying to work through this lately and finding it hard: findings so far — https://wincent.com/wiki/Modifier_keys

Biggest hurdle is finding a clean way to do application-specific overrides, because even if you can get the general case working right, there is a lot of per-app variation.

vmchale|5 years ago

I use XMonad and it has some ability to reconfigure such things. Not sure what the general solution is.

llimllib|5 years ago

No, in the general case it is infuriatingly impossible

wlesieutre|5 years ago

FWIW iOS allows apps to to permanently have access to a file or folder in another app's sandbox, they just have to get permission for it.

jtxx|5 years ago

Wild, this is the path I went down and it was just 3 months ago! I didn’t expect Fedora to become my daily driver so quickly.

pacifika|5 years ago

What are you using as replacements for keyboard maestro and hazel?

stfwn|5 years ago

These are exactly the type of silly applications that are needed on macOS because the OS too locked down, or at least not made for people who like to do this type of stuff.

On Linux, almost all native applications keep their data in regular, non-proprietary files on the file system. This means your data always exists separate from the applications and you can do with it what you want. If you want to run a script every Monday at 3PM that sifts through your ~/downloads folder and uploads the top 10% largest files to a server, except in January, on Easter, when when your drive is below 70% capacity, if it's not hooked up to power, and also not if Kanye West tweeted something in all caps, you can do that. You can make it retry every 42 minutes if conditions weren't met, email Bob and message Alice in Slack about it. You can make it machine learn your behavior and pick a window within 3 hours after sunrise, log the bandwidth usage, and have it play a tune for your friend's MPD server on the other side of the country.

Why you would want to do all of this is beyond me, but odds are you want to do one of these things at some point. Then Hazel won't be able to do it because they didn't consider your use case, that functionality is only available in version 6 (pay up for the upgrade!), Apple didn't provide the right API, or they recently took it away in the name of security. Surely there's another app that can do it, but that one can't do the other thing! Oh well, maybe the next version?

On Linux, you dream up the code in the language of your choice and it will work forever. Your learned skills will transfer one-to-one to programming you do for your job or hobby, instead of being weirdly specific and locked down to this one, overpriced app's clickity click interface. The OSS mentality of interoperability and doing one thing well almost guarantees there are battle-tested tools available that can solve pieces of your specific puzzle, while not locking you in to their way of doing things.

Of course scripting is not exclusive to Linux, but it is the only OS that was and is built with it in mind.

enragedcacti|5 years ago

I'm not a MacOS user so I don't know all that much about keyboard maestro's feature set, but with i3 all of it's keybindings are configured dynamically through the config file so you can map any keybind you want to invoke an arbitrary program. It won't come nice and prepackaged but you can do a whole lot just by using included tools and i3-msg, which lets you manage i3 windows programmatically.

gpanders|5 years ago

Disclaimer: self-promotion

I wrote and maintain a FOSS Hazel-like tool called pushbroom [1] that works on both macOS and Linux. It’s worked extremely well for me for several years.

[1]: https://sr.ht/~gpanders/pushbroom

astrostl|5 years ago

Aside: I just started using KM to implement Gmail shortcuts in Mail.app because I'm sick of the direction of third-party mail applications, and I'm super-impressed by it. Seeing the two mentioned in the same breath made me think Hazel must be important, and it solves a great need for me as well. Thanks for the tip!

doctorbaum|5 years ago

What distribution?

zamalek|5 years ago

If you're asking for a recommendation: Ubuntu, Fedora or Elementary. Manjaro is good if you're okay with occasional instability (due to rolling releases).

My experience has been much the same switching from Windows after the past month. The Linux desktop is better.

krebs_liebhaber|5 years ago

[deleted]

wwright|5 years ago

I don't mean to bring back the forum lifestyle of the 00s, but this is just plainly FUD. Linux does not cause hardware issues like this with any high frequency (of course it may occasionally, but any software will damage that hardware eventually). I've installed Linux, and helped others install Linux, on dozens of machines over my life. I've worked with others who install Linux on everything they touch. I've literally never heard of a story like this.

So it is POSSIBLE that Linux might have caused your issue. Your computer repair guy, however, is probably just wrong. And I would personally guess that your damage was due to power or environmental issues rather than Linux.

dhruvdh|5 years ago

Any computer repair shop that says "Linux destroys computer Hardware" and "not allowed in his Shop" is clearly trying to scam you.

Also, If the computer stopped working entirely and did not even boot how did you spend hours fighting it?

If you have a malfunctioning CPU/RAM it should not be possible for you to "try to reinstall linux". What would happen I think is failure to boot and your laptop playing a certain sound as a diagnostic message.

Either way, you should refrain from making comments like "avoid Linux like a deadly disease", clearly you've messed up the installation process. You could've just chosen a one-click install linux distribution.

If you don't know how to make a chair, don't try to make yourself one. And if you do don't blame the people that gave you the wood. It wasn't even sold to you, you grabbed some free wood.

ruste|5 years ago

I've been using linux for over a decade and never even _heard_ of this or something similar happening. AFAIK the only typical way to configure these things is through the BIOS, well below the OS level. It sounds like something got borked and the computer repair shop decided it was easier to blame linux than to figure out or explain what happened.

zxexz|5 years ago

It would be truly impressive if the thousands of developers of the Linux kernel had, over the course of 30 years, managed to create an operating system that physically destroys your computer. I've half a mind that this comment is meant to be humorous.

Anyway, sounds like your computer repair place was looking for a quick buck. At the very least, they have no idea what they're talking about.

fipar|5 years ago

Let me add my own anecdata: I've been running linux on machines since 1998, and I've never experienced a failure like the one you describe. In fact, the only hardware failures I've experienced have been external (usb) hard drives failing after a few years, and a laptop keyboard failing after someone spilled tea on it.

In terms of what the repairman told you, when I called Compaq's support to get help with the keyboard, once the person on the other side of the line heard me say I was running linux on it, he said "that's your problem". I had to reiterate that my problem was someone spilling tea on it, and that I had been running linux on this particular laptop for almost 2 years without any keyboard issues, thank you very much. In the end, Compaq told me they didn't have spare parts, and the keyboard started working again after letting the machine dry up for a few days (that was the last time I bought Compaq though!).

My point is: computer repair and tech support people are almost programmed to find out something that they're not responsible for and that could explain your problem. I don't hold it against them, I think it's a normal bias, but I would never take linux advise from a repair person, unless they work on a linux shop.

burnte|5 years ago

I can't tell if this is poor satire or trolling, because I REALLY don't want to believe there's someone on HN that actually thinks any of that is even REMOTELY true.

dkersten|5 years ago

I’ve been running Linux on and off on a variety of hardware since the early 2000’s and it has never ever caused any hardware damage. Also, if “Linux kills hardware” do you really think the cloud providers like AWS would be running Linux on all of their hardware? The only hardware failures I’ve ever had to deal with were when running Windows.

Sounds like you have a computer repair guy who doesn’t know anything about Linux and is bullshitting you.

I also don’t understand how your installation process was painful. Installing Ubuntu or Manjaro (the two I’ve installed most recently and most frequently over the past few years) is simply a few clicks for me and everything’s done. It really wasn’t any harder than the last time I installed OSX or windows.

klibertp|5 years ago

Linux CD, author being current "high-school senior" (from the profile), and "my lawyer said"...