{"id":565,"date":"2010-01-12T10:22:25","date_gmt":"2010-01-12T16:22:25","guid":{"rendered":"http:\/\/75.134.27.61:8101\/wordpress\/?p=565"},"modified":"2012-08-14T20:48:41","modified_gmt":"2012-08-15T01:48:41","slug":"enough-rails-surprise-why-i-leave-ruby-on-rails","status":"publish","type":"post","link":"https:\/\/icesquare.com\/wordpress\/enough-rails-surprise-why-i-leave-ruby-on-rails\/","title":{"rendered":"Enough &#8220;Rails Surprise&#8221;! Goodbye Ruby On Rails."},"content":{"rendered":"<p>Couple months ago, I published an article about <a href=\"\/wordpress\/ruby-on-rails-gives-no-surprise-in-the-latest-version\/\" target=\"_blank\">Ruby On Rails<\/a>. I was wrong.<\/p>\n<p>The idea of Ruby On Rails is really good. You can create a very simple database-driven web application (i.e., User can add, browse, remove and search records) in less than half an hour. There is no way to do something similar in such a short time using other programming languages. However &#8211; perhaps this is the tradition of the Rails development team, it comes with surprise (&#8220;Rails Surprise&#8221;) every time after upgrading the Ruby gems component. They either make your Rails application couldn&#8217;t start, or some features in your apps are not functioning after the upgrade.<\/p>\n<h3>What kind of people should stick with Ruby On Rails?<\/h3>\n<ul>\n<li>Someone is big fan of Ruby\/Gems\/Rails.<\/li>\n<li>Someone has plenty of spare time.<\/li>\n<li>Someone likes to sharpen his\/her debugging skill &#8211; To debug the backward incompatibility mess introduced by the Ruby\/Gems\/Rails core development team.<\/li>\n<li>Someone is patient and is willing to spend number of hours(could be days) to look for workaround.<\/li>\n<\/ul>\n<p>I am neither. I think I already have enough &#8220;Rails Surprise&#8221;. And I will make my own web application framework from now on (The code name is called <em>ICEPIZZA<\/em> by the way). It will be simple, elegant and <strong>backward compatible<\/strong>.<\/p>\n<p>&#8211;Derrick<\/p>\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Couple months ago, I published an article about Ruby On Rails. I was wrong. The idea of Ruby On Rails is really good. You can create a very simple database-driven <a class=\"more-link\" href=\"https:\/\/icesquare.com\/wordpress\/enough-rails-surprise-why-i-leave-ruby-on-rails\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[94,141,52],"tags":[172,23],"class_list":["post-565","post","type-post","status-publish","format-standard","hentry","category-computer-problems-computer-help-pc-support","category-programming-problems","category-software-engineering","tag-php","tag-ruby-on-rails"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p1sqzr-97","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":383,"url":"https:\/\/icesquare.com\/wordpress\/ruby-on-rails-gives-no-surprise-in-the-latest-version\/","url_meta":{"origin":565,"position":0},"title":"Ruby On Rails gives no &#8220;surprise&#8221; in the latest version","author":"Derrick","date":"November 17, 2009","format":false,"excerpt":"I haven't upgraded my Ruby On Rails and related Ruby gems for 5 months. One of the reasons is that Rails development team likes to break the backward compatibility, such as: NameError: uninitialized constant ApplicationController To avoid this kind of surprises, I tend to stick with a working, stable version.\u2026","rel":"","context":"In &quot;Programming Problems&quot;","block_context":{"text":"Programming Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/programming-problems\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":98,"url":"https:\/\/icesquare.com\/wordpress\/thoughts-on-quality-assurance-on-software-testing\/","url_meta":{"origin":565,"position":1},"title":"Thoughts on Quality Assurance on Software Testing","author":"Derrick","date":"May 22, 2009","format":false,"excerpt":"Recently I developed several projects using Ruby on Rails.\u00a0 One of the cool features of it is the built-in test tools. With this amazing tool, I can test my web page such as data validation in few seconds by myself. It reminds me the time how a software was tested\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":257,"url":"https:\/\/icesquare.com\/wordpress\/interviewing-a-software-engineer-developer-programmer\/","url_meta":{"origin":565,"position":2},"title":"Interviewing a software engineer \/ developer \/ programmer","author":"Derrick","date":"August 20, 2009","format":false,"excerpt":"I am going to have a face-to-face interview with a candidate of a PHP programmer position this afternoon. I was told to prepare some technical questions for the interview. If a candidate earns an face-to-face interview opportunity, that means his resume should have a very good match to the position\u2026","rel":"","context":"In &quot;Business&quot;","block_context":{"text":"Business","link":"https:\/\/icesquare.com\/wordpress\/category\/business\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":237,"url":"https:\/\/icesquare.com\/wordpress\/does-most-popular-imply-the-best\/","url_meta":{"origin":565,"position":3},"title":"Does the most popular imply the best?","author":"Derrick","date":"August 19, 2009","format":false,"excerpt":"Today, I had a discussion with my co-worker on the best languages for web applications. While I argued that Perl, and Ruby performs better than PHP, my co-worker had an opposite opinion. He believed that PHP is the best language overall because it is widely used. It brings me to\u2026","rel":"","context":"In &quot;Technology&quot;","block_context":{"text":"Technology","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1028,"url":"https:\/\/icesquare.com\/wordpress\/mysql-starting-mysql-error-the-server-quit-without-updating-pid-file\/","url_meta":{"origin":565,"position":4},"title":"MySQL: Starting MySQL&#8230;.. ERROR! The server quit without updating PID file","author":"Derrick","date":"November 12, 2010","format":false,"excerpt":"This step-by-step guide is mainly for FreeBSD, however the idea is the same for Linux. Every once a while, when I update my FreeBSD box, the system likes to shutdown my MySQL server. Therefore, I need to start it again after the update is done. Unfortunately, the upgrade process is\u2026","rel":"","context":"In &quot;Computer Problems&quot;","block_context":{"text":"Computer Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/computer-problems-computer-help-pc-support\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1927,"url":"https:\/\/icesquare.com\/wordpress\/phphow-to-get-the-number-of-cpu-cores-in-fedora-ubuntu-and-freebsd\/","url_meta":{"origin":565,"position":5},"title":"[PHP]How to get the number of CPU cores in Fedora, Ubuntu, and FreeBSD","author":"Derrick","date":"December 2, 2011","format":false,"excerpt":"I am working on a PHP application which needs to be deploy to multiple places. One of the variables is the number of CPU core. Since each server has different number of CPU cores, I need to specify the number of CPU core in my application for each server. I\u2026","rel":"","context":"In &quot;Computer Problems&quot;","block_context":{"text":"Computer Problems","link":"https:\/\/icesquare.com\/wordpress\/category\/technology\/computer-problems-computer-help-pc-support\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts\/565","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/comments?post=565"}],"version-history":[{"count":25,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts\/565\/revisions"}],"predecessor-version":[{"id":2914,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/posts\/565\/revisions\/2914"}],"wp:attachment":[{"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/media?parent=565"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/categories?post=565"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/icesquare.com\/wordpress\/wp-json\/wp\/v2\/tags?post=565"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}