AstonJ

AstonJ

Mac Users Thread

Welcome to our thread for Mac users :smiley:


  • Windows users please use this thread
  • Linux users please use this thread
  • For those who dislike one platform or another, maybe post those thoughts on Reddit, or somewhere similar :lol:

Most Liked

dogweather

dogweather

IMO, the “Mac OS feel” that developers love comes down to:

  1. Control over the UI,
  2. Consistent user experience, and
  3. Dev-friendly choices.

Windows controls the desktop, but only has so-so consistency (many windowing toolkits in evidence in the OS). And the choices aren’t dev-friendly (more below).

Linux has nearly zero control over its own UI: The Chrome browser, for example, refuses to follow standard keyboard shortcut for Quit and other functions. Built-in apps like the Gnome Software store don’t support Page Up/Down correctly, and also have issues with Quit and Close Window (!). Various versions of KDE Linux gain, and then frustratingly lose, the ability to adjust the mouse scroll speed. Finally, Linux copies Windows’ anti-dev-friendly UX designs.

MacOS, on the other hand, stands out above these:

  1. Like Windows, MacOS has absolute control over the machine, in design and function. Chrome Browser responds to gestures and keyboard shortcuts just like Safari.

  2. 99.99% of apps behave in the same predictable ways. It’s rare (or impossible?) to find a user-level difference due to toolkit changes.

  3. MacOS provides an extremely friendly dev experience: It’s the only OS that provides Bash(emacs)-style keyboard shortcuts in every text input field in every app. (A weaker, not as usable version of this can be enabled on Linux via Gnome Tweaks app.) It’s the only OS that provides Quit, Copy, Paste, etc. keyboard shortcuts across every app, including the terminal. It does this by smartly, in an opinionated manner, using e.g. Super-C for copy everywhere, instead of the Ctrl-C / Shift-Ctrl-C pair used by Windows and Linux. This frees up Ctrl key in terminal for dev and coding uses.

    Another example is the global shortcuts for next tab / previous tab. The MacOS choice keeps your fingers close to the home position: Super-} and Super-{. I find this much more consistent and comfortable than the Windows & Linux keys, Ctrl-PageUp and Ctrl-PageDown. Those always make me stop and hunt for the right keys, especially on a laptop.

Now, me personally? I’m typing this on a Dell XPS tower running Fedora, heavily modified to act like a Mac with AutoKey and a keyboard whose keys I’ve slightly re-arranged. I have global mappings for Super-C, etc., and a separate set of mappings for obnoxious apps like Chrome. Further, I use the imwheel hack to adjust the mouse wheel scroll speed. It’s a fragile setup, but this is what fits my budget at the moment.

egze

egze

Started 12 years ago as a Ruby developer. Mac support was really good for Rails, also there was TextMate. This editor is so good, I still use it daily. Also for webdev I needed Adobe apps.

In general I think the quality and design of Mac apps is unbeatable. And also I‘m too invested now in Apple ecosystem to even think about switching.

sasajuric

sasajuric

Author of Elixir In Action

After three months in, I’m still happy and don’t miss mac. But ask me again in a few months :slight_smile:

I feel that my RAM demands are significantly smaller on Linux. On Mac, I was constantly struggling with 16GB, while these days I rarely go above 8GB. To be fair I’m working on different projects, so this comparison is really shallow. Either way it feels that 32GB should serve me fine for the next few years.

In any case, the new MBP looks great, and I’m happy to see that Apple is going back to producing quality stuff :slight_smile: If the docker experience on macos is improved, I might consider moving back at some point :slight_smile:

Where Next?

Popular in Dev Env & Tools Top

renews
Hello everyone, today I created a simple Neovim plugin to check for new versions of packages used in the project, not sure if it is usefu...
New
funboy
Hi, I built a small utility tool mainly for running test partitions, generating coverage reports, and rerunning failed tests across all ...
New
sodapopcan
I just placed on an order for my first mechanical watch since I last wore one in my mid 20s which was… oh boy, technically decadeS ago (t...
New
New
PJUllrich
I built a devcontainer that makes it safe(-er) to run Claude Code in YOLO mode (--dangerously-skip-permissions) on Elixir&Phoenix pro...
New
AstonJ
Not sure I’m going to upgrade myself yet, but curious what others think: How are you finding it for dev? What are your thoughts of it g...
New
AstonJ
While on the theme of routers: Is your computer's internet connection wired or wireless? (Poll) Which router do you use? How do you se...
New
law
/an-aside Why is it not completing the module name too? Atom’s does. Also why does it not fill in the arguments with defaults that yo...
New
AstonJ
Following the Is your computer's internet connection wired or wireless? (Poll) I thought it might be an idea to have an accompany thread ...
New
AstonJ
How fast is your internet connection? (And how much do you pay?) You can test via www.speedtest.net and to embed results into your post...
New

Other popular topics Top

electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 43806 214
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 127536 1222
New
sergio
Kind of like when jquery came out, it was super necessary. Existing drag and drop libraries have a bunch of baggage to support old browse...
New

We're in Beta

About us Mission Statement