I know there are people developing Ruby and Rails on Linux and probably a good number. I am a newbie to programming and while learning Ruby and Rails, besides being what I’m interested in, has become a good way for me to build real usable applications and not get bogged down in “hello world” land forever. Can anyone out there relate?
Anyway since I started using Linux about a year and a half ago I always hoped to eventually become a very active commiter to an opensource project(s). I just haven’t been able to get myself to a comfortable level to be helpful in the programming side of things and at times I get somewhat discouraged. Rails and Ruby has brought wind to my sails!
As I said I know there are Rails developers using Linux or more specifically Ubuntu. I also notice that at the very least the Mac is the primary platform being used by Rails and probably Ruby developers and I will admit I probably would do the same if I could afford it but that’s another story. I would like to find like minded people out there who are passionate to make Ubuntu a first class platform in the Rails community. To the point that when new developers or even wanna be developers come along that may be testing opensource or Linux they find that Ruby/Rails is Linux friendly to the point that the tutorials or blogs don’t have to always end with “I’m using Mac but there is probably some help on the web for Linux users”.
Let’s make a landing point for Ubuntu Rails developers and work together to keep packaging, tutorials, and overall community attention fresh and focused on making Ubuntu second to none when it comes to being used with other open source projects. I’ve said it myself before I know that the Mac has answered to alot of users concerns on the Linux desktop or can I say has become the best of both worlds for developers who want the Unix tools they would have with Linux but coupled it with a pleasing stable graphical desktop experience. Heck even Linux/Gnome developers are using Macs to develop free software. Now I don’t want this to be misunderstood as a Apple hater story it is far from that. I just believe that as an opensource platform what better scenario would there be to be able to develop in a first class setting, the software you know and love, and is also open source software. I know in a perfect world being able to use an open desktop with other open source software has got to be better for open source at large then open source software on a proprietary operating system.
Please don’t hesitate to contact me if you catch the vision. Let’s make Ubuntu the best answer to the Unix that so many are using the Mac for.(not to ignore some of the visual design things that I believe the Ubuntu community is working on as well.) Let’s keep open up and down the stack from the programming languages to the browsers to the desktop OS itself. We can do it with the same charisma that the Ruby community uses to make programmers happy using Ruby. Let’s make Ubuntu and Ruby/Rails the number one answer to the developers looking for the best answer to the questions they have. There are quite a few .Net and Windows developers all over the net talking about trying to get Ruby and Rails working on Windows let’s give them a reason why they don’t need to.
Thanks for listening
I’ve been following the awesome Rails 3 tutorial by Michael Hartl at http://railstutorial.org/book. I highly recommend anyone wanting to learn Ruby or Rails (even some other languages thrown in as well) to go to this site and you will learn from a thoroughly professional free online gem of a book. I also recommend anyone who can, to purchase the PDF or hardcover that is being offered to show the appreciation for all the hard work put in to this by the author.
Anyway as I was working through Chapter 3 when setting up the initial gem file for bundler to install all the project’s dependencies I kept getting a screen full of errors. After reading the errors I noticed that the gem install was failing while installing the nokogiri package. After Googling as we all do I noticed on the Nokogiri web site that Ubuntu/Debian required two packages to install the nokogiri package. I was hesitant to install them through the normal apt-get packaging tool because I didn’t want the Ruby Version Manager setup to not be able to find the dependencies since the rubies I use through RVM are installed in my /home/me/.rvm directory. Well after installing the two dendencies the classic Debian/Ubuntu way I was pleasantly surprised that all was well and my gem installs were able to finish without a hitch allowing me to continue with the awesome tutorial.
The two packages needed on Ubuntu/Debian can be installed as follows:
sudo apt-get install libxslt-dev libxml2-dev
*the Nokogiri site has details for a fix without running the RVM setup, be careful not to follow as is on the site if you are using the tutorial as directed on the rails tutorial web site.
And as a reminder make sure RVM is setup as Michael instructs in the tutorial.
Just a few words of caution, when following the instructions for the setup at the beginning of the Rails tutorial be very careful to follow them word for word and with this dependency exception on Linux, everything else works as expected.
Update: As the Ruby Inside blog points out maybe Microsoft thinks they need to revert back to their old ideas
Lately as I’ve been learning Ruby I’ve noticed some frustrating hurdles that are becoming all too familiar.
Now I know Microsoft has taken steps to embrace the “other” world of web programmers but as I’ll show, I believe the wrong steps.
As the Ruby and Python web frameworks grew and also the community that insisted on developing web applications in a way that kept them in control of the HTML,CSS etc. Microsoft noticed and responded with the ASP.Net MVC releases. Their also were Windows programmers working on Iron Ruby, Iron Python etc.
This strategy while seemingly plugging the whole in the boat in my opinion is only delaying the inevitable shift developers are making to the “dark side”. Whether Microsoft or anyone else wants to admit it the threat from Mac OS X, Linux, Ruby, Python etc has much more in common then is admitted from the Microsoft camp.
For starters as I’ve said in other blog posts, a great deal of the Mac OS X shift by Windows developers and to be fair even Linux developers has more to do with the tools then it does to do with the pretty beach ball spinny thing ( ie. the pretty things). The Linux shift has more to do with instability at times on the Linux platform but that may be worked out if Ubuntu stays focused on the important things.
Not only do I believe Windows could slow the shift by their current developers but they could also possibly gain some of them back. Rather then try to force everything through the .Net filter they need to do the obvious. Give them what they are looking for.
1.How about a native Bash or Zsh environment. Environment being the key word. There are some applications running natively but far from a complete environment. An even so much of this has to be scraped together from evry corner of the web.
Developers now hanging on by a thread to the Windows platform have to jump through all kinds of hoops to use Windows. There is the Cygwin setup that breaks every time Windows upgrades. Although I must say the Cygwin developers have done a good job keeping things in order. I know Microsoft hates to admit it but .Net and C# isn’t for everyone. Stop thinking everyone wants a .Net implementation of every tool or language there is.
2.Embrace what the developers want to use rather then what Microsoft thinks they should use.
This doesn’t mean Microsoft is giving up on what they see as the future of programming. There are plenty of developers that still use those tools and will continue to stay the .Net path.
3.Embrace the commandline, the classic commandline. There are many developers and sysadmins who have tried to wrap their heads around Poweshell. The object oriented shell isn’t what some want to use. Again there are some who think that way but there are also those who wonder what the hell was Microsoft thinking. When the sysadmins and developers were begging for a better commandline story on Windows I’ll be willing to bet Powershell isn’t what they were thinking. The problem with Microsoft and these technologies is that they spend so much money and time on these technologies before the users get to see them that is more or less stuck with where they’ve gone.
If none of this strikes a note with Microsoft people then maybe we need to just admit that there are droves of developers who just need to keep switching.
There are developers that are holding on by a thread, believing that they can possibly stay on Windows but that thread is getting thin. Try setting up a native Django, or Rails development environment on Windows and see how long before your installing Cygwin, creating symlinks and such to make their environment “feel” native.
I would venture to say with all the free and opensource software that already exists having this happen would be more of pulling these tools together then remaking everything from scratch.
This would give Microsoft a much better story in their competition with Google and web applications in general. How much better off would they be covering much broader of a base of developers then they currently do. Who knows Microsoft could even innovate in this space and shock everyone. I know the resources are there but the will is at this time.
How would they like to see all the old school hackers that even work for Microsoft to stop buying Macs and using Macs to program for Microsoft. When the .Net Emacs project starting getting leaked to the world I truly believed that someone at least got part of the problem. But developers don’t want .Net everything. Microsoft could embrace what developers want even more then Apple and in my opinion shift the tide
P.S. Maybe you’ll listen, maybe you won’t, but at least I tried to articulate a few things that would make Windows seem like a platform I could even think of continuing to use.
As always just my two cents.
This is to me what Ubuntu or a Linux desktop should look like. Notice the love given to the upstreams, Gnome on the wallpaper, the penguin for the start menu etc. I really liked the older OpenSuse I believe it was 10.2 if I’m not mistaken. It came with the Tux icon for the My “Computer” icon.
So badly that I am offering any hacker out there my volunteer time in helping with any programming related task. Just comment to me if you are interested. No matter how tedious the task let me help and possibly become a part of the project involved if it works out.
I have free time, but unfortunately because I have been diagnosed with Scleroderma. Which seems to make my dream of being a hacking Ninja a bit more urgent.
I figured I would throw this out there although I haven’t got much traffic to my blog yet. Hopefully the Google picks it up (ha ha).
Many users even Linux developers have switched to the Mac. The obvious negative fact for the Linux desktop is that if even the very developers building the platform find it inadequate how will the world ever be convinced Linux is a viable solution with future prospects in the consumer market. I believe many users have enjoyed the polished environment the Mac offers but for many especially developers the main reason is the fact that the Mac offers the Unix tools many have come to love. Apple, has really played the right hand in this case, whether intentional or out of necessity.The fact that the Unix environment had been added to the core of the Mac eliminating the need to create a new tool-set from scratch. This is something Microsoft should have taken note of before spending the millions they have spent on the clunky cmd.exe shell with half-baked utilities (IMHO). Although Microsoft would like to have seen the command-line go the way of the punch card system formally used to program computers and the only means of using the found power of the microprocessor and machine computing. Many developers continue to switch to the Mac for reasons other then the fact that it “is beautiful”. They simply enjoy having the tool-set that has proven valuable and dependable over time. Some claim the Mac is Unix but the architecture is far from a classic Unix system. The Mac architecture is more of a system with the Unix environment “bolted on”, although I will admit done well.
It is unfortunate that the Free Software/Opensource world has yet to come up with an answer to Windows and now the Mac. We seem to continue taking two steps forward and three steps back every release, yes even Ubuntu. The regressions in the desktop world are not as forgiving as they may have been in the server or academic world. The many applications, utilities, and cosmetic software brought together to make a usable consumer desktop has not yet been tamed. Maybe someone will find that sweet spot and still be acceptable to the community as a whole because it seems Ubuntu is even finding resistance when it comes to the Free Software/Opensource world’s understanding the need for the polish and refinement needed to make a consumer friendly Linux operating system a reality. Much of the development community (outside of the Ubuntu and some Debian developers) accuses Ubuntu of not contributing back to upstream when much of the work done by Ubuntu developers seems to only benefit Ubuntu. I believe they have good reason in some cases because some of the work seeming to help Ubuntu only further separates the usability of the work upstream. This is a problem that needs to find a creative solution.
This idea always struck me as kind of odd because no matter how you slice it the browser is not smart enough nor is meant to control the hardware etc. I like to think about it as though the actual windows are more intelligent, or connected. Sort of the same abstraction that is given by the X/Windows environment on Unix/Linux type systems. The browser application becomes the window manager in a way.
When the browser begins to handle such tasks as hardware and process management, it no longer is considered only a browser. It is an operating system running a single application, a web browser. The idea of the web operating system in it’s most real sense would be a WAN connected server taking over some tasks that our operating systems are handling locally now. Forgive me for feeling like this is taking a step back. I believe the ideal future will be very capable hardware on the client working in a more networked-by-design, distributed sense. There are certain tasks that I believe should not involve network latency etc. We already are dealing with applications being slow and ultimately using a great deal of resources. The only difference will be taking the latency from the local bus of the PC and transferring it to the network. That doesn’t fix anything, or move us ahead technologically. What happens is that someone gets to monetize everything about our communications, even more then is happening now. I believe there are applications that are better left handling things locally. Not to mention with most “free” web applications there is someone monetizing your personal data without you being aware. Even if you do not store your data on their servers, your keystrokes and network communications etc are mined, without your permission in most cases. I know the the 5 page license mentioned that they will be mining your data and communications “to better serve the customers needs”, but most users would not agree to half of the license agreements that they unknowingly agree to by clicking through windows to get to their work. You know how it is, check here, click here to start using etc.
Please people think about the ramifications. There is a reason we moved from mainframe type computing to local processing and storage. I like the idea of all homes running their own servers with their data and such. Now the business model changes but there are still ways of taking the complexity away from the common users. With so much added complexity with servers and the like being at user’s homes, there would be a need for subscription support services and the like. Which could be handled remotely, not adding distraction or inconvenience to the customer’s experience.
Linux would be a perfect fit for such a scenario.
While I am on the subject of web operating systems. The fact that Google takes advantage of the fact that users must pay for Windows or other proprietary operating systems makers but can use ChromeOS for free is a bit disingenuous. You are paying for it just not when you buy your PC or when you buy the CD from Best Buy. If things go the way Google likes you no longer need Windows Mac or anything else. Just a dumb terminal connected to Google’s non-evil monopoly. They want to give you your phone, your OS, your office applications, your email application, your navigation/GPS device application. Is there anything I’m leaving out. Think about the power that comes from that level of integration. Everything about you, where you are at any given time, all your personal information, your communications, likes, dislikes, secrets etc, stored on Google’s servers. Welcome to cloud computing.
Update: Just to show my desire to actually be a help not a hindrance to the future of Linux I think it is only fair that I update what the issue may be with the temperature crashes. I believe there must be a setting in the system somewhere that crashes the kernel or system when the CPU reaches a certain threshold because Windows 7 seems content to run at even higher temperatures without crashing then my Linux partition has been crashing at (94 cel.). Apparently some laptops run hotter then others because I have found varying opinions and runtime temperatures after googling for anyone experiencing the same issues. 6/2/2010
I picked the title of this post because I have a sneaky suspicion that whatever is going on is kernel related as were other issues in the past that were fairly major like wireless driver breakage and such.
I was running Fedora 12 last night after some rather unpleasant bugs in the new Ubuntu 10.04 release. After about 12 updates a package conflict a reboot , repair of dependencies then a 400 some odd updates to Fedora 12 my processor temperature immediately started cooking like a stove then crashed. I received a black command prompt reporting that my cpu was 90 or so degrees celsius and a shutdown (not graceful by any means). I didn’t have any CPU temperature sensor software installed on Ubuntu or Fedora so I booted in to Windows 7 and watched my CPU temp slowly go down, while I was using several programs and such so I was happy to see my laptop was not toast. I just bought it less than a year ago for $1500, so I would have been up the creek.
So I proceeded to reformat my Fedora partition not wanting to take a chance again with overheating. I reinstalled Ubuntu to see if that may have been the case with Ubuntu as well and after a fresh install of Ubuntu and about an hour of usage my CPU was back up to 90 some degrees celsius again. I shutdown Ubuntu and booted back to Windows 7 to witness the same cooling process I witnessed last evening with Fedora 12.
I noticed something strange in the gnome system monitor applet though. My dual cores kept trading 100% CPU utilization every few seconds. I was only running one instance of Firefox and the system monitor applet. I have also noticed the system monitor applet using upwards of 40% CPU to run by itself.
I have had Windows spyware and annoyances in the past but I can safely and confidently say I never witnessed such shoddy software in my life. I am very irritated after two years of trying to make excuses and listen to why Linux is superior quality and blows Windows performance away etc. Why is this tolerated in the open-source world. I am a pragmatist, something has to prove to be more stable and superior not just be said to be such, as it seems the whole Linux thing has turned out to be.
Just so I do not leave this to just Linux let’s talk about Chrome’s blazing speed that eats up 100% CPU regularly as well.
Awesome engineering guys!
Open-source needs to be more than a hobbyist’s dream if they are to prove their model of developing quality software superior to proprietary software.
Then you get answers like, “stop whining !”, “what do you expect , it is free!”, “blah,blah,blah”.
You can not have it both ways guys it is either superior or it is not, will someone answer that for me!
I continually switch between Ubuntu and Fedora and have been meaning to mention the irritating notification popup behaviour in Ubuntu, When you get connected to your wireless network etc. and the sleek black MACish notification box popups up the behaivour that I always expect is that when I click on the popup, the popup should go away. Well for several releases now that is the default behaviour. Besides being a nuisance to me it is much more “polished” to have the popups behave like Fedora has since at least F10. I remember a conflict between Mark Shuttleworth and a user on his blog argueing about the new notifcation system’s default behaviour but I can not say for sure if this was mentioned, I seem to recall that but I haven’t confirmed it. It seems lately that Ubuntu’s new design-level focus could be more about usability and less about trying to clone the MAC. There seems to be some harsh reaction to user’s complaints about the direction of Ubuntu. I would think the nitch they are looking to fill those types of issues would be readily accepted by the Ubuntu designers and Markm himself.
Say what you will about Fedora’s bleeding edge they do still find a way to innovate and still be mindful of little things like the notification system behaviour being intuitive. I myself do not like to click a notification box only to have it blink and fade at will. It just seems buggy!