Hacker News new | ask | show | jobs
by 6d65 2025 days ago
Yep. Mac's look like a comfortable unixy environment. Preinstalled zsh, a fast terminal emulator (item), gnu utils. I'm sure I could make it work as a dev machine.

I have to admit that m1 macbook air battery life is compelling. A long time ago I was thinking about a perfect laptop that would be very light and have a 20+ hours of battery life. This comes close. Even though I have never used a laptop more than 5 hours on battery. And that happens a couple of times a year.

Hope you'll enjoy your m1 air.

1 comments

Thank you. I’m really excited about it. Using a different CPU architecture is always exciting. :)

Using Mac is like driving an Audi S8. Comfortable, smooth, powerful. However, it's not your hand tuned Impreza which can read your mind while going above 200Km/h.

Even an Intel MacBook pro can go a long time on battery (I have a personal Mid2014, configured all-out). I've developed some system-abusing scientific code on it and, it really delivers.

The trick for me is, I can make a Mac dev machine without modifying it with homebrew, et. al. I install a Linux VM to VMWare, give it a static IP, install all required tools, servers and services on it. On the macOS side, I use Eclipse for IDE and use clang/llvm for compiling (since I also aim to code which behaves same on both gcc and llvm).

I develop on macOS and interface it with Linux VM via network if it's absolutely necessary. Linux VM also hosts some heavy tooling like LaTeX which cannot be installed/updated on macOS very cleanly (I know macTeX. It doesn't play nice with newer macOS, due to Apple's locks on the OS).

Then everything becomes transparent for me. Pull -> Develop -> Push in either direction. Eclipse already syncs itself via oomph and cloud. Code is portable, environment is same. It also ensures code compatibility, allows me to see compiler effects and run tests on many platforms.

As aforementioned, it also inspires me to write better software. My code carries Apple's sensible defaults and it-works mentality with Linux's flexibility options. This approach allowed me to create a series of utilities for a project in limbo. These small no-setup utilities saved a lot of labor and ultimately saved the project. So yes, apple is a walled garden and it's not optimal but, they do a lot of right things. We can selectively carry them to more open platforms to make them better. Similarly, open platforms' flexibility can be carried to some macOS applications so, the environment better accommodates power users out of the box.

Homebrew and other tools are nice but, I don't like to shoehorn stuff which doesn't fit natively into an ecosystem.

> I know macTeX. It doesn't play nice with newer macOS, due to Apple's locks on the OS

I’ve been using LaTeX from /opt/local with zero integration issue, even on Big Sur. What are the issues you’re alluding to?

Otherwise, I agree with your take in general, except that I do everything you do in a Linux VM directly in macOS. I develop and run my codes on a Linux workstation and an iMac, and going back and forth improves the codes a lot. Performance and usability issues are spotted much earlier.

I much prefer Macports’ approach than Homebrew’s. It is nicely self-contained in /opt/local, does not break when a system library is updated, and the file system layout is much saner. Just update your environment in zshrc and you get all the benefits whilst not changing anything for all the stuff that you don’t run in a terminal.

In the past, MacTeX team had a problem with a particular OS release (when SIP was released and enabled) and, I was in the middle of my Ph.D. At that time, had no time to wait for problems to resolve. I got VMWare, installed Linux, tuned my LaTeX environment and never looked back.

I'm sure that all the problems are resolved by now but, my workflow is mature now and everything is working flawlessly. Considering I'm going to need Linux anyway, did no efforts to move my LaTeX workflow back to macOS again.

Since the code I'm developing is going to be used in a lot places, I'd rather develop it in two distinct environments and run tests on each. Also, I like to experiment with different development tools on different environments. Experimenting and experiencing each environment broadens my horizon. Also it's more enjoyable IMHO.

Didn't play with Macports TBH. I don't think I'm going to use it but, will take a look to it.

Another thing is, I don't customize/change my terminals much. When you manage 1000+ servers with a team, customizing each terminal to your liking is not feasible so, I can work pretty fast with stock bash or anything. I'm old school and don't like flashy console setups anyway. :D

> In the past, MacTeX team had a problem with a particular OS release (when SIP was released and enabled) and, I was in the middle of my Ph.D. At that time, had no time to wait for problems to resolve. I got VMWare, installed Linux, tuned my LaTeX environment and never looked back.

I feel for you; the middle of writing up a PhD is about the worst time to have this type of technical issues. I remember being afraid of any update back then.

> Didn't play with Macports TBH. I don't think I'm going to use it but, will take a look to it.

To me, Macports is the closest to a sane package manager like on FreeBSD or most linuxes. There is practically no learning curve if you’ve already used one. But yeah, it’s not flashy or cool like Homebrew and it wants to use the system software as rarely as possible so it will reinstall zlib etc. I think the trade off is acceptable because then everything is more stable and predictable as the exact libraries used are known and tested, and won’t be broken by an update.

> Another thing is, I don't customize/change my terminals much. When you manage 1000+ servers with a team, customizing each terminal to your liking is not feasible so, I can work pretty fast with stock bash or anything. I'm old school and don't like flashy console setups anyway. :D

Yeah. In terms of looks, have simple settings to see at a glance if I am on my local computer, a workstation over the LAN, or a cluster somewhere else (I like clean terminals). I have one git repo with settings files and zsh modules though. So I spent quite some time fine tuning everything, and all the computers I use behave the same, whether they run macOS or any Linux distro (or even Cygwin, actually).