diff --git a/2016/ruby/day_22.rb b/2016/ruby/day_22.rb
new file mode 100644
index 0000000..a7ef7db
--- /dev/null
+++ b/2016/ruby/day_22.rb
@@ -0,0 +1,10 @@
+Node = Struct.new(*%i[x y size used avail use])
+
+nodes = ARGF
+ .read
+ .scan(%r|/dev/grid/node-x(\d+)-y(\d+)\s+(\d+)T\s+(\d+)T\s+(\d+)T\s*(\d+)%|)
+ .map {|match| Node.new(*match.map(&:to_i)) }
+
+p nodes.permutation(2).count {|a,b|
+ a.used != 0 && a.used <= b.avail
+}