% ruby -I../lib tiny_drb.rb
% irb -r drb
irb(main):001:0> ro = DRbObject.new_with_uri('druby://localhost:12345')
irb(main):002:0> ro.hello(1, 2.0, "3")
=> ["hello", [1, 2.0, "3"]]
| rate = 210 | |
| while line = gets | |
| line.chomp! | |
| puts | |
| if line.empty? | |
| sleep(0.7) | |
| next | |
| end | |
| puts(line) | |
| IO.popen("say -r #{rate}", "w") do |say| |
| module Enumerable | |
| def product_enum(*other) | |
| return to_enum(__method__, *other) unless block_given? | |
| if other.empty? | |
| each {|x| yield([x])} | |
| else | |
| car, *cdr = other | |
| each do |x| | |
| car.rewind | |
| car.product_enum(*cdr) {|y| yield([x] + y)} |
| module GPIO | |
| module_function | |
| def export(n, dir) | |
| File.open("/sys/class/gpio/export", "w") do |fp| | |
| fp.write(n.to_s) | |
| end | |
| sleep 0.1 | |
| File.open("/sys/class/gpio/gpio#{n}/direction", "w") do |fp| | |
| fp.write(dir) |
| #!/bin/sh | |
| echo timer > /sys/class/leds/led0/trigger | |
| echo 250 > /sys/class/leds/led0/delay_on | |
| echo 125 > /sys/class/leds/led0/delay_off |
| ATTRS{idVendor}=="0781", ATTRS{serial}=="200607753009D74236F6", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/home/pi/ledh.sh" | |
| ATTRS{idVendor}=="0781", ATTRS{serial}=="200607753009D74236F6", SUBSYSTEMS=="usb", ACTION=="remove", RUN+="/home/pi/ledx.sh" |
| #!/usr/bin/ruby | |
| File.write("/sys/class/leds/led0/trigger", "heartbeat") | |
| File.write("/tmp/haltkey", Time.now.to_s) |
| #!/usr/bin/ruby | |
| footprint = File.mtime("/tmp/haltkey") rescue Time.at(1) | |
| if Time.now - footprint < 10 | |
| File.write("/sys/class/leds/led0/trigger", "timer") | |
| File.write("/sys/class/leds/led0/delay_on", "250") | |
| File.write("/sys/class/leds/led0/delay_off", "125") | |
| system("/sbin/halt") | |
| else | |
| File.write("/sys/class/leds/led0/trigger", "mmc0") | |
| end |
| # -*- coding: utf-8 -*- | |
| require 'socket' | |
| require 'fiber' | |
| module Bartender | |
| class App | |
| def initialize | |
| @input = {} | |
| @output = {} | |
| end |
| module OnGC | |
| module_function | |
| def on_gc(&blk) | |
| ObjectSpace.define_finalizer(Object.new, &blk) | |
| end | |
| end |