begin
  require "dl/win32"
rescue LoadError
  require "Win32API"
end

def alert(wnd, text, caption, mode=0)
  msgbox = Win32API.new("user32", "MessageBox", %w(p p p i), "i")
  msgbox.call(wnd, text, caption, mode)
end

if $0 == __FILE__
  class Numeric
    def seconds
      self
    end
    alias_method :second, :seconds

    def minutes
      self * 60
    end
    alias_method :minute, :minutes

    def hours
      self * 60.minutes
    end
    alias_method :hour, :hours
  end

  interval = eval(ARGV[0])

  loop do
    sleep interval
    alert(0, "/ _ / X < Have a break!", "X| _ |X")
  end
end

ruby d:/sketch/ruby/alert.rb 1.hour みたいなかんじで。