From a performance to value perspective you cannot beat Linux. Docker/Microk8s the overhead is so low. Dev speed is leagues ahead the unfortunate circumstance of having to run Docker/Minikube in a VM on Windows and macOS. Also filesystem IO is unreal compared to Windows at least.
Getting a refurb Thinkpad on ebay and having better compute hardware than a mac pro for half the price is also a nice cherry on top so to speak. That and the insane sales Lenovo has all the time for brand new machines is kind of hard to beat as well.
Next up is Windows from a hardware perspective. Same refurb thinkpad can dual boot without issue.
Then lastly macOS. I have had a mac since 2011. I am having a hard time with the direction Apple is going with their laptops.
I have all 3 and they all have their merits, but I find myself using Windows/Linux at home exclusively and macOS at work and I don't mind the context switch.
To each their own!
With the uncertain future of mac with their potential switch to ARM and not shipping python and ruby by default, I see some drawbacks to the dev ecosystem. I know brew will package a ruby version to handle this but I do worry about the ARM switch.
Linux used to be quite difficult, but I stuck with Ubuntu and the UX/UI has improved so much :)
This, a thousand times this. I had a discussion earlier this week with the owner of a Mac repair shop of 15+ years here in Toronto, who lamented the release of any Mac portable since 2015 - saying 'thank God for the 2012-2015 units, or I would be out of business.'
I told him I'd been buying Macs for 15 years, and during especially times like buying my first iBook at age 15, I absolutely relied on, and still rely on, purchasing a laptop with the intent to upgrade the RAM and the HDD/SSD in the future.
With the laptops continually increasing in price, justified by tacking on useless features nobody wants, and then preventing upgrades, the laptops are out of reach for me to justify as an intermediate iOS developer. The 2017 models locked to 16GB are already virtually obsolete to a serious developer or film editor.
I will not, would not, on principle, buy a computer whose hard drive is soldered to the Logic Board, if only for the sake of retaining the hard drive itself aside from the laptop.
There is no possible, potential benefit a soldered hard drive, or soldered RAM, gives me, and the detriments far, far outweigh any benefits.
Previously, if the hard drive or RAM got corrupted or damaged, I could replace those parts the same day. What now?
Truly - and I mean truly, butterfly keyboard and lack of ports aside, even internally, Apple has finally gone from questionably being form of over function, to its focus on form over function being a literal insult to its long term dedicated users, and simply not responding to criticisms.
So the media laughs at the Touch Bar, fans and critics deride it, and Apple's response - to cancel the non-touch bar version of the 13" MacBook Pro.
I've had a MacBook/PowerBook Pro (and Thinkpad) since Titanium and the First MacBook Pro and if it wasn't for the fact of macOS and the convenience of being in the Apple ecosystem with their iPhone, TV, HomePod(s), Watch, Music, and iCloud I would be back on Linux (I actually came from FreeBSD on my Thinkpad). I'm currently using a 2017 and 2018 MacBook Pro. The 2017 would be great except the keyboard (and of course the soldered RAM/HDD) is absolutely trash. The 2018 is much better, but nothing like a Thinkpad. I also miss the Trackpoint, but the Apple Trackpad is good.
I miss my Thinkpad (+ BSD) bad, but being an iOS / web developer and entrenched in the Apple ecosystem (which I honestly like the convenience) I feel stuck and hard to even get a secondary machine. I even leave a fully maxed out P53 and P1 (I can't decide which one I want) in my Lenovo cart ready to buy at a given moment.
Golden, golden days. Every other film editor and director I've ever met, I've had a talk about how blessed the 17" G4 was (at the time).
Never had a Mac before, everybody was saying they were fantastic. You'll see, coming from Windows, what a difference, they would say.
The first had some serious hardware failure which made it reset at random times. With time the resets became more frequent until it became impossible to use it. I gave it back to IT with the order to destroy it.
The second had the infamous keyboard. God knows how much I hated it. Random keys wouldn't work, but most commonly the ones you need more, like shift. Thanks Apple. Went to IT and told them to throw it in the bin.
This last one I got has the horrid touch-bar which starts the bloody Siri 3 to 5 times a day because my finger randomly flies by the up-right corner of the laptop (typically when I am looking for the backspace). I hate it. The network sometimes goes away, for unknown reasons, until I reset the network card. Recently, the screen sometimes shows some worrisome fast-disappearing black areas.
You'll see, they would say. Very reliable, they would say.
Other than that though, I think you might just have been unlucky. In professional env, I've seen bad units with pretty much every brand out-there. It shouldn't happen, but it does. In my experience, Apple will replace these without much fuzz, but their service, certainly towards businesses, is a far cry from that of for example Dell.
The Touch Bar complaint is just you not investing enough time with the system to get to know it. You can disable siri, and completely customise the touch bar.
Oh, how the mighty have fallen.
What? I haven't dealt with Carbon API's in forever. Care to add more detail?
It's like their product management is run by sadistic assholes.
"Lower end Mac Pro" sounds an awful lot like the "xMac," a Mac that would be more like an iMac but a box that takes cards, which is something that some folks have wanted for literally two decades at this point. It's clearly not what Apple wants to bring to market. The low-end headless desktop Mac is the Mac mini -- and I suspect it would be a great machine for a lot of developers. That doesn't mean it's what you want, and I'm not saying you're wrong to want something else! I am saying, though, that "Apple won't make my dream Mac" isn't a sign of sadism.
From removing the non-touch bar MacBook Pro model, to the ghastly price of the new Mac Pro, to their refusal to create an upgraded iPhone SE-sized model - Apple has started to shove things down the user base's throat now more than ever.
Apple has always been guilty of this to some extent, but for me, it's offerings worked with me, my workflow, and their direction grew with me - I embraced the move to Intel, because, as a developer, being able to dual-boot, and eventually even virtualize the dual-boot with parallels, was excellent for me. (Waiting for Office 2008 and the Universal Adobe CS3 package, however...)
The point is - Apple has always at least provided options in the past that were, well, options. At this point, there is no option in Apple's lineup I would keep for free - I'd simply rather sell a new MBP and create a hackintoshed Lenovo ThinkPad in a heartbeat than actually use any of their offerings on the daily, which I can say from experience, as I happen to have to use both on the daily.
I don't think I've actually ever had a non-Apple main notebook, and that goes back to the 1990s!
That said, I only tolerate the 2013-2015 rMBPs, use one for my main personal and work laptops, but the soldered RAM pisses me off (a lot, because my personal machine only has 8GB and my god is it hard to find a 16GB model for a reasonable price in the used market), and the proprietary storage irks me. Thankfully 10.13 supports NVMe with an adaptor, which to me basically confirms that there was zero reason for Apple to use the proprietary stupid thing in the first place.
As for any machine they've built after 2016, well, I don't want them. I don't want a butterfly keyboard with no travel that breaks with a skin flake. I don't want screens that stop working because they use a flex cable connector that's too short. I don't want a touchbar if it means no function row. I don't want to give up MagSafe. I don't want to give up my SD card slot. I don't want to give up USB Type A. I don't want a massive trackpad, and I don't want the fscking T2 chip.
In fact, the only things on the >2016 machines I do want are the faster CPUs and GPUs, the better quality displays, and Touch ID!
... As for Lenovo though, they're slowly into Apple 2.0. Have you seen the T/X x90 and X1 series? Soldered RAM. At least they still make the X1 Extreme and P series.
Not to mention brew is vastly inferior to most Linux package managers (apt, yum, pacman, etc.)
On Ubuntu, it's snap.
But yes, I agree we have great ways to have the latest and greatest.
That said, you can just customise the PKGBUILD yourself, and even then it's no real stress to build from source yourself. Even if you then stabbed yourself in the eye with a pencil, it'd still be a better system than on MacOS or on Windows.
Then I must be lucky. I've been using arch on my dev machine without notable breakages for about 2 years.
To be fair, I can't compare with other distros as this was the first time I used Linux as main OS.
This still holds, right?
In my experience, unless your needs are extremely basic, sooner or later you'll run into an issue where the solution is basically to commit nuclear warfare on your filesystem and start over again. Also, expect to rely on random blog posts and stack overflow as the de facto user's guide (which maybe is just the state of the world for everything now.)
As to Homebrew, I don't understand why it complains if I use sudo to do an install but then also complains if I'm not running as an admin account! If there's a reason for this splitting of hairs, I don't know what it is.
The "Moby" VM on Windows is a bit annoying - it takes 30s or so to start the Docker engine, bind mounts/volumes are a bit pernickety, and resource use is obviously higher than without a VM. Having said that, once it's started everything works pretty well, with containers starting almost instantaneously.
I believe there are some IO perf issues if you're using WSL (I don't use it much, preferring git bash for most things).
Both of these issues should be fixed when WSL2 finally arrives. But unless you're on an Insider's build, I believe that's going to be 2020 (someone please correct me if that's wrong).
Windows NT had Windows Services for UNIX, replaced by Subsystem for UNIX-based Applications on Windows 2003 until Windows 8, eventually replaced by Windows Subsystem for Linux, given that now Linux API compatibility has became more relevant than straight POSIX code compatibility.
The hardware, especially the keyboard and touchbar, are utter trash and reminiscent of the dell and HP laptops around 2008, which were the reason I dumped those brands in the first place.
All the pointless dongles were a moronic excuse to make thinner machines. They forgot about function and also failed to realize that aesthetic doesn’t matter if the keyboard is literally a dumpster fire.
I wonder sometimes if Tim Cook is becoming senile or if he just don’t care since the iPhone was printing money.
I mainly use Windows for games but every now and then I don't want to leave my desktop to make some changes to a repo while my character is respawning/spectating or something haha
WSL2 is going to be awesome for sure
But it is very fast!
The Insider build also green screens less often than the most recent general release did!
Having Github available for issues is great too, as you can see progress being made in fixing the bugs - I feel more connected then when I actually worked inside Microsoft!
I’m currently working on cross host code, so being forced to use the Hosts file actually helped me out!
I haven’t tried going from Linux to Windows via localhost though
I do have issues running multiple Selenium tests with a headless browser. Running 1 process works ok though
Which Thinkpad model do you recommend?
And which Linux distro do you use?
The X1 Extreme is nice. It is one of relatively few PC laptops that are comparable to the 15" MBP in terms of performance (H-series processor rather than U-series) and portability. It has upgradeable RAM/SSD, so I got the base model with the upgrade CPU then purchased 32GB/1TB separately and saved something like $600-700 as a result. With slightly better cooling and a 3:2 display I think it would be nearly perfect.
Concerning distro, if you want to "just get work done" I recommend Ubuntu if like the way it looks or want to use one of the non-Gnome desktops. If you do like Gnome but but like the Ubuntu desktop, Fedora is great.
Maybe I am unlucky. I bought it because I finally wanted a 15" screen with a centred keyboard, i.e. without the num-pad, because uncentered for touch typers is really really weird. It started that in order to get Linux running I had to switch the graphics card to discrete mode, at least this is what I found on Internet. This bricked the machine and according to the Lenovo support thread I was far from alone ! Luckily I had on-site 24h support, so called. They were able to come only after a week... With the wrong board... With travels in between I had in total to wait for 1 month to make the machine work.
Now it works and I am using it and trying to accept it.
- It is extremely loud! BIOS updates made it better as of lately and I got a bit more used to it.
- It gets extremely hot. So hot that actually typing on it gets uncomfortable.
- I am not able to do any meaningful work for more than 3 hours on battery. With my last X25 with 2 batteries I was able to work a whole day!
- The screen is like a mirror! I found a workaround by trying to work as much as possible with white background.
- And finally, but this is probably more the fault of Ubuntu/Gnome/nVidia - it is the laggiest experience ever! I mean, I am working most of the time in a terminal! Typing on the terminal is so laggy, that I do not even remember back to 1995 when I was starting using Linux to have such a laggy experience. Come on, this is supposed to be the most powerfull machine that I ever had?!
- Using external screen is possible only when switching ot nVidia. When using Intel graphics card (to prolong battery life) you cannot switch on external screen.
- Another, but probably this is Gnome/Ubunut/nVidia annoying thing is, that as soon as I lock the screen in Gnome, the fan starts turning like hell and the temperature rises! Come on, is Gnome screensaver mining bitcoins or what? I mean, I configured it to just turn off the screen when I lock it! And instead of saving energy it is heating the planet!
By now I spend so much time trying to configure, update and whatever that I am really tired of it. I mean, I have work to do! I am trying to prepare to go to NixOS, because I heard from some people that they got it configured to be usable. Preparing for this slowly, when I can dedicate time.
It's not all bad though. There are some positive things:
- I like the physical build quality. It feels solid and sturdy.
- The screen (I have the 3840x2160 resolution) brightness, resolution and colors are really good. To watch photographs or to see movies. Unfortunately working on text is only possible with white screen. Otherwise it is like a mirror. It would even be possible to work outside, but you need to have electricity, the battery life is horrible.
- I like the keyboard. The touch depths is nice and I have the impression that it is a bit more distinctive than on the prior models that I had (X25 and T450s).
- The CPU power is more than enough for me.
 - https://forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/Anoth...
EDIT: Typo, s/X24/X25/
Installed erpalma/throttled from github to squeeze my CPU perf to max. Also make sure to set sleep to S3 in BIOS. Otherwise nothing else to do. Everything seems to work just fine.
The 7th Gen just came out so there might still be some issues but I would look around and see if it's good to go.
I use Ubuntu 18.04 LTS. Once 19 is done I will more than likely move on to 20.04 LTS
The yoga needed some tweaks to get the OLED brightness to work correctly, but other than that they basically worked out of the box under ubuntu 18.04. My only complaints are that the oled panel only came in gloss and has since been discontinued (although there are rumors that a 15" 4k oled will be available on the x1 extreme), and that the mouse click on the yoga is several orders of magnitude too loud. The trackpoint buttons are fine and the keyboard is great, but the trackpad click is loud enough to hear in the next room over.
I'm running a T530. Max out the ram, get a ssd, it's great. I'm probably on my third one, I keep buying junkers for $50 from eBay for the parts. I majorly abuse it. The magnesium frame likes to crack near the heatsink, the steel frame around the screen likes to crack 1 inch above the hinges, don't spill water on the table it's sitting on.
In this case, I'm measuring my productivity by the time it takes to mess around with the OS to get the desired result, and the fact that the stability baseline just never seems to get there.
I get and support the attraction to Linux on the desktop, but find YMMV to be very much true.
I try to move over every six months to a year or so, and it's the same gripes every time at this point.
Driver support's reasonable now, and the desktop environments are generally solid enough, but things like mixed DPI work really badly on Linux, my browser nearly always tears when scrolling on my secondary display, etc.
But... the single biggest killer for me though is how badly Linux copes with very low amounts of free memory. Put 32G in a machine and it still periodically runs completely out under my dev workload and when that happens, the whole system becomes unusable and I have to hard reboot it. I'm not sure what macOS and Windows do differently, but it just doesn't happen on either of those two OSes.
I really want to have the freedom to pick and choose my hardware more, but at the moment I keep falling back to macOS.
It's a UNIX environment so it has the tooling I want and a solid GUI that works well.
I used to have that problem too, but it went away when I stopped using JetBrains products :). Not for any reason other than the contract I was working on ended.
And I didn't even have a JetBrains product in the loop, it was a mix of virtualbox and VS code, along with browser, mail client, etc.
During a memory pressure scenario, the kernel starts looking around for things that it can get out of RAM to free up space. If swap is enabled and not saturated, paging out some data to disk is a likely option. Reducing disk cache size works too. But... when the usual candidates run out, things have to get more clever. Things like shared libraries can get paged out! If one of those pages is requested, it can be reloaded from disk. Or, in the VirtualBox case, the mmap'd disk image can be removed mostly from RAM and have those pages loaded from disk as needed. Performance sucks terribly, but it keeps trucking on.
The wrinkle in all of this is SSDs. The out-of-memory (OOM) killer heuristically watches the system and kills off processes that cause memory pressure problems. These heuristics, however, are expecting these page-in and page-out operations to be slow (as they were on HDDs). On newer SSDs, the disks are too fast to trip the OOM killer into action! This is why, when this problem manifests, your disk activity light goes on solid, even if you don't have swap enabled. The kernel is sitting there trying every trick in the book, and the OOM killer doesn't see what's happening. Every individual page fault is handled quickly, there's just waaaaaay too many of them.
The lesson I've recently learned is that, for now, swap is necessary on Linux machines with SSDs. I've enabled zswap and added a 4 GB swap file to my machine with 16 GB of RAM, and the problem hasn't reoccurred for me since then. Supposedly, the memory pressure measure in the kernel gets a more accurate reading when swap is enabled, but I don't know for sure that that's true. At the very least, you can page out the memory you're using the least instead of file-backed pages, which is what happens in memory pressure situations on SSDs (as opposed to OOM killing).
When Android Studio is run with large code base on emulator, memory issues were frequent in Linux with halting issues. SO has several such cases.
No such issues with macOS, even with mutiple Jetbrains IDEs in parallel(Same memory config).
I wonder how Android Studio is doing on ChromeOS, considering many of those are low end machines. I'm sure they had to optimize it, but I assume the issue would persist till the Linux kernel itself is fixed.
On Mac, you can't, even if you want. So you won't see discussions like these, because Mac does not have that kind of visibility inside. If something is broken (and Mac has its share of broken things), you get to keep all the pieces.
Packages are available in Debian Stable (Buster), so they should be available in most child distros by now as well.
What makes earlyoom useful is the fact that you can tell the machine what is low value and likely to be problematic. I'm not sure that information can be determined automatically. I'm further not sure what a better strategy than start killing low value problematic processes when we reach a threshold looks like.
I've been in a couple of interesting discussions about Linux memory management lately that enlightened me somewhat, and I won't claim to be an expert now, but I've been around the low-memory block enough to understand now that, there's no simple right answer to the question of "Do you have swap?"
"The Linux kernel has overcommit baked into the fiber of its being." I've begun to understand that this idea is so deeply engrained in the kernel that in a multi-tenant or desktop workstation, you simply can't extract it back out and "just provide enough RAM," unless you know the performance characteristics and you really mean it when you say "that should be enough RAM." If you don't have any swap and the kernel starts to run out of memory, it's going to start evicting whatever pages it can back to disk.
(Wait, pages back to disk? I told you I didn't have swap) Yes – the linux kernel can page things back to disk even if you don't have swap, remember all of the binaries you're running have originally come from that disk, and the kernel knows it doesn't strictly need to have them in memory until they are volatile, or you tried to read those pages again.
Having some swap gives the kernel something else to evict, so have a healthy amount of swap and Linux will find the occasion to use it for the least frequently used pages that are not already on disk. This will improve your "nearly out of memory" performance.
The second worst thing that you can do is put your swap on fast SSD or NVMe, and it's not why you think. The kernel is making decisions based on a heuristic which is complicated and well-documented, but inscrutable. If the solid disk is 50x faster than the spinning disk that the swap was originally designed to use, then swapping will cost less overall and the heuristic will lean on it as a strategy to keep the OOM killer away even more often. You may find your cache recycle rates going through the roof because things can be paged out to disk and re-loaded faster than should be possible. I don't fully understand this part, but I suspect the answer is "try to use Swap less, and be aware of when you are using it."
The kernel does really not want to kill off your processes, and it has more opportunities than ever to ensure it keeps too many balls in the air when you have asked it to do so. So, find a way to stay ahead of the kernel and know better. If you have a dock widget that tells when you are going above 50% swap usage, you can close some tabs before it gets to be an unrecoverable situation. It's a mystery to me why modern computers don't come with disk activity lights, as this problem we didn't need dock widgets to solve 20 years ago when literally every computer came equipped with one.
The best advice is to have enough RAM for whatever you're doing, and at 32GB "I think you've had enough." At any rate the one suggestion that I could give is, if you anticipate running out of memory (ever, and it looks like you still do), then you should be sure to have a healthy amount of swap, to me that's probably at least 5 or 6GB but YMMV.
But, 32GB for a desktop workstation really ought to be enough IMHO, so try to find a way that you don't run out? If you're eating all that memory up with VMs, try a lighter weight solution for your ephemeral workloads like footloose, which behaves like a VM in the ways you generally tend to want for your dev workloads, (like for example, it can run systemd like your deploy target most likely does, if you're using VMs to match the deploy target). Footloose doesn't impose the "VM's" whole footprint upfront due to actually being a container, so when you run out of memory it will be because your application workloads used too much, not because your virtual machine manager has grabbed much more than it needed.
As I'm typing this, I got 14hours and 33minutes of battery left and it's only charged to 83%. In hardcore scenarios out of the grid for a few days (where I go sailing) I got a few spare batteries. (the laptop is the Lenovo X270)
> In this case, I'm measuring my productivity by the time it takes to mess around with the OS to get the desired result, and the fact that the stability baseline just never seems to get there.
The time investment goes down significantly over time. After a decade using linux on as a daily driver, I don't remember the last time I've tweak anything.
> fed up ... and go back to macOS.
Same thing but the other way around. I stay away from my Mac except for:
- making sure my applications look good enough on a Mac and are usable
- making music as I'm not patient enough to relearn everything on a different platform but that's just laziness from my end
So, it gets stable after the first 4-5 years of tweaking. Doesn't that make the parent's point?
And after those 4-5 years, wont one have to get a new laptop at some point, upgrade to newer OS version, and adjust to whatever changes the FOSS projects like Gnome/KDE/etc did in the previous years all from the beginning?
>- making music as I'm not patient enough to relearn everything on a different platform but that's just laziness from my end
Just laziness? As if Linux has anything remotely as powerful/coherent as Live/Cubase/Logic/etc, Native Instruments, Arturia, and all the other VSTs?
But that's part of what I love about linux, my text-based configuration doesn't have to change because I upgrade, unlike on Mac where the name of some `defaults write` key suddenly renames or disappears altogether.
In the rare cases that something in a Linux distribution changes so much it upends your config, you're just a package install away from getting the old behaviour back until you want (if ever) to deal with it.
Vsts though... people use Carla that’s based on wine to use windows vsts. Results vary.
Actually, that still has capabilities lacking from "modern" GUIs.
jwz observed that "UI is different" years ago when discussing Safari vs. Firefox interface changes. (Wayback link to avoid his "special greeting" for HN visitors): https://web.archive.org/web/20120511115213/https://www.jwz.o...
I watch "normal" computer users struggling to keep up with even very modest changes to MacOS UIs. Which, for the record, are remarkably consistent with the first iteration, deployed in 2001, eighteen years ago. It's older now than the Classic Mac interface was when OS X was introduced (1984 - 2001: 17 years).
Again: changes in GUI demonstrably do not deliver that.
And good GUIs don't change.
Because in large part of the institutional cost of breaking shell scripts, TUIs don't change often (and tools violating this principle are quickly and sharply deprecated and/or replaced with those that don't). Which means that as a user (or administrator or programmer), the investment you put into using console tools tends to have an exceedingly long half life.
Mind: I'd given this deliberate and conscious thought in the mid-1990s when I was faced with a few possible directions to take my own computing career and use. I'd already seen numerous platforms, notably proprietary and GUI ones, change substantially, or die entirely. Seemed to me that the skill-preserving route would be with Linux or the BSDs. That's proved a good decision and rationale.
Even a "minimal window manager" -- say, twm or vtwm, provides extensive functionality and does not change. There's a hell of a lot to be said for learning a skill once and not having to either replace it with another, or keep obsoleting previously acquired knowledge and habits.
I don't use twm myself, outside occasional testing. One of the best and most skillful programmers I've ever known did use it, and had a highly tricked out configuration, almost completely keyboard driven, that let him fly around his display and workspaces with an amazing faculty. The fact that the windowmanager itself is flyweight and bedrock stable only added to this.
My own preference is WindowMaker, based on the design principles of NextStep (1988), and largely static since the late 1990s. It has capabilities modern WMs and DEs still lack, is extremely high performance, and extraordinarily stable. Graphically, it's nonobtrusive. I might swap it for a tiling WM, but it's served me well for over two decades.
I mean, this is hardly an endorsement for people early in their careers who haven't already concluded the Linux is the best path forward.
I'm in my fourth decade of technical activity. I'm leveraging skills and tools I learned in my first day using Unix, in the mid-1980s.
Over the same time, I've gained, and obsoleted, skills on CPM, MacOS, VM/CMS, MVS, VMS, DOS, Windows 3x, WinNT, and classic Macintosh.
Yes, there are a few flavours of Unix -- BSD, SysV4, Solaris, HPUX, Irix, AIX, FreeBSD, and numerous Linux flavours. Those, and even OSX/MacOS share far more in common than all the other platforms.
Unix knowlege has proved extraordinarily durable, as have the tools. Though there are new utilities and environments coming out frequently, old standards remain available and still work. I'm not forced onto that treadmill, most especially not for my personal work.
GRRM still uses Wordstar. Works for him.
(That's ... one of the editors I've used as well, though I vastly prefer vim these days -- one of those "first day on Unix" skillsets I'm still earning dividends on.)
There's also Stephen Bourne, who had initially programmed in Algol, and has a bunch of Algol-like macros that he uses when programming in C. I'm not finding an original source, though several references turn up.
Muscle memory is a real beast to change. The local optimum is always "stick to what I know".
I've been running linux desktops and laptops for about 20 years, starting with early/pre-RHEL redhat, and moving around to many others. My first laptop was a pentium thing at 75 MHz, and I triple booted Linux, OS2, and Windows/DOS on it. I wound up kicking off the last two, as I used them only infrequently.
Battery life is an issue for me, but its not linux specific. The laptops I have, all have power hungry ram and GPU cards. I get 2 hours on them, or if I play with the brightness and other things, I can stretch it to 4 hours. My old 2010 laptop (still in use, still running linux) is a 16GB ram, 0.5TB SSD affair with an NVidia GTX560m card. My 2018 laptop is a 48GB ram, 1.5 TB SSD (0.5 + 1.0) with an M2 256GB SSD for the included windows 10 home, and a GTX 1060m card. Windows 10 on the newer laptop lasts about 2.5 hours before it shuts down. I now run the pre-installed windows 10 via a kvm with passthrough of the M2 into the instance.
All of these are currently running late model Linux Mint 19.2 with accelerated graphics.
Work laptop is a Mac 16 GB ram, 512GB SSD with an intel/AMD hybrid graphics bit. This will last 5 hours with significant tweaks to aggressive power off, and me not running any builds on it.
I like the mac for its physical fit and finish, weight, etc. But I need to bring the power supply with me, as I can burn through much of the power in a 2 hour meeting.
I like the linux machine for work, and everything else. It just works. The drivers just work. The networking just works. Single/multi displays just work. I have cinammon (display manager) set up to a very comfortable configuration.
I am hopeful that the day job will enable me to trade up to a bigger machine with linux and nvidia graphics at some point ... 32GB is bare minimum for a functional machine for me, 48->64GB is better.
My home office deskside is an older Sandy Bridge machine with 16 cores, 128 GB ram, old GTX750ti card, running the same environment as on my laptop.
Of course, YMMV.
Except one happens to have a laptop with an older AMD card or Optimus Intel/NVidia combo.
The open source driver still doesn't provide feature parity with the proprietary one that Ubuntu LTS dropped support for.
Namely hardware video decoding and OpenGL version.
So this thing about marvelous open source AMD support, depends pretty much how much luck one has.
AMD drivers have been hit and miss for a while, which is one of two reasons I tend to prefer NVidia cards. NVidia took time to make sure their whole stack works reasonably well.
Lenovo has a 32 GB max model, and HP has a 64 GB max model.
I can finally say Ubuntu MATE 18.04 for me is pretty solid. There's still two issues I wrestle with, but other than that it's been very dependable for me.
When it comes to OSes these days, I feel like you have to pick the least bad one. A truly rock solid OS just doesn't exist in my experience.
But, weird hardware issues popped up now and then which I didn't have to deal with on my MacBook, such as the wifi card that had to be manually installed, the headphone jack sometimes doing weird things, the processors overheating.
I was able to solve those problems by searching online and finding others who had the same issue which lead to instructions to fix the problem, but I just can't imagine my family members who have never used the Terminal in their entire life having the same success.
The fact is that with my old MacBooks (and the computers I've given to my family) the only hardware related issue we've had over the last 10+ years is the battery related issues from the MBP.
I use Arch Linux, and a combination of KDE and i3 so one would expect me to have a ton of rediculous problems. But I haven't had a single problem. It took me a single day to set up my computer how I wanted it (I've used Linux before) and I haven't had to touch a config file since.
Part of this might be that in using a Dell XPS DE, which is designed to work well with Linux, but I think it might just be a YMMV situation. And I do a lot of back end, applications, web and front end development (mostly in my spare time), so I think I've hit a lot of programmer use-cases.
Also, I get 15 hour battery life streaming 4K video on my 4K touch screen, and more doing other stuff.
I also used an Apple Magic Touchpad or whatever over Bluetooth with it, including gestures and it worked really well. Better, actually, as far as Bluetooth, than my Mac. I only stopped because it wasn't good for my hand and wrist health.
Just adding my anecdata. Overall my experience with Linux has been hugely positive.
Not sure about the Bluetooth part (i had this kind of issue once in like 10 years) but the battery life, getting 2 hours is not common anymore. Sure, you won't get as long as Windows on the same hardware more of the time, but 5 to 7 hours on a full charge is what you can expect, if not longer.
I did spend about 2 hours optimising for battery when I got the laptop, but it was a once-off thing.
Bluetooth? I don't even use it. Battery life? I'm on a desktop.
It's true that Linux won't run with all hardware, but this is even more true for MacOS ;)
Not so trivial on Linux. The fact that the author considers Firefox add-ons (!) a Linux feature is a clear indicator they never even tried on a Mac and were enamored by Linux due to the lionisation in the particular subreddits they follow.
Kind of like here! Not that there is anything wrong with getting excited about something. Just don't make sweeping generalizations.
Also, a small tip: You can put your Mac apps and configurations in Dropbox and they will show up and work as you expect across your multiple machines.
There are a couple of automatic tiling window managers for MacOS, the most notable being Yabai (https://github.com/koekeishiya/yabai) and Amethyst (https://github.com/ianyh/Amethyst).
Yabai doesn't handle window switching on its own but it can use SKHD (https://github.com/koekeishiya/skhd) or any other application that can bind terminal commands to keyboard shortcuts such as Hammerspoon (https://www.hammerspoon.org) or BetterTouchTool (https://folivora.ai) or even Keyboard Maestro. The commands are context-aware of spaces and the placement of windows on the x-y plane so you can move between windows relative to their position on the screen.
On another note, highly recommend Puush (https://puush.me/) for instantly taking and sharing screenshots without having to manually upload.
Anyhow, you're more likely looking for something like Amethyst.
Things tend to just work on the Mac, even though I use it for a wide variety of tasks (programming mainly, writing, music, and video secondarily, plus some photo work). Music and Video (DAWs and NLEs) are almost a joke in Linux.
You have to be cautious to buy compatible laptop hardware, and still there's always something not working on new setups, usually sleep, sound, GPU compositor, bluetooth, etc.
I'm pretty sure that would be my problem if I tried to move (back to) Linux. A lot of the HN crowd is (understandably!) focused on development, and the chances are your favorite dev environment is going to be good-or-better on Linux as it is on the Mac. But I can't find a screenplay writing program on Linux I personally like as much as Highland for the Mac, or a Markdown editor that I like as much as iA Writer or BBEdit for the "heavy lifting" of technical writing at work, or a graphics editor I like as much as Acorn, or a Twitter client I like as much as Twitterrific, or a Markdown previewer/converter I like as much as Marked, and and and. I know it's all subjective, but it's a sticking point. And the last I checked, at least, I couldn't find good equivalents to OS X Services/Quick Actions, which can be just amazing.
I'm sure if Apple really tanks, I could make the switch and hit a happy place, but it'd be turbulent for a while.
Those of us into graphics programming, UI/UX are better served with macOS/Windows tooling, development enviroments and SDKs.
That is what triggered my move back into those platforms.
That's been my observation and occasional experience. I'm more of a technical writer these days, but I've done light graphics and UX work at various points over the years and prefer what's available on the Mac. (My experience on Windows is pretty limited.)
Also note that not every country is enamoured with Apple price levels, hence Windows for software that runs on both.
Then there are the games console SDKs, DirectX, high performance graphics with SLI cards, e-gaming, ...
Technically, there are more 100% Linux compatible laptops than macos dito...
That is true even if you limit yourself to thinkpads
Installed Xubuntu and forgot about those for years, the experience is still smooth, fast and the computers turn-on fast.
> Windows sometimes works
I'm going to take exception to this. Windows 10 has been a disaster for me.
Effectively, Windows 10 treats me like a "supplicant". "Oh, great computer, can you please do some work for me right now?" "I say NAY! I must now commence my Update Ritual. Please come back and ask again. But I make no guarantees."
Every ... single ... time. WTF!
> MacOS mostly works
Unless you want to do modern graphics and then you get the "joy" of learning Metal (or not). Or, you can simply throw in the towel and switch to Windows/Linux where you can use OpenGL and Vulkan. Valve is funding MoltenVK (a Vulkan shim on top of Metal) because it is more cost effective than dealing with Metal. Let that sink in for a minute.
And OS X hardware is a disaster. We've actually stockpiled used-2015 era OS X laptops in the office. At this point we have enough if someone has a laptop that goes down.
I don't fully understand why Linux is able to do its system updates as one of several tasks, but Windows has to take over the computer to do it though. Is it just that if a Linux box gets stuffed during update, the user is probably able to recover, so the relative risks are different?
It seems the be going the opposite way, since by far and large there's more offering hardware wise than there has ever been, so what you see is manufacturers catering to niches more than before.
Everyone just buys laptops with pre-installed OSes, phones and tablets.
Most parts shops are now targeting the Maker movement, aka Arduino, Raspberry and friends and even gamers prefer solutions like Asus Republic of Gamers series.
So actually it looks like the return of the vertical integration of 8 and 16 bit home markets of yore.
Also, you can buy a GPU but in some ways it is locked down (by NVidia), so as technology progresses we might be moving away from the "generically useful computer" model.
NVidia has always been locked down so that is not news. If you are concerned about the GPU, buy AMD and enjoy their open drivers. Intel is entering this space too with open drivers as well. And who knows, perhaps NVidia might be opening up a bit after all vs. going the other way?
Or should I rather write Android/Linux, ChromeOS/Linux, PuppyLinux, Xandros then?
From Wikipedia “Thge Apple T2 chip is a SoC from Apple first released in the iMac Pro 2017. It is a 64-bit ARMv8 chip (a variant of the A10, or T8010), and runs a separate operating system called bridgeOS 2.0, which is a watchOS derivative. It provides a secure enclave for encrypted keys, gives users the ability to lock down the computer's boot process, handles system functions like the camera and audio control, and handles on-the-fly encryption and decryption for the solid-state drive.”
Things do not look as good in mobile space (mainly thanks to Qualcomm)
These days… I’d say things aren’t all that different. On one hand, Linux has better hardware support overall, and Dell and some smaller manufacturers are offering Linux laptops. On the other, a lot of hardware still doesn’t work, or doesn’t work well. Some laptops have been getting more custom hardware, including Apple’s and others, and Linux has fallen behind a bit in supporting it. But it’s nothing new for Linux to take time to support new hardware.
I have used macOS as my primary OS from 2007 to ~2017 (before that BSD and Linux). I am now mostly back on Linux, though I also have a MacBook Pro that I use every now and then. Primary reasons for switching back to Linux:
* MacBook hardware limitations: too few ports, keyboard problems, expensive upgrades.
* Competitive hardware prices for Linux. I got a NUC8i5, which was somewhere between 300-400 Euro and has the same quad core CPU as my 2000 MacBook Pro. I added a 500GB SSD I had lying around and 16GB RAM. I have more resources for a fraction of the price, and can always bump up the SSD or memory relatively cheaply.
* Nix. There is package/system management before and after Nix. I actually started with Nix on macOS, but being able to manage your whole system declaratively is awesome.
* The subscription disease on macOS. I am fine with buying good applications. Overall I have probably spent thousands of Euros on licenses for macOS software. But I will not use an application with a subscription model. Period.  It transfers a huge amount of control from me to the software vendor. Unfortunately, more and more macOS applications are switching to subscriptions.
* Linux is generally faster than macOS.
There are also things that I like about macOS: Apple's strong push for security (including sandboxing of applications, T2, etc.), fewer issues with drivers and random paper cuts, better support for hardware decoding throughout applications, traditionally strong 3rd-party applications (OmniGraffle, Little Snitch, LaunchBar/Alfred, Things, OmniFocus, etc.), integration through AirPlay, handover, et al.
 Admittedly, there is one exception: 1Password, we like using it for password sharing and arguably, you are paying for a cloud service.
I think the productivity aspect would only be true in that case, as the things that “just work” are (for me) external libraries, GitHub readmes, sdk examples, etc.
True for Adobe, technically false for Autodesk if you aren’t in CAD. Maya and MotionBuilder (acquired from Alias in mid 2000s) run on Linux for the film/VFX industry.
Though to be fair, I’m pretty sure they are the only applications in AD’s entire portfolio that run on Linux, and it wasn’t because of them.
Plenty of us are developers in other platforms.
Update environment. MacOS requires reboots and nags you constantly until you do. Whereas, apt and dnf are simple and can be automated in the background.
Doing anything 'interesting' requires you to reboot and fiddle with the firmware. Where linux sudo works as expected.
Outdated software due to licensing issues. See GPL and bash. Not to mention you will be much closer to a production environment and you will find less bugs developing due to differences in OS.
Lots more but this is a good start. All of these things are small and mostly can be worked around but they add up I'm a big way.
The road on Linux isn't completely rosy and can take more learning if you need to do anything really complicated. Tools are great but not necessarily pretty, etc.
Docker [was] off on macOS through no fault of the OS. Particular software dev teams taking shortcuts is on themselves.
Linux also requires reboots for certain updates (plus you can disable checks for updates entirely and run one only when you want to on macOS, or even use `softwareupdate` for finer-grained control, so if it was "nagging you constantly" that's kind of on you).
`sudo` works "as expected" for everything that doesn't involve conflict with the built-in System Integrity Protection, which is most things (in the past three or so years on macOS I've only run up against it twice). There isn't any "fiddling with firmware" going on. Plus if you want total freedom to delete your entire `/bin` folder or something, again you can disable SIP and move on with your life.
I'm currently running Bash 5 on my MBP, so I don't get your outdated software complaint either. macOS doesn't have any magical power to force you to use the versions of (third-party!) software it ships with.
If these are the first complaints that come to mind it just sounds like you haven't used the OS much and entirely refused to explore it or give it a chance in the time that you did. I mean, not even trying to set your own update preferences?
If you mean SIP, can't you just disable it for good? Then you should be in a situation similar to Linux.
This is hard to put into words. If I'm an artist, my tools are very, very focused and robust. I might have specific pens and brushes that I know the feel of very well. They're not flashy and they don't have advertisements written on them, and they don't change their properties behind my back. Everything about them is designed to help me draw. If I'm a musician, I spend a lot of money to buy an instrument, and I get to know it very well. I have particular brands of reeds that are consistent that I'm likely preparing or sanding myself. I know my instrument so well that I can tell you which notes trend slightly flat or sharp, and after a while adjusting to that becomes instinctive.
So if I'm a professional programmer, I likewise want a computing environment that I understand completely and can service myself, and that is very customized to my own preferences. It's no different from any other professional field -- the point of the computer is to help me get work done, everything else is secondary.
You'll get different answers if you ask someone why Linux makes them productive, because the benefit of Linux is that it adapts to you. For me, personally, the biggest upgrades to my productivity have been:
1. Switching to Linux in general
2. Switching to Emacs/Spacemacs (Emacs works best on Linux)
3. Switching to Arch as my main distro (which is hard to do unless you already know Linux)
4. Most recently, switching to EXWM as a window manager (which is a lot easier to do on Arch)
Each step of this process has been me getting rid of things that distract me from work, and each step has built on the last. Switching to Linux gives me a setup that is much more customizable and stable, switching to Emacs gives me an editor that is very tightly integrated into the host operating system, switching to Arch allows me to have a very minimal setup (its easier to debug because there's less going on), and switching to EXWM allows me to focus the entire setup on work.
On the other hand, I have an old Surface Pro 3 that's running Manjaro/Gnome that I use for drawing. It's a very different setup from my main computer, because I use it for different things. Again, my computer should adapt to my workflow, not the other way around. The Surface setup is actually interesting, because it suffers from driver issues (unreliable Wifi, bad suspend support). And yet I'm still more productive on it than I was on Windows. I think people underestimate how much time and energy can get lost to distractions, surprise updates, stuff like that. Specialized devices are really stinking good for getting stuff done.
But everyone is different. I know people that get frustrated by the initial setup times or needing to dig more into the OS internals, and I get that -- it's reasonable. For me, once I got past that I found Linux to be really stable, because it doesn't change until you tell it to. Linux is the only OS I'll set up for someone who's not tech-savy, because putting in more work up front means I won't need to do as much regular maintenance.
Just to echo this: Magit (Emacs git client) alone has given me a large boost in productivity.
Aside from Magit, I also get a lot of use out of Org-mode (Emacs pure-text notetaking/todo-list client). I'm syncing to Android with Orgzly. Org-mode was the original feature that got me to try out Emacs, and for a while it was the biggest reason I stuck with it, since I'd never used Vim keybindings before. Vim keybindings made me less productive until I learned them, but were balanced by just how good Org-mode was.
I've even grown to appreciate packages like Calc (Emacs calculator). Dang if RPN style input isn't actually faster to use once you get used to it.
Emacs overall works slightly better on Linux, because it's primarily optimized for that system. One big area where you'll notice that is if you start embedding X windows into buffers. EXWM is definitely not something I'd try to set up on Mac.
If you're not trying to do stuff like that, then Emacs on Mac is fine. I use a Mac at work and Emacs is a big productivity boost.
I would say that it is not nearly as good as the touch support in Windows 8.1, but is comparable or potentially a little better than the touch support in Windows 10. Gnome's touch UI is good, but that's more just a testament to how much worse touch support got in Windows 10.
Krita is not amazing, but is still surprisingly good. When I first started using it, Krita was a massive pain and I missed Clip Studio all the time. It's gotten way, way better, and I now only rarely miss Clip Studio.
I'm honestly not sure what battery life is like. I will regularly use it for about 4-5 hours a day unplugged, but usually I'm at a desk and everything I own is plugged in. I still have Windows 10 on an old partition just to make it easier to calibrate the pen hardware (https://www.sony.com/electronics/support/downloads/W0009338), but I've never taken the time to compare the battery life for both.
It was kind of a pain to get everything set up, but that was years ago, and now that it is set up I just don't think about it any more. I'm very happy with its performance as a drawing tablet; at least for the type of illustration work I personally do. If you're comfortable with Linux, I'd say go for it. If not, you're probably better off with a Wacom tablet that won't force you to fight with Linux drivers.
Kind of reminds me of this article. You say you're more productive but honestly: how much time have you spent working on and customising your OS and is it a continuous project? Can you really say you're more productive than the people who open their lid and just work?
By tinkering and customizing you might gain a productive work environment but the way I see it is that some people just want to tinker because it makes them happy. The ’increased productivity’ seems to be more of a way to rationalize it to oneself.
Now, don't put Arch on your servers either because there's no real security story for Arch, but in that time I have learned tons about systemd, and you can't put a price on that.
- Knowing what happens if I have the audacity to update my computer without reading 3 different forum threads
- Understanding how to fix hilariously bad font rendering issues in a terminal, a software paradigm that's almost as old as computers themselves
- Tempering expectations that incredibly obscure apps like "Spotify" will "just work".
I think to imply Arch teaches much beyond the skills needed to deal with Arch Linux is a tenuous premise at best.
Agreed on the fonts, that has always been a pain. That being said, I recently installed Arch on a new laptop and the fonts weren't too bad out of the box - times change.
I update at least twice a week and I've only had one breakage in 3 years - I didn't update a config file with some new settings.
All in all, your response comes across a little FUDdy IMO.
Honestly, I don't understand what makes Arch so special.
I have mostly learned things on Ubuntu and I can use Arch just fine, and I think I have a decent understanding how things work.
Really, I think there is nothing fundamentally different across these distributions technically speaking.
Their biggest differences lie in their package and release management and policies (and, agreed, this is huge).
I'm not sure what skill you would learn on Arch and not on Ubuntu. It seems some vocal Arch users are lying to themselves and to the rest of the world about this.
Gentoo (or LFS) might probably be more educational, but I haven't used Gentoo enough, and haven't tried LFS enough to say.
(Kudos for Arch's documentation though, useful even when using another distro)
I don't particularly care for the whole DIY aspect. I spend enough time tinkering with Emacs and other tools that I don't want to waste any time on configuring/tweaking the OS itself. The different Manjaro versions are pretty decent (currently using the Awesome WM one), and I really like the Manjaro CLI installer (manjaro-architect) if I want a bit more control over my installation.
I think that archlinuxs advantage is that it's minimalistic, the philosophy is simple, you know what is running on your computer and generally why.
Tinkering with arch itself isn't that time consuming because the package management is so incredibly good, along with the AUR and wiki. These are invaluable.
I really do think the difficulty is overhyped though, it's really not hard at all.
On the Asus Nvidia updates broke my Windows manager on Ubuntu it not happen with Arch.
The Arch install is a little bit more complex but you can do exactly what you want which was for me: use systemd boot instead of grub, and cipher only the home partition.
Once the setup is done, I did not have any issue, fiddling to be done.
For me where I lost time on Linux was when I tried to customize my desktop environment to my liking with i3/polybar/etc. Now I just run Gnome3 on Wayland, far from perfect but it is a good compromise TBH between setup ease/integrated UI components and features.
But there are always going to be exceptions, new problems will arise that will slow you down. That's another reason why I'm on a mainstream OS and not linux, because when I do encounter a problem that slows me down, devs work at breakneck speed to fix bugs and there is extensive documentation because the community is much larger than the linux community. I'd be spending waaay too much time in the weeds on ubuntu, sifting through pages of SEO crap search results to find the one sage forum post from 10 years ago with now deleted screenshots, just trying to run the software and workflows I know like the back of my hand on macos. I don't want to start over and be a dumbass again, I've found my niche.
Sure, it’s one thing to compare knowledge that you already have. But does macOS even have a counterpart to the Arch Wiki for those starting out?
I bought a pre configured Linux computer (laptop). They’re not very common but common enough.
I haven’t had to spend any time with setup, and frankly I’ve been pleased that everything just works. My main complaint it Battery life isn’t terrible but isn’t great but for what I do it’s good enough.
I don't know if overall all the tinkering I've done over the years was a net positive in terms of efficient use of working hours.
But I can for sure tell you that if I've just opened my lid and worked, I would have been much less satisfied while working when I would constantly run into unnecessary limitations of my tools. Hard to put a quantifier on work satisfaction.
As a professional, using the right tools for your job should be part of your job. You wouldn't trust a workman hammering a nail into the wall with a screwdriver just because that's the only tool in his tool belt.
And this isn't even an exaggerated metaphor. For decades Windows was unusable OOTB for any serious development. OSX is still handicapped by a decades old userspace (better than nothing but not good).
1. Do you know what the end state is, and do you know that you'll be significantly more productive? If so, then spend some real time on it.
2. Do you not know what the end state is, OR are you not sure what the best setup is? If so, then do the absolute minimum amount of work to make your changes functional and no more. Then use the incomplete setup for a while and see how it feels.
3. Are you not sure of the end state, AND are you not sure it will make you more productive? Then put it off and keep using your current setup, or at most try it out on a separate computer in your free time.
It's not unlike working on software architecture. You can get so focused on good architecture and clean code that you never get any real work done. Some code is fine to leave ugly. But not all code -- the art is knowing when code actually needs to be refactored, and figuring out how to refactor it in a way that doesn't lock you out of developing new features for a month.
Environment customization is the same way.
- I do open a laptop and just work. Using configuration that I’ve already created to suit my work.
- Other people is a big group, and one that doesn’t matter so much here. I’m more productive using what I’ve opted to change than without. Yes, the minor time investment was worth it.
It may not be by 30-40% as some people claim, but even at 1% that's around 20 hours in a year assuming a light schedule (40 hours a week 48 weeks a year).
But just because you are using Linux, doesn't mean you have to spend a lot of time customizing. Actually, customizing can be a lot quicker on Linux than on Windows for example (due to the well-integrated package managers).
That said, I do think that some customizations help with productivity, but you should know your limits. If you are trying something completely new, which nobody has done before, you are unlikely to find huge productivity boosts. But if you cautiously follow some best practices you might find some productivity treasures.
ps: one talk that I find a pretty strong example is "the unix chainsaw" by Gary Bernhardt (of wat js fame). He shows how to using tools `against` themselves, as data, to help your work. It's not rocket science, but it's 1) something I rarely do truly 2) easy to fall back as tools as silos instead of .. `objects` collaborating.
Agreed, this doesn’t apply to everyone. Years ago, every 6 months I’d switch to Linux/hackintosh purely out of frustration (or envy) as OSX looked sooo much better than anything else (antialiasing!) AND supported Adobe CC.
Nowadays I’m a Mac user and I’m unlikely to switch, because I’ve grown a bit tired of my tweaking marathons and need a proper *nix system.
I wish Windows just became a GUI layer on top of Linux though.
In which case then sure, pretty much anything will suit you fine. It's not a universal rule though - I spend the vast majority of my time in TextMate or an IDE and probably 10% of time in my terminal, so the comfort of the Mac UI is a more significant factor.
Some people develop programming languages. For them, a GUI-less environment may be ideal.
I do web development. So I need the GUI, not just for testing, but for dealing with image and video assets that come in from the art department, or creating mockups, or presentations, or maps, etc.
It's still "development," but unsuited for a 100% command line experience.
As is often the case, it's easy for someone in one field of "development" to forget that it's a broad category of experiences.
And this is from someone who loves the iPhone.
Lately, for me, the killer app has been the ability to cut and paste content between machines and devices automatically and seamlessly. I once I started using it in my workflow, it became indispensable.
I can't copy something from my Android phone to a Mac, but I can copy something from my Android phone into KDE.
>In which case then sure, pretty much anything will suit you fine.
I thought the same. I’m married to Photoshop. How good is graphic acceleration support inside a VM these days?
I need to run the latest version, fast and glitch free. Wine will never be a solution unfortunately, unless Adobe supports it officially.
If you enjoy the tiling window, with nearly everything driven by the keyboard way of working, then Mac OS can’t come close from a UI perspective.
The other stuff that the OS featured was great and still missing on UNIX clones.
While some spaces I use are more flexible for their use, certain spaces are designated for specific tasks. I use a space for communication/chatting, a space for my music/email, a space for my calendar/task planning, etc. These don't deviate so for these common tasks it becomes second nature.
For example, I don't use tabs in the terminal. I usually open a new window and use the WM from outside the terminal, or use tmux inside the terminal. Tabs in the terminal itself are not that useful in my workflow.
My current favorite Linux terminal is kitty (https://sw.kovidgoyal.net/kitty/), and before that I used rxvt-unicode.
Maybe you can give it a try.
Other than that I use Linux (Mint) for my main Desktop OS, but I still deal with plenty of rough edges. The latest ones:
- Wifi doesn't work after suspend wakeup.
- After upgrading OS to next version using recommended UI method, PC us unable to start graphics mode bc it doesn't find some random UI package... i had to login in TTY and manually install it.
- CS:GG, a game with Linux native port suddenly decided to get choppy lagged sound. Same game works well in Windows in same PC
- Connecting bluetooth headphones sometimes works, sometimes doesn't
So yeah, plenty of rough edges. Still I use it because I love the programming workflow and use docker with Linux containers.
I use iTerm to connect to Ubuntu and I feel like I have the best of both worlds, a great terminal emulator and Ubuntu beneath it.
- Grep for things that look like IP address and color them in blue, or MAC address in green, or errors in red
- Auto-Complete based on the text in terminal (this leaves people watching me `docker rmi f7<Cmd-;>` breathless)
- Broadcast same keypresses into several panes (having SSH sessions to several servers)
- Making an icon jump when a long running command just finished