About four months ago I installed Ubuntu 18.04 Desktop on a Dell Optiplex 7010 and have used it as my primary development machine instead of my 2015 MacBook Pro. While I have to keep both Mac and Windows machines available for certain projects, easily 90% of my time spent on projects is not dependent on a specific hardware architecture nor operating system.
No, Windows 10 wasn’t even considered to become my daily use environment. Let’s be honest, real web development on Windows is more novelty than reality. Unless you are embracing the .NET technology stack running under IIS you are met with work around after work around just to accomplish simple daily tasks as a web developer.
In May of 2008 Windows Vista drove me to buy a Mac. Now, 10 years later, Apple has driven me to Linux.
Prior to my move to Linux my Macbook Pro was my primary daily machine. So, what drove me into the arms of Linux? The lure of open source software? The idea of a more transparent operating system?
Nope… The primary reason is I grew tired of the Macbook Pro throttling the CPU to control the internal temperature simply because Apple dislikes properly using fans to keep the system cool because… gasp… fans make noise. For many Apple users this is not a big deal. For the Apple fanboy types it’s probably even a feature. But for me, trying to meet development deadlines, it grew increasingly frustrating.
Some other reasons include the failed internal WiFi which has been repaired twice. When it failed for the third time, I simply bought a USB WiFi dongle and turned off the internal Macbook Pro WiFi. I solved the lack of a wired Ethernet port with a USB dongle soon after purchasing the Macbook Pro in December 2015. Yeah I know, according to Apple no one uses wired Ethernet connections in laptops any more. Software developers do… system administrators do… those who make a living dealing with large data sets do.
This doesn’t mean I have totally abandoned my Macbook Pro. I still support close to 50 iOS applications I’ve written for clients. If any updates are required to them a Mac is necessary to build the app for submission to the Apple store. So, I have to keep a Mac around and up to date just like I have to keep some Windows machines for any needed changes to Windows based software I support. But, the emergence of Progressive Web Apps might eliminate the need for apps compiled for the Apple store and the Google App store too for that matter. That could reduce or even eliminate the need to keep a Mac around.
have looked at every mobile app I’ve written in the last four years and
there isn’t a single one that couldn’t be replaced with a PWA with no
loss of functionality. I write business applications and websites and as
such have almost zero technical risk in not having ‘native access’ to
the underlying mobile hardware. Given the nature of the mobile
environments, no applications really have native access to anything on
the devices anyway. Acceptance of PWAs is still in its early stages but
it could be a disruptive technology displacing a huge majority of
existing mobile apps found in the app stores.
I don’t do video editing. I don’t do heavy image editing. Yes, I understand the creative advantages of a Mac. But for me, with the exception of the requirements for the Apple App store, Ubuntu Linux is filling the bill admirably.
Performance wise my new rig runs circles around my MacBook Pro but comparing the two is like comparing apples and oranges.
My new rig has 16 GB of RAM, a faster i7 quad-core processor and 3TB of disk space. While it certainly screams the performance of the Macbook Pro was sufficient… when it wasn’t throttling the CPU to control internal temperature. But I have to admit, I am a bit spoiled now because of the performance of the new rig.
A year ago I wouldn’t have considered using Linux as my daily machine. I’ve had various flavors of Linux running on both bare metal and virtual machines for years now. They have mostly been used as lab and test servers. Whenever I tried to use the Linux desktops they just felt unfinished and clunky. Then as Ubuntu 18.04 was being prepped for release I started reading about how users felt the desktop experience was much better. I had some spare hardware lying around and so I loaded it for a test drive. This was an older Dell desktop which previously ran Windows 7 and to say I was surprised is an understatement. After a weekend of test driving it with tasks I do day in and day out I was hooked. Over the next week I purchased the Dell Optiplex, loaded Ubuntu 18.04 on it; loaded all of the tools I needed to support my daily development and project tasks and set about making it my primary development rig. I haven’t regretted it for a second.
Has it been perfect? No, but nothing ever is. There are a few quirks. MySQL Workbench is flaky… no really even MORE flaky than usual. I use TeamViewer to provide remote support to my clients and it has a tendency to freeze from time to time forcing me to disconnect and reconnect to the client’s machine. Also, GoToMeeting functionality is limited. For example, if I join a meeting hosted by someone else they can’t turn over the keyboard and mouse to me if I am connected from Linux. So, yeah, some quirks but no show stoppers. Nothing even requiring a major work around.
After the last four months I’m confident I won’t run into an obstacle forcing me back to my Mac as my daily use machine but only time will tell. With Apple seeming to stumble on their Macbook line I was already more than a little concerned about options for hardware going forward. My current Macbook Pro is three years old and the ones released after mine seem to have multiple reliability problems. I had resolved myself to stick with my current Macbook Pro and Mac Mini machines until Apple solved their issues. However, to me Apple’s product road map feels weak. I have never been anything close to a fanboy. In my opinion, Linux’s major user experience leap forward might remove Mac from being the preferred universal machine for software and web developers over time.
Assuming I have a future need to compile iOS applications for the Apple Store I will either keep a Mac at the ready or use one of the cloud based build systems or even use one of the services hosting Mac Minis as my final build environment for Apple app store submissions.
will post updates on my experiences with Linux as my primary daily use
machine. If you are using Linux as your daily machine, share your
experiences and recommendations in the comments section below.
VisibilityPublishPost FormatStick to the Front Page3 Revisions