Poignant
If you haven’t returned to Why’s poignant guide to ruby, maybe you should. I tried to learn ruby first by looking at it, gave up fairly quickly and moved on to pickaxe (mainly).
A few years later I glanced at it again, and this time it hit me full on. It is that sort of thing. Poignant indeed.
Ruby was made to be one step closer to human – than machine language, than what was on offer and is still available. Ruby is defacto a 5th Generation Language , even though no one will come out and say it. The essential part of software development is among humans. Ruby is coder speak, but one that is sympathetic to how we use our concepts in language.
The Ruby on Rails world is one step closer to how good software is created than anything else I’ve used, informed of best practices, aware of pitfalls.
Blog Driven Development?
There clearly are other factors involved in choosing technology in implementing a solution, than productivity, cost or return on investment. Monopoly on technology is nothing new, it is apparently the historical tendency , the what happens to a technology that is relatively open ( science ). On the other hand, status quo is of benefit to a lot of participants; an ecosystem does not develop around instability.
If you don’t care for all of that, since you are fronting the $$$ to get your vision, it’s things like this light read that should wake you up.
You are settling for less than you should from your software development investment if your work force, off shore , near shore, co-located or telecommuted , are NOT making use of Ruby on Rails.
You are being fleeced friend.
Heroku – an experience
This year I’ve been able to leverage Heroku for the benefit of my employers. Two projects which were urgent, and had to be put in place in the middle of an IT infrastructure transition pushed by the merging of companies.
The experience has been overwhelmingly positive technically. Even while struggling with Ruby 1.9 encoding problems, the ridiculously productive community and tech folks @ heroku were able to provide a solid scalable and cheap platform.
Heroku and Taps simplified deployment pains , helped make smooth database nightmares of yesterday.
I highly recommend Heroku; it is as painless a hosting environment as you could ever wish for.
Simple tactic for migrations beyond migrate
Make use of Rake in your miscellaneous migration tasks. Migrations are geared for database changes all or nothing is best since backtracking always is risky. Add your own application rake tasks to handle additional record creation, default settings, app specific stuff. Model classes are best for methods since you can test on console and tinker, but once you are there, a rake lib gives better control for the task at hand, lets you add on tasks without affecting the app core. All deployments I’ve used have handles to rake which can be used on demand.
Revisiting your axioms
Sofware professionals are always playing catch up to the books, to the best practices. to the certifications game.
This is the kind of analysis that blows my mind away. How many people will go back and revisit old assumptions?
When DeMarco published this paperHow many PMP professionals turned around and said , ok we are wrong?
This is a fast moving world; there are many thriving niches which will die out and should die out soon.
What else is new
Ruby 1.9.1 Rails 2.3.5 and the UTF-8 encryption problem
mysql gem is in the process of being fixed. But for those experiencing deployment nightmares where suddenly switching the db makes all hell break loose.
Short story:
mysql gem drop in fix for rails app
and
Set your language environment variable before kicking off your app, or set it in anyway you like.
Worked in Windows / Ruby 1.9.1 and Centos 5.4 / Ruby 1.9,1
Rails , db performance tip
Just a quick tip for those who have banged heads with sorting issues. In particular when working accross database technologies, you may end up getting bitten by default behavior differences.
So here’s something to keep in mind, Indexes are to Sorting as Hardware is to Software.. You can define default order behavior if you have the right index.
How did this come up recently for me? Sorting differences on a multilayer ed hierarchy of data , never noticed anything until deploying to production which used PGSQL instead of MYSQL
Sqlite ..
I love it, but have learned over time, repeatedly, in spite of my self, that I must move out of it as soon as I can.
Ruby 1.9.1 and Mongrel ; (use Thin instead)
Mongrel refuses to play in windows under ruby 1.9.1 as of yet. The gem installs, then Mongrel craps out in an ungodly memory dump.
If you are looking for something better than Webrick, Thin works better, faster and and it works under Windows, and Ruby 1.9.1.
If you cant compile the gem because of you need the ruby development kit for windows.. well, get MinGW (installer for windows 5.1.6) , get MSYS , then install the gem.
(Update) Found the same sort of problems trying to get Mongrel running on CentOS 5.4 with Ruby 1.9.1 . Save your precious time and go with thin.
Rails 2.3.5 , Ruby 1.9.1 and plugins …
If you’ve tried installing a plugin from github lately it seems everything’s not found..
As of Rails 2.3.5 there still is a open bug which is getting in the way of happy trails with ruby 1.9.x
Start up a shell with Ruby 1.8.x and install the plugin as usual. Then go back to working with Ruby 1.9.x. The fix will be out on rails 2.3.6 so a bit of patience and this will go away.
(Update) waiting for rails 2.3.6 .. seems rails 3 will be out before this is done