This is a single twist of fate. It has no meaning except for the individual. He just doesn't want to keep up any more. His decision. But it has nothing to do with Apple.
Nothing to do with Apple? Since iOS7, Apple is constantly breaking apps that are already in the store and running fine. This is because they don't provide a backwards compatible runtime. For example, your app that's compiled and working well for iOS 8.2 can have new bugs (like text fields not appearing) after the user upgrades to iOS 8.3. To re-iterate, the user has not re-installed your app. They are still using the same great app compiled for 8.2 and now it doesn't work correctly. And the bug is caused by bad code from Apple in their runtime. To use an ironic comparison, if you made a Flash game in Flash 9, it would always run exactly the same way until the end up time, even after Flash 13 is released, because Adobe/Macromedia kept the runtime for each version and did not change it after it was released. New version meant a new runtime engine.
Anyway, so Apple breaks your app. It's possible you don't notice this because you don't test every feature of every app you've created for every new iOS version on the day it comes out. So within a couple weeks, most of your clients are asking you why your app doesn't work and you have to scramble to replicate the problem and then someone how fix it, sometimes having to rewrite a core part of your app. This happens over and over and it's tiring, costs your company money, makes you look bad to your clients and is very demoralizing. This is no one's fault but Apple's.
If you want to spend your time being your Owncloud admin use it. Security updates, finding reasons for Error 500 after updates and version upgrades - there's always something to do, you never will be bored.
If you just want a solution to sync data with your server use bittorrent sync.
That's because people don't figure out that every Linux can run every WM or desktop environment anyway. So they need a seperate distribution just to switch from Unity to KDE...
OSX has a big plus: It's reliability, I've used it for 10 years as primary OS and it never lost a piece of data or ceased to work when I needed it most (as the deadline approaches). As long as Apple doesn't switch to AppStore-only and I have a CLI to compile what I want I will stay on OSX as a primary OS.
Being a Linux user since the 90s I always have Linux Desktop machines around. Switching to Ubuntu will be a loss in reliability for you coming from OSX. I used it since Dapper Drake, in the last years every half year upgrade broke something, especially in Unity and Gnome.
Obviously Ubuntu are more into making strange things on their own then providing a reliable linux. Ubuntu is the "odd man out" in Linux and you won't gain anything but upgrade pain two times a year from switching to Ubuntu. It isn't "real Linux" anymore. So if you're going to switch to Linux, don't use Ubuntu, instead use Debian Stable or Arch.
If you're on a reliable distribution Linux will work fine.
That is true of course only if your hardware is supported without "just compile a sweet little kernel module and it works fine". No, don't do this. Don't rely on such hardware or be prepared to spent the weekends fiddling around to make your graphics adapter or wifi work.
If it works you will find more or less everything you need for your computing needs as a developer. But you're going to miss the nice small apps you learned to love in the OSX indie developer ecosystem. You even won't find a nice client for Twitter in the Linux Repos (most of them haven't seen an update since Twitter switched to OAuth and the API and won't work anymore but are still in the repos), if you're into ADN there isn't anything but an ugly cross-platform client.
Regarding such small things like clients for social networks you will switch the OSX culture of "it has to be nice and working or nobody won't use or buy it" against "somebody made something that works somehow but looks ugly and hey if you don't like it make it better it's open source".
The entire Yeoman ecosystem will probably seem like "overtooling" then :)
WordPress is simple, yes, but a distributed team workflow with complex tools with WordPress is extremely difficult without these tools.
Here are the problems we've had without these tools:
- Our large WordPress sites existed on the single, live server. Installing plugins, uploading themes, fixing bugs, etc. always carried a huge risk, especially when something breaks but you wouldn't know until caching cleared.
- Every developer (out of a team of ~12), to work on the site, had their own LAMP/MAMP setup, some using WordPressMU, none using Vagrant, and many struggling to get a copy of the database & import it (which is difficult for a lot of WP devs).
- Because of the complexity in setting up & deployment, building semi-complex applications on top of WP was incredibly difficult, mainly because of lack of consistency between environments
- The staging environments that we did have were still out of date, and had a different .htaccess with basic auth for (pseudo) privacy. This got modified, erased, or erroneously "deployed" to production countless times. Not to mention issues with Google indexing a preview server for our distributed team.
Now this "overtooling" should make a lot more sense :)
For example, migrating a site between two servers can now be done by any member of the tech team with a couple of commands, and without worry!
I think you're ignoring the usefulness of both being able to start a project immediately and being able to have a portable development environment.
"Wordpress runs out of the box everywhere PHP/MySQL is available." So.. when devs work on multiple projects with different requirements, different configurations or even different versions, nevermind the mess of using the same database server for multiple projects or of splitting one LAMP stack.
It just works.. until it doesn't, and then you need those "overtools".
> IMHO WP is not complex enough to have a necessity to develop with it in Vagrant.
I develop static websites in vagrant boxes. Why? I don't want to have any spillover from my development env to the host env. I have no webserver running on the host env, only the system ruby installed, no homebrew, no php other than what came with the box, no database, nothing. Everything I do goes into a containerized env that I can just delete when I'm done. No version conflicts between multiple versions of the same database, no leftovers after cleanup. Once you started working with vagrant boxes and have an appropriate workflow it's just less hassle to spin up a box than not.
If you're deploying a personal blog, sure. What if you want to create a web service to automatically provision and deploy WP servers? There's a purpose for every 'overtooled' bundle of software, otherwise it wouldn't exist.
IMHO Steven only trades the risks. The laptop has no data on it, can't be stolen, great. But doing work, you have a lot of things to work that are not for the public.
But your (linode- or whereever)server, 24 h available and exposed on the net, has a latent risk of being "0wned". And there goes your stuff.
IMHO the risk of your server being 0wned is much greater than losing your notebook (or being stolen), so this model is the unsafer choice.