I was looking for a little advice on which machine image to choose using amazon EC2. It seems Linux and Ubuntu are the most popular. What is the disadvantages or advantages of choosing one or the other?
I guess it would depend on your experience with Linux. If you are new to Linux, I guess I would start with Ubuntu. If you run in to trouble it is quite well prevalent and there are a lot of tutorials, forums and search results that you can more then likely learn from. So, it should be easy for you to use. It looks like Ubuntu would be no cost to use. In regards to Amazon Linux, it looks pretty good as well. I haven't tried it, but from what I read on Amazon's site it looks like it provides everything you would need and it is free. It uses yum to install packages, so the syntax is different. You probably could find help or get other questions answered on Amazon's forums. Between the two if I had to choose I would go with Ubuntu, it's free and you can find a lot of information on it. So it should be easy to get up and running. In terms of support I would say both seem to be equal. I am not sure you would have too much trouble finding a package you would need for Ubuntu and I can't imagine Amazon would not be actively supporting their Linux distro. Hope this helps.
Mike Riley
Related
I'm starting to learn Ruby on Rails and after a week I still cannot get the installation right. I've since moved to a cloud bases system, but it is extremely slow and rather a waste of time.
I do have a website and saw there's Ruby on Rails. Is it perhaps possible to set it up in a domain or sub domain and start and start learning/programming that way?
Any other alternatives is also welcome. I do now own a mac or Ubuntu, which makes it a little difficult.
Looking forward to your responses. In the meantime I'm installing/uninstalling and trying to see if I can somehow make it work on Windows.
Doing RoR development on Windows is a pain. I would suggest just uninstalling Windows and going for some Linux distribution if you are serious about learning RoR. Linux is free software so the only thing holding you back from having it on your computer is your self.
Developing with Ruby on Rails is say'd to be really easy for beginners but I would disagree with it. Developing on this framework requires you to actually understand the whole stack. The server, backend, client, database and ofcourse a new weird language called Ruby. Now most of this stuff is learnable and doable on every OS. But once you start messing with more advanced databases and servers, you will need some GNU utils from Linux.
For instance if you have made your first deployment to some external server, you will often need to know what is going on in there. The only way to do this is usually by going in that server with SSH and reading the logs. But doing that is difficult without a nice GUI. So now you have to learn some stuff like the tail and grep commands and Linux piping to find your info easily.
Also if the computer you use is not completely yours and you cannot do it on it, then try installing a virtual machine software like Virtual box.
With that you can install Ruby on a Linux that sits on your VM and use it like that. It will still be a bit slower but if your computer has decent hardware in it, you will still be happy with it.
Here is a guide on how you could do it: Guide for VM development
I've been doing front end web work for a while. I maintain several company websites and etc, mostly on Joomla. I'm getting bored with it and I really want to expand in to development. I have a few web app ideas for the company and some personal stuff I'd like to do.
Ive decided I want to learn Ruby and Rails and have been pursuing it for about a month now. I read a lot of tutorials and work through stuff I find online. I'm also diving in to git and trying to use it more.
I feel like Windows is not going to be conducive to me getting efficient at this. I know that you can, and some do, develop in Windows but I'm wondering if its time for me to move past it.
I picked Ruby to be my first real programming language because of the simplicity I read about. For both Ruby and RoR and I want to be able to learn a language that will let me build apps and web apps that are cross platform.
On to the problem, I can't immerse myself completely in a linux world. I have to have photoshop and indesign for part of my job. So I'm thinking maybe I should just do a live usb key install and take it back and forth between work and home. Is that a better solution than dual booting for what I want to do? I also realize that a mac would give me the best of both worlds, but I am budget constrained and I can't make that leap yet.
Also, is there a good place to hang out to learn more? I have paid codeschool and tutsplus accounts. Should I be back on IRC? What do you think? I'm looking for guidance more than anything I guess. I feel kind of lost on where to go how to not waste time and start developing real skills. Thanks.
You should also checkout the vagrant project which creates headless (non-gui) VMs and makes it easier to work with your files, etc in Windows while the code actually gets run on the Vagrant VM. Also, since its headless, the graphical UI isn't eating up resources and has less impact on your host machine.
Check out these resources:
http://www.vagrantup.com/
http://blog.dcxn.com/2013/07/12/introduction-to-vagrant-for-rails-developers/
http://railscasts.com/episodes/292-virtual-machines-with-vagrant
*Also if you're learning Rails, you MUST checkout Railscasts http://railscasts.com/
The last thing I knew about this is that:
In Linux you can use RVM which handles pretty well everything about your Ruby environment. In Windows I tried pik, but it does not have support to install newer Rubies.
Also, Linux console is much friendlier than Windows one, regarding appearance and functionality. I have explored console2 for Windows, but it did not feel so comfortable that time.
In Linux you have plugins like oh-my-zsh which allows you to speed up your development. But maybe there are kind of this plugin for Windows.
Other than those, I don't know why you should choose Linux VM.
I've developed a Rails app under Windows, and it turned out to be a huge mistake. Near the end of the development, I had to make my webapp multithreaded. The default Rails server does not allow multithreading, and all the alternative servers are either Linux-only, or I couldn't get them to work.
I also considered using JRuby(because Java threads), but by then my app was too big to convert to JRuby(there are some syntax differences that I couldn't track, and I relayed on some gems that don't work on JRuby). However, if you go for JRuby from the beginning, you might be able to pull it off.
I'm a Microsoft guy feeling pretty confident building ASP.Net sites running on Windows. That's basically what I do for a living.
Now I'm considering building a Facebook web app on my own and started looking for hosting solutions. I found the Amazon Web Services Free Usage Tier offer pretty compelling. And having the web site in the cloud also seems like a good idea if it becomes popular.
The problem with the offer is that it's only for Linux instances and I don't know squat about that platform.
I've planned to use Solr as my search engine (and perhaps the only data store) since I'm familiar with it and it's just great from a performance and feature standpoint.
Right now I can see two alternatives that both have pros and cons.
Ruby on Rails
I don't know the platform or language but it seems to have pretty good integration with Solr. It would be fun to try something completely different and RoR seems very popular right now.
Mono
I would be familiar with the platform and the language but it seems to lack in Solr integration.
Any thoughts or pointers to resources would be great. Like I said, I feel a bit lost stepping outside of my comfort zone.
It's really hard to advise someone with completely different background. First you have to forget for a minute all that you know about Linux :)
I would try heroku.com
You don't need to know Linux to deploy to heroku. They have a free plan and they have a Solr add-on, $20/month though.
Be warned: If you go RoR route you may never come back to ASP.NET again. No kidding.
Hi I am keen on setting up a Linux box to play around with Rails, No-Sql, Mono C#... and opensource projects!
I am keen on learning Ruby on Rails and don't have a Mac so I think for now the cheapest option is to install a Linux distro on my computer. I am also keen on trying out MongoDB
I am a complete nube to Linux and am wondering if I should install openSuse, Ubuntu, Debian or ? I am also a C# developer so I can install Mono and MonoDevelop. They have packages for these http://monodevelop.com/Download
Anyone have some blog posts, screencasts, books, experience I would love to hear about it :)
Cheers
Jake
Note: you can still learn Ruby on windows, you can also use Ruby and .NET with IronRuby which is nearly 100% compatible with C Ruby. That's not to stop you from learning linux though as it gives you a different perspective on OS's and will expose you to the power of the command line.
Mono on linux is very complete. The best distribution to use with it would be Open Suse (as it's supported and recommended by Novell who develop Mono).
If you want to go the NoSql route than I would recommend looking at redis a very fast and advanced key-value data store with support for rich data structures, i.e. lists, sets and ordered sets. If you use C#/Mono you can this redis client which has native support for storing complex types and exposes Redis server-side lists and sets as IList<T> and ICollection<T>'s.
It probably doesn't matter much which Linux you install on a desktop. The user experience will be determined by Gnome or KDE, not the distro.
The two aspects of linux that have the biggest user-experience impact are the desktop and the package system. Linux has, sadly, two of each.1.
There are two desktops: Gnome and KDE. In general, you can choose Gnome or KDE with any distro and you can even install both. (You only run one at a time, though.) Please realize that except for some configuration details, for the most part the distros redistribute the same set of Unix-model software, so you aren't getting anything wildly different or even as different as XP vs Vista.
Either of the two main package systems can in some ways be used with any distro, but life will be much easier if you stay with the vanilla one for your distro. But since you aren't expecting either one I think it won't matter.
Now, if you went and installed, say, NetBSD, then you might notice some real differences, although you would still have your choice of Gnome or KDE.
1. Technically, there are 10 or 20 window managers that provide interesting lightweight GUI's that are something a bit less than a full-blown desktop GUI, but that's in the advanced class. Also in that class: Unix servers generally run no GUI at all.
I would go with Ubuntu or OpenSuse since most of the tutorials, community support and other stuff around Mono is targeted to these distributions.
I'd like to go into Django with Python, but it seems that some hosting companies like DreamHost, Netfirms, they both offer Ruby on Rails in the basic hosting package, but not Django. They only list Python, but not the framework. So does that mean if I use Django, I will need to look for companies that support Django, or can I simply add the Django files to my directory and it will work without using any other support?
Check out Djangofriendly.com for a list of hosts that are friendly to setting up Django (not that you can't do it with many other hosts, of course).
Personally, I have a few Django apps hosted on Webfaction and they are absolutely amazing.
Dreamhost does support Django!
And here's a list of hosting companies which support Django, and as you see, most major companies support it.
It would be harder in the sense that the number of choices you have will be smaller. But the reality is that you need only one host anyway.
I highly recommend Webfaction as my experience with them has been very good. They support Django out of the box with very little configuration necessary on your side.
Check these lists for Django hosts:
http://code.djangoproject.com/wiki/DjangoFriendlyWebHosts
http://djangohosting.org/
Be aware that most shared hosting packages will not be suitable for Django, because of the need to restart the server whenever you make changes to python code - most don't allow this. Webfaction is a notable exception - I am using them for several Django projects, and would second the recommendations above. You barely notice it's a shared host.
But you might want to consider virtualized hosting. I also have some projects hosted at Slicehost. The prices are comparable to a shared host and you have complete control over your server. This also means, of course, that setting things up is less one-click, although they provide great step-by-step tutorials.
Maybe you could look into Googles app engine if you want to do python web development. They can handle all the hosting for you.
Yes!
The standard hosting packages are either Windows/ISS or Linux/php/perl/Mysql.
There are a few specialist Django/python hosting packages, but, your best bet is
to get a Linux VPS (Virtual Private Server) package which gives you root access.
You can then install exactly what you require. Prices start at less $10 a month
for a basic low bandwith not much disk space package.
It depends on compared to what. If it is compared to Rails, it will be harder just because of the buzz around Rails and it is quite likely a "basic" package would include Rails before Django, so if that cost factor matters, be aware of it, but there is pleanty of competition for Django hosting, so the lack of hosting isn't a reason to avoid it.
PHP is much more popular to host at the basic level, if hosting drives the technology decision.