Happy Valentine’s day 2010!
Last year, 30 German iPhone developers joint their forces and reduced their app prices to the max to make you smile on Valentine’s day … this year everything is bigger: Now more than 80 apps are reduced to the max to please our customers.
CompareMe shopping utility is also available for $0.99. So check out AppsForSale.de maybeyou’ll find a real bargain. Only on 14.02.2010!
I had a lot of trouble with some rubygem warnings after upgrading to Ruby 1.9.1 and Rails 3.0 on Mac OS x Snow Leopard. They always occurred when I started the server within the project with the command
rails server |
At first, when running on bundler 0.9.3, I had two types of errors. The first NoMethodError populated the terminal with hundreds lines of code, like …
WARNING: # NoMethodError: undefined method ` ' for nil:NilClass # -*- encoding: utf-8 -*- ... WARNING: Invalid .gemspec format in \ '.rvm/gems/ruby-1.9.1-p378/specifications/spec.gemspec' |
The bundler-team around Carlhuda fixed that issue within bundler 0.9.4. So that problem will not occur any more.
The other problem was quite persistent. When starting the server via
rails server |
or doing a test via
rake |
within the rails-3-project resulted in a bunch of warnings:
/usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:14: \ warning: already initialized constant VERSION /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:14: \ warning: already initialized constant RubyGemsVersion /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:194: \ warning: already initialized constant MUTEX /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:196: \ warning: already initialized constant RubyGemsPackageVersion /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:202: \ warning: already initialized constant WIN_PATTERNS /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:1079:\ warning: already initialized constant MARSHAL_SPEC_DIR /usr/local/lib/ruby/site_ruby/1.9.1/rubygems.rb:1084: \ warning: already initialized constant YAML_SPEC_DIR /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/version.rb:72: \ warning: already initialized constant VERSION_PATTERN /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb:20: \ warning: already initialized constant OPS /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb:30: \ warning: already initialized constant OP_RE /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/version.rb:246: \ warning: already initialized constant Requirement /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:18: \ warning: already initialized constant TYPES /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/platform.rb:171: \ warning: already initialized constant RUBY /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/platform.rb:177: \ warning: already initialized constant CURRENT /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:39: \ warning: already initialized constant NONEXISTENT_SPECIFICATION_VERSION /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:50: \ warning: already initialized constant CURRENT_SPECIFICATION_VERSION /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:56: \ warning: already initialized constant SPECIFICATION_VERSION_HISTORY /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:72: \ warning: already initialized constant MARSHAL_FIELDS /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:75: \ warning: already initialized constant TODAY /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/source_index.rb:593: \ warning: already initialized constant Cache /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:14: \ warning: already initialized constant DEFAULT_BACKTRACE /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:15: \ warning: already initialized constant DEFAULT_BENCHMARK /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:16: \ warning: already initialized constant DEFAULT_BULK_THRESHOLD /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:17: \ warning: already initialized constant DEFAULT_VERBOSITY /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:18: \ warning: already initialized constant DEFAULT_UPDATE_SOURCES /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:24: \ warning: already initialized constant OPERATING_SYSTEM_DEFAULTS /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:30: \ warning: already initialized constant PLATFORM_DEFAULTS /usr/local/lib/ruby/site_ruby/1.9.1/rubygems/config_file.rb:53: \ warning: already initialized constant SYSTEM_WIDE_CONFIG_FILE |
Jeremy Kemper from the Rails core team pointed out that this is not a Rails problem, but a RubyGems issue. Ruby 1.9 ships with an outdated RubyGems … like 1.9.1p378 ships with RubyGems 1.3.1. I did update RubyGems to Version 1.3.5 by
sudo gem update --system |
but this resulted in some duplicated rubygem files, which cause the error.
So how can the problem be solved? Deleting and reinstalling Ruby 1.9.1 does not have any effect … but the solution is quite simple:
1. Be sure that you do NOT install RubyGems 1.3.5 separately after the installation of Ruby 1.9.1 – this would result in a double installation. So have that in mind when following the excellent instructions to installing Ruby, RubyGems, and Rails on Snow Leopard of Dan Benjamin.
2. If you already installed Ruby 1.9.1, updated to RubyGems 1.3.5 and bundler 0.9.4 and also installed Rails 3.0, the only thing you have to do is:
sudo gem uninstall rubygems-update |
That’s it. No errors any more!
1. You may start with Dan Benjamin’s recipe and modify it so you download, make and install the ruby-1.9.1-p378.tar.gz but NOT the rubygems-1.3.5.tgz.
2. Then update RubyGems with the command
sudo gem update --system |
3. Ensure that the rake and the sqlite3-ruby gems are installed, too.
4. Now install the needed gems and rails –pre as described in the Rails 3.0 beta release notes
5. After the successful installation of Rails 3.0 beta, you now have to do the vitally important step:
sudo gem uninstall rubygems-update |
6. Finally check, if any gem needs an update before diving into Rails 3.0 by
sudo gem update |
Hope this helps … and saves some time. Thx Andy for the hint
This is the day: Apple will start their press event at the Yerba Buena Center for the Arts Theater in San Francisco. At 10:00 am PST or 07:00 pm MEZ.
Like the legendary Steve Jobs Keynotes in the past, it is quite a tradition that some journalists blog live from the event … so Apple fans all over the planet can take part on the press conference. Here are the most important liveblogs:
As soon as the videorecording of the event is online as a Quicktime videostream … there’ll be an update
Apple invited the press to their “Come see our latest creation” event in San Francisco on January 27th. And the computer and e-book industry starts trembling with fear: Companies like Microsoft and Amazon are getting really nervous, because Apple may conquer the emerging market of Active Content.
Apple did not announce that the company will be engaged in the e-book or tablet-market – but the rumors about an “iSlate” or “iPad” are quite persistent. Therefore Microsoft’s Steve Ballmer tried to steal Apple the show at his keynote at the CES in Las Vegas: He just renamed the tablet-PCs on stage as “slate-PCs” … but it’s not about a name.

Kindle Development Kit (picture: Amazon)
Amazon is probably in a better starting position in the battle for market shares in the emerging market of Active Content: They have a lot of experience with content distribution with the Kindle and they are in direct contact with the publishers … but Apple has the ability to rouse the e-book-market from slumber by innovation. They may transfer the pathetic e-books into a new and emerging market: Active Content.
There are a lot of advantages for Apple to tip the scales:
Amazon’s move to open up the Kindle to 3rd party developers and create a platform for Active Content is absolutely right … but can it compete with Apples offering? On January 27th 2010 we’ll know much, much more.