Switching from macOS: Developer Environment
blog.elementary.io
blog.elementary.io
OK that's not true: I can only use 2.4G wireless, and sometimes I have to unmute system audio after using headphones.
As much as I wanted to enjoy the distro since its DE looks more well-thought than other DE's around, you're going to get more problems than if you simply switch to Ubuntu with outdated packages, poor documentation to solve problems and it's easy to realize it's not made for devs.
I would say Ubuntu or Fedora are better distros for developers to switch from macOS if they don't want to spend a long time setting things up, or maybe even Arch Linux if they are experienced with Linux. After a while, I couldn't even recommend Elementary for friends since I knew the amount of problems that would come with it.
(https://www.reddit.com/r/unixporn/search?q=xfce&restrict_sr=...)
The thing is, Apple took care of my basic laptop needs very well, but at a price. I had to put up with all of their little, annoying decisions (a finder lacking so many obvious file-management features but will NEVER be improved, a ridiculous emphasis on trivia like "flat design" instead of substantial things like RAM & SSD, social media nonsense built into everything, features that are more about Apple's agenda than mine ("this new version gives you more ways than ever before to buy stuff from Apple!"), a pathetic range of preferences because "we know better than you, and we've decided for you", and so on.)
But if they won't make the hardware I want and won't allow anyone else to make it for me (meaning licensing OSX to companies who still care about serious computer users), then the basics are no longer covered, either. I'm really not looking forward to having to fight to get basic stuff working right for myself, but if I give up and conclude that Apple has moved on and I should, too, then I'm going to go all the way with the others stuff as well. I'm getting rid of all the "you'll get used to it eventually" compromises I had to put up with from Apple and doing it the way I want. I'd like to see what other looks are available (the looks aren't a trivial issue if I get to choose them, right?) and it doesn't have to look anything like OSX. In fact, I'm sure I would prefer a design that is very unique to ME over Jony Ive's design that is best for everyone.
I do not mean to nitpick - I enjoyed your comment - but isn't that more the preserve of Windows (post-8)?
I don't really care either way, and yes, other makers are doing flat-look fashion makeovers, too, but this is about Apple as a pro computing platform. I just wish that if Apple couldn't stay ahead in both fashion and practical usefulness to people who need serious computers, that they would let the former languish instead of the latter.
For any problem not related to those apps, or the desktop environment, you look up information for the associated Ubuntu release. I imagine in that sense it's very similar to any of the flavours, which you are suggesting as a better alternative.
For some developers LTS is no good, because they need the latest packages, for others it's not an issue. That's a fine point to make, but I don't see how you get from that to 'Elementary is no good for developers'.
It's elegant, it works, it has almost nothing you do not directly need, and honestly even compared to Ubuntu it's user friendly.
If you don't use many apps on OSX beyond the basic / apple ones (excluding video/media editing) you'll likely never feel the difference since even the UI is rather similar.
I haven't tried it but Elementary has always seen like a clone of OS X. And like most clones likely to be a bad clone.
Gnome is a bit crazy these days, I'd recommend kde.
Everything a developer needs is in the repos, no fiddeling with ppa's or downloading packages from websites.
The macbooks are well tailored for dev work because the hardware itself hits most of the points that people want and care about.
There are arguably more options for dev work on any linux distro and Arch, for example, will do a better job with its repositories and the AUR in giving you easy access to devtools (and all other apps) of all kinds.
P.S.: Not to mention that I appreciate using my thumb for the primary meta key instead of my little finger.
That and Karabiner is simply too good and has no real Windows alternative.
https://autohotkey.com/docs/misc/Remap.htm
You know keyboard remapping can be done natively just using tweaking your Windows registry.
http://www.howtogeek.com/howto/windows-vista/disable-caps-lo...
http://www.ghacks.net/2010/06/06/the-ultimate-guide-to-keybo...
Also if you want a program with gui read the following article.
http://lifehacker.com/5883003/the-best-key-remapper-for-wind...
Windows feels like a mess. Sometimes it's alt+f4, sometimes it's ctrl+f4. I gave up.
Using AHK requires thorough knowledge of how keyboard work. There is already lot of keyboard remapping samples available on GitHub or on their own website, check that out.
So no matter how much Pantheon (elementary OS' desktop environment) and elementary OS' default applications use the meta key for copying and pasting and other functions, applications themselves would have explicitly be updated to listen for meta key presses.
But yes, I agree, I prefer Cmd+C/Cmd+V for copying/pasting, just that no matter how much I complain, and how much the elementary OS team could nod in agreement with us, it would take a major shift in momentum on all application vendors to prepare an entirely separate build, specifically intended to match Pantheon's idioms (favouring meta key instead of the ctrl key).
This is probably why people like OS X. Apple can and does pull this off.
I think Qt / KDE is probably the best hope today. Since Qt got ported to OS X, there's an internal flag to use the GUI key for shortcuts instead of Control. If this flag were user-configurable it would solve a large part of the problem; perhaps the latest MacBook ‘Pro’ will generate enough refugees to make it happen. In the interim, KDE apps at least have individually configurable key bindings.
(BeOS actually used Alt+C and Alt+V, but in the days of Model-M keyboards without a Windows button, Alt was very similar to Command in terms of ergonomics.)
Homebrew has made things even easier and has been adopted as the one right way to install things in a lot of projects and companies. And the fact that it is a rolling release package manager means you can always get the latest and greatest or use homebrew/versions to stick with an LTS version.
I have always found installs of the same Linux distro by different people to be almost incompatible, let alone installs of different distros. Different hardware, different desktop environments, different applications and configurations. On the one hand everyone can have a tailor made experience, but it makes it hard to debug or come up with common configurations and instructions.
Elementary is making some simple and familiar choices that make it easier for everyone to start at the same place. It looks and feels good, but is different enough that I can't just switch without feeling all the rough edges.
If developers are serious about migrating to a linux distro and PC hardware, I think a hybrid rolling release for devtools and versioned releases of the base system might be needed to capture a lot of the success of macOS. I'm not even sure if that's really possible.
One of us must be smoking something. I've never had a more reliable/friendly package manager (among apt-get, pacman, macports, pkg_add, yum).
It's working for me but I would love to have an example of breakage to take to my IT as another reason they should allow the company machines to be updated.
Now they try to default to binary distribution but the dependency management basically works up until compilation time only.
So for example, the Percona Toolkit package has a dependency on `:mysql` which can be provided by the Oracle mysql package, Persona Server package, or MariaDB package.
But binary packages don't really do dependencies like that - they hard-code to whatever they were built against.
The end result is you can't realistically have percona server and percona toolkit installed via homebrew, without also having the oracle mysql package installed and constantly link/unlink-ing between percona server and oracle mysql whenever you need to update percona toolkit.
Do you know what the Homebrew response to this issue was?
Close the issues, remove/disable the binary package of percona-toolkit, and force all users to compile the package from source, every time they install/upgrade it.
To even put Homebrew in the same category of tools as Apt/Dpkg or Yum/RPM is a joke.
Sorry. My fault.
Weird use of resources.
> But you might be surprised to know that most of the development of elementary OS itself is done from within Scratch.
I, for example, develop on OSX or Linux using open source frameworks using jetbrain products like PhpStorm, Pycharm, Datagrip...
When you say "we keep investing effort" which group are you talking about and what effort? And characterizing the maintainers as a "vocal few" seems so entitled as to suggest a misunderstanding. Want Sublime to be the default editor for a Linux distro? You're probably going to have to start your own.
I personally don't care much for myself right now, since the OS X laptop + Linux on the server is still working great for me.
– that's a bit dangerous; Ctrl-V is normally used to "escape"/make literal the following keypress, or do block select in vim.
The notification-on-long-running-process looks very handy though (I've been using https://gist.github.com/unhammer/01c65597b5e6509b9eea , but of course clicking it doesn't put me back in the right tmux window). And the "energy-sucking apps" indication mentioned in http://blog.elementary.io/post/152626170946/switching-from-m... looks very handy. (I've been considering creating wrapper for Firefox that Ctrl-Z's it when it's minimized …)
Is anyone running the Elementary DE (or parts of it) on Ubuntu? Does it work OK, or do you have to run the whole OS for it to be worth it?
For example I like Debian testing more than Ubuntu as I find Debian's package groups better. I couldn't care less about unity. Or atleast I care less than I care about the ease of fiddling with non-mainstream languages. I can trust a whole lot of them being available in Debian testing in the right groups. It might just be familiarity.
- a modern full featured client for email, with an efficient and pretty UI, with good shortcut support (at least as good as the Fastmail and Gmail web interfaces)
- a fast and full featured PDF viewer that supports annotations properly -- anything based on Poppler unfortunately does not cut it
- friendly software to create pretty presentations -- Keynote still seems to be king
Development tools are the least of my worries.
How about Postbox? I tried the latest Windows version under wine, only to learn that there is no calendar anymore (let alone caldav support) and the contacts do not sync at all. On the Mac they seem to integrate with system contacts and I could probably live with the system calendar.
It's sure to be more powerful, as is the Mailmate client mentioned earlier. I'm just not sure how "Maclike" the UIs will be.
If they can convince a bunch of technically minded people to at least try it out and be seen in coffee shops etc on a non Apple device looking quite 'Apple' like, then that legitimises their OS and might spur everyday consumers to jump on board.
Cubic zirconium had not made the diamond market go away, for example. Probably, if anything, it's made it bigger by giving diamonds a bigger cultural cache.
Elementary will never be cool, in fact you will be "bullied" by both cool kids with expensive (good looking!) OSX MBP and geeks running some obscure Linux distro on a Thinkpad.
Are you in some sort of bizarre TV show cross between Silicon Valley and Mean Girls? Out here in the real world no one cares what computer you're using so long as you can get the job done.
Purely anecdotal on my part, but the last time I was out at a co-working space with my ThinkPad running Elementary in a full screen virtual session, at least 3 other tech guys stopped by my desk and asked "Whoa! What the hell OS is that?!?". Previous 100 times at the same place with my MacBook, I had exactly zero people exclaim about it...
You're just as uninsteresting as people not switching to Mac from Windows in 2010 because it doesn't play games.
I don't recall if the restriction is compiling on Apple hardware or under macOS but while people had iOS compilers running for a while I think they have fallen out of date.
Windows + Space is for switching input language or keyboard layout. But other alternatives are win+Q or win+S. It just works fine.
Having a key like Option which allows you to easily type accented characters and other things quickly is a big deal.
I don't know if others feel this, but moving between IntelliJ on MacOS to Windows and back is a nightmare. I stick to the defaults as much as I can and it's still memorization hell.
€ is Compose, C, =.
Æ is Compose, A, E.
Ë is Compose, ", E.
> Having a key like Option which allows you to easily type
> accented characters and other things quickly is a big deal.
On ⁎nix (ie X11 or Wayland) the functional equivalent of Option is ISO_Level3_Shift, aka AltGraph or AltGr.If you use one of the common Linux desktop environments, there should be something in the desktop settings that allows you to make one or both PC Alt keys act as ISO_Level3_Shift, as well as a keyboard layout variant with Mac-like mappings. In KDE (which I think is the current best choice for Mac refugees because you can rebind shortcuts to use Command), look in System Settings under Input Devices → Keyboard → Layouts → 3rd Level Shortcuts.
If you don't use one of the common Linux desktop environments, you want something along these lines as part of your startup:
setxkbmap 'us(mac)+level3(alt_switch)' -print | xkbcomp - $DISPLAYI have a feeling you're saying that while being a Mac user 99% of the time, and using Windows 10 1% of the time. Correct me if you actually used Windows 10 for a serious length of time.
IMHO, once you get used to the convenience of Windows 10, you can't go back. Not having installers, clunkiness of Spotlight, the outdated sheer unfriendliness of Finder...I found the one year I used a Macbook Air with OS X Mavericks an unpleasant experience.
The accents: I would have no idea. Even in the corner case that Microsoft has not thought about Europe at all, I bet you can find a Windows utility (most probably free) that would replicate exactly what you need.
Edit: "The AltGr key functionally resembles the Option key", apparently: http://superuser.com/questions/814843/mac-style-option-key-f...
Despite the non—stop bickering, this has been the killer feature of Gnome 3 since it's inception. Most applications can be launched just by hitting win, the first one or two letters, and enter. The whole DE is streamlined for efficient keyboard driven operation and makes multitasking and launching arbitrary programs lightning fast. It doesn't have as many customization options that some other DEs have, but I highly recommend trying it out.
Anyway, Geany beats Scratch.
However, you can always install your editor of choice. Geany is in the apt repos.
I happen to use all three almost daily, so less thrown by various differences, but can see how it would be very jarring to some.
Given that there are Mac using developers, who somehow think Homebrew is a good tool, and then want Homebrew for Linux so they can use it there, because they have no fucking idea what a real package manager is like, I don't blame them for wanting to highlight how powerful Apt is.
Without installing any third-party software, I actually recently found a way to make fonts in a Linux desktop look mostly the same as they do on Mac. This was done on Debian Stretch under GNOME 3.
Step 1: I copied all the TTF font files from my Mac and installed them into Debian, instantly giving me all the awesome (but non-libre) fonts I'm used to.
Step 2: I disabled all font hinting (I think this was in some GNOME config, might have been xorg.something but I honestly don't remember, just google how to disable hinting).
After this, browsing the web in Chrome looked (to my eyes) just like it did on the Mac. If you're wishing for a more Windows-y text rendering experience, you'll want hinting, but the Mac generally stays away from hinting (at the expense of slightly blurrier but prettier fonts on low DPI screens).
GNU makes a package manager that doesn't require sudo privs, but it's not very mature or well-adopted.
BTW, there is a homebrew port that installs to home directory IIRC. https://github.com/Linuxbrew
A better answer to this question is that Linux package managers are somewhat primitive and require that any package be installed system wide. On the other hand, it is easy for the unprivileged Mac user to install software to her own directories because Mac application bundles make this easy.
I've never been a big fan of spotlight, and finder just seems all the more cumbersome to use. To be honest, I find most Windows software slightly more comfortable to use, but prefer the unixy environment I get from bash in linux or osx over even the bash that comes with git (which is nice enough, mostly).
I really like the Windows taskbar more than other launchers I've seen, though I like the windows7 style start menu more. I don't mind the Ubuntu Unity start menu, as I can use that mostly the same as on windows.
(Or the other way round. KDE had the search interface first.)
e.g. http://www.databook.bz/wp-content/uploads/2009/07/KDE4.2.4-M... (KDE 4, but 5 isn't much different.)
Because it's logged, so if someone does something salacious to the system, it's written in a log (which you need sudo to read the indecency).
So there's an extra step to think through before you hurt yourself.
So someone doesn't log on your laptop while you're not looking and in seconds wget and install and remove all evidence of a package that will log your keystrokes, or tell you you're a poo-poo head in a mean (but funny) popup on your screen.
Because it's sexier than [edit:shift-]right-clicking and selecting Run as Administrator. That always felt dirty somehow.
Instead, software is installed once under root privelages so regular users can't sabotage each other, and everyone can share the same up-to-date copy.
It is possible to compile and install software per-user (without root) as well, and by setting $PATH you can have your user-installed software mask the version installed on the system. I recommend doing this for software which cannot be obtained through the package manager, or for bleeding edge git HEAD versions of stuff. Otherwise, let the knowledgeable maintainers of your distribution do the work for you.
If I wasn't dualbooting I might have spent more than a day to figure out what happened - but I was too lazy and scrapped dualbooting.
[1]: Linux kernel 4.6 switched from RMI4 to RMI6. https://www.phoronix.com/scan.php?page=news_item&px=linux-4....