Ruby, oh Ruby
You all know I love a twisted analogy. Remember last Thursday I was talking about Domino being my current over-weight and annoying partner and how I could see myself having an affair with a younger, slimmer model?
Well this weekend I had a serious case of lust at first sight. As my career with Domino fast approaches the seven year itch I happened upon a little stunner called Ruby. Phwoar!
[Ed: Ok Jake, easy on the analogy. It's getting a little tedious and is also offending your female readers]
Ok, sorry. That's enough of that. When I talk about Ruby I am, of course, talking about Ruby on Rails (I use the name Ruby merely for the analogy of her being a lady to work). I'm sure you've all heard of it by now. If not, where have you been!?
Not one to get left behind I spent a good part of this Sunday getting up and running with a working Rails install. To do this I followed this great step-by-step guide from O'Reilly. To follow along all you need is a machine with some spare disk space (Windows is easiest) and about 3 hours spare time. You end up with installs of Ruby, Rails, a MySQL Server and MySQL-Front. It all worked first time for me and involved nothing more than pressing "next" a lot.
After following the demo of the cookbook application I had a real taste of Ruby and was excited, to say the least. I then went in search of an IDE. After trying a couple I opted for RADRails, which is really nice and based on Eclipse. I ended up with a desktop that looked something like this (click for full-size):
You can see the IDE (RADRails) with the cookbook project open and all the elements that make up the MVC. The IDE also has the web server running in the bottom pane (there's even a console built in). Top right of the screen is the MySQL app to show us what's going on in the back-end database. The browser shows the application running locally on port 3000.
The afternoon we spent together was enough to convince me I could happily divorce Domino and run off with Ruby, but it's never that easy is it. Domino cooks and cleans for me and I know life with Ruby would involve more work. But on the flip-side she'd keep me on my toes and be a lot more fun.
What future would a relationship with Ruby have though? Is she just a plaything of the Web 2.0 dudes or somebody for business to sit up and take notice of? Naturally, it all boils down to whether or not there's any work in Rails development. Enjoying what you do is one thing. Getting paid to do it is another.
At the moment we're merely flirting and it may end up being nothing more than a fling, but I keep finding myself thinking of Ruby while I'm actually with Domino.
Web development with Domino sometimes feels a bit like dancing with your granny at the disco - she just hasn't got the moves and can just about manage the old one like a Foxtrot. Dance with Ruby and she'll end up teaching you a thing or two. After all, she was born in the disco era and built to move.
Anybody still reading? Well, these two books arrived while I've been writing this. There'll be some more RoR talk to come round here and hopefully a few articles to complement the PHP For Domino Developers set. We'll see. In the mean time I'd highly recommend taking RoR for a spin.
Further Reading
Ruby on Rails is great, and a great distraction ;-) Can't wait to see the future articles Jake.
One thing I would recommend is once you have seen how good Rails is, take a step back and learn Ruby the language before delving too much into the Rails framework. It will make learning Rails much easier when you can understand the Ruby syntax / structure.
This was the mistake I made by flying straight into the Rails framework and trying to work out what was the Rails magic and what was standard Ruby.
Incidentally the books can be downloaded directly from the Pragmatic Programmers site - {Link} if anyone cant wait for the hardcopy. I notice they have a new book out called Rails Recipes.
Lust affairs always lead to tears Jake.
Old granny she might be, but Domino has the benefit of wisdom that the young whippersnapper Ruby is lacking.
Will Ruby still be here in 15 years time like Domino?
Tyron. Good point. Who knows!? Will Domino be around in 15 years? Will it be around 5 years!? The eternal question nobody seems to know the answer to.
Will I still be a web developer in 15 years time? Do I want to look back on a career and regret my choice of product to specialise in? Surely sometimes you just have to follow your heart...
I had a good stint with RoR but I think I caught it right in the middle of a major upgrade where the online documents where not caught up yet. Also, trying to get this to work as a plug-in to any other server seemed an exercise in futility (or just my brain burp).
I must say that the scaffolding process was ultra-cool.
The problem I see with Rails and the sooooooooooo many other stuff like this around is that very few of them have enough customers to be more than short term viable.
Nowadays, you can spend your entire work time learning new stuff and building nothing.
How long did it took you to really masterize Domino ? Maybe 2 or 3 years. Same is for J2EE etc...if you perpetually switch from one framework to another, you basically end up with being an expert in nothing and simply a "lamnda developer" who won't be able to build other than small apps in 100 differents frameworks ;)
I think this frenezy of new frameworks will have to calm down and the whole thing to mature otherwise customers will simply not move : would you build critical apps on a platform you'r not even sure it will be there in 2 years ?
What do you think ?
Michael, I know exactly what you mean.
Whether or not anything comes of my ventures in to the likes of PHP and RoR I like to think I learn somethiing from each journey.
Sticking with one technology - particularly Domino - can never be a good thing. If Domino died we'd all be up Poo Creak without a paddle. There's nothing else out there like Domino. If we had to transition in to the "proper" way of making websites in a world sans Domino we'd feel the hurt.
By learning PHP I found out about RDBMS and templating. By learning RoR I hope to learn about MVC architecture and other techniques. If I thought I'd get nothing but a bit of fun out of either I'd not bother.
It's not just about learning one particular technology but equally about learning the under-lying principles as well.
Hi Jake,
Have you tried "Cocoon" from apache, ({Link} It's there main project from their XML Project ({Link} and delves into XSP (eXtensible Server Pages).
I highly recommend you download the Cocoon server and try it go. I really think that this might get you excited.
Basically you define you data in XML, then you apply a stylesheet to the data to transform it into any content type (e.g. HTML, XHTML, CHTML, TXT, PDF, JPG, GIB, PNG, FLASH, EXCEL, WORD, etc....). This is just the start of it.
I can't do it justice that it deserves!
Download it and check it out for yourself!
Later
Patrick
@Jake
Sure one should never be technology dependant but learning RnR is a complete different choice than for ex learning J2EE or PHP. These last ones are established and, good or bad, will last for a long time ahead while RnR or similars may already be dead.
You can also have the opposite argument and say : everyone does Java so I want to learn a different stuff so I have a more value on the market. And if by chance the thing I learn is a success I become a guru...till the new RnR "du moment" changes all ;)
I'm on the same position about rich client platform right now : there is this eclipse rcp than I want to learn because of hannover and so on...but AJAX is there...and XUL too...and Macromedia Flex 2 is arriving...and MS also has XALM and... and and and... ;)
Dress up Ruby with the latest AJAX fashions and she'll be hot hot hot!!
Ajaxian has the spring collection... {Link}
You made up for the political incorrectness for this female reader by providing several good laughs.
thank you!
"If Domino died we'd all be up Poo Creak without a paddle" -- I thought Domino was dead, or at least garsping it last -- even IBM want it dead (source IBM senior architect I worked with years ago) .
Technically, it does seem to be more mature than Microsoft's smart client technology (in different areas), but come a successful Windows 2006 launch, the new .NET framework and Microsofts upgrade to its HTTP server offering, you hold the hammer and I'll hand you the nails.
From my experience the whole thing with the learning is:
- its better to accept small steps. Better to spend 10 hours regularly on a certain technology, but to spend 40 hours and giving up soon.
- not expecting too much. Any technology has its gotchas.
Its now easier for me. 5 years I was getting paniced soon, when something didn't work. Now my attitude is more relaxed.
Ruby on Rails is certainly an interesting technology. As .NET, Lotus Domino, Spring, JBoss or Hibernate. Ruby might be usefull in other environments, too. Like server automation or what do I know.
good luck.
I always enjoy the "Domino is dead" comments - as much as I did the "mainframes are dead" and "IBM is dead" squealing from ten to fifteen years ago. Big Iron is bigger than ever with large businesses even more dependent on mainframes than ever. Would I want to be a COBOL, NATURAL or APL programmer? No, but others are making a damn good living doing so.
IBM has been a far better investment than Microsoft the last five years.
The survival of Domino is not dependent upon what some "IBM senior architect" wants/thinks/does. It is dependent upon the vision and talent of guys like Jake continuing to add value in creative ways. I work in a large company, which has only grasped the power and flexibility of what Domino can do within the last year, where a team of developers is knocking out leading-edge applications day after day - incorporating the latest technologies the web has to offer. These apps are developed far faster and cheaper than other alternatives from other large budget departments.
As always, it's results that count.
17 postings and around 10 know whats best platform for future of Jake.
If we in Europe were as passionate about religion or nationalism as IT-guys about IT-platform, I wouldn't leave my flat without Pump Gun :-)
I'll try and be less trite in this post, I agree in principle with all comments, and yes in reference to Dicks comments, I know of a very large bank (where I used to work) which still uses 'older' technology, why, because its the best at performing a specific backoffice function. (if it isn’t broke don't...).
However, you have to be realistic and move with market forces if IBM Lotus (not considering websphere) has millions of less client seats than Exchange / Outlook, and IBM have said (as I understand) they are no longer developing /supporting but only offering limited support on future 'Lotus' products then you have to listen. The IBM architech I referred too (who I have previously developed with), was not expressing his opinion at the time.
Lotus is/was great at what it does, if it is still offering clients the managed data and business functions they need and the client really understands the limitations. But when your in the office till 10pm fixing back-ups of a 3GB client database with a team of developers and the boss breathing down your neck then your attitude to the 'power and flexibility' of what Domino can do may need a review. (the client said they can now not afford to move to an SQL platform as they spent so much money on the Lotus database development!)
I worked with Lotus and Lotus development teams since beta release 2.11b, and with various development teams through the years. Although I am an infrequent codestore visitor I think Jake is a very talented independant developer (as well as Lotus) and an excellent artist (thoughtful logos design, layout), who is already cross-developing and enriching his skills, we all need to take note, well done Jake.
Regarding Ruby I hav'nt really had time to look at this development framework, but in my experience the danger with all higher level frameworks per say is that you know the client is going to want such extreme customisation that you might as well build your own..!
Stay an independant developer Jake :-) keep up the good work.
Sorry, last post for now -- I have been quietly chuckling to myself at Dick's evangelistic comments, it reminds me of a story I heard years ago told to me by a well know tape back-up hardware manufacturer's representative.
Apparently a Goverment organisation was sold an ultra fast back-up system from a specialist company which was not only very cost effective (cheaper than all other quotes) but could back-up their Terra bytes of data in minutes!
Soon the system was adopted in all this offices departments, not only did it have unbelievable performance it looked great too with brightly coloured progress bars and reports of all data back-up.
One day someone some where decided to check a couple of tapes -- blank, then all tapes off site they too were blank.
"if you've only grasped the power and flexibility of what Domino can do within the last year" -- can I interest you in a back-up system?
"think Jake is a very talented independant developer"
Thanks troublemaker. I try to remain independent at all times. I can never understand why people get so attached to any one particular thing that they refuse to try anything else or admit that there might be something better suited to a particular job. Technology is a bit like religion sometimes (oh oh, another analogy looms) - most people stick to one camp. Personally, with religion, like with technology, I appreciate the best bits of all the faiths.
Amen...
Troublemaker & others,
You might have missed the point of my "within the last year" comments. This is not a stodgy environment where we are stuck doing things "the old way". On the contrary. We use SQL almost exclusively for the data store. We use CSS, Javascript, Ajax and SVG to give our apps state-of-the-art look and feel - all skills that are easily transportable to other environments such as .NET & PHP, where I also have considerable experience. We stand up well with virtually any web development shop.
The point is that we are not constrained by perceived Domino shortcomings.
Troublemaker, I don't quite know where you get this from:
"IBM have said (as I understand) they are no longer developing /supporting but only offering limited support on future 'Lotus' products then you have to listen."
This seems pretty strange when the there is a clear product message coming out of IBM regarding the next release of Notes and beyond, and they have just announced a new version of Lotus Sametime, as well as developing substantial new products under the Lotus Workplace brand. Lotus & it's software are very alive and well within IBM and the marketplace. Maybe you should stop talking to your mate who worked at IBM years ago, and head over to IBM's site, or read tech news sites to see what's really going on today.
Don't get me wrong either - I'm not an evangalist. While I make a living of Notes/Domino I have been actively extending my skills into new fields which are compatible with other environments - which is mostly while I still read this site - for the insight into Ajax, PHP, Ruby etc. There's nothing wrong with broadening one's skill set, in fact, you're pretty crazy if you don't.
It's another thing altogether to spread "FUD" when clearly your information is several years old.
Laurette your right, the information was "clearly ... several years old"... like me a bit long in the tooth... maybe a bit crazy and maybe too mad to even imagine that any company would ever...
...remove support / development for a product in order to get the user base to move to a completely different product / direction ?
...change their "clear product message?"
...make interesting strategic IT decisions
...FUD, was apparently defined by Gene Amdahl after he left IBM to found his own company, FUD is the fear, uncertainty, and doubt that IBM sales people instill in the minds of potential customers who might be considering [Amdahl] products.
Good irony, don't shoot the organ grinder or the monkey for that matter, I like monkeys
P.S By the way how's it going at IBM, do they still have those multi plasma screens and themed lunchtimes (I always liked their chinese lunch hot special) :-}
Before you run off with Ruby, have a look at the other pretty girls:
- Fabric, Domino's little half-sister (Daddy Damien, Mom unknown): {Link}
- OPS (it's like Cocoon on steroids meets xForms): {Link}
OPS share's Ruby's Ajax Spring collection but is based on W3C standards.
;-) stw
I've been flirting with Ruby (from afar) for months, and almost mentioned her a couple of different times when you've been ranting here. But remember everything has limitations and tradeoffs; Rails may look pretty and be the popular girl right now, but she does have her critics. {Link}
I remember talking with Jake loooong time on ICQ about PHP and the small business segment.. for that reason I never really paid much attention to PHP. I just bought RoR book on amazon... I still haven't had time to get my hands on with it... but to me looks very impressive to say the least. Domino is still a great tool... and I use it for email and collaboration and a few web apps I still maintain... but AJAX and MVC are the future... and that's the bottom line
So what do you guys think of RoR today? :-) It certainly has become very popular and looks like it's here to stay.