

Ask HN: best cheap easy setup for initial development - bavcyc

What is the best cheap setup for initial development?  Low cost, easy to change to different languages (or web server) if first choice doesn't work, easy to move to a colocation site if that time ever comes and easy to administer.  GUI isn't required.<p>My last webserver was circa 2000 with Apache and Redhat.
======
jackowayed
OK, you're pretty ambiguous on what you want, but based on "easy to move to a
collocation center" and "GUI isn't required" it sounds like you're mostly
asking about servers.

For initial development, you probably don't even need a server. There's pretty
much always an easy way to have a local server run on your computer for
development.

When you are ready for a server (probably not until you're about ready to go
live), I'd suggest Slicehost. They're well-documented and cheap ($20/mo. for
their smallest server!), and you can scale the server all the way to 15.5GB of
RAM in just a couple of minutes.

You could look at Linode too though. It seems like you get a little more RAM
for your buck, especially on the smaller end, but you can only go to ~2.8 GB
of RAM on one server.

As for your development computer, I love Ubuntu, but it really depends what
you want. If you want to do everything through an IDE, it depends on your
language, but the best IDE may be for Windows. If you want to do much of
anything through the command line or think you might in the future, develop on
either Mac or Linux. Their shells are just way better. There is always Cygwin,
which sorta fixes the problem, but I think true Unix works better.

~~~
patio11
_When you are ready for a server (probably not until you're about ready to go
live)_

I'd suggest getting it the day you start your project.

First: twenty-five bucks a month, seriously, what are you even doing thinking
about this ($5 extra for backups, which is another "why are you even thinking
about this" item).

Second: source control from the very first line of code. The production
webstack, from the first line of code. The production deployment procedure,
from the first line of code. etc, etc

~~~
blogimus
I agree with getting your VPS and experimenting with it when you start (or
early in the process). I use Debian on Linode, and I have learned so much. The
experience is invaluable. Everything from configuration to automation to
security.

This prepares you for the day that you go live, as going live won't be a
completely new experience, it _will_ be a new experience, but if you iterate
on hosting a blog and sandbox apps, then you are much better prepared than if
you go VPS cold with a new product.

------
mechanical_fish
Ubuntu Linux. You can use aptitude or apt-get to install pretty much whatever
you want, it will run on whatever hardware you have at the moment, and it's
free of charge.

If you already have a Mac you could decide to stick with the Mac OS for
development instead (I use it; it works fine), though you will almost
certainly not be running Mac OS on your server. So you'll have to figure out
Linux anyway sooner or later. The Slicehost tutorials make it much easier -- a
lot of the grunt work has been figured out and documented.

~~~
berntb
How does Ubuntu compared to Debian on the server side, these days? Will the
new FreeBSD kernel support get moved to Ubuntu? The admins I know doing this
for big installs swear by FreeBSD. (I've only managed my own desktop for quite
a few years and have no clue. No O/S flamewar, plz! :-) )

Edit: I went Ubuntu-only on my desk a few years ago, previously Debian-only
(well, one computer still have a Debian partition too and I also have a Mac).
I'm asking about servers.

~~~
mikeyur
Ubuntu is just.. easier. That's what I get out of it. It's super simple to
setup and keep up.

------
patrickg-zill
VirtualBox (free from virtualbox.org) running on top of whatever Windows,
Mac-x86 or Linux system you have.

Debian or Centos as the operating system that you run as a VM inside
VirtualBox.

You should be able to easily install Python, Ruby, TCL, Lisp, etc. on either
platform for development language; Apache or NGINX or Lighttpd as the web
server; Emacs or Eclipse or whatever as the editor.

~~~
hedgehog
For a project I'm on right now we're using VMs w/ Debian on developer
workstations. Deploying the app is a tarball & a shell script on top of a base
Debian install. Any time we need a new public server we spin up a new EC2
instance (Alestic Debian) & run the script.

Ticket tracking is a Google Spreadsheet w/ some formulas to calculate ticket
sort orders, estimated completion dates, etc.

Works well for us on the budget we've got.

------
jojoleflaire
One thing that took us a while to figure out, but helped immeasurably once we
did was getting good, at VM/image based development.

So in our case we wrote the code on whatever laptop we liked best (I did most
of the coding for first few versions our software on a 12" PowerBook, other
folks used ThinkPads or Dells with Windows).

But having a beefy server box with enough memory/disk to host a few different
VM environments (various QA, staging, multiple different DBs etc.) and the
ability to rapidly set up new ones was killer. It makes the laptop choice more
a matter of personal preference, and keeps a consistent environment where it
counts.

------
c00p3r
Strategy: Linux under Xen. (just copy disk image or dump/restore FS) Amazon
EC2 for production.

Tactics: Fedora (It will become CentOS after polishing) everything already
packaged - Django, Ruby, nginx, apache with tens of modules, etc.

Hint: Forget Java.

------
csomar
I didn't understand what are you looking for, but I think you want to start a
project on a given platform.

For that I recommand, Visual Studio.

1- It's 100% free of cost (express edition), you get the editor (Visual Studio
Express) for free and .net frame work is free to install and compatible on
Windows versions

2- It's very easy to use and Object Oriented. It also has a lot of power and
by learning .net you can develop for windows, web or mobile interface.

3- You can code a program in different languages with Visual Studio

Also lot of videos and tutorials can help you getting started with it

~~~
pingswept
You're right, of course, that the weakest edition of Visual Studio is free,
but I think it's a mistake to choose that way. If you're serious about
programming, you want the lowest lifetime cost per performance ratio, not the
lowest entry cost.

Call me cheap, but I think choosing Visual Studio is like training yourself to
spend money. I'd stick with Eclipse or Notepad++ or Gedit plus Apache and
Django or Rails, or something in that direction. Especially for web
development, money doesn't buy you much beyond bandwidth.

~~~
mannicken
Emacs. It can be configured to be much more powerful than Studio, it's
completely free, open-source, incredibly programmable in the best language in
the world (LISP), fast.

I should shut up now though.

