Category Archives: Linux

.NET Applications on Linux

Well, what a touchy subject this might be to some people.  I have always seen the battle go back and forth between Windows, Macintosh and Linux.  Windows being a middle-tier price range which excellent performance, Macintosh being the high end simply from marketing and Linux being the low end cost point which the most potential.  The problem I have always seen is that Microsoft holds the middle share which is always the most used share.   I have been a Microsoft developer for my entire career and I love it to death, but the power behind a Linux machine is starting to become hard to ignore.  Recently I ran into a project that was faced with spending 100 hours developing a communication platform for a piece of software or somehow getting .NET hooked into a Linux server.

Of course we went both routes as with any project whichever option is the best is the choice, but something has to work.  I came across this plugin for Apache and Linux called Mono.  Mono is a plugin/server application that lets you run ASP.NET applications on your Linux server native.  You do not have to get pushed to another server or lose your performance, you simply install the package and configure it in Apache and you are up and running.  To start, here is the mono website for you to check out and hopefully spread out through all of your Linux servers: http://www.mono-project.com/Main_Page

Hopefully you all install it and configure it so when I come through I can install my applications on your server and be just fine and dandy, if you don’t I will no doubt make you do it :)  There is a set of install instructions for each server type including Mac servers as well as CentOS, Ubuntu, Debian, etc.  Mostly it seems to just be a package installation through w-get or whatever your package flavor is.  After configuration you can use this site to configure virtual directories: http://go-mono.com/config-mod-mono/Default.aspx

The nice thing about this configuration generator is that you can create a separate config file for each virtual directory and include them in your base httpd config file under each virtual host settings section.  It is almost exactly like creating virtual applications in IIS and the performance is for the most part the same.  From what I have seen this far, .NET 4.0 is supported as well as AJAX, and I am hoping to see some more stuff go into the project to make it a viable option for hosting .NET applications.  Cheers!

Ubuntu: The competition or the future?

For the longest time I have been turned off by Linux.  Like with any big change to the way things in my life work, I met it with a little resistance and some of the issues fueled some of my opinions.  Recently I had a seminar where we were required to install Ubuntu and compare the latest version of it to Windows.  The following seminars were to examine system processes, the advantages and disadvantages of using Ubuntu and in a nut shell re-evaluate everything comparing it to what we like about Windows.  At week 5 of this class, I can say I am using both equally now and I am starting to push more towards using Ubuntu. I am very interested in future releases and being a developer I am considering looking at some code with it to help the worldwide development team out.

Here are some big turning points for me:

  1. Free software galore!  – Ubuntu comes installed with Libre Office.  This is probably the best comparison I have seen to Microsoft Office thus far and I am enjoying using it to write my thesis papers.  A big selling point on this was having the ability to save and open existing Microsoft Office files up to version 2010.
  2. Automatic Updating Restored – Windows has always been very functional with their update system, and diving into automatic updates.  Previous releases of Linux that I have used required that you download a zip file for almost everything you do, unzip it into a folder, make and build it and then take the updated pieces and overwrite your existing kernel.  Very much dislike.  Hallelujah for seamless code updates.
  3. Updated Navigation – I have always hated XWindows and almost every attempt at making some kind of Windows clone, but there is a nice refeshing UI target for Ubuntu and Unity, MAC!  Almost every time I have ever heard of great UI, Macintosh comes up and if you compare the starting screens of  Ubuntu and MacOS you will see a lot of similarities.
  4. Speed – Ubuntu boots very well and has almost no lag time compared to my failing deadlocking page faulting version of Windows.  I sit on this machine all day and I find that I personally am running out of memory after about 10 minutes of use.  Linux on the other hand has always been designed to run on lower end systems so it seems almost natural that it is quick.
  5. Support for Windows Apps – This one is another biggie for me, all of the games and programs that I like to use for Windows which have no Linux clones are holding me back.  I recently installed Wine on Ubuntu and found it to be extremely easy to use and it was almost transparent enough where I did not have to do anything extra to install and use a Windows application.

Careful everyone, I might trade in my Windows PC for Mac hardware running Ubuntu.  Of course my first goal is to find a way to port Visual Studio so I can still write .NET and hopefully get more into C and less into C#.