“elevate the command-line user experience on Windows.”
If I were an engineer in Apple's OSX group I would see this as the horde amassing an army on the border. Bit by bit, Microsoft is going down the checklist of why someone would use a Macbook pro rather than a Windows laptop for their daily driver and erasing the advantage (or at least mitigating it to the best of their ability).
This will never convert the die hard OSX fans to use Windows laptops, like the OSX features could never convince die hard Windows users to use Macbook Pros, but the real prize here is the large bulk of users who aren't die hard Apple or Windows fans and just want to get their job done on one laptop reliably.
Apple's latest earnings report re-iterates that they aren't investing in the Macbook Pro or OSX in any meaningful way. Microsoft's success with the Surface Pro series against the Macbook Pro has shown that good electrical engineering can be bought and if the software is good enough, it can remove the last objections to the Windows laptops.
I see Linux as a big loser here too as the opportunity for a Linux desktop, for the bulk of the users, recedes further into the distance with two capable, and supported, offerings from larger players to choose from.
I've got one of everything it seems, and I had a Macbook Pro as my daily driver starting at Google in 2006 through my exit from IBM at 2015. I bought a SurfaceBook when they announced them for the drawing experience and laptop that had more capability than my Macbook Pro. I then tag teamed between them until I got the Surface Pro 4 with the same drawing experience, but lighter than a Macbook Air and with WSL and a third party X server a decent Linux/UNIX like development environment.
I still haven't replaced my Macbook from 2015 with the various things that Apple has thrown out there, the keyboard issue, the track bar issue, the lack of drawing, the lack of any compelling reason to upgrade. I still use it for Xcode for the iPad app I am doing in my spare time but use it less and less.
The new terminal will make it easier to not use the Macbook. If Microsoft starts bundling an Xserver for the occasional windows app it would make it even easier to stay on their platform.
I can't tell if Apple sees this as a threat to their business, or just doesn't care anymore about that part of the business and so they are willing to cede it to Windows as the "portable" development environment supported by an enterprise vendor.
I've been using WSL for a while now (with Docker running through Docker for Windows but accessible through WSL). My whole dev environment is based on running tmux / Vim in it.
I don't want to start any flame wars but I happen to do a lot of pair programming sessions with people (I'm a freelance dev) and a number of people have said they were jealous of my set up and are thinking about a Windows laptop for their next upgrade. Not because my set up is special or super cool, it's just their Mac set up is all sorts of broken and buggy. I can hear legit sadness in their voice.
You don't need MS to bundle an Xserver by the way. Just download VcXsrv for free https://sourceforge.net/projects/vcxsrv/ and be up and running in a few minutes. I use it mainly for flawless zero configuration clipboard sharing between Linux apps running in WSL to work with my Windows clipboard, but graphical apps run ok too (I even tried running i3 through it which was usable but too limiting with multiple monitors).
I guess I just wanted to really say that Linux based / Docker development on Windows is very much possible even today on the stable version of Windows 10, and WSL v2 is just going to make it a lot better than it already is.
I haven't been this excited over a new OS / OS feature since Windows 7 was first released.
Only problem is the June release is for insiders, not stable, and insiders requires sharing A LOT of private info with Microsoft (unacceptable IMO). It might not be until October 2019 or even April 2020 before this hits the stable channel of Windows 10. Doh.
> their Mac set up is all sorts of broken and buggy. I can hear legit sadness in their voice.
I'm normally very happy with the dev experience on my 2016 MacBook Pro. I run iTerm2 (multiple split panes in a window), zsh/ohmyzsh, homebrew, and VSCode. The new APFS filesystem is insanely fast, especially when combined with VSCode's ripgrep-based text search. I watch my Windows-based colleagues start a VSCode text search in our repo and it takes 10-15 seconds to complete. Me - it's usually less than 5 seconds and often instant. Also, moving/copying/deleting large directories (i.e. 25k+ files) is unbelievably fast.
So macOS is great, in my opinion. But I'm often frustrated with this machine: (a) the keyboard is unreliable - certain keys develop habits of not responding (the `fn` key is currently driving me round the bend), (b) it crashes every time the battery runs low, and (c) my corporate policy installs Sophos which sometimes slows it to an absolute crawl.
From many developers' perspective, Windows' greatest downfall is that it's, well, still Windows. There is so much legacy to maintain, and so many ways that it differs from macOS and Linux at low levels. WSL and the new terminal/PTY are making inroads, but if Microsoft would only fork Debian and build their own supported distro, I can guess that's where we'd all be going very soon. What if they forked Wine as well and built a supported Windows compatibility layer on top?
Hey Nick. I'm the PM for Windows Terminal, and formerly, WSL:
Thanks for your thoughts on WSL & the new Terminal.
Re. release mechanisms, etc: Terminal will be delivered via the Store so we can ship out-of-band.
We're aiming to deliver new Terminal preview builds every 2 weeks or so which, since we're delivering via the Store, will auto-upgrade everyone soon after each release.
Re. Insiders: We do NOT gather any personally identifiable information. We only collect anonymized statistics about some of the features you use and/or issues you experience. Why? To ensure that we can find and fix issues as effectively as possible.
For example, with WSL, we collect the number of times an un-implemented syscall is called, or # of times a syscall returns an unexpected error. We couldn't care less WHO experiences these issues, only how OFTEN they occur. This info (esp. combined with bug reports in our repo, etc.) has been essential in helping us prioritize which syscalls are being called, which we've implemented, which are failing, and thus, which we need to pay attention to. Without this info, we wouldn't have been able to make WSL as good as it is.
We understand the community's concern about data collection - heck, EVERYONE should be - but in the general scheme of things, I think it fair to say that Microsoft's telemetry data collection is pretty well contained and is not egregious.
I'm on OSX and I have to have a docker container up and running in order to do development. GNU v. BSD tooling just isn't cutting it, and that's actually (IMHO) what's stealing market share from OSX.
They got windows+linux users in the first place by pre-installing curl+ssh, now their version of ls, find, and bash are all holding back those same windows+linux users.
I find Microsoft also deprioritizing Windows, as mentioned many times here on HN its a mess with settings everywhere and a total mix of different paradigms. Ads? I mean I cant even control when my computer reboots anymore on Windows. I actually use linux as my daily desktop environment for the first time in my life because Windows just feels so split to me. Using ubuntu feels like Windows used to feel, and the native package managers are just amazing compared to something like homebrew. That is my experience now, ymmv and all that
> I mean I cant even control when my computer reboots anymore on Windows.
Each of the last few major updates have added more and more control over this. The latest release is allowing even more user control.
Windows already tries to track active use times for the user, and is capable of waking a machine up in the middle of the night, install updates, and then go back to sleep. Improvements to session restore makes this almost seamless.
At some point MS, as the maker of the largest consumer OS, has a responsibility to patch critical vulnerabilities. Balancing the need to keep users secure with the inconvenience of a reboot, and the feelings of lack of control that come with it, is not an easy task.
On the opposite side, I've been frequently annoyed when Windows, unable to install an update, turns my computer on in the middle of the night, fails to install, and keeps the machine on. Lovely way to waste electricity, error messages are silent, and I had to run a command line power management tool to determine why my machine was waking up every night at 1am.
> I mean I cant even control when my computer reboots anymore on Windows.
I've been using exclusively Windows 10, for 2 years at work and more at home, not once had I an uncontrolled reboot. Perhaps rebooting at least once a week help.
Apple has been making huge mistakes in their Mac strategy. From the outside it seems they got drunk on the iPhone success.
With the exception of the iMac 5K and maybe the Mac Mini, I'd say the complete Mac line of products is now in worse shape than ever. It started decaying around 2013 with the trashcan Mac Pro and the gradual death of the Apple pro apps (Motion, Aperture, Final Cut, Logic, etc).
Regardless of the mediocre state of Mac hardware I love macOS. Although I agree that Windows is in great shape now and is only getting better.
I hope Apple is changing course and it's only taking so long because it is difficult to steer a huge ship into a new direction.
Also, there is very little innovation in the OS space. While 10 years ago it fealt as if Apple was seriously pushing OS X, it seems to be more in a maintenance mode now. The only larger innovation was APFS, a welcome addition, but primarily developed for iOS.
The end of OSX was signaled by the iPad. When the iPad ended up just a large phone and not running a real OS for getting shit done, it was clear where Apple wanted to head.
The MacBook keyboard alone is causing me to rethink 20 years of Mac preference. Fucking sick and tired of spending $4,400 for a computer with a shitty keyboard and dealing with snotty “Genius Bar” people who act like it’s my fault that the keyboard is a fucking disaster.
I recommended the MacBook Pro for development and school purposes to family members and friends but am now in serious regret after keyboard issues developed in short time.
I like the older macbook pro keyboard, just before the keys became completely flat.
The keys were a concave curved shape so they were comfortable to your finger pads and tactile so that you could center your finger on they key by touch.
Instead of an X-server, it would be cool if Microsoft implemented a Wayland compositor that is fully integrated in the Windows UI. It would mean perfect hardware accelleration for Linux apps and probably a much better integration into the Windows desktop.
>If I were an engineer in Apple's OSX group I would see this as the horde amassing an army on the border. Bit by bit, Microsoft is going down the checklist of why someone would use a Macbook pro rather than a Windows laptop for their daily driver and erasing the advantage (or at least mitigating it to the best of their ability).
WSL and Hyper V(really docker for windows on top of hyper v) has gone a long way to stop me from switching to linux for development.
I still don't see any reason to not switch to Linux from MacOS. I love iTerm and Alfred and especially the unified keyboard shortcuts. I also thoroughly enjoy the MacOS window manager although not as much as I used to (I can envision a replacement). But there's just nothing Windows can offer me that Linux can't.
If you're OK with limiting your computer interactions to the 20th century, then yes, there's no reason not to run Linux directly. The most awesome thing about the WSL/Win10/Surface combo, though is that I get all the best features of Windows, including support for touch & pen, and all the best features of a real Linux box (which does make it way easier to keep your dev env like your deploy env.) I will never go back to a "caveman computer" that I can't write on to sketch and take notes in OneNote or similar apps. No Mac can offer that capability at any price.
Modern day computers are not where a large company like Apple should be investing its resources.
You forget that the battleground in their business is the smartphone, capitalizing on the gains in smartphones and accessories is what will make the most profit. Additionally Apple is well fomented against the PC market taking over, all over Silicon Valley, Macs (Unix) are a clear preference for getting work done.
Apple is so off the charts popular, that their events even take the world's attention. The glitz, the buzz, the beast marketing machine can't be defeated.
> If I were an engineer in Apple's OSX group I would see this as the horde amassing an army on the border. Bit by bit, Microsoft is going down the checklist of why someone would use a Macbook pro rather than a Windows laptop for their daily driver and erasing the advantage (or at least mitigating it to the best of their ability).
Does it matter? According to market share numbers osx/macos' is ca. 14%. Developers/others who care about terminal environment must constitute a tiny share.
Third-party, and not free, but if you want an almost single-click X experience with WSL today, this is as close as it gets. Basically just need to do DISPLAY=:0 in /etc/environment, and that's it.
Exactly. Microsofts obvious, deliberate and well executed attempts to strangle Apple by cutting off the developer pool they need to sell their live-style gizmos coupled with Apple management's apparent obliviousness that this is any threat at all (otherwise they would not impose additional unforced deterioration on their own developer system on top of whatever Microsoft is chipping away) makes one kinda wonder what's wrong with shareholder capitalism.
Aside from a bit of apex, I only use Ubuntu and chrome on my cpu 99% of the time. The fact that I can boot into windows and then press three keys (win u enter) means there's effectively no overhead (if we pretend windows doesn't just upgrade against your will). But I can still play apex. Afaik I can't do that on Linux and thus windows is justified.
I don't see this as a loss for Linux. I see it as Microsoft bridging a gap (albeit a gap they deliberately created) that Linux hasn't yet. If I could do it the other way around (Linux running windows) then maybe I would but when I created this setup some years ago I couldn't so... Yeah idk this way Linux at least gets to be a part of my life.
I don't see this as a threat to any Unix like operating system. In my 20+ years in IT, Microsoft has had many years to perfect their command line experience, but never did. They have a long way to go in terms of Unix like features that are part of the command line ecosystem of Unix land.
When I can do this in windows (unix command line): cat somefile.txt | sort | uniq > output.txt, then it'll become a threat. Otherwise, Microsoft should fork a version of GNU/Linux and port all of their apps and GUI. They need to stop trying, they had their chance but may never achieve equality when it comes to the Windows Vs. Unix/GNU-Linux command line.
Powershell is obscenely powerful, it is equal to anything Bash can do plus:
1. It sends objects instead of streams, so instead of relying on fixed width output and string splitting, you can specify which column(s) of output you want from a tool directly
2. It can pull data from all sources of sources, including databases, WMI, COM sources and more.
3. Fully plugged into automation for servers, rich auto-complete, and a native ecosystem that is designed to all work together.
4. It can call into .NET libraries
But even cmd.exe can handle outputting text and sorting it!
> When I can do this in windows (unix command line): cat somefile.txt | sort | uniq > output.txt
There are a lot of responses of the form "you can do this similar command in WSL/PowerShell/etc.," where that similar command will not run on a standard Unix-based system. I think that misses half of the point. One of the reasons a lot of programmers use OS X is specifically because you don't need separate sets of commands for the desktop and Linux cloud server (obviously, Linux gets even closer).
It's been possible to do a lot of stuff from the Windows command line for a long time. The problem has been that to do so effectively, many teams have to maintain a .bat alongside the .sh that will be used in production.
I would suggest you check out WSL (if you're running Win10, just install your favorite distro from the store).
Not only can you do operate your typical one-liners but if the package is basically command line driven you can just apt-get install it and go.
There is a remaining wart that I hit from time to time, if I have a git repo that I want to talk to both from the WSL window and from a Git Shell (Cygwin app), the line endings get tweaked. It can be managed but it is still annoying.
That is some serious BS - PowerShell is better then any other shell now. Its literally designed by UNIX people. Even your example is now shorter in PS then in bash.
I've been running WSL for over a year with Docker for Windows and while the experience feels native to WSL (WSL has no problem running the Docker CLI and connecting to Docker for Windows) it'll be a very nice perk to just apt install Docker in WSL and not deal with DfW.
It is about time that Windows got a better console. As someone who regularly jumps between macOS, Linux, and Windows, the current console is a uniquely poor experience
This is a hard problem for commandline applications unfortunately. Think about pasting text with Ctrl+V. Lots of existing commandline applications bind particular actions to Ctrl+V - should the terminal application always eat the Ctrl+V keypress to handle pasting?
This is why we added support to optionally set Ctrl+Shift+V as the paste keybinding in conhost.
Fortunately, the Windows Terminal doesn't have a lot of the legacy to maintain like conhost does, so it'll support setting paste to whatever keybinging you like :)
I've heard stdout and stderr are extremely slow on Windows console. If you port Unix-like programs to Windows, lots of fprintf() can even come to be a bottleneck, especially in debugging. Meanwhile macOS and Linux/BSD console can output thousands lines in the blink of an eye. Don't know if the new console is gonna solve that.
The new Terminal actually does _crazy_ well. The vintage console on windows, conhost.exe, uses GDI to draw to the window. Unfortunately, GDI is CPU-bound, so drawing the screen actually slows down our processing of the text.
With the Windows Terminal, we've switched to a DX/DWrite based renderer, which no longer uses the CPU to draw text, and moves it to the GPU. Our preliminary testing has a insane perf improvement for applications writing lots of text, something like 10x faster :)
It draws to a VGA style character grid, like it was a DOS/VGA machine from the 80's. Oddly enough, Unix is older than that, and got it right (abstracted from hardware).
But article points out it will support emojis as main point... I need proper built in history, proper copy-paste as in linux and macOS, proper resizing so I can have longer lines without changing font as in windows.
I just hope it will be there.
Proper resizing has existed in the console as long as Windows 10 has been out, and we've been aggressivly improving our copy-paste story. Ctrl+C/V to copy in cmd has been around since Windows 10, and Ctrl+Shift+V to paste in WSL was added just last year.
It's a techcruch article, not exactly quality reporting. I'm not really sure why so many people link to them when there's usually a better source for most stories (unless the story is merely rumor).
I find the current Windows 10 terminal vastly superior to anything default on Mac or Linux... Take resizing the window for instance, Windows adjusts the content text, whereas Mac does not seem to handle this well.
EDIT: It is possible you are on an outdated version of Windows, or have upgraded and still retain your old settings.
Be sure QuickEdit Mode is enabled, as well as Ctrl key shortcuts.
Do you have a specific example on Mac? Reflowing of text always seems to be way better on Mac than Linux. I use Windows least often, but always felt the experience was significantly worse than the other two.
My take is that Windows is the best experience because the unsuitability of the built-in option for every day use drove me to a real solution. (In my case, SecureCRT.)
One of the things I hate is when the default option is "good enough" so you have the danger of living with mediocrity. Or, worse, the platform doesn't spawn a rich ecosystem of competition.
For example, when I was on OSX I couldn't find a music player I liked. iTunes was bad, but the fact that everyone uses it means there aren't as many alternatives as on Windows.
I hope you are optimizing "performance" for latency which is the most important metric for a pleasant experience of them all [1]. The current WSL Terminal absolutely excels in that regard.
All GPU based terminal emulators I tried so far make latency worse. You have to do away with double buffering and V-Sync for small changes (or on key-press-events) to get in the sub 1ms range.
LARGE portions of the new terminal's codebase are taken straight from the code of the existing conhost.exe, so hopefully we'll keep all the performance we already had.
This is an absolutely epic post you've linked, I'll make sure to share with the team.
My biggest issue with the windows terminal is my programs pausing without me noticing. Took me forever to figure out disabling “quick edit” fixes this- apparently programs just pause completely if you have text selected? Something I keep managing to do on accident without noticing. There is almost no indication, other than the fact my loading bar froze or my program appears to be stuck.
Disabling quick edit helps, but now I can’t select text at all.
Ironically, this is actually a behavior lots of developers do want.
The new Terminal fortunately gives us much more flexibility for customizing it's behavior with user settings, so we'll be able to support either pausing output or not, depending on what the user prefers.
LOL yea, seems like the media embargo ended before the actual announcement.
We don't have a link to share quite yet. The first preview builds that will be available from the store will be coming soon(tm). The "now available" part seems to be referencing a part of Jha's keynote that I don't want to spoil quite yet :)
Yes it's using ConPTY as a backend, which means all Windows commandline apps will work in it out of the box.
Lol I should have updated that issue - in the most recent Windows release, we added a feature to conhost to actually disable the overscroll (under Properties... Terminal... Disable Scroll-Forward). See [this blog post](https://devblogs.microsoft.com/commandline/new-experimental-...)
It's all C++ code. We're using the relatively new XAML Islands framework to allow us to host UWP XAML content in a Win32 process. A lot of the core is C++/WinRT, which is magic that lets you call most WinRT (UWP) APIs from C++ without having to deal with CX.
I'd say the vast majority of the codebase is pure C++, without the C++/winrt magic.
The renderer we're using is DX-based, which provides a pretty substantial perf improvement over the old GDI-based one conhost uses.
On the WSL2 piece, is this continuing the direction of WSL1 (syscall emulation) or going for a hypervisor based route to enable compatibility with things like Docker?
When I had to use Windows for work I would run gnome-terminal inside WSL and VcXsrv just to get a usable terminal emulator, because I use vim/tmux exclusively for writing code. So thank you for making something that will save Unix people from insanity :)
Does this new terminal support Unix/Linux style shortcuts? Another unrelated thing I’d love to see for WSL is windows-XDG integration, so for example the XDG Browser variable would be set to open the default Windows web browser.
The best part of working on the Terminal is that we can feel free to add new features to it's codebase without breaking backwards compatibility, which why such a feature was never added to conhost in the first place
- sudo for editing protected files (using nano to edit the hosts file in system32 for example)
- Good copy/paste functionality, something robust, maybe like linux with the middle click or normal shortcuts is ok
- Non blocking stdio when scrolling out of focus (not sure if this still exists)
- Split screens like iterm2 or terminator. Adjustable, with different colors for each, with the ability to save profiles so they get restored every time the terminal starts up.
- Smart notifications. If a compile/transpile finishes, our scripts could emit an event to the terminal similar to the bell, to produce a gentle notification. Right now the bell results into the taskbar item becoming orange, but it doesn't go away on its own.
- In Cmder when I have multiple split screens, they register as multiple windows, when I hover over the application on the task bar. Split screens should register as one window in my opinion.
- Right clicking on the application's taskbar icon should give an option to launch a new terminal or a new terminal from a saved profile.
Very excited about this. I've been following the terminal progress in W10 since it started. Every time something like this happens (this by far the largest), it feels like Christmas.
Not directly related to the terminal, but any updates on the file system slowness issues?
Just to clarify (because TC is shit journalism that’s muddying the console/shell distinction): this is an entirely new replacement for conhost.exe, and PowerShell is staying the same?
Will cmd, PowerShell and WSL all use the new terminal by default?
Go influence UAC team please. Make sudo first class citizen and just the same as on linux (or comparable). Please let me sudo something without UAC window and new process ...
Actually we spent MONTHS debating the pros and cons of adding a sudo on Windows.
Curiously, Windows is more secure than linux because it _doesn't_ have a sudo.
In Windows, any application can set messages to another window at the same integrity level with SendMessage/PostMessage.
If you had a `sudo` on windows, you could have a medium-IL terminal window which is talking to a high-IL process (running with the hypothetical sudo), and any other medium-il process could drive the console, effectively creating an escalation of privilege attack vector.
You are answering my hopes and dreams for a Windows Terminal. The only thing I need after this is split terminals like how iTerm works (so I can have a big one, a small, thing one below it, one on the side, etc). This helps SO MUCH when doing likes like complicated deployments and I need to monitor many systems at once.
Is this open source? Is there a way for me to help contribute back? Thanks for the hard work!
I'd say if you're looking for linux commandline applications, I'd recommend the Windows Subsystem for Linux, which lets linux binaries run unmodified on Windows.
As far as package managers are concerned, I've had lots of success with Chocolatey. If developers are willing to port their commandline applications to Windows, then I'm sure they'd be welcome additions to Chocolatey
The article talks about "GPU-accelerated text rendering" - can you speak more about what this means in terms of visual performance? Also, are there plans to add subpixel antialiasing (maybe it's part of this)?
What that means is we're using DX/DWrite for text rendering. The old console used GDI to render text, and GDI's text rendering was CPU bound.
By using the GPU for text rendering, we can process more text faster on the CPU, without the rendering of the text getting in the way.
If we're not already doing subpixel AA, then I think it's certainly something we could look into. I'm not really our DX guy, but it DX supports it, I think we could use it.
1. It's actually largely based off the original terminal on Windows, conhost.exe. We were able to re-use a lot of the codebase for the core of the implementation, with a thin new UI layer. This means that enhancements to the terminal will also help enhance the inbox console.
2. I spent a LOT of time looking at using xterm.js, and eventually decided against it. The main factor was that although it would provide us a nearly complete VT implementation, it was critically tied to the JS ecosystem, and no matter how much time we spent engineering it, we'd still be coupled to having a webview render text. So we instead decided to write it in C++, which meant that we'd initially have less VT compatibility, but our perf would be better in the long run.
I just looked at the Terminus project page[0] and I'm really impressed that they seem to have run an entire linux emulator in the browser just to show off a terminal.
The design is actually super prototype-y right now. the UX team is still polishing the design, but I believe the final answer is yes, we'll be trying to be visually in-line with the new chromium-powered Edge
Honestly, I'm not sure I'm the right person to elaborate upon the extensions model. If our PM Rich shows up in this thread, hopefully he'll be able to elaborate. I'll point him this way, but as he's at the conference today, I doubt he'll get a chance to :/
A bit off topic, but how does one use Windows 10 now without sacrificing on speed / resources? Recently purchased Lenovo E480 and E585, they all come with stock Windows 10, so before getting Linux in, I've tested it and it is basically unusable: disk/cpu usage is constantly jumping between 80-95%, fans are always turned on producing a lot of noise. Is this common to all laptops with Windows or just Lenovo?
I've never really used Windows as a daily driver until I had to do cross-platform development for PhotoStructure[1]. My windows box is a recent XPS 15 with an m.2 SSD and core i7. My Mac is a 10 year old 17" MBP. My linux box is the cheapest core i5 I could get 2 years ago with an mSATA SSD (not m.2).
Here's this morning's CI job timings (running the same 2K tests that exercise a reasonable mixture of CPU, process management, and disk I/O):
Just saying i5 or i7 is kind of meaningless, because it can be anything between a laptop dual core to a desktop octa core these days.
What's in the 19 additional tests Windows is running? Is the Linux box a laptop as well? I'm personally having trouble believing the Core 2 Duo in your MBP outperforms a modern i7, even after potential Windows overhead.
I have an Asus with Windows 10, and after a day of use, it becomes unbearably slow. It seems there is a lot of activity on the HD. I tried to diagnose this, but was never able to pinpoint a specific process that was slowing it down.
The only solution was to restart it. Web browsing always had a huge delay.
Linux on the other hand: startup is fast, use is fast, runs for months without any restart.
You can fix windows. My media centar runs on 10 for months. Just disable updates (not easily done nowdays tho) and store service which is resource hog.
Use some debloater to remove other stupid stuff. Then it will fly.
It might have just been doing windows updates. I've never had problems with it but I've read online that it can spike disk/cpu usage on some hardware configurations. If you just bought it, it might have been doing a major version upgrade (1809->1903 for example)
Depends on a lot of things including bloatware and anti-virus in particular which can slow a machine to an absolute crawl.
In theory windows can be faster than Linux in some cases; but usually isn't because most developers don't actually take advantage of those APIs and just do everything synchronously which is stupid slow on Windows. That said Linux is catching up super quick in terms of those sorts of things.
Windows 10 will take a long time to update and initialize everything. If I power down my machine for a few weeks it will take a few hours for it to calm down when powered on again (I’m on the insider release cycle so there is almost always a major upgrade of some kind). Lenovo stuff doesn’t help, but I suspect things like store app upgrades (whoever needs those?), Windows updates, search indexing, AV scans.
I have a Core 2 Duo desktop from 2008 with 3GB RAM which I almost never reboot manually running Windows 10, and I can't replicate your experience (the fans are always on, but it's a desktop).
Granted, it has an SSD, so disk access is not slowing the machine down as much, but so do all the computers today.
You basically need to de-bloat your computer from Lenovo's software and also window services (compatibility telemetry was a prime example of an offender). To help with the fan, try undervolting the CPU, my T470p got around -10 to -15mv iirc that helped with throttling and fan/heat a ton.
My Acer aspire 7 is pretty useable... once you remember that Windows 10 is not truly done booting until it has checked for updates. (I also disabled everything I could too, including the bundled software)
Yeah, at one point they put in a lot of work to get the power on to Windows screen up time fast. But it's a scam.. Windows is not done booting until the hard drive drops below being pegged at 100%, which takes another 4 minutes.
I'm guessing bloatware? I haven't purchased a non-genuine Windows machine in at least a decade at this point so I've never run into this type of issue.
The best way to get a Windows computer is either building it or buying it directly from Microsoft so you can get the genuine versions that have little to no bloatware.
E480 here. I didn't see unusual CPU/IO. Did you let it settle for a day? Noise: Lenovo doesn't enable Speed Shift and the firmware provided fan control is shit. If you want to fix it: Get a tool like tpfan and tweak the fans. Get ThrottleStop to enable Speed Shift and undervolt a bit. - Noise was pretty much fine on Linux out of the box. I just undervolted because why not.
I've been developing on both MacBook Pro's and Windows laptops for 15+ years now, on a daily basis, and I can confidently say that Windows laptops are superior to MacBook Pro's for development in every way.
Cost... well, not much to say there. You can get more powerful Windows laptops for 2/3rd, sometimes half the price of what a MBP costs.
MBP's latest generation is a regression in keyboard and toolbar. Not just the keys and their travel, but even simple things such as where the arrow keys are located are a nightmare for me, even after two years of using a MBP on a daily basis. And of course, there are no keypads in the Apple world, which I really enjoy having to move around (page down/page up/line end/line beginning/etc...).
Windows' many consoles and bash compatibility have caught up to MacOS. Even if you don't use the bash subsystem, you can download a console today and use bash + git + ssh in a matter of minutes. Even my dotfiles are now shared by Windows and MacOS with no problems.
Connectors... oh boy. I have to carry a huge hub with my MBP at all times just so I can connect my laptop to screens, or phones for charging or development, or head phones, or...
I could go on and on. Bottom line is I always dread having to use my MBP these days while I look forward to my Windows machine.
I've also switched but up to now Mac Terminal is still far superior to anything I can find on Windows, including much touted 3rd party emulators like cmder/conemu. Keybindings, scrolling, tabbing, drag and drop, copy/pasting and colors just work incredibly well out of the box on Mac, even in Linux land I don't know of a terminal emulator that good. I have high hopes in this new windows terminal.
Other things that are still better on MacOS compared to Windows: Keybinding consistency, system settings, PDF handling, system/app config system, backups and restores, migration assistant, system search. Its file system is also better for many small files. But still, for me the tradeoff is worth it because I can't stand butterfly keyboards, they are that bad.
> Windows laptops are superior to MacBook Pro's for development in every way
‘Windows laptop’? Historically, the Mac(book)s strength was its superior hardware quality. Both in "fit and finish", but also more tangible things like it’s trackpad, keyboard, and robustness (please remember I said historically). These are traits of specific hardware models.
What Windows laptops do you think are superior to Macs?
Exactly my experience. OS X is for me like returning to Windows 7, dev included. I tried to love it, used it more then a year for everything, but Windows is simply much better platform since last CEO.
The Alacritty terminal (https://github.com/jwilm/alacritty/) project landed Windows support somewhat recently, and is now generally the fastest, cross-platform terminal emulator out there. Written in Rust, and GPU accelerated.
I'm not personally a heavy Windows user, but the advantage of a single terminal on all systems is really huge to me.
The most notable feature listed in this article to me is that it too will have "GPU-accelerated text rending".
This is really welcome news as getting a decent terminal has been a real sticking point in my move from OS X to Windows. I settled on Terminus [1] (defaulting into WSL) and that works ok, but still not to the level of OSX Terminal or iTerm. Another option people seem to like is Hyper [2], but I had mixed success and it felt sluggish.
I struggled the same and just want to add Fluent Terminal [1] to the list as one that felt the most similar to OSX Terminal to me and I barely see it mentioned online.
Terminus is promising, but the updates are driving me nuts, it seems like each new one breaks something. A February update made the latency unbearable, and then the most recent update fixed that but it broke tabs: when I switch tabs the new one is blank until I hit a keystroke and suddenly the whole history reappears.
A modern terminal, with full support from Microsoft, is badly needed.
Cmder works great for me because from Windows, my main use cases are 1) git and 2) SSH into my linux server. I don't do almost anything local, besides some web stuff. Cmder has helped me with that, when I'm not on my Mac.
If you find cmder not to your liking, realize it's just a repackaging of https://conemu.github.io/ and Clink with a nice looking stylesheet. You might like vanilla ConEmu better (I did).
If I were an engineer in Apple's OSX group I would see this as the horde amassing an army on the border. Bit by bit, Microsoft is going down the checklist of why someone would use a Macbook pro rather than a Windows laptop for their daily driver and erasing the advantage (or at least mitigating it to the best of their ability).
This will never convert the die hard OSX fans to use Windows laptops, like the OSX features could never convince die hard Windows users to use Macbook Pros, but the real prize here is the large bulk of users who aren't die hard Apple or Windows fans and just want to get their job done on one laptop reliably.
Apple's latest earnings report re-iterates that they aren't investing in the Macbook Pro or OSX in any meaningful way. Microsoft's success with the Surface Pro series against the Macbook Pro has shown that good electrical engineering can be bought and if the software is good enough, it can remove the last objections to the Windows laptops.
I see Linux as a big loser here too as the opportunity for a Linux desktop, for the bulk of the users, recedes further into the distance with two capable, and supported, offerings from larger players to choose from.
I've got one of everything it seems, and I had a Macbook Pro as my daily driver starting at Google in 2006 through my exit from IBM at 2015. I bought a SurfaceBook when they announced them for the drawing experience and laptop that had more capability than my Macbook Pro. I then tag teamed between them until I got the Surface Pro 4 with the same drawing experience, but lighter than a Macbook Air and with WSL and a third party X server a decent Linux/UNIX like development environment.
I still haven't replaced my Macbook from 2015 with the various things that Apple has thrown out there, the keyboard issue, the track bar issue, the lack of drawing, the lack of any compelling reason to upgrade. I still use it for Xcode for the iPad app I am doing in my spare time but use it less and less.
The new terminal will make it easier to not use the Macbook. If Microsoft starts bundling an Xserver for the occasional windows app it would make it even easier to stay on their platform.
I can't tell if Apple sees this as a threat to their business, or just doesn't care anymore about that part of the business and so they are willing to cede it to Windows as the "portable" development environment supported by an enterprise vendor.
I don't want to start any flame wars but I happen to do a lot of pair programming sessions with people (I'm a freelance dev) and a number of people have said they were jealous of my set up and are thinking about a Windows laptop for their next upgrade. Not because my set up is special or super cool, it's just their Mac set up is all sorts of broken and buggy. I can hear legit sadness in their voice.
You don't need MS to bundle an Xserver by the way. Just download VcXsrv for free https://sourceforge.net/projects/vcxsrv/ and be up and running in a few minutes. I use it mainly for flawless zero configuration clipboard sharing between Linux apps running in WSL to work with my Windows clipboard, but graphical apps run ok too (I even tried running i3 through it which was usable but too limiting with multiple monitors).
I guess I just wanted to really say that Linux based / Docker development on Windows is very much possible even today on the stable version of Windows 10, and WSL v2 is just going to make it a lot better than it already is.
I haven't been this excited over a new OS / OS feature since Windows 7 was first released.
Only problem is the June release is for insiders, not stable, and insiders requires sharing A LOT of private info with Microsoft (unacceptable IMO). It might not be until October 2019 or even April 2020 before this hits the stable channel of Windows 10. Doh.
I'm normally very happy with the dev experience on my 2016 MacBook Pro. I run iTerm2 (multiple split panes in a window), zsh/ohmyzsh, homebrew, and VSCode. The new APFS filesystem is insanely fast, especially when combined with VSCode's ripgrep-based text search. I watch my Windows-based colleagues start a VSCode text search in our repo and it takes 10-15 seconds to complete. Me - it's usually less than 5 seconds and often instant. Also, moving/copying/deleting large directories (i.e. 25k+ files) is unbelievably fast.
So macOS is great, in my opinion. But I'm often frustrated with this machine: (a) the keyboard is unreliable - certain keys develop habits of not responding (the `fn` key is currently driving me round the bend), (b) it crashes every time the battery runs low, and (c) my corporate policy installs Sophos which sometimes slows it to an absolute crawl.
From many developers' perspective, Windows' greatest downfall is that it's, well, still Windows. There is so much legacy to maintain, and so many ways that it differs from macOS and Linux at low levels. WSL and the new terminal/PTY are making inroads, but if Microsoft would only fork Debian and build their own supported distro, I can guess that's where we'd all be going very soon. What if they forked Wine as well and built a supported Windows compatibility layer on top?
Thanks for your thoughts on WSL & the new Terminal.
Re. release mechanisms, etc: Terminal will be delivered via the Store so we can ship out-of-band.
We're aiming to deliver new Terminal preview builds every 2 weeks or so which, since we're delivering via the Store, will auto-upgrade everyone soon after each release.
Re. Insiders: We do NOT gather any personally identifiable information. We only collect anonymized statistics about some of the features you use and/or issues you experience. Why? To ensure that we can find and fix issues as effectively as possible.
For example, with WSL, we collect the number of times an un-implemented syscall is called, or # of times a syscall returns an unexpected error. We couldn't care less WHO experiences these issues, only how OFTEN they occur. This info (esp. combined with bug reports in our repo, etc.) has been essential in helping us prioritize which syscalls are being called, which we've implemented, which are failing, and thus, which we need to pay attention to. Without this info, we wouldn't have been able to make WSL as good as it is.
We understand the community's concern about data collection - heck, EVERYONE should be - but in the general scheme of things, I think it fair to say that Microsoft's telemetry data collection is pretty well contained and is not egregious.
If you'd like to see what telemetry is being collected, on your machines, this may be of help: https://docs.microsoft.com/en-us/windows/privacy/diagnostic-...
HTH.
They got windows+linux users in the first place by pre-installing curl+ssh, now their version of ls, find, and bash are all holding back those same windows+linux users.
Each of the last few major updates have added more and more control over this. The latest release is allowing even more user control.
Windows already tries to track active use times for the user, and is capable of waking a machine up in the middle of the night, install updates, and then go back to sleep. Improvements to session restore makes this almost seamless.
At some point MS, as the maker of the largest consumer OS, has a responsibility to patch critical vulnerabilities. Balancing the need to keep users secure with the inconvenience of a reboot, and the feelings of lack of control that come with it, is not an easy task.
On the opposite side, I've been frequently annoyed when Windows, unable to install an update, turns my computer on in the middle of the night, fails to install, and keeps the machine on. Lovely way to waste electricity, error messages are silent, and I had to run a command line power management tool to determine why my machine was waking up every night at 1am.
I've been using exclusively Windows 10, for 2 years at work and more at home, not once had I an uncontrolled reboot. Perhaps rebooting at least once a week help.
Apple has been making huge mistakes in their Mac strategy. From the outside it seems they got drunk on the iPhone success.
With the exception of the iMac 5K and maybe the Mac Mini, I'd say the complete Mac line of products is now in worse shape than ever. It started decaying around 2013 with the trashcan Mac Pro and the gradual death of the Apple pro apps (Motion, Aperture, Final Cut, Logic, etc).
Regardless of the mediocre state of Mac hardware I love macOS. Although I agree that Windows is in great shape now and is only getting better.
I hope Apple is changing course and it's only taking so long because it is difficult to steer a huge ship into a new direction.
The keys were a concave curved shape so they were comfortable to your finger pads and tactile so that you could center your finger on they key by touch.
Since then, it's been form over function.
WSL and Hyper V(really docker for windows on top of hyper v) has gone a long way to stop me from switching to linux for development.
You forget that the battleground in their business is the smartphone, capitalizing on the gains in smartphones and accessories is what will make the most profit. Additionally Apple is well fomented against the PC market taking over, all over Silicon Valley, Macs (Unix) are a clear preference for getting work done.
Apple is so off the charts popular, that their events even take the world's attention. The glitz, the buzz, the beast marketing machine can't be defeated.
Does it matter? According to market share numbers osx/macos' is ca. 14%. Developers/others who care about terminal environment must constitute a tiny share.
All they do for desktop and laptop is just tell the public number of git branches they made as number of new features added.
I could still use Snow Leopard if they kept patching it for recent hardware.
Loss of a visionary is a way for a slow death. When are they going to wake up and be innovative again?
https://token2shell.com/x410/
I don't see this as a loss for Linux. I see it as Microsoft bridging a gap (albeit a gap they deliberately created) that Linux hasn't yet. If I could do it the other way around (Linux running windows) then maybe I would but when I created this setup some years ago I couldn't so... Yeah idk this way Linux at least gets to be a part of my life.
When I can do this in windows (unix command line): cat somefile.txt | sort | uniq > output.txt, then it'll become a threat. Otherwise, Microsoft should fork a version of GNU/Linux and port all of their apps and GUI. They need to stop trying, they had their chance but may never achieve equality when it comes to the Windows Vs. Unix/GNU-Linux command line.
This is my opinion and observation.
Peace
in cmd.exe
type somefile.txt | sort /unique > output.txt
or in powershell
type file.txt | sort -unique
Powershell is obscenely powerful, it is equal to anything Bash can do plus:
1. It sends objects instead of streams, so instead of relying on fixed width output and string splitting, you can specify which column(s) of output you want from a tool directly
2. It can pull data from all sources of sources, including databases, WMI, COM sources and more.
3. Fully plugged into automation for servers, rich auto-complete, and a native ecosystem that is designed to all work together.
4. It can call into .NET libraries
But even cmd.exe can handle outputting text and sorting it!
There are a lot of responses of the form "you can do this similar command in WSL/PowerShell/etc.," where that similar command will not run on a standard Unix-based system. I think that misses half of the point. One of the reasons a lot of programmers use OS X is specifically because you don't need separate sets of commands for the desktop and Linux cloud server (obviously, Linux gets even closer).
It's been possible to do a lot of stuff from the Windows command line for a long time. The problem has been that to do so effectively, many teams have to maintain a .bat alongside the .sh that will be used in production.
I take it you haven't tried WSL in the last couple of years?
Not only can you do operate your typical one-liners but if the package is basically command line driven you can just apt-get install it and go.
There is a remaining wart that I hit from time to time, if I have a git repo that I want to talk to both from the WSL window and from a Git Shell (Cygwin app), the line endings get tweaked. It can be managed but it is still annoying.
"WSL 2 will also support running Linux Docker containers natively, so that VMs are no longer required."
Great news!
Unfortunately the link https://aka.ms/build2019kernelannounce doesn't seem to work for me.
The whole thing of WSL was it that contained no Linux kernel at all.
I've been running WSL for over a year with Docker for Windows and while the experience feels native to WSL (WSL has no problem running the Docker CLI and connecting to Docker for Windows) it'll be a very nice perk to just apt install Docker in WSL and not deal with DfW.
This is why we added support to optionally set Ctrl+Shift+V as the paste keybinding in conhost.
Fortunately, the Windows Terminal doesn't have a lot of the legacy to maintain like conhost does, so it'll support setting paste to whatever keybinging you like :)
With the Windows Terminal, we've switched to a DX/DWrite based renderer, which no longer uses the CPU to draw text, and moves it to the GPU. Our preliminary testing has a insane perf improvement for applications writing lots of text, something like 10x faster :)
EDIT: It is possible you are on an outdated version of Windows, or have upgraded and still retain your old settings.
Be sure QuickEdit Mode is enabled, as well as Ctrl key shortcuts.
One of the things I hate is when the default option is "good enough" so you have the danger of living with mediocrity. Or, worse, the platform doesn't spawn a rich ecosystem of competition.
For example, when I was on OSX I couldn't find a music player I liked. iTunes was bad, but the fact that everyone uses it means there aren't as many alternatives as on Windows.
You can have everything now on all 3, everything important. I almost never use non-cross platform tools.
All GPU based terminal emulators I tried so far make latency worse. You have to do away with double buffering and V-Sync for small changes (or on key-press-events) to get in the sub 1ms range.
[1] https://pavelfatin.com/typing-with-pleasure/
This is an absolutely epic post you've linked, I'll make sure to share with the team.
Disabling quick edit helps, but now I can’t select text at all.
Is this behavior changed in the new terminal?
The new Terminal fortunately gives us much more flexibility for customizing it's behavior with user settings, so we'll be able to support either pausing output or not, depending on what the user prefers.
> The first preview of the new Windows Terminal is now available.
But does not provide a link. Would you be able to provide one? Or is it part of the Insider preview?
Also, I assume this uses ConPTY, which implies better compatibility with TTY/VT?
We don't have a link to share quite yet. The first preview builds that will be available from the store will be coming soon(tm). The "now available" part seems to be referencing a part of Jha's keynote that I don't want to spoil quite yet :)
Yes it's using ConPTY as a backend, which means all Windows commandline apps will work in it out of the box.
Lol I should have updated that issue - in the most recent Windows release, we added a feature to conhost to actually disable the overscroll (under Properties... Terminal... Disable Scroll-Forward). See [this blog post](https://devblogs.microsoft.com/commandline/new-experimental-...)
Question - I see in the Techcrunch article that tabs will be supported. Do you know if split windows (like iTerm2!) will be supported?
I'd say the vast majority of the codebase is pure C++, without the C++/winrt magic.
The renderer we're using is DX-based, which provides a pretty substantial perf improvement over the old GDI-based one conhost uses.
[1] https://gist.github.com/XVilka/8346728
[2] https://terminal-wg.pages.freedesktop.org/bidi/
As far as bidi text, the underlying console implementation isn't quite there yet, though it it high up on our radar of things to work on.
Does this new terminal support Unix/Linux style shortcuts? Another unrelated thing I’d love to see for WSL is windows-XDG integration, so for example the XDG Browser variable would be set to open the default Windows web browser.
The best part of working on the Terminal is that we can feel free to add new features to it's codebase without breaking backwards compatibility, which why such a feature was never added to conhost in the first place
- sudo for editing protected files (using nano to edit the hosts file in system32 for example)
- Good copy/paste functionality, something robust, maybe like linux with the middle click or normal shortcuts is ok
- Non blocking stdio when scrolling out of focus (not sure if this still exists)
- Split screens like iterm2 or terminator. Adjustable, with different colors for each, with the ability to save profiles so they get restored every time the terminal starts up.
- Smart notifications. If a compile/transpile finishes, our scripts could emit an event to the terminal similar to the bell, to produce a gentle notification. Right now the bell results into the taskbar item becoming orange, but it doesn't go away on its own.
- In Cmder when I have multiple split screens, they register as multiple windows, when I hover over the application on the task bar. Split screens should register as one window in my opinion.
- Right clicking on the application's taskbar icon should give an option to launch a new terminal or a new terminal from a saved profile.
Thank you for your efforts!
Not directly related to the terminal, but any updates on the file system slowness issues?
I believe they have a big announcement later today that I don't want to spoil quite yet :)
Will cmd, PowerShell and WSL all use the new terminal by default?
Powershell, cmd.exe, WSL, they're all unaffected by this change. They all run the same in the new terminal as they did in the old one, thanks to the powerful magic of [ConPty](https://devblogs.microsoft.com/commandline/windows-command-l...)
Curiously, Windows is more secure than linux because it _doesn't_ have a sudo.
In Windows, any application can set messages to another window at the same integrity level with SendMessage/PostMessage.
If you had a `sudo` on windows, you could have a medium-IL terminal window which is talking to a high-IL process (running with the hypothetical sudo), and any other medium-il process could drive the console, effectively creating an escalation of privilege attack vector.
Its very much by design.
Is this open source? Is there a way for me to help contribute back? Thanks for the hard work!
https://github.com/Microsoft/Terminal
Split panes is one of the things I want to see get done next personally!
As far as package managers are concerned, I've had lots of success with Chocolatey. If developers are willing to port their commandline applications to Windows, then I'm sure they'd be welcome additions to Chocolatey
[0] https://blogs.windows.com/buildingapps/2019/05/06/developing...
[1] https://github.com/Microsoft/Terminal
By using the GPU for text rendering, we can process more text faster on the CPU, without the rendering of the text getting in the way.
If we're not already doing subpixel AA, then I think it's certainly something we could look into. I'm not really our DX guy, but it DX supports it, I think we could use it.
1. Is this based on Terminus or some previous OSS project?
2. Is this using xterm.js for the terminal emulation?
2. I spent a LOT of time looking at using xterm.js, and eventually decided against it. The main factor was that although it would provide us a nearly complete VT implementation, it was critically tied to the JS ecosystem, and no matter how much time we spent engineering it, we'd still be coupled to having a webview render text. So we instead decided to write it in C++, which meant that we'd initially have less VT compatibility, but our perf would be better in the long run.
[0]https://eugeny.github.io/terminus/
Deleted Comment
I've never really used Windows as a daily driver until I had to do cross-platform development for PhotoStructure[1]. My windows box is a recent XPS 15 with an m.2 SSD and core i7. My Mac is a 10 year old 17" MBP. My linux box is the cheapest core i5 I could get 2 years ago with an mSATA SSD (not m.2).
Here's this morning's CI job timings (running the same 2K tests that exercise a reasonable mixture of CPU, process management, and disk I/O):
Windows 10 (XPS 15):
Mac (10 year old MBP on 10.11): Ubuntu (i5, LTS 18.04): I'd suggest backing up your HD, making a USB stick with OEM Windows 10, and reinstalling just Windows (with no Lenovo bloatware): https://support.microsoft.com/en-us/help/4000735/windows-10-...[1] https://blog.photostructure.com/introducing-photostructure/
What's in the 19 additional tests Windows is running? Is the Linux box a laptop as well? I'm personally having trouble believing the Core 2 Duo in your MBP outperforms a modern i7, even after potential Windows overhead.
2.installed from scratch
3.the windows setup only put essential Lenovo stuff - hotkeys and thermal management.
4. ???
5. Profit [1]
It made a real difference to disable the automatic windows updates and run them manually. There were no bloatware installed on my unit.
[1] A joke from the memes, its all good otherwise.
I have an Asus with Windows 10, and after a day of use, it becomes unbearably slow. It seems there is a lot of activity on the HD. I tried to diagnose this, but was never able to pinpoint a specific process that was slowing it down.
The only solution was to restart it. Web browsing always had a huge delay.
Linux on the other hand: startup is fast, use is fast, runs for months without any restart.
Use some debloater to remove other stupid stuff. Then it will fly.
In theory windows can be faster than Linux in some cases; but usually isn't because most developers don't actually take advantage of those APIs and just do everything synchronously which is stupid slow on Windows. That said Linux is catching up super quick in terms of those sorts of things.
EDIT: grammar
Granted, it has an SSD, so disk access is not slowing the machine down as much, but so do all the computers today.
The best way to get a Windows computer is either building it or buying it directly from Microsoft so you can get the genuine versions that have little to no bloatware.
https://www.microsoft.com/en-us/software-download/windows10s...
Bloatware, begone!
Cost... well, not much to say there. You can get more powerful Windows laptops for 2/3rd, sometimes half the price of what a MBP costs.
MBP's latest generation is a regression in keyboard and toolbar. Not just the keys and their travel, but even simple things such as where the arrow keys are located are a nightmare for me, even after two years of using a MBP on a daily basis. And of course, there are no keypads in the Apple world, which I really enjoy having to move around (page down/page up/line end/line beginning/etc...).
Windows' many consoles and bash compatibility have caught up to MacOS. Even if you don't use the bash subsystem, you can download a console today and use bash + git + ssh in a matter of minutes. Even my dotfiles are now shared by Windows and MacOS with no problems.
Connectors... oh boy. I have to carry a huge hub with my MBP at all times just so I can connect my laptop to screens, or phones for charging or development, or head phones, or...
I could go on and on. Bottom line is I always dread having to use my MBP these days while I look forward to my Windows machine.
Other things that are still better on MacOS compared to Windows: Keybinding consistency, system settings, PDF handling, system/app config system, backups and restores, migration assistant, system search. Its file system is also better for many small files. But still, for me the tradeoff is worth it because I can't stand butterfly keyboards, they are that bad.
Everyone I've ever seen using macOS doesn't use Terminal.app - iTerm is popular, I use Alacritty.
What Linux term isn't faster, if nothing else, than Terminal.app?
‘Windows laptop’? Historically, the Mac(book)s strength was its superior hardware quality. Both in "fit and finish", but also more tangible things like it’s trackpad, keyboard, and robustness (please remember I said historically). These are traits of specific hardware models.
What Windows laptops do you think are superior to Macs?
I'm not personally a heavy Windows user, but the advantage of a single terminal on all systems is really huge to me.
The most notable feature listed in this article to me is that it too will have "GPU-accelerated text rending".
The Windows port is still (naturally) rough around the edges. I think it'll get smoothed out when they switch the backend to conpty though.
1 - https://eugeny.github.io/terminus/
2 - https://hyper.is/
[1] https://github.com/felixse/FluentTerminal
A modern terminal, with full support from Microsoft, is badly needed.
Cmder works great for me because from Windows, my main use cases are 1) git and 2) SSH into my linux server. I don't do almost anything local, besides some web stuff. Cmder has helped me with that, when I'm not on my Mac.