4 ms·
I think an important point in this post was more about not trying to setup a dev environment in your base Mac install (or similar). Use Virtual Machines.
by fideloper 13y ago
I think an important point in this post was more about not trying to setup a dev environment in your base Mac install (or similar). Use Virtual Machines.
- qwerta 13y agoIn that case I just find it better to wipe MacOS and replace it with Linux.
- gtaylor 13y agoIt's not always a good solution for your entire team. I run Linux on my desktop, but have found that the touchpad drivers (even the experimental ones) just really suck on Linux+Macbook Pro to the point where it's either external mouse (not always possible) or decreased productivity. I have a feeling this is going to devolve into a "well, just use vim and a tiling WM or X other thing", but the point is that just replacing Mac OS with Linux isn't always going to be good for your whole team.
- w1ntermute 13y agoIf productivity is key, get a ThinkPad, install Linux on it (they're very Linux-friendly), and learn to use the TrackPoint exclusively. Watching people use MacBooks, even with all those fancy multitouch gestures, is like watching a slow-motion movie. And they are always amazed how quickly I can do stuff on my ThinkPad.
- platz 13y agoTrackPoint is amazing; I hesitate to switch from ThinkPad's because of it.
- zmjones 13y agoHow is the battery life?
- deleted 13y ago[deleted]
- beatgammit 13y agoWhy do you need battery life for development? Most of the time you'd probably be in the office anyway. Even so, ThinkPads have pretty good battery life, and on some models the CD drive can be replace with an extra battery. I've heard of some that can go nearly two working days before recharging.
- zmjones 13y agoI don't work at the office most of the time. I know thinkpads have good battery life generally, but I know there have been some battery life issues with linux in the past.
- lsiebert 13y agoThinkpads have great battery life built in, or you can get extended batteries, or slice batteries. You can even stick a battery in the drive bay. You can also easily turn off ports you aren't using, at least in linux.
- sensae 13y agoI run ArchLinux on a ThinkPad X120e. I get 3-4 hours of battery life out of a 57Wh battery.
- beatgammit 13y agoWhen you're targeting Linux, it's easier in the long-run to just use Linux. The base system isn't the same between the two because Mac OS X uses BSD versions of important things like SED, grep, etc. There are subtle differences that most Mac OS X users I've met don't know and can lead to weird problems like "why doesn't X work; it works fine on my mac!!". If everyone's on Linux, the dev and productions systems are more similar, so less scripting issues can arise. I personally use Arch, other coworkers use Mint or Ubuntu, and only one developer uses Mac OS X (others switched because of above problems; he couldn't switch because of EFI problems). Even devs new to Linux (from Windows) love Mint, and all is well and good in the world. Servers run Debian or Ubuntu, so I test my changes in a VM because Arch has noticeably newer software in the repos, but that's because I can't stand Debian as a desktop system (package manager too slow). Also, the Mac OS X user uses his Mac like a Linux box. He only ever touches his trackpad to use non-keyboard friendly apps (uses Vimium for Chromium, tmux/vim for terminal/editing, etc). Our devs not familiar with the keyboard generally use Sublime on Linux, which is a fantastic editor as GUI editors go. The trackpad drivers aren't that bad, but may require some configuration in the xorg conf (I got multitouch working, but disabled it because I find it annoying). We don't standardize on a single dev platform because each developer is different. The developer understands that using Linux is going to be easier in the long-run, but he/she must understand that his/her choice of OS must not negatively impact productivity. We've had a few developers try starting on Windows, but we'd refuse to support any dev environment besides Ubuntu Linux, and when they ran into problems, they switched to Mint/Ubuntu. I've never seen a developer be more productive on Mac OS X than Linux. In fact, those gesture usually end up slowing him/her down from what should be easy using the keyboard (and all that switching from trackpad to keyboard is not productive).
- kaolinite 13y agoAs someone who uses both OSX and Linux, I am more productive on Mac. Seriously though, get over your grudges - use what makes you happiest.
- hosh 13y agoThere are advantages to using VMs even if you've installed Linux as the base OS on Mac hardware. The VMs provide isolation for testing and developing the server components. (I'm assuming you are developing server code). Through synced folders, you can still use your favorite $EDITOR on the host machine -- vim, emacs, sublime text, whatever. Onboarding is faster, and you can manage multiple node setups. Further, you have the additional advantage of being able to replicate staging or production systems on your local box. This reduces time spent round-tripping to a staging server. This lets you standardize the server code without requiring all developers to standardize on editors/ide/etc. Personally, I am more productive on OSX than on Linux. But that's because my actual dev environment is tmux+vim. I let OSX and Mac hardware handle the stuff that it does much better than Linux: being able to talk to anyone, anywhere, with anything. (Networking) Being able to reliably suspend and wake.
- Retric 13y agoThe problem with VM's is each developer often customizes the, quite a bit. It does make adding someone new faster but unless you have rapid turnover I don't think it's worth the overhead.
- hosh 13y agoThat's why you manage the VMs with a configuration convergence tool such as Chef or Puppet. At that point, the VM doesn't matter. I tend to treat mine's as throw-aways, and have Chef rebuild the specific VM for the specific project. This lets me experiment with things and then reset it back to a known, good state.