
Last Week I have brought some Java team mates to Dev in Rio 2009, a Web development event here in the town. You can see some pictures from the event here.
I was exited because they will be introduced to Ruby on Rails, by one of the most known Brazilian Rails expert.
But after the Rails keynote, I feel something went wrong.
Here is a summary of my conversation with my team mates:
Me - Hey, what do you think? Is Rails awesome or not?
Them - Yeah, yeah, Rails appears to be really awesome, but the cost is prohibitive.
Me - ????? WHAT ????? It is all open source!
Them - Yeah, yeah, but the problem is the hardware; I will not spent near $ 3,000.00 box into a Mac, just to get introduced to this Rails stuff.
OMG…
Here is the old problem again.
Why in the hell did the experts insist to associate good and productive Rails programmers with a hardware brand or specific O.S.?
I can only imagine someone from the Rails core team has a kind of association with something “evil”.
And they are not alone! People from Ruby Central “purchased and sent Matz a new Mac” which you can see here “full of smiles”.
But, the real fact is: A Mac Book Pro in Brazil could be legally acquired by $ 2,440.00 (best price today)
I need to assume developers on the same country, on the same city, on the same company have something in common.
Developers are average citizens after all.
And average citizens use Windows (more then 90% at least)!
Why, should I try to convince them not only to try a new open source language, a new open source framework, but change everything else around?
I don’t think so.
Thanks to Luis Lavena and a bunch of other smart guys I’m now testing Ruby 1.9.1 on Windows 7.
In the beginning before I start learning Ruby with Satish Talim from RubyLearning, I have spent some time looking for a place where I can learn Ruby using Windows, and my mentor uses Windows as well. Satish shows up just in time for me.
I think there are many similarities between India and Brazil in this case.
Apple products are very expensive pieces in developing countries, and are not for the average people.
That said, Rails experts, please try to be at least more agnostic about hardware and OS when keynoting about Rails.
IMHO, this is the best produced stupidest Apple advertisement ever.
I can understand why some people are stick with Apple products.
Anyway I will say it again.
Being a good and smart Ruby on Rails developer, has no direct relationship with the hardware, Operating system, Editor or IDE you use.
It is all about YOU, your motivation, your perception and good sources of information.
If you like the all open source Linux use it, it is completely free, and friendlier every day.
If you like the software proprietary Windows, buy the hardware you like the most (probably windows will be pre-installed on it).
And last but not least, if you like the software and hardware proprietary OS/X and can afford a Mac, do it, and be happy!
Free will for all!
Monday, September 21, 2009
Ruby on Rails for Sale! Under $ 2,500 limited offer.
Posted by
Marcos Ricardo
at
12:50 AM
1 comments
Labels: Events, Learnig Process, Rails
Tuesday, September 8, 2009
UNDER CONSTRUCTION - to be, or not to be
![]()
This weekend I re-started the “TrainerOnRails” Project.
So, it is time to put the first page on that domain which was empty for almost a year.
My first attempt was to Google about “under construction pages”, and doing that, I start to question myself.
Would that be the coolest thing to do first?
Here are some of against opinions about that.
This icon says more about me than it does about my web page
Don’t use under construction pages
Design Mistakes: The Under Construction Page
Under Construction pages on websites - do they matter to SEO?
Making The Most of Being Under Construction
A nostalgic one:
The Top 3 Retro Under Construction Pages
This one disagrees from everyone else, saying an upfront “under construction page” can improve your SEO activity.
Getting Your SEO Started Early With A Development Home Page
The one that looks more pragmatically at this subject is this:
Under Construction page is such a waste of time or is it? What make a good one?
One good idea here:
Cool and Free Launch Page with Ajax Newsletter
Well, I have made my choice: a beta version page will be. No under construction, obvious and redundant, animated gifs at all.
But why in the hell do I need a beta version page?
In fact for some practical reasons:
First of all, if I do nothing, people will see that strange list of files when they access my domain name, if I need to do something, why not to put a page out there?
Secondly, I need to get ready with RRS feeds, donation badges, hit counters, etc. and to get that I need a working page now!
Another problem (in my case), is that TrainerOnRails’ domain, sleeps for almost a year, and there are a few broken links elsewhere that I want to redirect.
How can I do that if I don’t have any “beta version page” to redirect them?
This situation drives me to another research: customized error pages…
In this case, people were getting a 404 error page when they try the old TrainerOnRails link, so, I need to put something there to redirect them.
It is not a regular 404 error customized page, but sounds like one.
To test the whole thing, you can start from the former link, and see what happens:
I’m not a designer, I try to do it quite simple: no CSS, just hard coded HTML and a few images.
I like the final result. It is triple checked by W3C Validation Service, Validome and WDG HTML Validator.
Since it might help someone else to avoid one or two working days on something that simple, I have turned it into an open source project “my_domain_beta_page” and released it on Github.
You are welcome to fork it, customize it and make it better, trying to keep it simple at the same time.
After all: it is just a general beta version page to keep your domain alive up front just before “your real page” get ready.
Next step? What about a Release Candidate page?
Posted by
Marcos Ricardo
at
12:46 AM
0
comments
Labels: Learnig Process
Saturday, August 8, 2009
WEB 1.0 to WEB 2.0 to WEB 3.0
- WEB 1.0 – We use “Their Data”
- WEB 2.0 – We interact with “Our Data”
- WEB 3.0 – We will sense with “World Wide Data”
The best summary ever (I suppose).
Posted by
Marcos Ricardo
at
8:51 PM
0
comments
Labels: Other
Sunday, July 26, 2009
Controlling and Documenting Software Development: a new approach
I’ve been reading a Tom de Marco’s article these days, where he reconsiders the “You can’t control what you can’t measure.” phrase.
http://www2.computer.org/cms/Computer.org/ComputingNow/homepage/2009/0709/rW_SO_Viewpoints.pdf
“I’m suggesting that first we need to select projects where precise control won’t matter so much. Then we need to reduce our expectations for exactly how much we’re going to be able to control them, no matter how assiduously we apply ourselves to control.”
Another great piece is the 1997 Bertrand Meyer’s satiric article. It is undoubted joking but most of it fits real and up to date for me.
http://archive.eiffel.com/doc/manuals/technology/bmarticles/uml/page.html
“In its attempt to show that it has included everyone's pet ideas, it is a chock-full of symbol after bizarre symbol. Just the "Notation Summary" takes up 60 pages and has its own table of contents! UML is in fact as complex as a big and cryptic programming language, with generous use of "$" and "#" and "-" and "*" and "solid triangles with no tail" and rectangles and diamonds and solid lines and dotted lines and solid ellipses and dotted ellipses and arrows of all kinds and keywords such as "const" and "sorted" (not to be confused with "ordered") and different semantics for a class depending on whether its name appears in roman or italics; but at least a programming language, even the worst of languages, is executable! Here you have to learn all this monstrous complexity just to build diagrams of a possible future system.”
“For example I have tried to see if I could characterize UML as "object-oriented"; we all know this is a great compliment. Fat chance. Of course the authors make the requisite use of "object" and "inheritance" and so on. But a mere glance at the diagrams shows UML for what it is: an extension of entity-relationship modeling. The basic examples show binary and ternary associations, such as (page 16 of [1]) associations between "flight" and "seat" and "person"; this is the exact opposite of object-oriented design, where, as we all know, the world is structured in classes, built around object types, and every operation or property belongs to one class. Surely in object-oriented design you can't have a "passenger" link that treats "seat", "flight" and "person" symmetrically! In an object-oriented system it would belong to one of the classes; that's how you obtain the consistency, simplicity, modularity and reusability of O-O architectures; look at BON or at Eiffel to enjoy the results. The authors of UML know this, of course; to understand why they call UML object-oriented we must appreciate their famous sense of humor. Obviously they meant it in jest.”
“How could I criticize the method for not helping software developers or managers, when it does not care about software development at all, but only about developing a market for consultants and trainers? Everything started to make sense: the complexity and bizarreness of the notation, which I had foolishly taken for a deficiency, are in fact among its most attractive qualities, since they make for endless business opportunities, for Rational and perhaps even for others as well; so does its lukewarm adoption of object-oriented ideas, since it means a consultant does not even have to like or understand object technology to profit from UML.”
My growing interest on agile philosophy and methodologies, trying to convince my job mates (all levels), to give the software project control and documentation a much more soft touch, the Design By Contract approach sounds much more smart and agile to me now.
I like so much this practical approaching article:
So, in the control and document software development subject, we have:
- Instead of hard control software development, try to deliver software that makes a difference.
- Function Points is not an effort estimation method; don’t try to estimate time spent using it.
- If the average managers try to deliver software on a seni
- or developer time line with a bunch of junior or even trainee developer team, why in the Earth do we need to over control software development? And worst, why to use FPA to measure it.
- Since UML is not simple, agile, or even OO, why in the Earth do we need to use UML when modeling or documenting software development?
The Do’s (new fashion):
- Manage the people and control the time and money.
- If you want to control something in software development, control its quality.
- Use Mind Mapping to barely document the software requirements (user stories).
- Use DbC to design the software.
- Use a smart and agile (like Rails) technology to implement it.
- Use XP methodologies when implementing it.
- Applying BDD, use executable specification and documentation techniques.
- If there is an obligation on measurements and control, use an agile technique like “AgileEVM” for instance.
And remember: what really matters to the customer is:
“BUSINESS VALUE DELIVERED PER SPRINT”
So, that is exactly what we need to focus on.
Posted by
Marcos Ricardo
at
2:11 PM
1 comments
Labels: methodology



