I have just made some minor changes on my article on how to get Apache and Jenkins to work nicely together. I found a problem where the masking of the port 8080 didn’t happen properly, so I played around a bit and got it to work quite well now. So, if you’re interested, you can have a look at the “Setup – Apache and Jenkins” page.
After writing some articles on this site and having to copy and paste the same text from some of my other articles over and over and also getting a bit frustrated in having to look up which requirements need to be installed where I decided to dedicate and article to this topic. You can find the article under the “Environments” menu and I called it “Setup – Requirements“. If you want to run Ruby or NetBeans or Apache or something else, then you should run through this list of things first. I would suggest that you start at the top. Why you need to install most of these packages, I’m not going to go into other than to say that you’ll be saving yourself lots of hours on Google trying to figure out why some Ruby Gem is telling you that it can’t find a package while the package is installed already. There are some strange dependencies when you want to do the most arbitrary things. I hope this helps someone out there and that it gives you a bit of a head start when installing your Development, Build or Production environments.
In the coming days I’ll be changing my articles to all point to this to ensure that it’s a but easier to get through an article without having to do some research or find that article that outlines the steps in a reproducible way. Enjoy!! 🙂
So, there is now something called Jenkins in the world of Open Source Build Servers and it seems like it’s been around for a few months. Why is this remarkable? Well… Simply because Jenkins = Hudson. I was installing another server with Hudson today following the instructions in my article “Setup – Apache and Hudson” and only when I completed the install did I realise that Hudson is now actually called Jenkins. So, has anything changed? Nope, not really. Why did they decide to make this bold move? I can’t say, other than that there is some speculation that the guys over at Oracle wanted to start charging license fees for the use of Hudson and that the previously known Hudson guys then decided to for Hudson, rename it to Jenkins and to continue with the project in the old Open Source manner. Well, if this is true, then I am glad, because since I started using Hudson/Jenkins I haven’t looked back or had the urge to explore some of the other platforms out there. It simply works 🙂
To top it off, I obviously opted to uninstall Hudson and to install Jenkins and once that was done I thought that it might be a good idea to add/update another article to show you how to install the new Jenkins platform. You can find this article, called “Setup – Apache and Jenkins” here. I’m sure you’ll enjoy Jenkins as much as you’ve enjoyed Hudson and I’m also sure that we can expect to see this project grow in the coming months as we’ve seen it grow from the beginning. I wish them all the luck in their bold move and hope they continue to have fun 🙂 I know we will 🙂
Heads up though, I’m in the process of writing an article on how to use Jenkins as your Build Server runnig Continuous Integration for Ruby projects under Ruby Version Manager (RVM).
I’ve just completed a new article called “Using – Ruby Version Manager RVM” which will be another article that I’ll refresh, change and update on a regular basis. Ruby Version Manager (RVM) is one of the best tools to use when you do Ruby Development seeing that it allows you to run multiple versions of Ruby and Gems together and to switch between these environments in an easy and straightforward way. The idea behind RVM is to have a sand-boxed environment that does not affect your system installs and can be dumped and recreated ad-hoc without having to worry that you’ll be breaking things on your system. By way of Gem Sets it also allows you to weave different Rubies together using different Gems. In all it’s an extremely powerful tool and in my upcoming article where I’ll be going into the use of Bundler and how you can use this powerful Gem with RVM, you should start seeing some of the more powerful management tools at work.
I’ve found RVM to be a life saver and can’t really imagine writing code in Ruby without it. When you start mixing in some of the other tools like Bundler, you’ll see how the power of Ruby and these tools come to life. I hope you enjoy it and that you learn something from the article and if you have feedback on the matter or if you would like me to explore certain point in more detail, please let me know.
Even though I’ve been away from this site for a while (bad, really bad) I am coming back to it with some ideas and hope to continue the fun. So, for my come back, I’ve just published a “Getting Started” article under the Environments menu for getting into GitHub and I’ve also added a “Source Repository” menu item under the “About” menu that should take you to a place where I’ll hopefully be hosting some of the source of those articles that I’ve been promising for so long. I did some research on the various online repository hosting companies and must say that the solution that GitHub gives you is very comprehensive. So, I chose them as part of my “Ultimate Environments” range of tools I would recommend and that I will be using myself. Take into consideration that the entire range is still under construction and I will be refining, changing and adding more information as I continue. So, none of the articles on this site will at any stage be seen as complete, just like the code we write on a daily basis. In the real world, we only stop coding on a project when we start with a new one and if we start with a new one, we all know that we did the previous one wrong. I hope you like it and find it helpful and I look forward for any feedback and changes you may like.
When doing development we always underestimate the environment we work in. What I mean by this is that we don’t want to think of how we’re going to release a product, how the testing will be done and on which platforms and we definitely don’t like to think that someone out there, usually called the “stakeholder”, would be interested to see on a daily basis the progress we’re making on the product/system they pay us to do… Now if you take all this into consideration and you really analyze this for yourself and make a list of all those pesky things Management always make you do, which are not development related then you soon realize that they’re almost all the same things over and over and over again. Now, if you sat down for a few seconds and really thought how you would like to remove those pesky things that they want and strictly speaking need you to do, like have a site where they can play on the product that you’re working on, or they would like to get daily (some cases even hourly) updates and they would really like to see whether the quality of the product that you’re working on is worth the money they’re spending on you and everything that comes with you, then isn’t it time that we as developers start doing something about it… I mean there are so many resources and products out there that enable us to remove those things. Even though these products are out there we still continue in the way we usually do… WHY??? Could it be laziness? I don’t think so, because doing those pesky things are simply more work… Is it that we like those pesky things? Again I don’t think so. Is it because we don’t have time to do it? NOPE!!! Try again… Personally I think that it’s simply because we’re not empowered to do it and we would rather sit and play with something more cool than say setting up a Hudson server to have our nightly builds released to that “special” environment where Management and stakeholders can play.
I’ve just completed writing another article on this site where you can see how easy it is to set up an environment and will continue writing about how to continue with this process of eliminating all those pesky Management things that we, as Techies, don’t like doing and definitely don’t want to continue doing going forward… The set of articles can be found under Environments and I really hope that we start enabling ourselves to do more of these things, because I know for a fact that there are a lot of other companies out there that still don’t have these basic things in place and at the same time it’s really not a new concept…
So, I’ve been quite busy learning some new things in the last couple of weeks which is why I haven’t been blogging or writing articles. Amongst the things that I’ve been busy with is writing some articles for Code Project which I’m hoping to publish in the next month or so. Some of the other things I’ve been busy with is playing with Ruby and the toolkits currently available in that space. Coming from a Java/C# background it’s been quite an experience jumping into the declarative dynamic world of Ruby and I must say that the more I play with it the more I’m starting to enjoy it. So, my setup is something like the article that you’ll be able to find on this site here. In the quest of learning more and more technologies and writing these articles I’ve come to appreciate the ability to slow down (in my private time) and to really think about what I’ve been doing and how all this newly found knowledge will affect my trend of thought and the way that I go forward in development and technology. As I state somewhere on this site, it’s all about using the right tool for the right job. Just because I’m a C# developer with a Java background doesn’t mean that those are always the right tools to get things done. Yes you may be able to do anything in your chosen technology, but does that allow you to really understand the problem you’re trying to solve or does it really make the Technology you use and the constraints it introduces your main focal point. As I’ve learned, the more you know, the less constrained you are by what you don’t know… Maybe ignorance is bliss and we should simply continue in the way that we always have, but then where’s the fun in that right? 🙂
- Digging into Ruby Symbols – O’Reilly Ruby
- Do You Understand Ruby’s Objects, Messages and Blocks?
- Ruby’s of Coney Island: ‘We Will Not Go Down Quietly’
- Ask HN: Rails or Django?
- Ruby Books
- Lucas Nussbaum: Helping improve Ruby on Debian and Ubuntu
- Obie Fernandez : Ruby on Rails and more…
- Why teach with Ruby?
- Mislav’s Explain Ruby
- Things That Newcomers to Ruby Should Know