An app for M1 Macs that plays the sound of a fan as CPU usage goes up
fanfan.rambo.codes
fanfan.rambo.codes
When I'm using a laptop, especially doing real work, they heat up, the fans go crazy, the laptop is hot to the touch and everything slows down.
It almost makes you anxious. You're wondering if it's about to crash or go on fire.
I've always kept a Desktop PC on the go for this reason, a well cooled desktop just doesn't have these issues. With a laptop, I always feel like I'm compromising a bit.
I got an M1 Macbook Pro recently and it just doesn't have these issues, I fire up my whole dev environment and get busy, and it's still quiet and (mostly) cool, and I can't notice anything slowing down.
I don't care so much about the architecture differences, x64 vs ARM etc, but the fact that I can finally use a laptop like a desktop is massive.
It’s quite surreal the big Xeon server (an actual server, with optional rackmounts) with lots of spinning rust under the desk is still much less distracting.
I am speculating here as I don’t know for sure, but I remember iOS started as a derivation of OSX so this may be the case for macOS as well. So I think it’s not your imagination, it’s a different input and render architecture than windows or android.
Can you elaborate on this? If you do too much work on the main thread in iOS, it's going to hang the UI. Isn't the main thread the "render thread"? Do scroll views have some kind of special escape hatch to get off the main thread for continuing to scroll if the main thread is blocked with loading the content?
Some Android phones really have input lag, but it is not caused by CPU load. For example, on my phone, there is approximately 100-150 ms lag between tapping the screen and registering the touch. The lag is not caused by CPU load, but by slow touch sensor.
I don't think Apple has any smart code optimization tricks. Either they have a faster touch sensor or just some people believe that if something is made by Apple then it is of a better quality.
Here is a comparison of input lag in games in iOS and Android [1] and it shows similar results: 80 ms between a tap and reaction on screen.
[1] https://blog.gamebench.net/touch-latency-benchmarks-iphone-x...
The scrolling animation is 99.9% of the time implemented as a client-side animation timer submitting non-animated hierarchy updates to the server. It’s common to have janky scrolling.
Is that how all these third party iOS apps all have completely consistent “pop” animations on long press?
On-topic: they should build an M1 app that simulates loud coil whine at low-CPU usage, so you can feel like you're using a Dell XPS.
I'm using a tiling window manager with mostly GTK apps, so pretty much all menus and such look the same. The worst offenders are Firefox and IntelliJ, although they have improved a bit lately.
However, I'm not sure that this is the reason for lack of adoption. Windows has always been a patchwork of interface design, every other app having their own special window decorations and behavior, including MS' own apps (thinking of Office in particular). Also, seemingly similar elements, such as text inputs, behave differently in different places. For example ctrl-backspace sometimes deletes the previous word, sometimes it introduces random characters.
Basically, it's like an iframe — you declare what contents this portion of screen should have, and the render server composes it onto the screen. The render server is shared between all apps (just like in X11), so it can compose different apps with dependent effects (like blur). Apps don't have direct access to the render server's context, just like a webpage doesn't have any way to extract data from a foreign iframe.
You might be experiencing the mini-LED effect where the back lighting is regionalized, which isn’t ghosting but can be noticeable.
If you have the 12.9” M1 iPad, the ghosting is likely due to the new miniLED backlight which was introduced with that model.
This backlight is not static, but tracks to content in order to increase effective contrast (similar to FALD backlights on higher end LCD TVs). If the backlight does not track the LCD content fast enough, there can be ghosting.
In addition, since the LEDs are large compared to pixels, you can sometimes see haloing, particularly in small bits of white on a black background.
Overall, while the display is great for video, especially HDR video, it has some problems with UI and (white on black) text.
120hz is something you don't notice much when you enable it, but you definitely notice when it's gone.
The thing macOS on M1 does very cleverly is scheduling threads on cores. IIRC all UI threads run on high-power cores, while all background tasks run on low-power ones. So they never interfere with each other. iOS probably does the same; Android probably does none of this.
This feature has been in the Linux kernel for ages[1]. Android and ChromeOS are based on the Linux kernel, and have had this feature for quite some time. This is nothing new.
[1] https://community.arm.com/developer/ip-products/processors/b...
As with most of Linux's rough edges, however, this is trivially fixable if you're technical enough. Of course, that's exactly macOS's advantage. If you want the best experience on macOS, you don't need to be technical.
Personally, I run Linux with a tiling window manager and lots of custom keybindings and little scripts. Having used the default macOS experience a few times at work (on machines far more powerful than my dinky laptop), I can assure you that my highly customized setup feels far more responsive. On the flip side, it required a lot of up-front investment to get it to this point.
I think the main advantage with macOS is that it's above all else a system designed to be used interactively, as opposed to a server, so they don't have to put out a configuration "good enough for most things".
I also run Linux with a tiling window manager on an old machine (3rd gen i7), and it flies. One thing that made a huge difference in perceived latency for me was switching the generic kernel with one having Con Kolivas' patch set [0].
I'm using Arch and sign my own EFI binaries, so I don't care about out of tree patches, but for Ubuntu users and similar who don't want to mess with this, there's an official `linux-lowlatency` package which helps [1].
---
[0] https://wiki.archlinux.org/title/Linux-ck
[1] https://packages.ubuntu.com/search?keywords=linux-lowlatency...
https://donhopkins.medium.com/the-x-windows-disaster-128d398...
It's funny to read this in an era when smartphones come with 6 GB of RAM to compensate for developers' laziness and unprofessionalism.
I don’t know for sure the processor is the difference, this is just a report of my observations.
The M1 processor makes a real difference. I have both the M1 and the most recent non-M1 iPad Pro's.
https://www.extremetech.com/computing/261148-modern-computer...
Anyway, is it any better on displays that have a higher refresh rate? I feel like it should make a substantial difference.
All CRT displays attached to computers in the last 40 years were driven from memory buffers just like LCDs, and those buffers were typically only allowed to change while the electron beam was "off", i.e. moving from the bottom of the screen back to the top. Letting the buffer change while the beam is writing results in "tearing" the image, which was usually considered a bad thing.
Video game aficionados would like to have a word with you:
https://www.wired.com/story/crt-tube-tv-hot-gaming-tech-retr...
To be fair, much of this is the color and shape rendering, where pixel art had been tailored for CRTs.
Twitchy gamers do swear by “zero input lag” but are perhaps just nostalgic, difference is likely to be 8ms vs. 10ms:
“Using the industry-standard definition of input lag, 60Hz CRTs don't have 0ms input lag. 60Hz CRTs have 8.3ms of input lag…”
https://www.resetera.com/threads/crts-have-8-3ms-of-input-la...
If we shift the discussion to vector CRTs (which have no pixels) such as the one the old Tempest [0] game used, the CRT has a major advantage over an LCD and the lag can in principle be whatever the application programmer wants it to be. I miss vector games and there's really no way to duplicate their "feel" with LCDs.
Back when I had CRTs, 60Hz displays were the older, less-common, cheapo option. I'm having a hard time remembering a CRT display that wasn't at least 75Hz (I believe this was the VESA standard for the minimum to be flicker-free), but most of the monitors I used had refresh rates in the 80-90Hz range. I remember a beautiful higher-end CRT that had a refresh rate around 110Hz.
85Hz gives you a frame time of 11ms, which doesn't sound much better, but is a 30% improvement over 16ms.
This is exactly the same as LCDs though, no? LCDs are also drawing an entire frame at a time, they're not "random access" for lack of a better term. There's just typically no image processing going on with a CRT* though, so there's no inherent latency beyond the speed of the electron gun and the speed of light.
*I'm aware there were some later "digital" CRT models that did analog->digital conversion, followed by some digital signal processing on the image, then digital->analog conversion to drive the gun.
Best option is to use adaptive sync and get rid of vsync. But support for this technology is surprisingly not mature, it works mostly in games.
The single core performance of my 11900K is really hard to beat at 5.3GHz, and with 7 of 8 cores hitting that frequency simultaneously (which it hits all the time in desktop use) it's just buttery smooth. My guess is that you just came from an older system. The advances in CPUs (along with good compiler programmers working on that architecture's behalf) in my experience are larger than reviews and colloquial recommendations would suggest.
But in this case it was used as "desktop computer", which sounded strange to me as I consider laptops, however portable, to be personal computers.
You don't think Apple's marketing is behind the aforementioned recent trend; do you?
The whole reason the phrase "IBM PC" existed was to differentiate it from the other PCs that already existed. "IBM" was the adjective. "PC" was the noun.
Because of its success in offices, "IBM PC" became just "PC" the same way other words like "omnibus" became just "bus" because it's simpler to say.
https://books.archivelab.org/dateviz/?q=home+computer
https://books.archivelab.org/dateviz/?q=personal+computer
Personal computer was used a lot more when books were eventually written about the era.
"Home computer" was things like the VIC-20 and the TI-99 4/A. "Personal Computer" was machines that you had in your home or office that you didn't have to share, or timeshare with someone else. Think Cromemco, Kaypro, PET, and SuperBrain.
Since then, you might refer to any of a variety of machines as "personal computers", but "PCs" only meant "IBM PCs" (or later "IBM PC-compatible machines"). In other words, I would argue that the term "PC" derives specifically from the "IBM Personal Computer", and not generically from "personal computer".
Source: I was there. :-) I haven't done the research, but I bet if you did search through Byte and similar magazines of the time, you'd find plenty of supporting evidence. (I do have a memo cube from the early '80s with the slogan "Apple II -- The Personal Computer", but I suspect that was Apple Marketing trying to fight an ultimately losing battle.)
I do disagree with the suggestion that the initialism "PC" was understood to mean "personal computer" in general before the release of the IBM PC. If that's overly pedantic, well, I'm a computer nerd; what can I say...
You're misremembering history. It eventually evolved into that, yes.
Apple didn't really buy into that until the "I'm a Mac/I'm a PC" ads.
Just saying, I definitely get the feeling Apple values form over function. His biggest issues happen when he's using Docker (the annoying Docker for Desktop version) but I also use Docker all day and dont have any issues...
My 2018 MBP 13” and the Surface Laptop I’ve tried did that well. An XPS 15 I’m currently using does not.
More specifically, HN would use less RAM than VSC would to open a .txt file.
Eh, not bad. not good; we don't know what the new goalpost positions mean yet.
What’s the catch?
I went from a mid-2015 15" MBP to 13" M1 with 8GB. I made the impulsive purchase to get 8GB ASAP rather than wait for 16GB (which was backordered). My primary apps are DaVinci Resolve, Lightroom and Photoshop. On the 15", the fans would run on full constantly. I would have to create proxy video files to work with.
On the M1, I don't create any proxies at all and the video files I work with just play in real-time.
Main catch for me is the two USB ports and one external screen limitation. I have a hub (card readers, USB, HDMI, etc) and a 10-port USB hub coming off that (with 7 external drives connected). As soon as there is a 15/16" available that handles two external displays, I will get that as well.
I dislike the TouchBar and the lone external display, but everything else about the M1 has been excellent for me.
I feel confident running the system for a while now. Seeing more software come on board. Even for the extra money, I say go. I’m a dev/product designer, most of my work is coding, product development, product management and graphical design. It does everything I need faster, no lag.
Honestly I feel like multi monitor setups are actually worse than single monitor. Having to bend your neck to use some of your windows left me with neck pain. Now I only use one large monitor and use the workspace switching shortcuts to move everything around so I only look forwards.
My productivity is identical and my neck feels better. I'd only say its worth it for when you really do need to see a huge amount at once like watching the feeds of 30 security cameras. Not for general work/programming.
Seems like multi monitor setups become more of a looks thing because they make people feel like they are sitting in the FBI command center rather than a generic office worker desk.
I can simply keep the specification/documentation/stack overflow alongside editor/IDE window alongside debugger. If I had to put the benefit in words, I can offload the state of my programming session all on screen, instead of in my head, taking space where more of the abstract logic and relational graph can reside, before it gets turned into code.
On the other hand, it gets way easier to get distracted because you can keep a chat window on one side, constantly getting pinged.
Outside of unreal, I usually find workspace switching to be a better workflow than alt tabbing my way to a window on a second screen
Designate one of them as the 'main' monitor, and put anything you need to work with for long periods of time on that. Add an office chair, so you can swiwel to look straight at the other(s) instead of twisting your neck. And you'll find there's no such issue.
My latest laptop (Ryzen 7) takes a lot of beating before putting the fans at an audible speed. I've never seen this happen in laptops before either. (But well, my last one didn't slow down either, it just started making some noise.)
The problem is now my work desktop is a 32-core Threadripper w/ huge GPU and way too much ram.
It’s kinda nice knowing that if my computer ever slows down it’s because of bad programming and not having a too slow computer.
I want to like laptops. I really really do. But they’re slower, have bad keyboards, and have tiny screens. Or I’m docked and the fact that it’s a laptop isn’t meaningful.
That said, I can’t fricken wait to see Apple build a beast of a desktop with their silicon. I just really really hope the GPU doesn’t suck. Lack of good GPU on Mac is a huge problem for certain lines of work.
You might be underestimating the value in that. I’ve been working off of MacBooks since 2011, and for almost all of that time I’ve had them docked and hooked up to multiple monitors, and working just like a desktop.
But if I ever need to go anywhere, meet a client, travel, go to another room/office, I just unplug and go. If power goes, I don’t lose anything, the laptop is still running. Whatever happens, it’s all there with me, always. It’s not as comfortable when it’s on laptop mode but it’s better to have a less comfortable experience than not having it available at all.
It’s a portable desktop. And I love it. But yeah if you’re looking for workstation-level specs, then yeah, a laptop is never going to be enough.
> If power goes, I don’t lose anything, the laptop is still running.
What kind of monster doesn’t use a UPS!? =P
I mostly work in games and VR. Maybe someday there will be a laptop that doesn’t suck for game development. Sadly that day has not yet come.
The only catch is I need to make sure my dev machine is online.
Now with neovim 0.5 with support for LSP and treesitter, neovim is on par with visual studio code.
And then someone with 4 cores tries to run the code and its unusable because it only runs well with 32 cores.
A great pet peeve of mine is that designers are notorious for only testing their designs on high-resolution MacBooks. A lot of tools look like crap on 1080p Windows displays.
The benefits of 32-cores mostly comes with compile times and build processes. Where, depending on your project, it can make a HUGE difference. One of my C++ projects went from 15 minutes to under 3.
No amount of memory will be good. The problem is not memory but inefficient programming. Desktop apps consume as much memory as possible. The only way to have a good experience is to have more memory than the average user. But then the average user catches up and you need even more memory.
Right now I have ms teams running in the background purely to receive notifications and it is using over 1GB of memory and 8% of my cpu to show me a notification window when I get a message. MS teams on my 3gb ram iphone does exactly the same job and uses no memory and no power because it doesn't even have to run to show me notifications.
I have 32GB on my laptop and I am only just above the average now but in a few years electron will have ballooned so far that 64 is the new minimum. While my 3gb iphone and 8gb ipad feel more than enough.
So you installed Gentoo, what's your problem? 8)
Kind of depends on the steady state and your target turbo frequency. I have my fans basically idle when temperatures permit it, but aggressively ramp them to full speed to keep the CPU as cool as possible so as to allow the frequency to scale up beyond spec. This results in a similar effect as a laptop fan -- under heavy load, the machine is loud. I don't really have a problem with this, at idle my computer is using ~100W, at full load, it's nearly 1000W. That's a lot of heat to get rid of, and it has to go somewhere. Having a large water cooling loop can help with the noise, but since I really only use the CPU that heavily for bursts that measure in the minutes at worse, I think it's fine.
It doesn't make me anxious but I do kind of like the feedback that things are under load. (I have the ramp-up time set pretty long, so something like "go build" that only uses all 32 CPUs for a second doesn't really trigger anything. There's enough inertia to prevent that from raising temps much.)
Its more expensive too… not sure why anyone would buy it over the air. Two more usb-c but you can only hook in one external monitor! Also 200 more nits on screen but… is it really that important?
I cant wait for the 14/16 with the m1x. These are already barn burners.
Go back 5+ years and you had the (2010+) Macbook Air, which was fantastic. A good compromise of size and power at a really low price. Like competitors just couldn't compete. The only problem? By 2015 or so the display was pretty outdated. It needed a thinner bezel and a retina display and it would've been perfect.
But no, Johnny Ive came along with his war of thinness and foisted the butterfly keyboard on us and added the Touch Bar to increase the price. There's no other reason for it to exist.
The Touch Bar is also well-integrated into QuickTime Player as well as Quicklook, making video navigation much more efficient.
I only wish VLC would use it for timeline navigation.
A lot of the time it’s really nice to have a context sensitive/modal form of input.
You can run multiple monitors on an m1 with a DisplayPort hub. (not relevant to the point about the number of usb-c ports of course, since you're plugging into the hub anyways)
It only have 99% of the performance under specific loads. The Air is ~12W TDP, the MBP is a ~20W TDP. That is quite a bit of difference ( 70% ) when you absolutely pushes it to the limit in both CPU and GPU.
That is why half of the not "throttle" comment in this thread dont make much sense as they only consider the CPU usage pattern.
There are also a lot of other use cases where GPU or NPU are important.
As I wrote in another comment, I produce video news.
My M1 MacBook Pro is a beast of a machine, but I work it to the point of full-blast fans every day.
Actually you still only get two USB-C ports on the M1 MacBook Pro. The four-port model is still Intel.
That lower-spec Pro has never made much sense. The last time an entry level MacBook Pro made sense was 2015, where you got a noticeably higher TDP chip (28W vs 15W in the Air iirc—could be mistaken), more IO (two Thunderbolt 2 ports vs the Air's 1, and a full-size HDMI port), and of course an IPS retina screen.
I think the low-end Pro came to existence because they intended it to replace the Air, but the tiny 12" MacBook had already claimed the unadorned "MacBook" name, which would have made a lot more sense.
But then they ended up refreshing the Air as people just never stopped buying the old one, despite its ageing internals and garbage 2010-era screen (possibly because it was the only computer Apple were selling at the time with a keyboard that worked).
I have no idea while it still exists though. It's filling a niche that isn't there. I think the intent is for it to be basically an "upmarket" alternative to the Air, but they only thing they have to offer right now is a Touch Bar. Which for most people, including myself, is more of a reason not to buy it.
Still I likely buy a M1 Air soon. Not because of the M1 CPU, but because it's almost half the price of a comparable Thinkpad. And I hate the bloatware shipped with basically every non-Microsoft Windows laptop.
I would never buy a laptop where throttling was a presumed solution to thermal issues, because I want to get work done. Pre-m1 macbooks were awful. Even worse than top of the line dell laptops.
I have always felt like a minority for expecting a 2k laptop to actually be able to get work done.
If I would ever be able to run Linux as a first class citizen on an M1 (not going to happen) I would buy one in a flash. I have been playing with my mother in law's MacBook air and the thing is pretty darn amazing.
The MacBook Pro has fans and basically never throttles as I understand from others.
Besides, when it throttles, it’s not a huge slowdown, so most people wouldn’t notice it “skipping a beat” anyway.
However, it's not as hot as my old 16" MBP got (which would get too hot to have on your lap), it doesn't noticeably get slower, and it's of course totally silent.
I got a Lenovo Legion with 4800H(8/16)/32GB/2T/GTX1650/144Hz a couple of months ago. That's a really sufficiently cooled system. It almost never spins up the fans, it's powerful, has a lot of space, no RGBs and has a super boring, tasteless, anti-theft design that never goes out of style (but the last one is more of a personal preference ;) It's been great.
The fact that most (all?) gaming laptops come with NVidia GPUs (requiring closed drivers, unless Nouveau got much better since last time I tried it) doesn't help.
Just in case, are you actually monitoring temperatures?
Regardless, buy some proper thermal paste and pads and replace them on everything, it will quiet down significantly while also running cooler.
The difference between factory Thermal Interface Material and custom is often ridiculous.
Edit: and I don't mind the noise. I will maybe do something if it starts throttling, but I have had 0 issues for as long as I can remember.
This has not been a good experience for me.
8GB for a development laptop is not a great idea in 2021. I've been using 16GB since 2013. I'll get more with my next laptop, which may or may not end up being the 16" M2?
You can fix it by setting 'Prefer Tabs' to never - https://www.reddit.com/r/androiddev/comments/jtbl4m/has_anyo...
The same things on an Intel laptop will turn it into what my friend comically calls a "weenie roaster" (for what it does when it's on your lap).
Things like JetBrains CLion don't even make the M1 warm. That will make any Intel laptop start cookin'.
I didn't realize how much I relied on that cue until I temporarily switched to a Mac desktop machine during the pandemic when I didn't need to travel. The desktop fans pretty much stay at 1200rpm all the time. I think I've seen them spike once. I'd forgotten how much better desktops can be for some things.
Now I'm looking for a better remote access solution so I can consider sticking with a desktop at home and then maybe just an iPad for travel with good remote access and file sync.
Spinning HDDs (Toshiba bearings), keyboards and hinges on the other hand have all failed on me multiple times, in macs. but the fans kept going. The keyboards were the last thing to fail in the 2009 design, they last about 10 years.
Also while were at it, mechanical failure isn't always the biggest concern these days, Apple has had nVidia GPU issues (soldier and fab issues) in the past where they ended up underclocking them in a firmware patch in order to push failures out of warrantee.
For some of the reasons you mentioned (specially the last paragraph), but also the battery and the general non-reparability. It almost feels like a consumable item, compared to my previous Thinkpad.
Here's the thing: all the other laptops I was looking at cost at least twice the price. High-end Thinkpads, my second choice, almost 3 times.
All of the sudden Apple became the budget choice for my use case. In one year hopefully when I sell this one there will be competitors to the M1 chip (or maybe the M1X?), and I'll have more options.
The GPU issues were both nVidia's _and_ Apple's fault due to assembly with low quality unleaded solder. In either case their attitude to customers was unforgivable, they replaced old broken boards with new broken boards until people just gave up or were pushed out of warrantee... and for the masses that couldn't be bothered to go through the pain of browbeating an Apple store employee into submission - they got firmware patches to push it out of warrantee.
Component failure, solid state or otherwise is not unique to Apple and is an inevitability, it will happen again - complete disrespect for their users by continually lying to their face on the other hand... That is something Apple is uniquely skilled at.
It shouldn't be this way, but most of the big enterprise retailers have ridiculous sticker prices. Unlike Apple, volume buyers get steep discounts, and individuals are expected to wait for a discount.
Ask around online and you'll find it's fairly simple to get fancy Thinkpads for half-off.
What you can find in France is heavily discounted ones from people that resell their company-provided ones. I bought 3 T460 like that in the past, for me and my family. But no high-end models, nor much choice in the customization.
But I don't like thinkpads to the point of doing that rodeo. For now, Apple won my money.
For example a tiny 1000 RPM server fan running 24/7 rotates 5 billion times per year. My desktop spends most of it's time off, but if I game on it 10% of the time it's big fans might be at 1000RPM. This is only 50 million cycles per year.
Syncthing is next on my to try list, but its very similar to resilio sync so I don't have high hopes. iCloud drive/dropbox/etc have issues with syncing git repos, so not sure about that either.
That being said, Syncthing works great for a wholly cross platform sync tool. I have used it with a PC, Macbook, Android setup. Never have I not been able to get it to work.
defaults write com.apple.desktopservices DSDontWriteUSBStores true
Run these both in Terminal, and either restart Finder or just reboot. Should solve that problem.
The whole point of those files was to store Mac-related metadata (such as icon positions and other stuff) that the filesystem in question did not have the capability to store, to preserve Mac users' expectations.
This is my solution. I don't really need to do any file syncing as rsync or scp works fine for my purposes. It has been a fantastic dev experience. I remote in, bring up my last tmux session and pick up exactly where I left off, regardless of the front-end machine. I use an ipad pro for a ton of development now and it really is fantastic for it.
I've got a overkill desktop dev machine (previous gaming rig) that can make all the noise it wants in my basement and my front-end shell remains quiet.
I set up zerotier so I can constant access to it whether I'm on my local network or remote.
I want to have the better of both worlds and a nice uncluttered desk so I ended up buying an Intel NUC 9 module plus RTX 3060 that I keep hidden in a closet and game remotely using Moonlight and Gamestream. Everything works just fine on a Gigabit connection and plays well with the Xbox controller on the M1 as if its local. I can play everything on 1440p@60fps which is more than enough to me.
I only realized something was wrong when the pinebook got way too hot.
That said, I don’t miss the noise or slowness.
The sensible approach, of course, is to add a load monitor to the menu bar; now with my new m1 macbook, I can simply make the appropriate noises myself, as necessary. This is the UNIX way.
Once you're running a tool like that, it is interesting to see the efficiency cores often saturated and the performance cores usually sleeping.
[0] - https://xbarapp.com/docs/plugins/System.html
[1] - https://xbarapp.com/docs/plugins/System/cpu-thermal-throttle...
I'd love to know if it's crappy thermal design from Lenovo, crappy CPUs from Intel, or Windows sleep mode being too demanding. Maybe it's all three?
https://docs.microsoft.com/en-us/windows-hardware/design/dev...
https://support.apple.com/guide/mac-help/what-is-power-nap-m...
As it gets harder, it becomes more capital intensive and the probability of success on any given process node decreases. The marginal utility of a doubling of computing is likely decreasing with time, too.
At some point, these factors are going to compound to slow progress. Or: exponential progressions never continue forever.
For example, VR games are notoriously demanding on today’s hardware, especially if you want to put that hardware in the headset.
And many applications get slower over time, not faster, as new features are added. This is especially true in an era of cross platform frameworks that are convenient for developers, but are much slower than native.
Today the speed of the computer makes it incredibly forgiving.
E.g. 20 years ago, you could buy a P3-1GHz for $200 or P3-750MHz for $100. So you'd pay about $100 more (2001) for 850 more Dhrystone MIPS.
Vs. modern processors where for a few hundred bucks you get >500,000 DMIPS in a package. You would not choose to pay $150 (2021) more for 850 more DMIPS (< 0.2% more performance).
I think this is true even if you consider things on a log scale; a doubling is worth less now than it was 20 years ago. Twenty years ago nearly anyone could tell the difference and would pay a bunch more for twice the performance, and now a big subset of the computing market wouldn't.
Better performance also enables new forms of technology, such as AR, VR, ray tracing, advanced image processing for smartphone cameras, etc. These are visible and sought after by regular users.
Users can tell the difference, it’s just that they might not realize that the new features are enabled by higher performance of the hardware.
- First, the marginal value of 1MIP has plummeted in the past 40 years to near nothing. When my dad programmed on the 1401, another .01DMIPS would be worth ~$100,000 (1960s dollars, or $86 million 2021 dollars/DMIP). Now another 100000DMIPS is worth almost nothing (Maybe $0.006/DMIP today). So there's really no debate about declining marginal utility of computation vs. time.
- Second, developer productivity is great and all, but only a tiny proportion of computing units go to developers. Therefore, we can't assume that increased developer productivity will necessarily pay for new process nodes (with increasing capital costs and risks and decreasing benefits for end-users).
- Third, YES, finding new apps is the only thing that can keep things moving. But my point is: the proportion of the marketplace that is seeking above-baseline features and are willing to pay a premium for them is an ever shrinking portion. Replacement cycles for computers are, overall, lengthening, and the proportion of the market that buys the high end is steadily decreasing. This makes paying for ever-more-expensive process nodes more difficult.
- Fourth, when we were really enjoying Moore's law and areal density was improving significantly, better process nodes were clearly worth it: they lowered the cost to manufacture existing parts by yielding more parts per wafer. That is, the fabs wanted to shrink ASAP even without new use cases because of the improving economic picture. This is no longer the case.
- Fifth, eventually a doubling costs more than the entire world economic output, as eventually doubling will get harder and harder. No matter how many killer apps you find in #3, you can't keep this going forever.
I also never said that it will be possible to keep on improving performance at the same rate forever. The rate of improvement is what is diminishing, not the value of the improvement. If we could keep on improving performance at the same rate forever, that’d be great, but we probably can’t.
Fabs are still motivated by demand from their customers and competition. If a fab stops improving, they will either be surpassed (see Intel) or consumers will see less of a reason to upgrade their hardware, and the entire market will decline. Both are bad outcomes for the fab. So fabs will continue to push the envelope as long as it is physically possible and economically feasible.
Your ambiguity in your responses is why I've been both addressing the marginal value of DMIP and marginal value of log(DMIP).
> since processor performance increases exponentially, not linearly.
It doesn't look very exponential right now. Looking at consumer-focused processors, we've gone from 176k DMIPS in a package in 2011, to 298k DMIPS in 2014, 320k DMIPS in 2016, 412k in 2018, and now we've finally got a substantive boost again to about 850k in 2021, though these are golden parts that aren't really available.
> The rate of improvement is what is diminishing, not the value of the improvement.
It's both --- the improvement is getting much more expensive, and the value is going down.
> Fabs are still motivated by demand from their customers and competition.
The vast majority of fabs have stopped being anywhere near the leading edge, because costs are too high for the benefits. At >100nm, there were about 30 manufacturers close to the leading edge; then at 45nm we had about 15 manufacturers who were close to the leading edge. Now it's Samsung, TSMC, and Intel-- 3, that's it. And even Intel is starting to question whether it's worth it versus than pooling effort together with others to amortize the massive capital costs. Most parts and applications are staying further and further from the leading edge, because the areal density benefits to cost are smaller and the tape out costs are ever higher, and because the vast majority of applications and semiconductor units do not need the performance.
Whereas 30 years ago, almost anything that could shrink, did, because of areal density benefits and because almost all applications desired improved performance.
It's a bit of a moot-point. I prefer AMD processors where I can get it, but Intel's position in the market is far from as dire as people make it out to be. Until Apple can find a way to challenge their single-core performance, Intel will still be leading a class of their own.
M1's single-core performance beat out all but the highest-end AMD and Intel desktop chips at the time of its release.
[edit] Just had a cool idea, since this discussion is heading towards how subtly useful auditory cues have been in our workflow. What if different processes played fans at different pitches, so the total volume still added up? That could actually be really useful out-of-band state information.
What Does the Event Loop Sound Like? https://medium.com/att-israel/what-does-the-event-loop-sound...
I’m afraid that might be your problem right there :(
Mac will be a holdout because they heart native but hopefully will concede at some point because more and more people are going to deploy apps this way from here on out. It’s not worth it to employ native app developers for each platform except for the largest of the large companies.
Programmers have ported Emacs to the native GUIs for MacOS, Windows and Linux (and 80% of respondents to a recent Emacs survey prefer to use one of those GUIs rather than Emacs's TTY interface), so "largest of the large companies" is going a little too far.
That doesn't mean it would be commercially worthwhile to employ them to do so; volunteers do lots of things that wouldn't worthwhile to employ people to do. OTOH, wanting volunteers doesn't make it happen.
The reason people ship Electron is because Electron is literally the same thing wherever you shove it. You can search on this very forum for comments from the dev who migrated Slack from per-platform-WebViews to Electron.
I don't believe I have, and I believe you're missing the point - much like everyone who says that platform-specific WebViews are the solution to Electron.
Go actually read the comments from the devs who migrated away from WKWebView. What you are describing will not solve what they sought to get away from.
I believe it just exists to make people suffer
That said - it’s not magic. 30 tabs in Chrome is a lot if you’re not using a tab suspender extension. But one thing I do notice is that when a Rosetta 2 app is running, the entire machine seems to take a hit. I would check the architecture of your apps and see if you have any x86 apps running.
I do try to avoid Rosetta quite a bit though (right now I have no Intel processes in Activity Monitor).
Also check Messages.app hasn't run away with the CPU. Sometimes it seems to do that :(
Not sure if Chrome is still this way, but it would allow background tabs to still run things like JS even after hours of not being focused.
Did you even read my comment?
I totally missed that fork of TGS. Glad I saw this comment, as I hated getting rid of TGS.
There cannot be a good reason to do this, I start to get anxious at 20-30
Browsers should default to closing unused tabs (after 30 days?) and I’m glad that’s possible now. If you haven’t seen a tab in a month chances are you never will.
Yes, tabs as a todo list work. With a tab suspender extension.
Hey, what if I finally get to whatever interesting thing that tab had after 30 years of ignoring it?!
But yeah, I just "close other tabs" every few weeks because it's 99% guaranteed I won't need them.
That's what I do with Teams, Discord and so on.
Much better than opening many isolated browser runtimes for what's essentially badly optimized webpages.
No I can't. The IM platform is decided for me already so I can not pick something else. And the company will pick the platform with the most features / integrations which is currently Teams.
MacOS drawing a line in the RAM sand at 16GB with most on 8GB will likely encourage programs to be more efficient rather than be a burden to the user. As we have seen with mobile platforms, programs will use as much resources as they are allowed to. Adding more resources does not fix the problem unless the programs are already quite efficient.
then i am not sorry for you.
> And the company will pick the platform with the most features / integrations which is currently Teams.
The company will pick whatever is best suited for the task at hand. my employer in europe chose mattermost on company premises. i can use it with the matterhorn ncurses client and it's a joy to watch it consume 0% cpu time and a negligible amount of memory.
Besides, this was originally about discord, which hopefully no company uses to manage internal communications(?) When not working you are totally free to choose whatever communication infrastructure you want and are not bound to whatever your employer thinks is best.
If MS teams does not work properly on the 16GB macbook then you report a bug and they will fix it but if it doesn't work on a regular PC it is more likely they will tell you to just get one with more ram.
And I also use Mumble from time to time.
With a work perspective in mind I have one window set up per task, I use tree style tabs on Firefox, and at a glance I can see the complete context of a task I’m researching, just from the decision tree the tab branches show. Every potentially interesting link that’ll help me with my task gets opened on a branch below the parent, then reviewed and filtered. This is tremendously useful when it comes to writing up documentation or updating tickets and the like.
Tabs are like a TODO list. If something needs to have attention paid to it, and then dismissed, I open a tab for it.
(Of course, I use Firefox & Tree Style Tabs. I find Chrome almost unusable due to its tabbing idiom.)
I’d never be able to use Tabs as todos because I personally use tabs very ephemerally. Closing out of chrome with 3 profiles and 10 tabs each open is nothing to me because I don’t care what tabs are open. If they’re important links then I’ve already written them down in Roam and/or bookmarked them.
question - how do you find anything? Maybe it’s the fact that I’ve never used tree tabs, but finding the link you used last week or last month to complete a task sounds like a nightmare without bookmarking it. Contrast this with my workflow, which doesn’t rely on tabs, and I can easily find it in my notes in less than 10 seconds.
When returning to the task, I just focus the window and instantly have a picture of my previous progression. In case of a computer crash or restart, it's been years since the Firefox session restore function ever failed me. That step in booting up the computer is quite painful though, the browser can take a good 60 seconds to restore the previous session.
When I'm done with a task for good, I just close the window. Workspaces help in keeping my Taskbar and Alt+Tab workflow clean as well. I often have 1000+ tabs "open".
- open link, determine if it’s relevant or not. If it’s relevant, but not relevant right now, I’ll dump it into my notes.
- then I close the tab. Pretty simple.
- when the time comes where that link is relevant again, I’ll find it in my notes and open it.
- I really don’t find any value in having tabs open that aren’t immediately relevant to what I’m doing. 10 seems like the upper limit of focus for me.
It's clear that you do understand the value of preserving tabs that aren't immediately relevant to what you're doing. What's the difference in value between writing tabs in your notes and simply not closing them?
I'd understand if there weren't tree-style tabs - you can organize things better in your notes. There are tree-style tabs, though, so you can organize your tabs as you need them, and dropping into a root node is just like dropping into an old thought process.
Seriously, though, it's just a different way of working. If I want to save a link because I'm genuinely going to need it later, I save the link. More often than not, it just goes in the drafts or annotations for the article that I'm working on at that moment. If not, I save it in GoodLinks, where I get a title and a summary and tagging and syncing across my laptop and desktop and iPad.
I get that I'm an anomaly these days, and that "if you have less than 50 tabs open across three windows you're an amateur" is the norm among technonerds. (That is an actual quote from a friend.) But I am pretty sure the Venn diagram of the all-the-tabs-all-the-time folks I know and the "which tab is it? nope, nope, nope, I'm sure it's here somewhere" folks I know is essentially a perfect circle.
Well, one is indexed, searchable, tagged, and available whenever and wherever I want.
The other is ephemeral and maybe, hopefully I can find it and maybe hopefully I didn’t close it out, and maybe hopefully I remember the name so I can find it in my search history.
Managing tabs with useful info instead of writing them down sounds like a living nightmare.
Chrome is your problem.
This might be an opportunity to tweak my browsing habits.
For example right now I have the following windows/desktops:
0. Google Calendar + Gmail
1. Facebook Messenger
2. YouTube (music/podcast)
3. Terminal
4. Visual Studio Code
5. Documentation (5-10 tabs)
6. Google Colab
7. Google Cloud Console
8. Google Sheets + Docs
7. Wikipedia (20+ tabs)
8. Google Search (30+ tabs)
9. Hacker News (20+ tabs)
It's worth trying out Firefox and seeing if that works better for you.
Open Activity Monitor and keep an eye on the memory pressure graph, as well as checking for individual apps that are running away with huge amounts of memory. Also, make sure your SSD isn't too full, as pressure on the NVM will reduce swap performance!
M1 Macs certainly seem to "do more with less" than Intel Macs, but as another poster said, they're not magic. Paging in and out vast amounts of swap will still eventually cause performance issues.
Semi-related: I can hear the inductors on my NVIDIA GPU, which is somewhat useful. When I am training deep learning models, the coil whine follows very regular patterns. Also, the pattern changes between training and validation. So, I can literally hear when an epoch is done.
(Of course, TensorBoard for the real monitoring.)
I could literally hear the minibatches running, they sound more or less evenly spaced treek..treek.. and when it's at the end of the epoch, the larger batch for validation begins, it's a much longer treeeek
It's truly incredible how much serious heavy work I do on a "little" M1 Air.
MySQL and Postgres, Redis, Sidekiqs, Mailcatcher (small, but still), a couple of Rails apps, Spotify, Spark mail app, Firefox with dozens of tabs, Safari, Calendar, Photos in the background hopefully identifying faces, etc. etc.
I do three times as much on this machine as I could do on my 32GB i7 Dell. There's some magic in here.
I still cannot build some older versions of libraries. So I do a little of my work on an old Intel Mac. But that's not the architecture problem, that's a problem of fragile builds.
With the M1, I now have to check the cpu usage history occasionally.
Imagine diagnosing your app health like you could diagnose your connection speed of a dial-up modem.
&& say 'All done, come get some' && espeak "job's done"But sometimes I actually want that! Like, if there was a switch I could flip to turn on audio cues every time a window's contents are updated, or new lines appear in a terminal window. And every window update would be tagged with a different sound for error, warning, info, success, etc.
I know you can configure your terminal to play a BEL sound, but I'm looking for something system-wide. I want it like the movies, so I can pay attention to something else and not have to check in on the progress of my compilation or transcoding or long download.
-a Audible. Include a bell (ASCII 0x07) character in the output
when any packet is received. This option is ignored if other
format options are present.Allow me to point out a very cool project I saw in the early 2000s, which unfortunately seems to have been abandoned and forgotten: http://peep.sourceforge.net/intro.html (Peep (The Network Auralizer): Monitoring your network with sound).
Shell
# system beep; also flashes the screen if you have that enabled in accessibility
osascript -e 'beep'
# play the sound file given by the file system the path
afplay /System/Library/Sounds/Hero.aiff
AppleScript beep
do shell script "afplay '/System/Library/Sounds/Hero.aiff'"
JXA + Cocoa API $.NSBeep()
// search for and play a sound file; the lookup path is defined by macOS
$.NSSound.soundNamed('Glass').play$ say "Your build is done."
As for the shortcuts, turns out that keyboard ones work as well. And are easier to hit while looking at the screen. Personally I spend a lot of time in vim, web based IDEs, qtcreator and orthodox file managers. All of these use F-keys most of the time. Cmd-/ is quite universal for comments, and I’ve remapped ctrl/cmd/shift+prtscr to various print screen shortcuts.
https://github.com/exelban/stats
(Though I really wish it had a more Googleable name...)
https://news.ycombinator.com/item?id=27808113
In it I add midi sounds to the system handlers from nodejs’ event loop.
[1]: https://www.theverge.com/2019/7/1/20676854/electric-cars-art...
Playing the fan sound based on remote server cpu would be a fun hack.
Honestly, this fan sound seems to give much less information than what I am used to.
Cycling side by side with silent EVs is quite dangerous.
This is different though, this here is for the user to be able to judge how much the cpu/motor is working. And yes, not only do some EVs offer you fake indoor noises, a lot of gas cars also do it as engines get more silent/sound worse to meet modern regulation. https://www.youtube.com/watch?v=4lQPc9VXBzk
In case what you mean is that you don’t want to run it, an alternative: right-click the app, followed by “Show Package Contents”, and navigate to Contents/Resources. You’ll find a couple of WAV files.
Don’t expected pleasant woosh noises, they sound like rough recordings of computer fans.
https://9to5mac.com/2021/04/01/april-fools-day-2021-cybermou...
I've been running PCs so quiet they're inaudible since, what, nearly two decades now!? (since basically the first consumer SSDs started hitting the market: don't remember when that was but it was a long time ago)
An ultra quiet PSU, a gigantic CPU heatsink, a huge CPU fan running so slow you can read what's written on the blades, a passively cooled GPU (ofc not working if you do GPU heavy stuff) and that's it.
Now it's great if, at last, it's coming to beefy laptops too. But a quiet computer ain't anything new.
I have used also a Surface Pro for a long time, and not being modern as this new Apple laptop, it is a full-fledged Windows 10 machine that can run any programming IDE, virtual machines, etc. and completely silent.
Can someone explain why the down-votes for TacticalCoder for just stating facts? I really don't get, unless it is pure Apple fandom and that would be just silly.
There's some obvious advantages to avoiding the creation of heat. Advantages that mitigation does not realize.
Please note that a MateBook with a i5-10210U gets around 1100/2500 in GeekBench while the also fanless M1 Air gets 1700/7400.
Silent computers are nothing new under the sun, but silent ultraportable laptops as powerful as some people's desktops haven't been around until last year.