Saturday 3 May 2014

Minecraft and turtles.

Today I learned you can buy(?) software that runs on virtual robots (called turtles ala Logo) that a Minecraft mod lets you craft.

I don't even need to look to know that someone is writing a version of Minecraft in Lua to run on a computer crafted in Minecraft.

The turtles can talk to each other, via an in game net or the real internet. I do so hope the singularity is triggered by a hivemind of virtual lumberjack robots.

Edit: Looks like 'premium' probably doesn't mean 'paid'. Unless they're doing the payment processing in Minecraft. I hope they are.

Wednesday 12 February 2014

rails - `autodetect': Could not find a JavaScript runtime.

I was following this guide:

To get rails and heroku working.

But when I got to:

$ rails generate controller welcome

I got an error:

/home/tims/.rvm/gems/ruby-2.1.0/gems/execjs-2.0.2/lib/execjs/runtimes.rb:51:in `autodetect': Could not find a
JavaScript runtime. See for a list of available runtimes.
from /home/tims/.rvm/gems/ruby-2.1.0/gems/execjs-2.0.2/lib/execjs.rb:5:in `'
from /home/tims/.rvm/gems/ruby-2.1.0/gems/execjs-2.0.2/lib/execjs.rb:4:in `'
from /home/tims/.rvm/gems/ruby-2.1.0/gems/uglifier-2.4.0/lib/uglifier.rb:3:in `require'
from /home/tims/.rvm/gems/ruby-2.1.0/gems/uglifier-2.4.0/lib/uglifier.rb:3:in `'
from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:76:in `require'
from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:72:in `each'
from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:72:in `block in require'
from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:61:in `each'
from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler/runtime.rb:61:in `require'
from /home/tims/.rvm/gems/ruby-2.1.0@global/gems/bundler-1.5.3/lib/bundler.rb:131:in `require'
from /home/tims/ruby/hsfeb/config/application.rb:7:in `'
from /home/tims/.rvm/gems/ruby-2.1.0/gems/railties-4.0.2/lib/rails/commands.rb:43:in `require'
from /home/tims/.rvm/gems/ruby-2.1.0/gems/railties-4.0.2/lib/rails/commands.rb:43:in `'
from bin/rails:4:in `require'
from bin/rails:4:in `

I fixed this by installing therubyracer gem:

gem install therubyracer

And then by uncommenting the therubyracer line in the project's Gemfile.

(Thanks to -
"Rails adds the therubyracer gem to Gemfile in a commented line for new apps and you can uncomment if you need it.")

Part 2

After starting the server and visiting / I got:

Started GET "/" for at 2014-02-12 23:50:54 +1000

PG::ConnectionBad (FATAL: Peer authentication failed for user "hsfeb"
activerecord (4.0.2) lib/active_record/connection_adapters/postgresql_adapter.rb:831:in `initialize'
activerecord (4.0.2) lib/active_record/connection_adapters/postgresql_adapter.rb:831:in `new'
activerecord (4.0.2) lib/active_record/connection_adapters/postgresql_adapter.rb:831:in `connect'

This was easily fixed by following the instructions for setting up postgres, later in the document.

I'm added
ruby "2.1.0"
to my Gemfile instead of 2.0.0.