4 ms·
Easier way to get a good development environment and not have to deal with a crippled window manager: http://www.ubuntu.com/ http://www.ubuntu.com/ On a more s
by jrogers65 14y ago
Easier way to get a good development environment and not have to deal with a crippled window manager: http://www.ubuntu.com/ http://www.ubuntu.com/
On a more serious note, what is with the fad of running OSX and doing all of your work in a VM? OSX is terrible for anything serious and is enough of a pain in the ass that one must use a VM just to run their web application on their development machine. Why not just use Linux? Why not use Windows and run a VM in that? At least you'll get the benefit of being able to run more software.
I'm finding it very difficult to understand the justification for such setups and, from personal experience, I find that it's better to avoid shops which operate in such a way altogether.
- zacharydanger 14y agoHe's not running his dev environment in a VM. Just automating the setup of an OS X box for development. It's worth noting that most of these recipes can be easily modified for use on Ubuntu.
- deanclatworthy 14y agoThat's not true. The author is setting up his development environment on the host machine (OSX)
- deanclatworthy 14y agoNot everyone has a say in the environment they use at work, and some people prefer using OSX for certain things. OSX has some decent tools for actually doing the coding in, for example. Regarding your point about just using Linux. Even if I did run Linux as my desktop machine, I'd still use VMs and Vagrant because it allows me to have an (almost) identical setup to production. It's also much easier to spin up virtual machines running different version of software using this method. Just change one line of config, wait two minutes to spin up and you're good to go. You also don't have all kinds of crap from other projects polluting your environment too.
- mitchty 14y agoAnd what if your development environment is for iOS apps? How will ubuntu help you out installing xcode? Ubuntu is not the end all of things. The "fad" of running things in a vm is so that you can validate that you've not forgotten something about your setup and deploy process. If you run it locally on your workstation that you've tweaked umpteen million ways you may have forgotten about some tweak you made and boom your deploy doesn't work. Fully automating a vm build and setup for local use helps work those kinks out. I'm not a web guy but do the same thing for my ec2 setups. Also some of use prefer not to use Linux or Windows as our workstation. At work now I am typing this on an Arch linux box, but prefer osx for regular use primarily because of the less bs situation. In addition using windows for the base os means things like having to deal with stuff like cygwin/etc.... and their stupid peculiarities and quirks.
- jrogers65 14y agoThe problem of replicating environments was already a solved issue for me. When I'm setting up an environment for the first time, I make note of all of the commands required to set it up and put them in a shell script. I guess it's nice to not have to tweak them when there's an OS upgrade. The other side of solving this is writing tests to check that, for instance, a particular language extension is loaded. The application should be throwing a fit if something is missing in the environment.
- mitchty 14y agoNo arguments there. All this is is just chef recipes to do basically that. This blog post is a good start but if you have an osx environment you can setup netboot and have a truly automatic install+setup with chef. I'm a bigger fan of using chef/puppet/whatever over personal shell scripts as then you can test your automation out in a vm. I just build osx vm's and validate my osx automation with that.
- udp 14y agoThat shell script will be no good on Windows, which was your other recommendation to replace OS X.
- udp 14y agoI don't know, I find the solid kernel and userland combined with homebrew just as good as Ubuntu, and most graphical applications are a lot more stable and consistent than their Linux alternatives. I work on all kinds of things, and the only thing I've ever needed a VM for is testing code written specifically for Windows. Also, Instruments.app (dtrace frontend) is awesome.
- JohnBooty 14y agoIn addition to benefits that others have pointed out, the ability to do easy snapshots/rollbacks/clones of your VM is pretty handy for any number of purposes.
- pretoriusB 14y ago>On a more serious note, what is with the fad of running OSX and doing all of your work in a VM? Even if you use Linux you are better of doing all your work in a VM. Reproducibility, sharing, snapshots, isolation, multiple VM for different target environments, etc. >OSX is terrible for anything serious Citation needed. What exactly does "serious" mean to you? Several multi-billion companies have their developers working on OS X machines. And If I want to do something with something like Premiere, Photoshop et co (it is 2012 after all, multimedia is not an afterthought), I'm dead in the water in Linux. Not at all good for serious work. >and is enough of a pain in the ass that one must use a VM just to run their web application on their development machine. Why not just use Linux?* If your needs are simple enough that you are OK with running a single web server with a single set of libs and frameworks, by all means use Linux. It's not like todays "development machines" just need a single Apache and MySQL. For anything more serious, use a VM, either in Linux or OSX or whatever. I might need to run 5-6 different DBs, or versions of a DB/Server/Caching/Proxies/etc depending on the project I'm working on.