Skip to content

Instantly share code, notes, and snippets.

Avatar
🚀

Thomas Hollstegge Tho85

🚀
View GitHub Profile
View test.rb
require 'pry'
class FooBar
def hello
puts "world!"
end
end
puts Pry::WrappedModule.new(FooBar).source
# => "class FooBar\n def hello\n puts \"world!\"\n end\nend\n"
View Encbox.md

Build your own private, encrypted, open-source Dropbox-esque sync folder

Prerequisites:

  • One or more clients running a UNIX-like OS. Examples are given for Ubuntu 12.04 LTS, although all software components are available for other platforms as well (e.g. OS X). YMMV
  • A cheap Ubuntu 12.04 VPS with storage. I recommend Backupsy, they offer 250GB storage for $5/month. Ask Google for coupon codes.

Software components used:

  • Unison for file synchronization
  • EncFS for folder encryption
View deploy.rb
# Start SSH session on first available server
task :ssh do
hostname = find_servers_for_task(current_task).first
exec %Q|ssh -l #{user} #{hostname} -t '#{default_shell}'|
end
# Start Rails console on first available server
namespace :rails do
task :console, :roles => :app do
hostname = find_servers_for_task(current_task).first
View json_parse.rb
require 'json'
require 'json/generic_object'
JSON.parse '{"json_class":"JSON::GenericObject", "foo":"bar"}'
# => #<JSON::GenericObject foo="bar">
View Markdown.Converter.js
var Markdown;
if (typeof exports === "object" && typeof require === "function") // we're in a CommonJS (e.g. Node.js) module
Markdown = exports;
else
Markdown = {};
// The following text is included for historical reasons, but should
// be taken with a pinch of salt; it's not all true anymore.
View fill.rb
def fill(&block)
block.call.gsub(/:(\w+)/) { |match| block.binding.eval "(local_variables.include? :#{$1}) ? #{$1} : raise" rescue match }
end
foo = "Hello"
bar = "World"
fill { ":foo :bar :system :exit!" }
# => "Hello world :system :exit!"
@Tho85
Tho85 / Gemfile
Created May 20, 2011
libvncclient-ruby-test
View Gemfile
gem 'libvncclient-ruby', :require => 'libvnc', :git => 'git@github.com:zweitag/libvncclient-ruby.git'
View all_utf8_chars_in_file.rb
require "set"
def all_chars_in_file(file)
all_chars = Set.new
File.open(file).each_line do |line|
line.chars.inject(all_chars) { |s,c| s << c }
end
all_chars
end