News for hackers. Stuff that matters.
Re:New MacBook Air by ctvo on Wednesday March 18, 2020 @12:20PM (#22618298)
This is underestimating modern processors and overestimating programming compute resource usage.

Your post may apply if we're working with 4K+ resolution video files, rendering and other activities, but the modern programmer, even compiling binaries, will be fine on a MacBook Air.

How do I know?

I use a 2 generation old Macbook as my primary personal development machine. I write Go, Rust, Java and TypeScript using the common tool chains for all those languages.

Re:New MacBook Air by ben174 on Wednesday March 18, 2020 @02:51PM (#22619976)
Generalizing "programming" is a fools errand at this point. For some, their IDE alone would warrant a pro-spec machine. Some people need to virtualize their development environments. Some people need to virtualize several environments interconnected. And for some people, programming is just a simple terminal session with tmux running - VIM on one screen, shell in another, tests in another.
Re:New MacBook Air by lliamander on Wednesday March 18, 2020 @05:30PM (#22621433)
I totally agree that you can't fit all programmers into one bucket. I think we should be able to describe some general patterns in programmer workflows such that we can give concrete advice to programmers about what kind of hardware they would need.

A perfect example of this the recent Level1Techs video about compiling an Unreal engine game using the AMD Threadripper 3990X[1]. Some concrete advice:

1. Often the heaviest aspect of a programmer's workflow isn't compiling the code, but running automated tests using VMs and stuff

2. compilers tend to benefit from large cache sizes and good single-threaded performance. Multi-threaded performance only makes a difference in limited scenarios.

I've also heard that storage performance, and in particular storage latency, can make a big difference on compiler performance, but the difference is starker on Windows than on Linux because NTFS is a lot slower than many Linux file systems (EXT4, XFS, etc.).

The thing is, we as programmers don't have a good mental model for how the software tools we use (IDEs, virtualization/docker, compilers) scale with modern hardware, and very few technology reviewers are producing content that would help us understand.

[1]https://www.youtube.com/watch?v=VQa6r6Ci1jg

Re:New MacBook Air by geerlingguy on Wednesday March 18, 2020 @12:29PM (#22618398)
You haven't been forced to deploy something that builds a local K8s cluster and builds and runs 10+ containers just to get a microservices app up and ready for development, I see... (only partially /s).
Re:New MacBook Air by ctvo on Wednesday March 18, 2020 @12:54PM (#22618689)
That's a good point, and outside of my personal development workflow. Condolences!
Re:New MacBook Air by godelski on Wednesday March 18, 2020 @07:07PM (#22622440)
I don't get this argument. Run local for basic testing, else use it as an ssh machine. I work with super computers. The power of my development machine usually doesn't make much difference, I spend a lot of my time ssh'd anyways. So if something has a nice screen, good battery life, and a comfortable keyboard then I'm good. As long as it works for presentations and can compile my latex files, I'm good.

I don't see Airs as development platforms. They are portable platforms.

Re:New MacBook Air by baddox on Wednesday March 18, 2020 @01:44PM (#22619260)
It doesn't even take that much. Docker Desktop on MacOS is widely known to be terrible and have extremely poor performance. Running webpack-dev-server with filewatching through Docker nearly grinds my 2017 Macbook Pro to a halt. Obviously most node/webpack/JS stuff can run natively on Mac but it's not uncommon to see dev stacks that dockerize everything because that's how the production stack works.
Re:New MacBook Air by bdcravens on Wednesday March 18, 2020 @02:17PM (#22619635)
You can improve this substantially on MacOS using docker-sync (the issues with Docker performance on Mac are primarily related to the file system)

I wrote a little about this; it's for Rails but the same ideas apply:

https://medium.com/@bdcravens/fixing-docker-for-mac-and-rail...

Re:New MacBook Air by baddox on Wednesday March 18, 2020 @02:34PM (#22619803)
docker-sync helps a little bit, and so does limiting Docker to 1 CPU core, but I still routinely get spurts 100% CPU from Docker that despite supposedly being on 1 core still grind my machine to a halt.
Re:New MacBook Air by emerongi on Wednesday March 18, 2020 @01:57PM (#22619410)
I often have up to 10 VSCode editors, an IntelliJ window and two browser instances open.

Add some server processes, UI watchers/builders, and my Thinkpad starts to freeze up. In an ideal world, I would have a low-latency remote desktop going, but even in 2020 it seems like a pipe dream.

Re:New MacBook Air by oarsinsync on Wednesday March 18, 2020 @04:49PM (#22621094)
I’ve been using paperspace cloud machines with parsec for low latency Remote Desktop. Originally used it for gaming. It’s remarkable how good it is for everything else too.

5ms encoding lag, 10ms network lag, totally workable.

Re:New MacBook Air by noir_lord on Wednesday March 18, 2020 @04:42PM (#22621031)
That's my work pretty much except not k8s but it does spin up between 4 and 8 containers (depending on which system) some of which require 4GB of RAM or more (don't ask..).

On the flip side standard issue laptops are now 16" Macbook Pro's with 32GB of RAM which is pretty hardware.

Re:New MacBook Air by TheKarateKid on Wednesday March 18, 2020 @06:11PM (#22621832)
Just because there are needs for high-end CPUs for some developers it doesn't mean that all programmers need them, as OP's comment implied.
Re:New MacBook Air by thedance on Wednesday March 18, 2020 @12:43PM (#22618566)
Well my "programming laptop" spends all of its CPU these days on corporate garbage such as splunkd, which regularly melts down, some kind of corporate managed software updater which is terrible, Zoom, and trying to render dashboards from Grafana which is among the most flagrantly wasteful javascript hacks ever devised. It doesn't help me much that vim and screen are efficient.
Re:New MacBook Air by asdkhadsj on Wednesday March 18, 2020 @12:35PM (#22618464)
In fairness, as a Rust dev my computer sounds like it's a jet engine anytime I compile. I wouldn't even think about using a slimmer CPU. Not that you're wrong, it's just where my head is at haha.
Re:New MacBook Air by chrisseaton on Wednesday March 18, 2020 @01:21PM (#22618976)
I thought the same thing, but then I got a MacBook Air and couldn't believe how slow it was in practice. I didn't know if it was thermals or memory bandwidth or something, but Java compiles which used to take 5 minutes would suddenly take 30 minutes and it just wasn't even really tractable to use.
Re:New MacBook Air by ksec on Wednesday March 18, 2020 @08:39PM (#22623107)
Generally speaking If you need any heavy computational workload for more than a few min the MacBook Air doesn't fit. The 3.4Ghz Boost only works in seconds and it long run it could only sustain at about 2 Ghz.

Not to mention previous MacBook Air were Dual Core only.

Re:New MacBook Air by swah on Wednesday March 18, 2020 @06:49PM (#22622240)
Even Chrome brings my machine to a halt. I've been running Docker recently and 8Gb of ram is instantly gone. Sometimes I think most folks are simply more patient with their computers, and will wait a few seconds for operations to finish, while I get a feeling something is taking too long and start messing around with ps aux, killing processes and such...
Re:New MacBook Air by tlarkworthy on Wednesday March 18, 2020 @07:06PM (#22622428)
You can lower docker resources in a settings. I use it on my air.
Re:New MacBook Air by mm89 on Wednesday March 18, 2020 @02:05PM (#22619499)
I agree with you :) but let's not tell the employers who gladly buy the top-of-the-line models for their programmers ;) I am quite happy with my new 2020 MBP.
Re:New MacBook Air by tommoor on Wednesday March 18, 2020 @01:02PM (#22618795)
programming != running a text editor.

A lot of usecases involve running a replication of the server environment locally in resource intensive containers

Re:New MacBook Air by VLM on Wednesday March 18, 2020 @03:54PM (#22620573)
I'm lucky to have development access to a small slice of a very large vmware cluster.

I'm surprised no one else operates this way.

The performance gains are immense.

Re:New MacBook Air by semi-extrinsic on Wednesday March 18, 2020 @04:29PM (#22620917)
Or how about just having a workstation at work? E.g. the Dell XPS 15 is a very popular laptop, but an equivalent cost workstation is around 8x faster for sustained well-parallelizable loads. Use a KVM switch with your work monitor, or use it as a headless server, do whatever. Want to work on machine learning stuff? Throw in an RTX 2080 Ti, off you go, never worry about cloud costs. Are you I/O bound? RAID0 off a couple NVMe drives.

It's immensely flexible and I'm surprised it's not more common.

Re:New MacBook Air by nine_k on Thursday March 19, 2020 @01:41AM (#22624844)
It's more cost upfront, which is often a show-stopper. "Why can't you spin a beefy instance on EC2 when you need it for these 2-3 hours of intense work? It's so much cheaper!"

Also, a cloud VM, if it breaks, is replaced "for free" and "instantly"; fixing a physical machine has a cost and is a delay. Unless you're big enough to keep a spare (probably makes sense for many dozens of machines), it also looks a bit uneconomical from the business's POV.

Never mind that your cloud costs in a year end up being comparable to said workstation.

Re:New MacBook Air by lliamander on Wednesday March 18, 2020 @05:36PM (#22621480)
That was my experience at previous employers, but not my current one. We have some shared test environments in the cloud, but individualized test environments are discouraged. They're in the process of rolling out more powerful workstation laptops to provide us with enough horsepower to do testing locally.

That's why I'm tempted to build a custom workstation at home: so that I always have access to the compute resources I need to do my job.

Re:New MacBook Air by ithkuil on Wednesday March 18, 2020 @05:05PM (#22621240)
Sometimes latency issues. I work from home office.
Re:New MacBook Air by cameronbrown on Wednesday March 18, 2020 @05:17PM (#22621339)
Don't we all :)
Re:New MacBook Air by viraptor on Wednesday March 18, 2020 @04:57PM (#22621172)
There are other people who operate that way. But lots of them use AWS or some other provider for that instead of local resources.
Re:New MacBook Air by lliamander on Wednesday March 18, 2020 @01:18PM (#22618949)
I'm using a 4-year-old Thinkpad with a dual core U-series i7 and 32GB or RAM. The results are...adequate.

A typical compile for me takes about twice as long compared to colleagues with newer H-series processors, but the individual projects are pretty small so that often isn't a huge deal.

However, once you try and run nearly a dozen docker containers for local testing, things slow down quite a bit. Multitasking while those tests are running is very difficult.

Re:New MacBook Air by Fredej on Wednesday March 18, 2020 @01:25PM (#22619024)
Yeah, I'm writing C++ on a 2013 Macbook Air. This would be a _huge_ upgrade for me.
Re:New MacBook Air by tjoff on Wednesday March 18, 2020 @06:50PM (#22622250)
That is peanuts. Have you tried opening a browser and surf the world wide web?
Re:New MacBook Air by dzhiurgis on Wednesday March 18, 2020 @04:44PM (#22621048)
Depends on what IDE you use. Webstorm pushes even my octacore pretty well. Sure, some people prefer to work like it's still 60s tho.
Re:New MacBook Air by closeparen on Wednesday March 18, 2020 @09:26PM (#22623396)
Compiling routinely pegs all 12 cores on my top-spec MBP for 5-10 minutes at a time. YMMV.
Re:New MacBook Air by foobaw on Wednesday March 18, 2020 @10:30PM (#22623798)
What about large excel files with a bunch of pivot tables and v/xlookups?