Ruby Day 1 – Seven Languages in Seven Weeks

My friend Timo recommended the book “Seven Languages in Seven Weeks” to me a couple of months ago. During my parental leave I’ve finally found time to read -and more important-  code the exercises.

The first language is Ruby. Ruby is object-oriented, dynamically and strongly typed. It supports duck typing and is a good fit for developing DSLs.

Mac OS X comes with Ruby 2.0.0-p648 preinstalled. A bit rusty but should work for the books content. The interactive console can be invoked with the command

$ irb
irb(main):001:0>

Exercises

The famous Hello World is pretty simple:

puts 'Hello World!'

A loop can be constructed with while:

x = 0
while x < 10
  x = x + 1
  puts "This is sentence number #{x}"
end

For string extrapolation you have to use the double quotes.

Ruby has some nice string methods e.g. getting index of character sequences:

hello_ruby = "Hello Ruby!"
puts hello_ruby.index("Ruby")

A simple guessing game looks like this:

while true
  random_number = rand(10)
  puts "Guess the number!"
  while true
    guess = gets().to_i
    puts "Too low" if guess < random_number
    puts "too high" if guess > random_number
    if guess == random_number
      puts "Correct!"
      break
    end
  end
end

Time Machine mit ReadyNAS Duo

Um mit Apples Time Machine Backups auf einem NAS / Netzlaufwerk machen zu können, musst Du im
Terminal folgende Zeile eingeben:
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Dann noch schnell mit folgender Anleitung die Firmware vom ReadyNAS aktualisieren und das System für Time Machine konfigurieren:
Easy Time Machine Setup with the ReadyNAS

Mac OS X und Java – Erkenntnis des Tages 2010-08-15

Apple und Java ist wohl so ein Thema für sich. Während man bei Windows ja brav sein SDK selber runterladen und installieren muss, bringt Mac OS X schon eine Java-Version mit.

Doch das Gegenteil von gut ist gut gemeint.
Kommt ein Update von Java heraus, (z.B. von 5 auf 6) findet man es nicht über die Softwareaktualisierung 🙁

Was nun folgt, ist leider aufwendiger als unter Windows:
1. Herausfinden, welches Update ich brauche
2. Runterladen des Updates von Apple
3. Ändern der default Java-Version

zu 1.
Bei muchsoft
findet man eine Übersicht der passenden Java-Versionen. Ich benutze 10.5.8 (Leopard) und hätte gerne die aktuellste Version von Java 6: das ist in diesem Fall dann 1.6.0_20

zu 2.
Apple bezeichnet das als Java for Mac OS X 10.5 Update 7
Also fix herunterladen und installieren.

zu 3.
Nun muss man nur noch unter Programme/Dienstprogramme die App Java-Einstellungen öffnen unter durch ziehen des Listeneintrags die Version 6 nach oben bringen.
Dann zeigt auch ein java -version auf der Konsole die aktuelle Version 1.6.0_20 an.
Voila!