Hacker News new | comments | show | ask | jobs | submit login
Finding an Alternative to Mac OS X (bitcannon.net)
349 points by wezm 411 days ago | hide | past | web | favorite | 334 comments

I know the OTA dismissed Windows, but when I switched from OSX to Windows a couple of years ago, I found Scott Hanselman's "Ultimate Developer and Power Users Tool List for Windows" [1] to be indispensable. I've been doing Rails work on Windows since switching, but ymmv depending on what your workflow and toolchain are.

I also found that there were a lot of workarounds/alternatives to software/tools that I thought I would miss on Mac. I've managed to find pretty much everything I needed and/or realized I could easily live without the stuff I couldn't find alternatives for.

Having said all of that, if you have a dependency on something like XCode because you're maintaining an iOS app, you're kinda stuck with a Mac. My experience with Hackintoshes is that even if you buy the right hardware off the latest Hackintosh compatibility list, it's still a bit of a time suck. Alternatively, you could also run OSX in VMWare Workstation/Player, but you don't get graphics acceleration and some OSX software won't run properly in a VM.

[1] http://www.hanselman.com/blog/ScottHanselmans2014UltimateDev...

I gotta say I've tried to do the VM thing. I REALLY tried. But it just isn't something that will work for any significant amount of time.

It would break with any updates, half the time xcode just wouldn't work, and it would sometimes be so slow that you'd need to wait minutes for some fancy animation to run.

And this wasn't even to get around buying a MacBook, we had one, I just wanted to compile and sign a hybrid app for iOS easier than using another physical machine.

Then we also found later that you can't sign an app on OSX while SSH'd into the machine... It just fails with a generic signing error.

So now I have a MacBook with remote-desktop software that's just permanently on in the corner of the room so I can open the GUI once a month or so and re compile and sign the latest version of our app...

I've also tried to use a Linux VM on Widnows due to issues with Node, paths in various Scala libs, and a dozen other problems.

Cygwin works for 50%, but not for everything.

I've tried Win 10 with Subsystem for Linux (Ubuntu Bash) and unfortunately it is not even close to production ready. Besides, I'm terribly disappointed with Win 10 after having been really happy with Windows 7 since its release.

Running a few Java and Javascript projects in IntelliJ on a VM is an exercise in frustration, even on a very powerful Dell Precision with an I7, SSD, and 32 GB of ram.

It works somewhat, but I'm very happy with my work provided 2015 MB Pro with only 16GB of ram. With Brew, Docker, etc. everything works great. If work hadn't paid for the Mac, I don't think I'd buy a new model due to the price and lack of upgradability, no escape key, ports, etc.

That being said, I've just installed Fedora 25 on a second m2 drive I put into my one Win 10 laptop. So far it is pretty good for dev work. It's not perfect, but it's approaching usability with a small Win VM for Office.

I have also been disappointed with the Bash-On-Ubuntu-On-Windows thing from MS. It seems like they fixed a lot of the frustrating issues recently but it's gonna take a few months for it to get to stable so it's still a non-option for me as well.

But i've had extremely good results by using the terminal and "GNU-ish tools" provided by "git for windows" which has worked fantastically. I can interop with the windows system perfectly, I get all my favorite tools like git, cat, sed, grep, awk, all the bash shell stuff, and ssh and more, and it looks a lot nicer than the default cmd.

Until the interop with the "host" windows system is better, and they push the fixes to the missing features like inotify and some others, I'm gonna stick with that.

Hey there: PM for Windows Console & Bash here:

If you're running Win10 Anniversary Update (AU), know that this was our first formal release of the Windows Subsystem for Linux (WSL) and was, as we made very clear prior to release, missing several key features and capabilities. However, we wanted to get it into users' hands ASAP so that we could asked the community for help to identify what worked and what didn't.

And the community leapt to help-out, resulting in literally hundreds of fixes to WSL and to the Windows Console.

We've continued to release improvements over the last several months through the Windows Insider builds (release notes: https://msdn.microsoft.com/en-us/commandline/wsl/release_not...), and have posted updates and highlights via our blog: https://blogs.msdn.microsoft.com/commandline/.

All these improvements have resulted in Bash/WSL now being very, VERY usable as a real-world dev environment. We've a few more fixes and improvements in the pipe that'll emerge in the next few weeks, but you can feel confident that Bash/WSL is rapidly becoming a viable, highly productive, genuine, Linux compatible environment for running your favorite *NIX-first tools, platforms and technologies.


Try using Linux with a Windows VM (if required). I have a computer running Arch Linux + Plasma and it is quite nice. With a bit of tweaking you can get a OSX like or Windows like desktop environment. I will use the Windows VM to connect to a VPN and run work applications that require windows, but I can get my email and documents easily through Office365 90% of the time.

Have you trued ConEMU/CMDer? For my uses, I found it to be an adequate replacement for the terminal in OSX. Outside of "watch" not working properly in Windows, the stuff I've done in Node has worked fine, but I probably do simple stuff compared to most.

"watch" works great in Node when "natively" installed, rather than Bash on Ubuntu on Windows. Natively installed Node is a great development experience on Windows these days (just make sure you install a version with NPM >= 3, which is now no longer an issue as even current LTS has NPM >= 3).

On the flipside, Ruby remains a nightmare to install natively and Ubuntu Bash is the easiest way to work with it. There I really do miss having a working "watch" for Jekyll builds.

>> Ruby remains a nightmare to install natively

I cheated and used RubyInstaller for Windows, and it's worked great for me for the past couple of years, but I guess it really comes down to how you use it and what you need.

I always seem to need to install native dependencies for Ruby (often dependencies of dependencies of github-pages; I know github-pages seems to be trying to remove native dependencies, but as with all dependency cleanup games, it seems like a bit of whack-a-mole) and installing the DevKit and getting the DevKit working and getting the native dependencies to install has been a different beast every time I've ever tried to do it.

Eventually I always seemed to hit a non-cross-platform-capable makefile somewhere, and could only throw my hands up in despair and give up.

Definitely a lot easier in the Ubuntu on Windows userspace. (Though I was still fighting some weird fires with rvm and whatnot. Given I pretty much only ever need Ruby for github-pages/Jekyll work, I'm sure there is much I don't know about Ruby and a lot of the pain of the Ruby ecosystem to me is simply the fact that of the major 'modern web dev' ecosystems [node, python, ruby] it is the one I know and use the least.)

Yeah, native dependencies in Ruby Gems, node modules, etc., are the bane of the open-source developer. This is why we built the Windows Subsystem for Linux: Sometimes, you've just gotta run native Linux code or code that expects a genuine Linux environment.

btw, what do you mean by Node when "natively" installed. I used the Windows installer from the node site. Is that what you meant?

The issue I get with watch is that it doesn't properly detect added files in a watched subfolder, although changes and deletions are detected with no issue.

Interesting, I've not noticed that problem, but just realized in my typical usage of a watch in Node I don't usually add new files.

> Then we also found later that you can't sign an app on OSX while SSH'd into the machine... It just fails with a generic signing error.

My guess is that it's missing something that being logged into a desktop session would have (e.g. Keychain access).

It's been a bit, so I might be wrong on some of the details here, but...

I did have keychain access, and was able to fully unlock the keychain and use it in other areas. However after chasing down several issues (including the keychain expiring after 300 seconds by default, moving the keys around between different keychains, various "jump up and down and spin around 3 times"-esque solutions of using multiple commands on the same line, or different lines, or in different orders, or others). I finally eventually figured out that I could unlock the keychain on the system manually, ssh in, then i'd have till it timed out to sign, only to have it be rejected on the upload...

Once I moved to just using a remote-desktop software and doing it through the GUI, it just worked. However now it's a 2 step process where our build system does literally everything but the signing then i need to manually remote in and click a button to sign and upload.

Have you considered CircleCI? They have iOS/OSX toolchain support.

Ya know we use CircleCI for another project for running integration tests and deployment, but I never looked into it any more than that.

The system is working right now, so I kind of don't want to mess with it until we get some time, but I'll definitely take a look at that.

Is there a similar developer tools list for Windows 10?

Most, if not all of the tools on that list work with Windows 10.

>Note that I don’t currently consider Windows a viable alternative. For the work that I do (Rails) and tools I use something *nix based is the best choice for me.

For what it's worth Windows 10 now has a bash shell based on Ubuntu available.


I'm surprised this was downvoted -- the Windows Subsystem for Linux (WSL) is extremely powerful and well done.

It's a full Ubuntu userland and you can even run graphical (X) applications. I've used it for Pebble development, running the (python + ARM GCC) SDK and QEMU-based emulator all on Windows. I've run into a few minor issues but for the majority of tasks it works great -- I've completely stopped using my Ubuntu VM and do all my Linux tasks in WSL.

Same thinking here! Behind the scenes engineering in Windows in recent years has been impressive. The whole DLL adaption method started sometime when W7 was released is a pretty impressive piece of engineering. Followed by WSL now.

The WSL has potential to become a very useful tool. So much so I'm considering switching from macOS on my next laptop or so. Unfortunately unlike your case, my workflow depends on a lot of networking code. WSL still has many gaps in the socket emulation pieces. It'll likely mature over time, and it's impressive that some people are already able to switch from a Linux VM!

A plus one from me. I've used WSL for the last couple months to run a bunch of ruby and postgresql based stuff and once I got past a few teething problems upgrading it from ubuntu 14.04 to 16.10 it's been excellent. The performance of linux ruby under WSL is MUCH better than windows ruby. I'd recommend WSL to any ruby dev on windows simply for that.

A co-worker is also using it to run cross compilers for embedded linux hardware devices (various patched versions of GCC and such) and it's been flawless for him, which I found quite impressive too.

I'm not exactly sure why this happens, but when I try to use Windows my hand (mouse hand) cramps up and I get angry and frustrated.

In my view, Windows 10 is still miles away in consistency across the entire system, compared to macOS. Windows 10 actually made it worse, because it's trying to accommodate both Windows 7 and Windows 8 design.

Currently I don't think we have alternatives to macOS. I understand that I sound like a grumpy Apple fanboy, but Windows is't ready to replace macOS. The distance between macOS and Windows have increased in the later years, and not because Apple have improved anything, it's Microsoft who have made Windows worse.

> In my view, Windows 10 is still miles away in consistency across the entire system

In my view GNU/Linux distributions are still miles away from Windows 10 in consistency across the entire system.

One of the reasons I use Elementary OS despite my ambivalence towards systemd is the consistency. It's not your typical Linux desktop experience, it's much more cohesive than Windows or even macOS. I have my main workstation booting both Windows 10 (which I do enjoy) and Elementary, and I find myself only booting into Windows to play certain Steam games that won't install on Linux.

Give Elementary a go, you may be surprised.

> One of the reasons I use Elementary OS despite my ambivalence towards systemd is the consistency.

I wrote "consistency across the entire system". I immediately believe that they did a lot of GUI polish and polishing of the default apps. But polishing the GUI of a POSIX-like system does not deliver consistency (only GUI polish). There is still the whole UNIX-like subsurface (like it or not), which delivers completely different abstractions than the GUI does (this is clearly not consistent).

For example rio (https://en.wikipedia.org/wiki/Rio_(windowing_system)) implements Windowing as private namespace (a central element of Plan 9) - very consistent.

BeOS (for which currently under the name HaikuOS they try to reimplement it in an open source way) is another example of an OS which was designed from beginning on to have a GUI and is thus also very consistent.

Yep, I get it, and as I said I'm still not sold on systemd and therefore use Elementary with the knowledge that if it breaks and I have to fix it, I'll have to deal with that massive tumor. The great thing about Elementary is, if all you need is a ⁎nix system with a consistent GUI for something like web development but without buying Apple's premium hardware, it really shines. The Terminal app is the best I've used on any OS, and while the text editor isn't quite a full fledged programmer's editor, it's good enough for a lackey like me. I figured out that Geany is overkill for my needs, and Scratch handles all my use cases fine.

I do think they try a bit too hard to look like macOS, but if you're going for the best desktop Linux experience, why not copy the best commercial ⁎nix desktop?

I agree completely about BeOS/Haiku; BeOS was my daily driver for several years until the death of the company caused me to have to move on. I have yet to find a modern OS that even comes close to that kind of cohesive, sensible, practical approach to desktop computing. Haiku is coming along well, but it's still not stable enough for daily use beyond dogfooding for Haiku devs.

In my experience, GNU/Linux distros do not usually include 3 seperate GUI settings windows with completely differing GUI's just to manage devices.

> In my experience, GNU/Linux distros do not usually include 3 seperate GUI settings

I have never seen a GNU/Linux distribution where I didn't have to configure some things via modification of configuration files in a text editor. Even these two differences (GUI vs. text file editing) is much more different than a few different design styles in Windows' control panel. Also the way settings are set in configuration files is IMHO even more different among different GNU/Linux applications than the different design styles in Windows' control panel.

How is windows 10 consistent? Half the apps are metro ones that fullscreen (pdf viewer) and half are still win32. Some work well on touch screen others horribly. Windows 10 is a frankenOS.

> How is windows 10 consistent?

Windows 10 isn't a good example of consistency, but every GNU/Linux distribution I have seen is much worse.

Hello, time traveler from 2012 who is actually describing Windows 8.

Just look at the control panels, there's actually two of them in Windows 10, one Metro, and one win32. Some settings are only available in one, some only in the other.

Nope, I skipped windows 8 almost entirely. I'm talking about windows 10 in 2016, it's still a kludged together mess of a touch based mobile OS and a full desktop OS.

This is a bit confusing. Your comments are factually incorrect (there are no forced-full-screen apps in Windows 10, and the default PDF reader is Edge, which is windowed by default and was designed from the ground up for Windows 10, never for Windows 8 or "Metro"), or at least outdated.

It's a bit of a blemish that there are two control panels, but almost no users are ever exposed to Win32. You can do virtually everything (from updates to domain join to adding/removing Windows components) from the modern Settings app. The legacy control panel is just that, and is irrelevant for most users. I'd love to see it modernized, but there are many much better uses of resources (security! performance! battery life!) than modernizing 90s-era utilities that few customers are ever exposed to.

I could agree with you one year ago. But after latest upgrade to macOS I got so many issues on my MacBook Air and MacBook Pro that I decided 'enough is enough' :)

Am I the only one who's never had any issues? 7 years so far. Just replaced my latest one because work got me one. They both run great, except the older one has some fan issues but never anything that prevented me from using it.

But then again I rarely install new things, only have a few base programs I run routinely, and reformat regularly.

Even with Sierra?

I've just had a ton of issues with the mouse becoming unresponsive... and then having to do a restart, whereas on El Capitan and Yosemite I could basically leave my computer on for forever.

No, I still have not installed Sierra on either. I don't want any siri bullshit. I wonder how long it'll last before I'm somehow forced to upgrade to Sierra. I'm willing to bet it'll be fully baked into the next OS release.

> but when I try to use Windows my hand (mouse hand) cramps up and I get angry and frustrated

Same here! Also i start to suffer from 'update-fatigue' when using Windows. The endless updates, reboots, and god knows what it's doing in the background which consumes resources... it all just feels so clumsy. I've never experienced anything like this in OSX.

That's probably the only thing that truly irritates me about Windows these days. Everything else is just a design decision that, as a technical user, I am easily able to adapt to. But not knowing if my machine is going to decide to reboot itself at any random moment without me having the option to stop it from doing that? Unacceptable. Completely unacceptable.

I know you should save often and bad things can happen like a power outage or a glitch or something, but those things are rare. My Windows 10 machine choosing to reboot itself without telling me? At least once a week.

Imagine if you had random power outages once a week, and having a UPS plugged in couldn't stop it.

>> But not knowing if my machine is going to decide to reboot itself at any random moment without me having the option to stop it from doing that? Unacceptable. Completely unacceptable.

First of all you can set the time interval when the Windows will be able to update https://i.imgur.com/BZNadeE.png

And even if you are working in this time Windows ask you what do you prefer - reboot now or later.

I'am not Windows fanboy. I sue MacOS, Windows and Linux at the same time.

Yes, you can set what time it will reboot, but you can't set it to "never", or even "next week". And the pop-up to reboot does not take control of the screen, so if you're doing something full screen like a game or a Powerpoint presentation, you miss it and have to wait for the reboot. Even if you're in front of a client.

When I'm done with my work for the day on Windows and I go to bed, I'm never sure if everything will still be there when I wake up. Far too often I wake up and I'm at a login screen with all of my active windows and documents closed. That's incredibly disruptive, and there's no way to stop that.

There is no way to tell Windows 10 "don't reboot until I explicitly ask you to do so".

Really? Because OS X pesters me about pending updates via the App Store all the time, and the only deferment option it provides is "wait until tonight".

Except it will tell you and you can say no. On Windows, you can only extend the actual reboot, sometimes, and that within 30 seconds. If you go for a pee, you might return to a rebooting machine.

Sounds like you need to specify your active hours. See these settings in the Windows Update settings panel:


It's unfortunate that a user needs to find such an option. It's likely that the location and UI of the option will be changed yet again each release.

MS "needs" (?) to prioritize "don't torment your users". Of course, for corporate captives, they can torment away with impunity since The Management has already decided You Must Endure... (and probably locked out the setting in question, as well)

>MS "needs" (?) to prioritize "don't torment your users".

No, no they don't.

If the user knows what they're doing, they run Windows Update manually at times when it's convenient for them (e.g. just before going out to lunch) so that they never encounter a forced reboot situation.

If the user doesn't know what they're doing, they exactly the people who need to be forced to the latest update so they don't wind up inadvertently joining a botnet.

And, of course, there are ways to forcibly disable WU for really advanced users but at that point whatever befalls them is quite clearly their own responsibility.

So, win-win for everybody but the malware makers.

You're right, they don't :-(

Like IBM and Oracle, MS is in the position of "Management says we've already won, so suck it, users!"

OTOH - "I can put whatever I want on my phone, so suck it, Microsoft!"

Payback ... and all :-)

I've noticed since the big update (Anniversary Update), the default setting is a sane "after hours" range of 9pm to 7am on a fresh installation. So, it seems they are improving and are attempting to avoid situations where you're at work in the middle of the day, step away for coffee, and come back to find an update/reboot cycle has wiped out your hard work. I was pointing out the setting for the OP because either he hasn't updated far enough to get the sane default, or he's somehow changed it without knowing and needs to fix it.

Well, that's a lot better than the nagware that used to run during our first-thing-in-the-morning calls 3 or 4 years ago. Hopefully corporate IT doesn't screw it up (of course looking it down, fully screwed).

I still like the Mac's unobtrusive "get it tonight after I shut down" option, though :-) (or Ubuntu's "I'll get it when I'm good and ready", but that's not a system for worker bees)

>> The endless updates, reboots, and god knows what it's doing in the background which consumes resources...

Really? Windows has its share of hair pulling annoyances to be sure, but endless might be overstating it.

In my experience since switching, I find that resource consumption is comparable to OSX. I get that this is anecdotal, but I leave my main machines on 24-7, and I basically only reboot when an update forces me to, which sometimes is once a week (when there are frequent updates), but most of the time it is for stretches longer than two weeks.

I assume this fixes the reboot problem:


I'm managing a friend's Win10Pro machine and so far it's been awesome. On the other hand, OSX which I'm running seems clunky and old-fashioned.

I think you are exaggerating a tad. I have my W10 set to the fast-lane for preview updates and I still do not get updates very often.

I switched to Windows 10 (Microsoft Surface 4 Pro) after ~15 years of using Linux and 5 years of MacOS. In Bash (based on Ubuntu) 99% of utilities just work. I can use npm, install modules and they still work. For me in Windows 10 - everything just works.

Though I still miss: 1. MacBook's touchpad :-( 2. Emacs-like keybindings everywhere in OS (like MacOS has).

If you force yourself to use the keyboard you might find it as convenient in Windows as it was in OS X. However, it is almost modal like vim. When I used Windows, I was used to `alt` followed by a series of keys for repetitive or common commands.

It drives me insane that you cannot do this easily in OSX

I bought a seperate apple Bluetooth touchpad for this very reason. Works for me.

Switched to Win 10 after 20 years on the Mac. The bash was the last missing point for me. So far I'm really happy with the OS.

As an alternative to WSL docker for windows is also very helpful.

I use it to spin up linux images that contain all the devtools that I need, and mount files/code from windows in there. For a terminal just enter the image with exec /bin/sh. To get a consistent experience I also use msys bash (which is bundled with git for windows) for terminal use on windows. With that setup entering and exiting linux containers feels very similar to on OSX.

The downside of docker for windows is that you need HyperV activated, which weans VirtualBox no longer works. The older boot2docker solution worked together with VirtualBox - however it didn't support filesharing between windows and docker containers, so there's unfortunately a tradeoff.

I run a full Linux VM in HyperV, I install git for windows, which comes with everything I need for the most part.. VS Code and my browsers. From there, I'll do samba sharing from the VM so I can edit in windows, and run in linux.

I've tried docker for windows, and even WSL+Ubuntu+Bash, and it's just not as good. I use conemu, VS Code, and Chrome more than anything else.

Which linux distro do you use and what are your hyper-v settings?

Ubuntu Server 16.04, I give it 12GB (of the 32 on the host) and 2vcpu (iirc). I have a separate SSD for projects, which the VM runs on.

Setting up a Rails environment on it has plenty of quirks, though. And other common Linux apps don't work right either, ones you typically install along with Rails

> Setting up a Rails environment on it has plenty of quirks,

I thought that was true on any OS... :/

I really hoped this would be good but in it's current form it just seems too unstable and small incompatibilities that screw you. I ended up going nix vm on my work issued XPS 15 and things are going great.

I'm thinking about trying it, but a friend of mine said that he could crash it easily by just doing the examples from Mastering the Linux Command Line. I think a Surface might make a decent piece of hardware but either WSL (i.e. the horrendously named Bash on Ubuntu on Windows) has to get a lot more stable or Linux support will have to improve. I hear Linux support for the Surface Pro 3 is basically there, but SP4 still needs some work.

All word-of-mouth, of course.

a friend of mine said that he could crash it easily by just doing the examples from Mastering the Linux Command Line

Not really surprising (dev version, comes with warnings about compatibility, ...). But why would you let that hold you back for trying it out for what you are going to use it for? Counter-anecdote: I've ran gui apps like SublimeText, gcc, ... without crashing; also see other comments. tldr; try it first-hand instead of relying on anecdotal proof it isn't, or is, ready.

WSL (i.e. the horrendously named Bash on Ubuntu on Windows)

Note that 'WSL' and 'Ubuntu on Windows' and 'Bash on Ubuntu on Windows' are seperate terms for different things

Well, in my case I actually suffer of random crashes, and it is not only sometimes too. Almost every time that I run WSL for something more advanced them SSH I already expect it to crash or at least lack some feature that I want/need.

What's holding me back is the expenditure of money.

I'm not Windows' biggest fan, but I'd consider it + Linux/BSD in hyper-v to be a nice start (say on a Surface Pro) -- if you need something that Just Works.

The bash subsystem is interesting, but I'd go with the virtualization solution first.

This is a solution I will test out later in the year. I like the idea of a 2-in-1 computer and I've ordered a http://eve-tech.com. I'll certainly be trying out the VM on Windows option when it comes.

Many articles about wanting to leave the macOS ecosystem mention Sketch. Sketch is macOS only (and will be for the forseeable future), so it's understandable that people want to consider the implications of switching away from it.

Recently, however, I stumbled upon Figma, a web-based, real-time collaborative interface design app (i.e., a competitor of Sketch). After convincing my group to experiment with it for a school project, I was pleasantly surprised.

- It's web based, so it works on Linux.

- It imports .sketch files

- It's real-time (you can see everyone's cursor and selection). This was great, because it meant we didn't have to walk through the snow to get to campus to have a discussion about tweaking a few elements.

I understand that some people may still need access to Sketch to work with people on their team or at their company. But for me, I'm officially striking Sketch off the list of software that's tying me down to macOS.

Affinity Designer is now cross platform and is starting to provide some of the functionality of Sketch. I don't think can handle Sketch files yet, but it's definitely an up and coming design tool.

I've never really understood why people use Sketch. I recently worked on a project where I had asked for some basic vanilla templates of a mobile site from the designers and was sent a huge Sketch file. It was utterly useless and I had to code everything by hand myself, since the 'designers' very clearly had zero clue about HTML+CSS or any notion of responsiveness, thanks to apps like Sketch which teach nothing of the knowledge required to be a useful part of anyone's app/site building process.

If you asked for templates you should have gotten templates, not mockups and not wireframes and not a demo. In my experience there is a common misunderstanding between designers, project managers and coders about what word or phrase is used to describe those very different things. And instead of learning what they are and being specific I have been told the equivalent of "just do your thing" ie, stop bothering me. Then people complain "this isn't what I asked for" and I have to explain the whole thing again while they don't bother to listen. Sound familiar?

template is an ambiguous term, clear communication and definitions of terms would help.

To clarify, you're basing your whole not understanding why people use Sketch based just on your experience that you mentioned?

I'm a programmer like you and used to believe in the idea that you should design in the medium which is HTML and CSS, and not in a tool like Photoshop or Sketch. But I've completely reversed my stance after working with a lot of designers who create beautiful sites that goes very well with the grain of the web.

The reason is direct manipulation. You're not thinking in terms of the DOM's static flow when trying to create a design. Instead you want a medium where you can quickly transfer the idea in your head to a tangible form and try out different layouts, typography, colors, and visuals.

But there still exist the problem of converting that design into code, and that is a wasteful exercise. You might have found Protoship UIPad, a tool I'm developing (in early alpha), useful there. It can convert Sketch designs into code - HTML/CSS and even React. Sketch has been incredible for that sort of stuff. It is a vector design tool and its design elements are fully expressible through CSS and SVG, unlike say Photoshop which is a raster tool.

Mostly hand-coding since ~'94. Also waded through the code-soup created by Dreamweaver for a bit. Thought it might save time having 'the designer' do the layout. It didn't. ;)

cynicism is well warranted. but if you're open to possibilities, they might pleasantly surprise you.

> This claim is typically met with skepticism. Isn’t generated code unusable? Are the elements going to be absolutely positioned? Would the CSS classes be named correctly, and how reusable would they be?


I think the problem here is that you asked for the wrong thing.

Of course you had to code everything by hand yourself - you didn't ask for code, you asked for design templates.

My IDE didn't teach me that much about software engineering either.

I'd be curious to hear what you consider to be an alternative workflow or tool.

Any tool can be used incorrectly in bad hands. The problem of choosing to work with talented and competent designers is largely unrelated from the choice of tool.

You should tell your Sketch designer about https://zeplin.io/ or upload your sketch design there. But I agree to some other comments... I think you and your designer do not speak the same language ;)

Invision does the same thing as this.

"thanks to apps like Sketch which teach nothing of the knowledge required to be a useful part of anyone's app/site building process." - I don't see how Sketch is to blame for designers sending you the wrong files.

> [...] thanks to apps like Sketch which teach nothing of the knowledge required to be a useful part of anyone's app/site building process.

This and the massive misunderstanding – where two parties agree to "templates", and one delivers mockups to the other who expects coded pages – tells me that Sketch is a subject in the story, but it isn't at fault.

Sketch users can be very knowledgeable designers and very good communicators. Sketch itself doesn't teach design, and it doesn't solve communication issues either.

just to clarify: I expected HTML (etc.) files. We'd already been through the whole wireframing process.

I also requested a responsive design.

What I got was as useful as a PDF.

Sorry, just kvetching on Sketching.

I just felt it was a waste of time that some basic coding skills could have solved. ;)

Figma seems pretty neat. Does anyone know of something similar but open source?

> The first option I tried was an i3 based desktop. However whilst I wanted to like tiling window managers I decided it wasn’t for me.

It took me a week or so to get used to i3, but once I did I can't see myself ever going back. I've been using i3 at work and at home for about year now, and every time I get on my (Mac Book) laptop it's a frustrating experience: I feel like I spend more time trying to figure out how to get to the window I want that actually using it...

Similarly, I've been using AwesomeWM for a few years. Going back to OS X is frustrating to me because it's so languorous and lacking control. On Arch/AwesomeWM, I can instantly flip to the space I want, but Mission Control forces me to walk through each space, insisting on animating the sequence and taking it's time to swap in the applications as I go along.

> but Mission Control forces me to walk through each space, insisting on animating the sequence and taking it's time to swap in the applications as I go along.

Alfred. Alt+Space by default (note you can also remove keybinds of Spotlight to make room for Alfred because I use Cmd+Space for Alfred and Alt+Space for iTerm2 fullscreen, running tmux via tmuxp).

EDIT: As joobus wrote above, I also recommend Amethyst. There's a small learning curve with the keybinds but that's it. Oh, I and I recommend Flux (remember you can temporarily put it off).

I'll plug TotalSpaces2 (https://totalspaces.binaryage.com/) here. If you're stuck with OS X for whatever reason, it's well worth the $12 to remove that god-damned animation that eats keystrokes for a full second longer than it takes my hands to start trying to interact with whatever's on the screen I'm switching to.

Try rebinding your shortcuts. These made OSX usable for me without resorting to a full blown tiling wm. It's not as fun as xmonad, but it speeds things up. There's a tweak for decreasing the animation time, I believe it's toggleable via in Prefrences.

Cmd-j/k for next/prev space, cmd-h/k for switching windows. Cmd-H/J/K/L for desktops 1-4. I spend most days in vim/screen anyway so it feels natural.

"Mission Control forces me to walk through each space"

Try swiping up instead. That'll give you a list of spaces to choose from. Certainly not as direct as your non-OS X WM but faster than stepping through each one.

Usually I'm not making the switch visually. On arch, I know what spaces each application is one and just switch to it instinctively. The visual search and movement to the trackpad ends up being slower and more annoying than a quick Super+3 or whatever it needs to be.

You can configure shortcuts to jump to a specific desktop on macOS.

You can set keyboard shortcuts for the specific spaces, specifically control + {1,2,3,4} for each space. In the keyboard section in system preferences, under "shortcuts" tab.

i3 is great, until you try to do something simple like change the time zone for your desktop clock or add some wallpaper. I switched from Linux to Mac because I was too well acquainted with making symlinks to /usr/share/ somewhere just to change my clock when I traveled, and then figuring out just how few processes I had to restart so it would take effect.

Unfortunately the Linux desktops were actually worse than the barebones window managers like i3: there was some sort of glibc bug that screwed up clock display on GNOME for at least a year. GNOME assumed glibc did it right, which was a reasonable assumption...but an incorrect one, but with i3 I could control this.

Now that I'm on Mac I look back in amazement at the time I spent on Linux learning ultimately useless stuff like why a bug in glibc would mess up my GNOME clock but not an i3 clock.

> i3 is great, until you try to do something simple like change the time zone for your desktop clock or add some wallpaper. I switched from Linux to Mac because I was too well acquainted with making symlinks to /usr/share/ somewhere just to change my clock when I traveled, and then figuring out just how few processes I had to restart so it would take effect.

Systemd makes using i3 so much easier. No more fiddling with consolekit and dbus just to get working external drives (logind solves the problem of local authentication), no more fiddling with symlinks to set time (timedatectl to the rescue).

> Unfortunately the Linux desktops were actually worse than the barebones window managers like i3: there was some sort of glibc bug that screwed up clock display on GNOME for at least a year. GNOME assumed glibc did it right, which was a reasonable assumption...but an incorrect one, but with i3 I could control this.

Gnome nowadays use timedatectl AFAIK to set time too. The last time I had a issue with setting date or time in Gnome was pre-systemd days.

While some people may not like systemd, I find tools like timedatectl, localectl and hostnamectl to be quite useful. They work much better than trying to write a shell script or parse something.

I quit desktop Linux right as systemd was taking hold. I used Debian but was thinking of switching to Arch for systemd alone. systemd is one of the best things to happen to Linux setups since X started configuring itself and since kernels got everything compiled in so you don't have to configure them. I do not understand the systemd hate. I think it's telling that the distributors--who actually have to do the work of maintaining init systems--have mostly switched to systemd while random vocal haters who do not have to keep the init system patched and working sit around and complain about systemd.

Most people hate systemd for the sake of hating something, or following the hate train. At least for me all my close encounters with it have been positive.

A lot of people don't like systemd because it heavily violates the unix principle of "do one thing and do it well". It replaces a lot of subsystems (eg: goodbye to all your old ways of looking at logs). Also, the primary developers have a poor attitude.

Systemd is relatively nice now, but the disdain for it wasn't just 'hate train'.

> Systemd is relatively nice now, but the disdain for it wasn't just 'hate train'.

No, it is mostly hate train. I only read one or two solid (technical) arguments against systemd. And no, no one of them is found in the regular systemd-hate sites.

> Also, the primary developers have a poor attitude.

I think the community have a worse attitude them the core developers, however this is mostly anectodal observation.

> eg: goodbye to all your old ways of looking at logs

systemd enable syslog.service

Here you go, all your old logs in the place you expect them.

> I only read one or two solid (technical) arguments against systemd. And no, no one of them is found in the regular systemd-hate sites.

There's an invisible pink unicorn who knows the winners of every horse race, but only I can see and hear her. Of course, I'm not going to tell you the winners; that's my secret!

Did you get onto the systemd stuff late? I got in midway along and found a few things that were iffy. One of the definite problems was the core developers' disdain for other people's use cases - even Torvalds said he was ambivalent about systemd itself, but the developers were pretty user-hostile and that was a problem.

> Here you go, all your old logs in the place you expect them.

Cool. In the same vein, do we have centralised logging in systemd yet? Or do we still have to run another syslog tool to ship them? Last I looked half a year ago, the consensus was still "ship them through rsyslog/syslog-ng", so you still have to run your old syslog in parallel. Only the IPU knows why they would make a new journaling system for a primarily-server OS, and keep kicking the "centralisation" can down the road.

Yes, the anti-syslog commentary went too far, but there were a lot of problems with it, especially before it had been battle-hardened. But whether or not you do or don't like systemd, you'd be crazy to say that it fits in with that unix principle I mentioned above.

The fact that your machines haven't personally been broken doesn't mean its a good or a bad design

This. It boggles the mind how much time one can waste solving admin, busy-work type issues on Linux, specially when trying to use a GUI. I mean wifi, Bluetooth, retina class resolution issues, drivers for multiple devices not being available... unless one is using Linux to learn and understand it as a server of some type I can't fathom using it as a replacement for Mac OS.

> unless one is using Linux to learn and understand it as a server of some type I can't fathom using it as a replacement for Mac OS.

Perhaps some of us value our freedom?

Perhaps some of us find that it helps to develop on the same platform on which we deploy?

Perhaps some of us find that we don't, actually, spend all that much time on 'admin, busy-work type issues,' having decided on good, solid distros which fit our use cases (Debian works for me, others prefer RedHat)?

At the end of the day, though, it really is about freedom for me. You complain that you must tweak your system; I value that I can tweak mine.

What you consider "busy-work admin issues", many people consider tier-1 features.

For instance, take sloppy focus. On my Linux machines, I can type in one window while interacting with another, and I use that ability fairly often. On my Mac, I have to spend time resizing and rearranging windows because I have to click a window to type there, and clicking raises it to the foreground, obscuring my other windows. Does the amount of time I spend managing windows outweigh the configuration time for the Linux box? I doubt it. But the end result is that my Linux machine feels like I built it exactly to spec. I value the fact that my OS, window manager, etc. do exactly what I want them to do in the same way that many people value the trackpad. I'm absolutely as annoyed and frustrated by the fact that the maximize/fullscreen button on my OS X windows moves my window to Space N+1 instead of keeping it where it is where a quick Cmd-Tab would bring a background window quickly back on top of the still-visible fullscreen window than I am that the trackpad on my Arch Linux box is less reliable at interpreting a gesture.

I'm assuming if you want someone else to ensure everything works for you without hassle then logically you would by a machine with linux preinstalled with a long term support release and then wait until a month after the next lts release to update after everyone else works out the kinks in the new release.

You know kinda like you do with apple machines.

i don't know, i've been running archlinux on my mbp and the only busy work i did was installing wifi drivers (which i did using cower and it was quite easy).

everything i have worked out of the box. and, as a plus, android usb tethering works a lot better on linux than on osx (thanks to networkmanager)

I'm on a Mac but at this point I could probably take it or leave it. Most of my life is shell + Firefox + Emacs + IntelliJ, and those all run basically the same regardless of OS.

If anything, my plan would be to move more of my life into Emacs so that I'm even less exposed to stupid ideas from my OS/laptop vendor.

I have been using i3 on a netbook for the last two days and I can definitely see how it would be lovely. But then again, Linux has changed a lot since I was into it seriously and I'm sure I will experience pain if I have to do anything substantial to tweak it, like symlink timezone files.

Yeah, I found I needed to set up some keyboard shortcuts for controlling mute/volume levels, but other than that it's been pretty set-and-forget (timezones not being a problem on a desktop).

The time I spent setting those things up has been more than made up for over the last year as I've spent less time managing windows and more time just doing work.

I've had good luck in the past with XFCE (in Xubuntu & OpenBSD) together with XMonad for this use case. Even now, where I don't use any of the panels and whatnot, I will occasionally fire up an XFCE control panel to do whatever it is that needs doing.

How could you not figure out how to do this? You can very well use gui configuration utilities + i3.

Check out Amethyst https://github.com/ianyh/Amethyst for Mac. I use i3 at home, and when I first started using OSX at work it drove me nuts until I found Amethyst.

A colleague turned me on to KWM (https://github.com/koekeishiya/kwm). If forced to use a Mac again, I'll probably use that. Amethyst never quite worked right for me, and I found myself restarting Amethyst all the time to un-break something.

Also, KWM has focus follows mouse.

Ditto for me with StumpWM. Whenever I have to use a machine without a tiling WM I feel like I've taken a trip back in time — back to an unpleasant and archaic part of time. Having to mouse over to windows feels like having to turn a hand-crank to navigate.

I'm currently running the latest release of ElementaryOS which runs off Ubuntu 16.04 it is great. It is very minimalist, and the desktop environment is really well done. Before ElementaryOS I was using ParrotSec OS which is on par with your typical pentesting / hacking type of distros but it comes with the latest and greatest of programming language tools. They're based off of Debian with their own modifications to the kernel to harden it, and out of the box you get TOR features that I never really used, but I'm sure that may interest some. Overall it was a great Distro my only gripe was not being able to properly install and use Steam on it. ElementaryOS has a nice Desktop Environment I appreciate but it either installs or doesn't. Fortunately this laptop took ElementaryOS, where in the past I have had issues installing it. I use ElementaryOS for everything from Python back-end RESTful service development to .NET Core application development with Rider. I'm also considering using SublimeText to save on startup time, although "Scratch" isn't too bad a text editor, it suffers poor naming (try to google for Scratch and you'll find the language before you do the text editor itself).

I had the same prejudice about Fedora and RedHat back when I was a debian fanboy. But if you look at what Redhat is doing with their money and their company then you soon realize that Redhat Inc. not only IS a large part of the Linux community, but also supports the open source movement in many ways.

So Fedora has been my main distro of choice for a couple years now. I still hesitate to order RHEL licenses at work, unless the client specifically has a good argument for choosing RHEL I tend to lean them towards CentOS.

And I can speak from 12 years of professional sysadmin experience in BSD and Linux that yum or dnf is a very stable package manager.

I've had more issues on Debian 6,7,8 than I've ever had on CentOS or Fedora.

I agree. My impression of RHEL and its likes is that they are "slow and outdated", but the more actual research I do, the more I feel like using them for their stability and security.

RHEL is the Warren Buffett of Linux: slow, methodical, stable, and in it for the long haul.

Agree as well. And I'm not sure about the "outdated" characterization. I find the most hardware driver support with RHEL. If a vendor is going to support Linux at all, they almost always start with RHEL and its derivatives.

RHEL is the Linux distro for production systems that you want to just run without any tinkering or surprises.

It seems to take a few releases longer for new features to move from Fedora to RHEL, but RHEL 7 is pretty current. That stability is great though, you can stay on one version of RHEL for a very long time and still get patch support, especially since major upgrades are so traumatic on most Linux distributions (RHEL included)

There's a part of me that really wants to use RHEL on the desktop to both support the company and to encourage them to put more of an emphasis on it. I'd love to see Dell Developer Edition with RedHat out there.

To me, that just seems like a long term win.

Yep, +1 for Fedora 25. The recent Ars review sums it up pretty well: probably the best Linux desktop ever.

The lack of equally high standard replacements for software such as

For me, it's Devonthink Pro (http://www.devontechnologies.com/solutions/writers.html) in particular and also Lightroom. Yes, there is progress on Dark Table, but there's too much useful software on OS X and despite Apple's faults its laptop hardware still leads the pack.

Yes, the lack of ports on the new MBP is annoying. If I had to buy a new MBP today I'd just get the last version—which is still fantastic—refurbished, and kick the hardware can down the road a couple years.

Obviously I'd avoid it for commercial editing, but I've had good success running Lightroom 5 under Wine.

If you're an iOS/Mac developer, there's no alternative.

If you want an alternative for graphics work (or other development), try Windows.

For other web development, in general, you'll be able to work well with Linux.

Keeping work on different machines quickly starts to become unmanageable, that's why MacOS still leads. It gives the best of most options on the best hardware.

P.S. - I tried ElementaryOS last month, for couple of hours and didn't find it an alternative in any way. It's UI is quite clunky (of course, since they are trying to copy Macs UX, but don't have the finesse). The eye candy can't make it a Mac alternative in any way; it's still Ubuntu under the hood, and less intuitive than Ubuntu.

The problem I'm finding with graphics work is that I'm more and more relying on scripted tasks to complete things efficiently or get around deficits in Adobe's software. I'd move to Windows, but I can't imagine giving up how easy a Unix-like environment makes things.

There are multiple projects that give you a Linux user land on windows. Including bash, csh, perl, python, gcc and full toolchain. Msys2 project provides that. There are also alternative terminals.

A smarter way is to use python for automation. There are lots of graphics libraries and bindings to do what ever you want.

You might have heard by now that Windows 10 now comes with a full Ubuntu-based Bash shell that can run Linux software. Guess that covers your use case well!

Best hardware, really?

Not only teraflops and ram size defines "best"; MBP's touchpad is the only touchpad on any laptop that I can work with without pluging in a mouse after a minute. Screen is good. General feeling of quality is just the best.

Yeah at this point I would need a replacement for OSX and for the touchpad to be able to go away from a Mac. I can live with their other issues for the benefits of their trackpads and an operating system backed by Unix

Curious if you've tried a Surface Book? I find the touchpad feel and gesture quality to be nearly indistinguishable from a Mac.

Thanks, I will check it out. Not sure I will be happy with Windows 10 in comparison to OSX but still worth trying out.

I just use the track-point on my thinkpad. It's preferable to its trackpad (which I actually have disabled in the BIOS).

IMO, the Apple unibody laptop design is still the best out there. And the (non-latest) keyboard and trackpad have no comparison in Windows laptops.

The touchpad is probably as close as possible as being just objectively better on Macs. But the keyboard? I don't even think "Mac keyboards are the best" is a plurality opinion among just Mac users, is it? There's obviously a large heaping of personal taste here, but the MBP I have at work is the worst keyboard I've ever used on a "real computer" (i.e., not some weird hybrid tablet thing or something). And of the Mac people I know or read online, it seems the keyboards of the last couple of years of laptops have been, at best, tolerable.

Suggest something else more superior?

best I've used (which isn't saying much)... but really depends on what you mean by best. Not necessarily the best performing specs on the market, but pretty good from off the shelf.

The problem I with linux is that there is no good laptop running linux well or anywhere near as good as windows or osx. If I could run osx on alternatives to the macbooks I would be happy best of all worlds.

I see this complaint often here, but I don't get it. Is some Linux driver not working? You can't use the mic, Wi-Fi etc? Linux just works fine on my machine, and also for a large user-base.

I have been watching elementary from the sidelines and I am wondering how deep is the keyboard integration in Pantheon?

I moved from OSX to Linux recently too and I am generally pretty happy with multi-monitor and pseudo-tiling support in gnome3. I can do most of my window movement and application switching with few shortcuts (it requires few gnome extensions). Such as -

1. switch application with shortcut rather than alt-tabbing (something like - Super-1 for Emacs, Super-2 for terminal etc). It requires a gnome extension.

2. Tile the Windows with shortcuts. Currently gnome3 has limited support but it mostly works out of box.

3. Launching or switching application with a global shortcut. Requires a gnome extension.

4. Move Window between monitors etc.

Such things usually requires at least 2 or 3 paid apps on OSX. Divvy, Sizeup etc.

Oh and 1Password works perfectly okay via Wine, including the browser extension. So, that is one thing you should checkoff your list if that is stopping you. :-)

The keyboard integration in Pantheon seems pretty comparable to GNOME.

I just finished importing my 1Password data into https://www.enpass.io looks like it might turn out to be a good option.

I use https://extensions.gnome.org/extension/413/dash-hotkeys/ thing for Unity like single shortcut Window switcher. It is absolute life saver. I used to use apptivate(http://www.apptivateapp.com/) on OSX for same thing. Is there a elementary alternative? A quick google search doesn't turn up anything.

Spectacle is a free alternative to Sizeup: https://www.spectacleapp.com

To the point (reality) of Arch's amazing docs; I fully agree with the author. I've never experienced a more comprehensive and up-to-date doc regarding a distro. For this reason, I exclusively use Arch for both desktop and laptop. It is a freeing/empowering experience installing Arch.

I've got a Dell Developer Edition arriving on Thursday and everything I've been reading about Arch has been seriously considering installing it almost immediately.

Agreed completely. I juggle between OSX and Debian, but Arch's docs are still way better when it comes to configuration and gotchas.

Another path you can take: build your own desktop and install a Hackintosh OS!

Here's my build (http://pcpartpicker.com/list/pYWQMp), which runs into some driver issues but can be fixed with Kext utility. This setup allows me to do CUDA programming + Deep Learning stuff natively in OSX, while having access to pretty Mac software. It's great, I highly recommend it!

I've done the same and it's a great way to go. If you stick with known components in known configurations, it's easy to get working. Relatively anyways.

except that Hackintosh not exactly legal :-)

Breaking a contract is not illegal, it's a matter of civil law. And depending on where you live, such EULAs might not even be enforceable.

IANAL, but I believe breaking the terms and conditions violates the CFAA [1]

[1] - https://en.wikipedia.org/wiki/Computer_Fraud_and_Abuse_Act

Has Apple ever prosecuted a violation of this terrible rule of theirs?

That was a company selling Hackintoshes. In the many years since, Hackintoshes have remained a thing and I'm unaware of any individuals that have faced criminal or civil penalties.

Until recently, a Hackintosh was a time-consuming way of producing a somewhat worse Mac. As Apple is starting to drive us away, I bet the phenomenon will grow, and then Apple's interest in squishing it will too. And the fact is, Apple could shut this phenomenon down in a matter of hours if they wanted to.

This level of risk is fun but not for the faint of heart.

> Until recently, a Hackintosh was a time-consuming way of producing a somewhat worse Mac.

Oh? What has changed?

> This level of risk is fun but not for the faint of heart.

Read: as soon as a new patch comes out for macOS you are either running around with known security vulnerabilities (as well as missing reliability fixes), or you're a guinea pig entirely unsure if it breaks anything and if so how much effort it is going to take to get the patch applied. Why? Mainly due to drivers.

Besides, good luck finding a well working laptop with good macOS support.

I gave up and bought a MBP 2015 instead. Very nice machine. Expensive, but nice.

For a workstation or MP replacement it'd make more sense. The MP hasn't been updated for 4 years and with physical access to the quick machine its easier to fix issues. You're also guaranteed not on the go, so you got all the tools you need at your disposal. However there is still a risk for loss of productivity and worst of all you can't plan it. Because you don't know when Apple does release their software updates.

I guess it still is what I said, it's just that the cost/benefit ratio lately is different than it was five years ago.

I don't think it'd be wise of them to shut down the Hackintosh community. The vast majority of Hackintosh refugees aren't going to be buying Macs, they're going to be wiping their macOS partitions and jumping ship to Windows or some random Linux distro instead. It'd shrink the number of people invested in the Apple ecosystem (including subscriptions like iCloud and Apple Music) and put a bad taste in the mouths of a lot of people with sway of family/friend and perhaps even corporate purchasing decisions, not to mention strongly casts Apple in a Big Corporate Bully sort of light. There's not a scenario in which they kill off Hackintoshing that's a net benefit for Apple.

Apple is a hardware company. The services you mention are small in terms of revenue compared to their profits in hardware. If the Hackintosh community is large enough that the services revenue or impact on the ecosystem is signigicant, Apple would rather have the revenues associated with the hardware as well.

The fact that Apple hasn't done this already is because it's insignificant, not because of some benelovence on Apple's part. They're not going to encourage unlicensed use of the OS. The OS is there to sell the hardware, not vice versa.

There's the potential to create a pretty powerful machine for the buck, but it's definitely fraught with challenge. Reminds me of building a decent desktop Linux machine in the late 90's/early 2000's.

not really, i was running osx 10.5, so almost 10 years ago out of the box, the only thing that i had to play with was sound.

there was only one rule and i believe the same i truth now, if you plan to run hackintosh u better watch what hardware you get. if you do that u can run hackintosh without problems.

This is shockingly similar to the gaming PC I helped my kid build last year. We didn't build it with a mackintosh in mind, but it's nice to know we could do it if we wanted.

Author mentioned separately Ubuntu add Gnome, but what about Ubuntu Gnome [1]? I switched from Mac OS X to Ubuntu Gnome after release of latest Apple's MacBook "shame" Pro. It took few weeks to find new dev tools, but today I can't complain. Linux is much more mature nowadays than it was ~10 years, ago when I switched to Mac. I'm working more with terminal now and not using Git GUI anymore, but as long as you are not XCode coder, everything is similar, for half of the price.

[1] http://ubuntugnome.org/

I am impressed by how perfectionist some people can be. All I want from a desktop is little icons for launching programs. One of those icons should launch a command shell. That's it.

I don't have the nerve to learn all the other features anyway...

Having to jump between myriad OS/platforms within any given day (windows for work, linux for work and play, windows for spouse's laptop, etc.), I have learned to "let it all go", and keep to minimal requirements...But I could never vocalize it as good as you just did!

> All I want from a desktop is little icons for launching programs. One of those icons should launch a command shell. That's it.


After the refresh of the Macbook Pro I decided to get a desktop replacement laptop.

Whether or not that is acceptable for your use cases depends. For me, I already have a Surface Pro 3 for ultra portable needs. Because of that, I found myself never using my Macbook Pro when I couldn't plug it in. And given how slowly cpus are gaining in performance these days, if plausible, it makes more sense to me to focus on performance over battery & weight.

Not even a mention of NixOS. May I ask why not?

Edit: I'm appreciating the feedback for "why not?" and am sending it around to people in the community. :)

I've been running NixOS on a casual home desktop for about a year now.

I'm in love with some of its big ideas, like per-project dependency files that mostly eliminate my need for VMs and container management tools, and being able to read my OS configuration in a single file.

On the other hand, most of my work these days ends up as a Dockerfile and Docker images anyways, and the benefits of Nix package management could be had with Nix alone (not NixOS).

So at the end of the day I'm running a slightly buggy KDE 5 desktop that I haven't invested the time in fixing. I have a cool package manager, but I'm using it with one global nix environment. Packages are not hard to find once I know what I'm looking for, but discovering those packages and their nix-specific names can be tricky at times.

That said I'm new to desktop Linux, and it's hard to fault NixOS for most of the (relative) difficulties I've encountered.

Hrmm... if you have a bit of time to describe your bugs, I'd really appreciate it if you filed a bug on the issue tracker (github.com/nixos/nixpkgs.)

Thank you! I'm honestly not sure which bugs should go with NixOS and which should go to some application or library that I can't figure out. A typical example: since installing a different video card, videos will play in Firefox but not Chrome.

I recently posted this in 3 tweets:

1. Switched my notebook from NixOS back to Debian. NixOS’s advantages are not actually advantages in my practical reality.

2. NixOS being such a niche distro makes it _such a pain_ to use random binaries from not-yet-packaged software, which I do often enough.

3. Also, the Nix packages I use are sometimes a bit broken. That also happens in Debian, but I don’t know enough Nix to fix stuff myself.

Beware: I’m a Debian Developer, so my view is obviously biased. That said, I think the trouble I had is representative for trouble other people might have with NixOS. In total, I used it for about half a year, I think.

(not the OP) Complicated, is my reason. I have a hell of a time making sense of the configuration syntax.

NixOS is one of those "this has to be the future" things for me, but a future i can't currently use, despite wanting it. I hope someday i can make the switch.

Also, Elementary is pretty.. and call me vein, but that is nice. Generally i want the OS to "just work" and pretty gives me the false, emotional impression that it will.

NixOS is what got me to switch back from Mac to Linux. Being able to copy someone else's config for my MacBookPro and have a pretty damn good, working system was incredible. It really opened my eyes.

Perhaps coming by #nixos on Freenode for an afternoon could get you over the configuration hurdle?

I remember I tried NixOS in a VM on a Thursday and was so smitten that I replaced OSX on Saturday.

Edit: I really appreciate your feedback on this!

To add a bit more detail:

It's not purely the syntax, but more difficulty finding API documentation to match "what i want to do". Eg, if i wanted to add a package, or if i wanted to add a custom package, what function would i use? (not a question directed at you). If i wanted to add a chroot, what would i use? What args are available on those functions? etcetc

The documentation was a massive frustration to an already confused person.

On top of that, it seemed every package/binary i wanted wasn't available in Nixpkgs, or was outdated in Nixpkgs - so i had to learn how to modify the binaries for pretty much everything i did. And, when you don't know what you're doing, this is a massive barrier to entry.

I'm not too savvy on Linux and runtime requirements of binaries, so finding the requirements of a binary or setting up chroots for binaries that i could not modify was very time consuming. I spent most of my time doing that, in fact.

The concept of NixOS represents time saved to me. Reproducible builds based on a idempotent config, awesome! But in reality, i had to figure out how to make everything i wanted idempotent, and it was just a massive barrier.

I'm super smitten, i think the documentation just needs a bit of work. I would love to run it on my home server and also Nixpkgs on my Mac.

I installed Ubuntu + GNOME on my Mac a couple of years ago as a toy but a have slowly been migrating to it as my main OS.

For what I use it for (light web dev) it is the same or better than OS X.

The only thing stopping me from throwing out OS X completely are the Adobe apps (InDesign in particular) but even with that I have switched to doing most of 90% of my work on paper or in a text file then only complete layouts in OS X.

Reads and feels like a sponsored post trying to get the attention of people who are using OSX, Fedora and Arch into elementary OS.

It presents a huge list of OSes but then it just says "After evaluating each I was left with a top 3." Without providing any reason as to why.

To top it there is no QubesOS and no NixOS on the list. This in 2017.

I think it's just incomplete writing (and it's the guy's blog, so no big deal). Author also doesn't elaborate on why ElementaryOS based on FreeBSD would be ideal, though FreeBSD is certainly rad.

The author does note that: > This is the first in a series...

So, perhaps future posts will provide more details, etc.

<rant>People worry too much about what they use to host text editors and terminal windows...</rant>

Slightly offtopic; I worry about Window managers... Too much, I admit but it's such a difference in productivity for me. Is there a good i3/ratpoison alternative for Mac OS X or Windows? I think I have tried all that came up with Google and they are far less efficient than both of the above.

I use Amathyst on Mac, having got used to AwesomeWM and then needing to switch. I believe its (unfamiliar to me) key bindings are based on i3.


Mentioned elsewhere, but KWM may be a little more to your liking and focus follows mouse: https://github.com/koekeishiya/kwm

Amethyst has an experimental focus follows mouse. Does KWM handle modal dialogs a little better than Amethyst in that mode?

(I will also say that macOS's menu bar app buttons were not designed with focus follows mouse in mind!)

Thanks. I do not know that one. Installing now.

Sure, except that OSX's iterm2+Karabiner is so much better than any terminal on Linux. Awesome full-screen switching (⌘-Enter), easy shortcuts to create subwindows, natural clipboard support, great keyboard compatibility with Emacs (after futzing with keyboard settings and Karabiner mappings). On Ubuntu, all of these have been lacking. Hell, I can't even use the terminal for a single session without accidentally triggering the App Launcher several times.

If you like iTerm2 you might want to try a tiling window manager like dwm.

> Awesome full-screen switching (⌘-Enter), easy shortcuts to create subwindows, natural clipboard support, great keyboard compatibility with Emacs (after futzing with keyboard settings and Karabiner mappings).

Except for "natural clipboard support" (dunno what you mean) and "Emacs" (I am a vim user, so I set up vim shortcuts) I have everything you said in my i3 setup, however for every application instead only for terminal.

> "natural clipboard support" (dunno what you mean)

I'd assume the author means the same shortcuts as every other app, which would be Ctrl-C/V on Linux. Obviously that wouldn't work in the terminal emulator, but I don't see why you can't remap it to Meta-C/V (as MacOS uses) for that.

You could even remap it globally: http://askubuntu.com/questions/102846/remapping-keyboard-sho...

Terminology, the Enlightenment terminal is better than iterm2+Karabiner imo especially when you consider Karabiner doesn't properly work on Sierra.

Karabiner Elements + khd https://github.com/koekeishiya/khd replaced Karabiner for me on Sierra.

> Hell, I can't even use the terminal for a single session without accidentally triggering the App Launcher several times.

Pretty sure that has to do with you being used to different keyboard shortcuts, not with any inherent properties of the terminal app. I'm currently experiencing this the other way around (working on OS X being used to Ubuntu), and struggling with it as well.

I tried to disable it altogether, but couldn't.

I have to absolutely agree on iterm2, I'd love to have the same on Linux... there are a few okay ones, none I've tried as good. On windows, I like ConEmu okay, still not as good, but better than default.

Honest question. I spend my development time switching between OS X, Linux and Windows and I've been using iterm2 for years. Yet I have no idea why people claim that it is so much better than anything else out there. If I where to completely give up on OS X for Linux, iterm2 wouldn't even make the list of things I'd even consider missing. What unique killer features am I not using?

What's your editor? For me it's emacs (w/o X) so I"m inside iterm2 for the entirety of my Linux work.

clean, navigable UI is probably at the top... split and tab views is another huge one for me. I usually have my last desktop with iterm, and 3 windows open... one is running my project with a watcher, and the other two for various tasks.

The next screen is my editor, next browser, finally email/comms. ConEmu is OK on windows, and I've tried a few different linux terms, but not is as easy/nice to use by a mile.

I really like st, from the suckless guys. It does one thing — terminal emulation — and does it very well. For multiplexing there's always tmux or screen or whatever (I like tmux). st just runs, never crashes and is beautiful to boot.

For the feature set I'm using, iTerm2 and Konsole (KDE terminal app) are on par.

I may give Konsole a shot, though I don't think I'm running any Qt apps, so may have a lot of libraries to download.

Hear hear!!

"I’ve also run various Linux distributions and BSDs since around 2000, so am quite familiar with them"

Therefor i consider, it is not even a switch just more dedicated usage. Clickbait blogpost, if you ask me.

Honestly, if Linux's font rendering looked as good as OS X, I would have already switched. I know it might sound arbitrary, but aesthetics matter to me, and if I'm going to stare at it for 12 hours a day it should look nice. :)

I spend most of the time in terminals and text editors and, quite frankly, the only things favoring the Mac are the high-dpi built-in screen and the touchpad gestures. The only thing favoring Linux is the select-middle-click thing. Everything else is more or less the same.

Exactly. If you do a lot of work over terminals and ssh anyway, does it really matter?

Most likely (hopefully, if you have a big powerful workstation) you use at least some big fat desktop application such as XCode, Visual Studio, AutoCad, Photoshop, Chrome, Mathematica, Office, ...

Just pick an operating system that works well with your hardware and your big fat desktop applications. All that terminal stuff will likely run anyway.

His only whines are about hardware that is too thin/light and does not have legacy ports and OS that won't work on some junk and don't let you publish hacks in some rarely visited moderated store (just like windows, or linux)

And instead of ordering dirty cheap hackintosh with up to 4 CPU Xeons with all memory he can get and compatible wifi, that will be no thin and no light and he can run familiar terminal window to remote build his diamond code while listening to sound of coolers,

He starting to search OS with better GUI than OSX (Elementary it is) and dreaming about hardware you can run FreeBSD (like PS/2 mouse and glorious VESA 2.0 12801024?)

I expect next article will be a tour to the wonderful world of 15" 1366768 Celeron laptops that let you upgrade memory (up to 8Gb!), spacious replaceable 4200 hard drive and have USB 2.0 ports and VGA in addition to HDMI 1.4. People will know in detail how good terminal window run there on FreeBSD with Elementary OS theme (without 2D acceleration of course).

He makes alot of sense, that mate.

Trying to do exactly the same thing - I still have a maxed out rMBP 2013 that works great, so setting up alternatives now before I'm forced to.

The Intel Skull Canyon NUC is what I'm using, with Elementary running on Virtualbox in Windows 10 (waiting for the Samsung 960 EVO to sell globally before setting up a native install).

The one massive problem for me that keeps me going back to the laptop is that the Mac absolutely nailed keyboard layout by separating the command and control keys. And no other OS is currently able to do so.

I use the basic emacs shortcuts for navigation in all the apps that support them (crtl a,e,n,p), and the command key to issue commands like close tab, save, new tab etc.

This is absolutely impossible to replicate on any other OS (AFAIK). I can map the command key to the control key, but that's about it - it just becomes a new way to hit control. Being able to consistently map and access the command key (as SUPER) simply can't be done.

  > The one massive problem for me that keeps me going back to the laptop
  > is that the Mac absolutely nailed keyboard layout by separating
  > the command and control keys.
The saddest thing is that *nix systems generally did likewise, before the this-is-finally-the-year-of-desktop-Linux crowd arrived to insist on imitating every Windows mistake. No one else was boneheaded enough to screw up the Control key's function of generating control characters.

Traditional X11 programs have (had) fully configurable key bindings in their app-defaults.

Today, KDE (and other Qt) programs at least allow individually changing shortcuts to use Super. Qt has an internal switch to use Super everywhere, but it's hard-coded to the Mac platform. Perhaps eventually there will be enough pressure from OS X refugees to make it a user configurable setting.

Yes I suspect the keyboard shortcuts will bother me too. One of the things I like about Elementary is that there are a bunch of things bound to Command out of the box. They also refer to it as ⌘, which has a nice familiarity about it.

The underlying Ubuntu still refers to it as the Super key, but elementary uses the clover to symbolise it when it can. Still can't get to Mac like setups, though - apparently in Linux it's the applications that intercept the Super key, so it's never going to be possible to get a consistent experience.

Window managers definitely get a first crack at keyboard input. For example, I have a bunch of super-related keyboard combos set in i3wm that always go to it. I doubt that's the problem you're referring to. More likely it's that the window manager has no consistent means to make any given window/app do anything in particular, like copy or paste. The app decides its own key combos for those. There's no universal way to do it globally short of using nothing but apps that are specifically intended to work with gnome or kde or another uberenvironment's configuration system. Basically, you could bind super-c at the WM level, but you couldn't make it always copy.

Yeah, I think you're exactly right... there's a feature request here that goes through this:


GTK has always supported Emacs bindings, configurable with a setting: http://tiborsimko.org/emacs-bindings-in-gtk-apps.html

I use these settings and find them quite handy.

Of course, that doesn't give you new-tab/close-tab/save on M-t/w/s, for that you have to install some Firefox addon etc. – not quite OS-wide consistency :(

I'd Love to see someone take on GNUStep are run with it. The constant reinvention of the wheel with FOSS desktops and Window Managers is mind boggling. Too much 'not invented here' syndrome? Sadly the task is way beyond my capabilities. Still one of the best ever... Of course, YMMV!

Yeah it's a shame http://etoileos.com/ didn't get more momentum.

Where's the commentary on FreeBSD? It certainly seems like the right idea (to replace OS X), but I want to know their experience.

I've used FreeBSD as a desktop OS, briefly. I've also used a number of Linux distributions as desktop OSes since the late 1990s.

The bottom line is that Linux tends to have better hardware support, especially for laptop hardware and power management.

When you run into problems, you'll usually have a much easier time finding vendor support or online community help for a Linux distribution than for FreeBSD.

Under the hood, FreeBSD is a lot simpler than Linux, and a lot of people like it for that reason. But if you want a generic Gnome/KDE/tiling WM/etc. desktop experience, and you don't need any BSD-specific features, I think Linux is the way to go. After all, we are talking about a replacement for MacOS here, which is pretty well integrated with the hardware and does not require a lot of tinkering to get working.

> The bottom line is that Linux tends to have better hardware support, especially for laptop hardware and power management.

I've been playing around with various BSDs over the past couple of years, and I really want to like any of them enough to keep installed, but this is exactly the issue I've run into with freebsd and it's derivatives. On both my last laptop and the current one, I can get everything working to a fairly reasonable state, but there are minor but annoying hardware issues I just don't have to deal with in Linux.

In my most recent attempt (installing TrueOS on my spare SSD), some apps occasionally crash when I use the Intel video driver, so I'm forced to use scfb, which is a bit slower and doesn't render fonts as nicely. Additionally, the wifi tends to be a bit slower; I average around 4-5 MB (not Mb) down on Linux, but top out around 2 MB on TrueOS. I also have to use Firefox instead of Chromium on FreeBSD and its derivatives, as there always seem to be some bugs in the FreeBSD port; right now, it renders some bizarrely-shaped section of the window in a deep shade of yellow covering part of the URL bar and the top of the page, and signing in to Google to sync my extensions and history hasn't worked for like 10 major versions of Chromium.

I really like DragonflyBSD; it works a bit better for me out of the box than FreeBSD (I don't need to configure to not have the fan running at full blast all the time, and I've strangely had fewer issues with Chromium despite it using the same ports tree as FreeBSD with some custom patches), but I've had issues running any display manager other than Slim, and even that hasn't worked that well for me, as I've never been able to get the numlock and auto-login settings working (yes, I know, autologin is "insecure", but I always have FDE on my machines, so if someone can get past that, I don't think the login screen will stop them). Unfortunately I haven't been able to try it out lately; on my current laptop, BSDs weirdly seem to think that my screen resolution is 1024x768, and the only way I've found to fix that is by setting the GOP in EFI, which is not an option for DragonflyBSD currently. I've spent more time than I'm willing to admit trying to follow the manual EFI installation inductions I found on the DragonflyBSD mailing list; I think I got it to boot once, but apparently the snapshot I was using panicked when trying to load the specific wifi driver during startup (although I found out later it could load it fine after it was fully booted), and I've never gotten it to boot since, so I'm not convinced I wasn't mildly hallucinating or something. Every now and then the Dragonfly Digest will have some post talking about some new small step towards EFI support though, so I'm optimistic that someday soon I'll be able to boot it on my current laptop and discover a whole new set of reasons why I can't use it.

OpenBSD, on the other hand, works pretty great for me out of the box in terms of the GUI and hardware, but I'm not fond of the packaging system; I tend to like to have fairly recent versions of apps, so updates come a bit slowly compared to what I'm used to. Even worse, pkg_add is kind of horrifying to me compared to what you get on FreeBSD-based systems; for reasons I can't comprehend, it seems to query for updates individually for each package you have installed rather than first just getting a list of updated packages and then downloading the updates for the packages (if there are any). I'm unfortunately too spoiled to wait several minutes just to find out that there aren't actually any updates for my system.

I've never been able to get far into setting up NetBSD. A couple of years ago I got it installed but couldn't get Xorg to start up, and I've been unable to get the installer to boot on the most recent release; it prompts me to select the boot device from a number of options, and I've tried all of them, and none of them work. The issue seems to be fixed in the more recent snapshots, but I haven't been able to figure out how to install with FDE (I found the option to encrypt the disk, but it seems to be independent from the installation itself, and neither encrypting the disk before or after the installation seems to result in a bootable encrypted system), and I'm too stubborn to install it without.

I tried NetBSD on my Acer Aspire One netbook from like six years ago. Most things worked out of the box. One thing that did not was the keyboard did not wake after suspend, which was manual (typing apm -z). I decided that was a deal-breaker and switched to Ubuntu, which worked perfectly out of the box, including lid-shut suspend.

NetBSD also gave me a bizarre halt-the-world problem on installation the first few times ("Old BPB too big") until I skipped the first sector.

I figure this laptop is old enough if it isn't supported by now it won't ever be.

I use FreeBSD as a desktop/laptop/workstation since years and it works great for me. Total control over the system You work on is priceless.

Everything on my hardware works (ThinkPad W530). The WWAN(3g) connection, Wifi, SD Card Reader, Power Management, multi monitor setup, external disk in the Modular Bay ...

Also having ZFS and ZFS Boot Environments on a system is great for updates/changes. You are literally bulletproof.

Some screens: http://vermaden.deviantart.com/art/CorporateBSD-FreeBSD-at-W... http://vermaden.deviantart.com/art/FreeBSD-10-3-Openbox-6356...

Regards, vermaden

How is a non-tangible filesystem making you "literally" bulletproof?

The BSDs are great for very specific tasks, but I find more general use users will prefer Linux with GNU userland. It has wider hardware support and a larger community for resources such as documentation and troubleshooting.

Please read about ZFS Boot Environments, no matter if from Oracle documentation or Illumos one, You will get the idea what it provides. There is beadm command same as in Solaris/Illumos and You can select BE at boot in the FreeBSD bootloader.

In short the idea is that You create snapshot (BE) of the current system state (filesystems), then make changes/upgrades. If something went wrong, then You reboot to that snapshot (BE) like nothing had happened.

About GNU userland, I also use SOME GNU tools like 'gls' (GNU ls) or 'gawk' (GNU awk). They are provided by the FreeBSD sysutils/coreutils package/port, I also use sysutils/moreutils like 'vipe' or 'vidir'.

The documentation part on FreeBSD is much better then on Linux, check the Handbook, or Wiki, or FAQ, or plain old MAN PAGES with useful examples. I sometimes read/use ARCH Linux wiki or Gentoo WIKI but for most of the time FreeBSD documentation is second to none. Even with a lot less people then Linux has.

BTW, while there are a lot more Linux people out there then BSD people, remember that Linux people are fragmented over about thousand Linux distributions while there are only several BSD distributions.

I do not want to sound 'bad' here but I also found many times that 'BSD people' known more about Linux then 'Linux people' if You know that I mean.

Regards, vermaden

... and yet, despite that, the doco for the BSDs is often better quality than the Linux doco. It hasn't actually turned out in practice that the larger community results in the better doco.

New post about GNOME on FreeBSD is up: http://bitcannon.net/post/gnome3-on-freebsd/

It's coming in a follow up post. I should publish it in the next few days.

Since you're looking for a desktop OS, you should test PC-BSD instead of pure FreeBSD.

I'm kind of in the same boat, and I'm slowly, gradually, replacing my Macs with both Windows and Linux devices. As somebody with zero investment in earlier Windows versions, I quite loved Windows 8, and found Windows 10 to be a step back from that, but still a good alternative to the Mac. There are also various different Linux systems that make great desktop operating systems.

Reading the linked article, I have some observations, particularly about the requirements Wesley lists:

> One tool for each job.

This strikes me as a somewhat peculiar requirement. The Mac certainly doesn't work that way, particularly since OS X, and as long as the different tools available aren't hurting you, their availability won't be much of a problem.

> A sensible/minimal selection of pre-installed applications.

To me, a more useful requirement would be "no bloatware". Linux distros in particular often come with a ton of pre-installed applications, but they are generally good applications, and having them does not cause any harm.

If you buy a Windows computer, on the other hand, you'll likely find its installed Windows version to be borderline unusable due to all of the preinstalled manure.

> Simple, easy to use/understand interface

As somebody who has used Macs since the early 90s, I'd argue that ever since Mac OS X, the Mac hasn't really offered that. It's still ahead of most Windows versions (excluding perhaps Windows 8, but clearly including Windows 10, which sadly has reintroduced much of the clutter from earlier Windows versions), but many Linux distros are now much cleaner and simpler than OS X (both Elementary and Pixel come to mind as examples of this).

So to some degrees, Wesley is requiring these operating systems to offer things that the Mac hasn't truly offered since the late 90s. This is not entirely unfair; as a Mac user, he's used to the Mac's oddities and flaws, and so it is perhaps useful to require the system he's switching to to be better than Mac OS in some respects.

Still, I think it's fair to point out that the Mac itself probably couldn't easily fulfill all of these requirements.

If a Macbook sshing into your work computer is good enough, why isn't a Windows laptop sshing into your work computer?

FWIW, whenever I am forced to use Windows I want to hurl my computer through a window after using it for only a few minutes. Doing anything takes click after click after click: it's way too much work. Manual window management is horrible: it's way too much work. Trying to figure out how to make anything work is a chore, as is evaluating which websites are giving correct advice, which are outdated and which are trying to infect me with malware: it's way too much work.

Granted, I feel the exact same way about macOS (with slightly less concern about malware, to be sure).

Ideally I'd only need a single computer and there are goals like being about view/edit the source code of my OS/apps that Windows doesn't tick. Still as mentioned in other comments I'm getting a Windows 2-in-1 later in the year so can try it then.

Well a built-in x Server for connecting to your development systems would be nice - which both OSX and Windows 10 Lack.

And I do mean Server as X Windows switches the common usage of client and sever.

XQuartz works just fine

ConEmu is nice in my experience, but requires some tweeking. Some people I know use MobaXterm. The main drawback is windows itself, with its disruptive updates lately.

I'm full-time OSX user/developer, but if Rails is really your sticking point, shouldn't the linux subsystem make Win10 at least viable for a trial? Or, frankly, anything that can run VMWare or Virtualbox?

I switched to Windows hoping to use the WSL - looks great for the most part, but there are still lots of blocking bugs. Ruby and Git install, but not OpenSSL, which makes Rails development difficult. Lots of niggles here and there, basically.

Should be great when it comes out of beta, though - a good terminal and we'll be all set.

If you haven't tried ConEmu [0], it's pretty awesome. I use it with the Git Bash that comes with the full windows git installer and it Just Works for most of my terminal needs. Haven't tried it with WSL but it can most likely be rigged up.

[0] https://conemu.github.io/

I use conemu with WSL... it's the best one available for Windows, but it still pales in comparison to the default macOS terminal, and even the one that ships with Elementary. The customziation, tabs, layout, fonts all work fine but seem a bit bolted on.

I feel the need to point out that what "ships" with elementaryOS is basically meaningless. You can install what you want, easily, and the default configuration is a recommendation. Welcome to Linux-land. https://www.distrowatch.com/

Oh, absolutely, but I'm actually saying the terminal that ships with Elementary is superb. The macOS stock terminal is also really good. But the Windows stock terminal is downright horrible, Powershell is slightly better, but not Unixy, and ConEmu is so-so, but better than the other Windows options.

isn't it the same on any OS? :-/

you can install what you want on macOS and you can install what you want on Windows. Both have custom terminal apps

No, it isn't. Debian packages, Ubuntu packages, etc. are tested together as a group and you can expect that they integrate properly. The same cannot be said for third-party OSX .apps. They're more like adding another repo to your sources.list. Hell, OSX won't even let you uninstall Terminal.app.

I'm using https://github.com/mintty/wsltty as a terminal for WSL, because it feels the closest to a Linux terminal for me. Give it a go.

If Rails is his sticking point, then there's no point in paying for something when you can have it for free.

Well there's no indication that he's against paying, just that he looked for and failed to find a viable OSX alternative.

It's not listed in his requirements and Win10 may satisfy him.

There are lots of free things in life that have an inferior free alternative or only free alternatives and this may be one of them.

Well, it was you who said he should pay for Windows if Rails was his sticking point.

And I said you don't need to pay for anything if you want to do Rails programming. In fact, here, the "inferior alternative" for this task may be the proprietary one.

Another thing would be using his computer for gaming. In that case, I wouldn't object, of course.

It is apitty FOSS project like GNU-Darwin / PureDarwin never took off and people use Hackintosh. But Apple is here to blame. They could even support the users by charging some fee.

Using only Darwin instead of Linux or FreeBSD was never really attractive. Contributing upstream is difficult to impossible, since Apple was never set up to take your contributions. The different Darwin distributions never really developed a direction or a unique feature set.

The only feature that sets Darwin apart from FreeBSD is launchd instead of init. The rest is mostly downsides like a weird file system. You can get dtrace on many other OSs today too.

Or the other way:

Finding an Alternative to Windows 10

That non-optional phone-home, non-optional updates, ads on startmenu, little QA (buggy like never before) - Windows up to Win7 was so nice, since Nadella everything went downhill, so sad, but true. Good that Win7 is supported until 2020, and promising alternatives are around the corner with Google Android/Fuchsia, macOS, Linux - although, the transition will be painful and but necasserry. It's a little late and all trust is gone, but maybe they fire the CEO and make a u-turn.

I see the downvotes for the parent post but no rebuttals to the phone home/privacy issues in Windows 10.

I ask this as someone who hasn't really used Windows for 10+ years, could someone who knows please discuss the state of privacy in Windows 10?

Is this a non-issue because you can turn off all the monitoring? How would one go about that?

Is it a non-issue because Windows 10 doesn't send private information back to Microsoft? What does it send back?

I use Windows 10 on my main dev box. I somewhat agree with the parent. The Windows 10 situation has been enough to push me to start experimenting with Linux.

The phone-home and forced-update-reboot are the big problems for me:

The phone-home behavior of Windows 10 is a repellent. Turning it all off is non-trivial. The easily accessible privacy settings don't disable everything. There are various lists of firewall rules, scripts, policy settings etc. I can't recommend a specific source, but I think there are some well-maintained lists/scripts on github. To be honest, I'm not sure whether anyone knows exactly what goes back to Microsoft (not being tin-foil hat about it, I just don't think it's well documented).

The no-choice-auto-update-reboot thing is also terrible (I've lost data on more than one occasion from unsaved files when Windows forces a reboot while I'm afk). This can be disabled with a lot of work and research. Some people say manual updates will re-enable it. Note that I really do want to keep my machine up to date, but ideally I don't want to have to reboot, and when I do have to reboot I want to choose exactly when. I didn't buy a UPS so my computer could reboot randomly by itself.

As for "ads on startmenu, little QA (buggy like never before)":

Running Windows 10 Pro I have not seen any advertising.

The system runs fine for me. Arguably it runs with lower memory usage than Win 7. I agree that Win 7 is very stable, and that's been my experience with Win 10 too. That said, I only started using Win10 in mid 2016, so perhaps earlier builds were worse.

Overall I would have been happy to stay with Win 7. So far I've found Linux GUI to be less polished, but maybe I'll get used to it.

I use Albert on my Arch Linux installation as an alternative to Alfred. Not quite as good, but it works and is familiar (also extensible).

If you're looking for clipboard management, there are tons of linux solutions for that, see: https://wiki.archlinux.org/index.php/list_of_applications#Cl...

As for an alternative to Karabiner, I use Xmonad and manage my keymapping through the use of Xmodmap (https://wiki.archlinux.org/index.php/xmodmap)

Hi guys, can you suggest me any laptop + os that have trackpad work like apple's (multi guesture, smooth scrolling) I love to leave them but, their trackpad... are so good. I can use *nix quite ok, so os isn't a problem for my dev station.

I've been using Xubuntu on my Macbook Air in a VM and it feels amazing. It gets the job done and I really like the UI.

elementaryos is perfect for a MacOS user but it feels like it's not ready yet for day to day use.

I've used a Mac for work for the past 5 years, I use Windows PCs at home but most of my computing devices are Android.

I usually find if I need something specific for production use, it's in some Linux distro, and I'll either SSH into one for work, or fire up a VM with that distro in it and SSH into it. The best dev environment I've been able to conjure up is using WinSCP to act as a bridge to whatever system I'm connecting to, and just using a local great text editor in Windows (Sublime Text, etc.). When you save, WinSCP just seamlessly saves it back to the server.

I'll keep a Putty instance permanently ssh'd in and flip to that for console stuff.

On OSX I've setup a network mount to the same linux machine/VM with SSHFS and edit with pretty much the same text editors and use iterm2 that's permanently ssh'd into the same machine/VM so the experience is virtually identical (with the exception that SSFHS can be a bit fragile).

Most of the other apps I choose are cross platform because I work on a similarly mixed OS team. I think every team should be mixed OS because it forces the teams to choose cross platform tools instead of locking themselves into platform specific choices.

I don't dev from my Android devices, but I do push stuff to them frequently, so they all have Servers Ultimate on them and I'll frequently setup ftp servers on them to move files or ssh servers so I can remote in and do some simple maintenance without have to do it on a small screen or fidget with an on screen keyboard.

If you aren't doing something really specialized on OS X, I'm not sure I understand what the crisis is except for people building too much of their identity into what device they're carrying around.

Apple's hardware is the best, by far, but at $3k a pop, I can buy 4 or 5 perfectly fine and similarly specc'd Windows Laptops, or 6 or 7 better specc'd desktops. If one breaks, just throw it away and buy whatever the newer one is and keep your hardware fresh.

If most of what you're doing is looking at a console, or editing in a text editor, it only takes an hour to get a new machine up and functional again anyways.

So much drama.

Funny how we keep seeing these post from developers that aren't Mac OS/iDevice developers.

NeXT's adoption of UNIX was just a way to fulfill expectations of the newly created workstation market.

No serious NeXT application was a pure UNIX one, just like on Mac OS X.

I never saw a NeXT full of xterms and vi, rather with applications that took full advantage of the desktop frameworks, including the devtools.

I hacked about in a NeXT in a research institution and spent a long while getting X, NFS, etc. to work "right" (which it never quite did), but yeah, you're right - except for macOS/iOS devs, Mac-using developers that target web or server-side are the ones actively looking for alternatives, because the tooling and targets are just easier to use on Linux these days...

> Note that I don’t currently consider Windows a viable alternative. For the work that I do (Rails) and tools I use something *nix based is the best choice for me.

For a long time, it has been my workflow to almost never develop on the host machine. I find Virtual Machines to be preferable for a lot of reasons. Am I unusual in this regard?

Perhaps you are but you shouldn't be. When I was still using a Mac, this was exactly what I did. The #1 benefit IMO, is being able to create a filesystem and OS isolation/independence layer that let's you easily switch host OSes without too much hassle or thought. One can easily switch from Linux to Windows to MacOS or even migrate their work to the cloud without too much effort.

I've recently adopted a similar approach. I have a virtual machine running the same OS and version as the target production machine. I'm using QEMU and connecting to it via ssh.

@wezm You should checkout Enlightenment windows manager over Arch Linux I think it'll be right up your alley based on your preferences https://www.enlightenment.org/

I tried it on my Arch install. I know it's highly themeable but the default theme was not at all minimal and I wasn't a fan.

How about advertising for candy crush soda saga/minecraft, right on my start menu. Or the crazy invasive privacy settings on first boot. Destroy windows spying fixes most of this, but it's easier to just uninstall bill's shitty OS and use ubuntu.

> How about advertising for candy crush soda saga/minecraft, right on my start menu.

Try Classic Shell [1]

[1] http://classicshell.net/

Anyone knows an alliterative to Alfred in Windows or Linux?

I really really like the ability to search apps with a few keystrokes and I really really like to be able to search clipboard history with another few keystrokes.

Nothing I've found are doing both or one as good as Alfred.

> I really really like the ability to search apps with a few keystrokes

GNOME does this out of the box. It's possible to add this to e.g. StumpWM, i3 or AwesomeWM too.

Similar functionality is available in emacs with Helm: search through all callable functions by just typing a few characters.

> I really really like to be able to search clipboard history with another few keystrokes

Emacs does this, with yank-pop (M-y); Helm turns this into helm-show-kill-ring, which offers extremely convenient searchability.

I really can't recommend emacs highly enough: it's everything one could want in an operating environment.

dmenu from suckless-tools springs to mind as well, but, as you say the 'hit-windows-key-type-part-of-name-or-function' facility is a native part of Gnome Shell (default DE with Fedora). Whisker-menu for XFCE4 can be bound to windows key (Mod4). In KDE 4.14, you can bind a chord such as Windows-key-space or some other letter to bring up the application launcher.

On Windows, it's probably a combination of multiple tools. Some examples:

* For searching and browsing, Listary Pro is pretty good.

* For text expansion, AutoHotKey

* Automating, maybe AutoHotKey again.

* Clipboard stuff - Ditto, Clip X

As I mentioned in another post, Scott Hanselman's giant developer tools list is particularly useful:


Not sure about searching clipboard history, but just about every Linux window manager has a decent application launcher that can be easily accessed with the keyboard.

I haven't tried it, but Albert may be worth a look : https://github.com/ManuelSchneid3r/albert

I use Kupfer on Openbox and LXDE, and it does a lot of what I need (it's more similar to Quicksilver than to Alfred).

For everyday use there is Android based RemixOS worth checking out, it looks polished but is still in its infancy. [1] http://www.jide.com/remixos

Funny that this got written. I've looked at switching from macOS to Windows 10.

My first operating system was Windows 95. I then upgraded to 98, and later XP. I decided to go with a Mac in 2008 after Windows Vista just couldn't get itself together.

I use Macs at work, and I've been using Windows 10 at home since June, with my old Apple keyboard and everything.

My impression is that both operating systems are very close to parity. I use the same apps on both, including a lot of Unixy stuff that now works fine on Windows. Even the Windows font rendering is a lot like the Mac's now.

The Mac ecosystem still has a huge advantage in hardware quality, but I think Microsoft has caught up in software quality.

Except the stupid decision(s) they continue to make, like advertisements in my operating system.

Seriously, i can't comprehend why they take a paying customer (me) and frequently think i want to see their ads my operating system is some kind of blog.

(The ad in question is for me to try some new microsoft product.. i forget which one offhand, Office Live? no idea. I usually see too much red when it happens to even read.)

The ads I've seen in Win 10 (Home): (1) (Don't I want to claim my) Free trial for Office 365? (2) MS Edge is faster/better than my (non-MS) default browser (and don't I want to try Edge?).

These seem to recur once after each Windows Update reboot. Anyone know of a way to permanently disable these?

Settings -> Notifications -> "Get tips, tricks, and suggestions as you use Windows" is the main one. If you want to really dial it in you can also disable notifications for individual apps like Office or Edge on that page.

Note that if you're on Insider builds, there have sometimes been build-to-build update issues that reset some settings, which can result in this toggle being reset. IMO that's a serious bug you should report, but (hopefully) wouldn't make it to a stable release.

(disclaimer: MSFT employee on the Edge team)

Office 365 sounds correct, i bet that's my ad as well.

Like, i cannot even stress how pissed off it makes me.

I've never seen an ad in Windows 10 -- but then I did switch to classic shell for the start menu.

That never happens to me.

The author specifically excluded Windows because they're a Rails developer.

I've been doing Rails dev on Windows for a couple of years now (I use cmder/conemu, not the linux subystem). For the most part, my workflow is similar to what I was doing when I was on Mac, but I guess it really depends on what you're doing.

If there's something in Rails you can't do in Windows proper, you can still opt to use Vagrant on Windows for a more pure unix experience.

It's a shame, because that excuse makes no sense.

I agree; it would be great to hear from developers who've experimented with switching from macOS to Windows 10, and use Ubuntu userspace on Windows.

I switched about a month ago and, to be honest, I've been pleasantly surprised with Windows 10, with modern, top-of-the-line Windows hardware, and especially with Ubuntu on Windows.

Reading Dave's (https://daverupert.com/tag/davegoeswindows) experience switching to Windows turned me off considering it as an option. However I've ordered an Eve V so will try it out when that comes later in the year.

I've been very happy with https://apricityos.com running Cinnamon desktop.

Why no plasma 5.x based distribution?

Last I checked KDE was still working on HiDPI support. Has that changed? What plasma based distribution would you recommend?

Fedora 25 KDE spin seems to work just fine on my 1440p monitor.

Ok, looks like I need to check out KDE too.

"I has a fast Intel CPU (4Ghz i7-6700K), plenty of RAM and fast SSD storage."

Thanks, fixed.

Windows 10 with WSL?

I prefer the mac but apple seems to be really working hard to blow it.

From what I've read WSL is kind of amazing but not stable enough yet.

> Removing the Esc key

you can switch back to default F1... keys

> Removing all legacy ports necessitating the use of dongles for everything

Somewhere have to start the transition

> Prioritising thinness and weight over everything else

Batterylife is the same

Worst thing on the new rMBPs: No silent trackpad click option m(

I use OS X just as an client.

> Somewhere have to start the transition

By removing every single legacy port long before there's anywhere near ubiquitous USB-C? Even USB-C cables themselves are more commonly sold as USB-A to USB-C. I love having usable DisplayPort/Thunderbolt, HDMI, and USB-A on my 2013 rMBP - I never need a dongle. If I went to a 2016, I'd need at least 3, every day.

> Prioritising thinness and weight over everything else

Battery life is certainly not the same, and the lack of a 16GB option or a faster processor is a well-missed loss.

> Battery life is certainly not the same, and the lack of a 16GB option or a faster processor is a well-missed loss.

Is it certainly not the same? It seems pretty much the same to me. Lack of a 16GB option? I have a 16 GB TB mac.

The FUD is getting old.

> Batterylife is the same

Quite a few folks including Consumer Reports would differ with you on that point.

Those folks had crazy results, in all possibility due to a software bug.

For example when they re-tried with Chrome (instead of Safari) the found exactly the same, and in some cases better, battery life.

>> Removing the Esc key > you can switch back to default F1... keys

Not following... the physical key is gone, replaced by the touch bar?

The key is gone. The touchbar can be set to always show virtual function keys, though. Not the best option if you touch type, of course.

Yeah I touch type. The whole idea of encouraging people to look at their keyboard seems completely off.

The ESC key being missing gets blown out of proportion. Every time I hit it, I'm amazed at how it just works. Apple has made it so hitting any where in that vicinity basically triggers the ESC.

The key not physically being there is unnerving. There's no tactile feedback, _unlike every other key on the keybord_. As a touch typist, I found this extremely distracting during the week that I tried out the MBP 2016. Not every attempt to hit Esc worked, so I found myself constantly and instinctively hitting it 2-3 times "just to be sure", and then also constantly glancing down to see whether in fact I was aiming right. That's not great UI.

Another problem with the touch bar is unintended touches. I constantly found myself accidentally resting a finger on the Esc key, which of course caused all sorts of weirdness in various apps.

Finally, as a touch typist the touch bar was simply distracting. I never look at the keyboard, but the touch bar really wants you to look down, which is a source of distraction, especially when it changes contents in the periphery of your vision.

If the touch bar brought lots of utility, I might have learned to deal with it, but it is really is of limited value. Emojis? There's cmd-ctrl-space for that (the touch bar doesn't have search so you'll be scrolling a lot to hunt down the right emoji). Safari tab previews? They're idiotically tiny. And so on.

I wondered about the lack of a tactile response, and tried out one of the new MBPs a few days back. I'm also a touch-typist, and you're absolutely right. It bugs me immensely, not having tactile feedback.

I'm a touch typist, and there's no way I'm going to use touch bar. I've tested it in the local Apple store, and it just doesn't work for me, nor do their new keyboards.

I appreciated Apple's innovations in the past, but imho Apple shows little understanding of their remaining users in the "pro" market, or rather unwillingness to cater for them. Pro users want predictable work horses and a roadmap for their software purchases, not the new shiny and Apple doing away with basic functionalities of a computer system such as standard keyboards and ports.

Why didn't Apple make touch bar optional on the higher end Macbook Pros?

Alternatively, couldn't one use CTRL-[ instead of ESC?

I doubt anyone is going to remove CTRL or [ anytime soon, so getting used to that would future-proof you quite well.

That may work... unless you're on a layout where [ is accessed with Alt (or whatever modifier is used on macOS to go to Layer 3).

> you can switch back to default F1... keys

Why not just set Caps Lock to Esc? Works well with Vim and you don't wanna use Caps Lock anyway.

I use Karabiner Elements to set it that way. Karabiner doesn't work with Sierra.

I'm using Caps Lock for Control already...

I don't understand the ports complaint. Or maybe it's others who don't understand their ports complaint. The USB-C connector is a physical connector, and Apple's implementation of it supports every useful protocol and function available. DisplayPort, USB3.1 and below, Thunderbolt3, charging and HDMI[0]. Just buy USB-C to whatever cables and you're done with it. USB-A to C transition complete. You don't need adapters for those protocols, they're passive cables.

What do people want? A bunch of ports that not everyone needs or wants to waste space when I could have more multipurpose USB-C ports?

Got USB-A mice and keyboards? Ok, buy a docking station or USB-C to USB-A hub and never think about it again. Got a mouse you like to carry around that isn't wireless? Pickup a small adapter[1] to get you through the transition. The only thing I can think of is ethernet but again, not everyone is going to use that. I do want ethernet, but the USB-C Thunderbolt adapter is fine. It certainly isn't the only laptop going without ethernet today. Again, why waste a port when you can have these reversible universal ports. Miss MagSafe[2]?

Either way, the complaints about the ports don't hold much water once properly researched and the change is inevitable. The reason I passed on the new MBP15 is the 24% reduction in battery capacity from 2015[3].

I needed a new machine so I bought an Acer Chromebook[4] to tide me over until Apple gets a form-fitting large capacity battery[5] in the MBPs. My configuration is $3000 and I'm just not going to spend that sort of money unless it's near-perfect. I may build a PC and remote into it as per the article until the next MBP once again matches its high price but I won't hand them 3K for a battery that's 3/4th the size of the 2015 model (66% capacity for the 13").







I understand why a full size RJ45 is a nice thing to omit because it's fat and actually prevents good slim design.

Why you wouldn't just throw in a legacy USB jack though is really odd. You can do anything with an adapter, but I just want to jam that old thumbdrive right in, without adapters or docking stations. I'd certainly give up a type-c port (if there are several) for a legacy usb port just to be able to do that.

There's still a huge confusion on what cables are legitimate USB 3 Type C cables, or Thunderbolt or some third option that I forget but bricking devices is a possibility with the current mix of options.

I've read a bit about that. In general, just use what comes with the USB-C device you're using. Longterm, quality issues with cabling will be sorted out. I only have one anecdote with my own equipment. I have an external SSD case[0] that came with a USB-A cable and I simply bought a micro-B to USB-C cable[1] and it worked when I tried it without issue.

What most people seem to want other than ethernet is a HDMI cable (or port) and something like this[2] will work direct from a new MBP. When I was going to buy one, I was going to grab one of those just to keep in my bag.




Getting the right adapter to connect a display isn't easy. Many only support limited resolutions and frame rates.

how can the touchpad be both bigger and smaller than the previous model?


Why did the guy try like ten different distros? After 2-3 you know Linux is going to work for your needs, or it isn't

I think most people prefer Windows or MacOS.

When I talk to normal/non-techies about this issue, they often see it as a non-issue and/or terrifying.

Why not help Windows and Mac users by writing more software for the preferred environments?

Installing a foreign operating system is like installing a different language on your PC. You must have other motivation than normal users.

Why doesn't Microsoft let people control updates or antivirus options? These questions run deep.


> The interface is clean and refined.

Can we stop using the term "clean" to describe interfaces? Clean doesn't really mean anything in design and also is a one sided term without an opposite term that is not disparaging. Are all other interfaces that are not clean, dirty? Or unsanitary? Or cluttered? It becomes and absolute term like beautiful or professional which are all really just fluff terms for "good".

>Clean doesn't really mean anything in design

It actually conveys pretty well that the interface is uncluttered and with a minimal aesthetic, with lots of space, etc.

>Are all other interfaces that are not clean, dirty? Or unsanitary? Or cluttered?

Obviously cluttered.

Don't really understand the objection. "Clean" has been part of UI vocabulary, and before that, of aesthetic criticism (in fine arts, architecture, industrial design, etc) for ages. ("Clean lines", etc).

Since you feel that way, would you mind showing me an example of an interface you do not consider "clean" but is of high quality and excellent usability?

How many positive terms have antonyms that aren't considered disparaging? The opposite of clean in design is usually "cluttered".

An objective antonym to "cluttered" in design is "minimal".

Personally I would use "streamlined", as "minimal" conveys to me the idea of "spartan" in the sense of (rigidly) frugal or austere.

"streamlined" is much better. Great suggestion.

Good point. I actually paused and tried to come up with something better when I was proofreading the post but failed to do so. I'll keep it mind for future posts.

Applications are open for YC Summer 2018

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact