View gist:4956808
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'json' | |
require 'bson' | |
require 'msgpack' | |
require 'benchmark' | |
#require 'ruby_protobuf' | |
test_hash = {'string' => 'test string', 'float' => 5} | |
json_results = Benchmark.measure do | |
100_000.times do |
View websocket_server.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
require 'celluloid/io' | |
require 'json' | |
require 'websocket' | |
class FileWriter | |
include Celluloid | |
def initialize |
View websocket_client.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
require 'celluloid/io' | |
require 'json' | |
require 'websocket' | |
class WebsocketClient | |
include Celluloid::IO | |
def initialize(host, port) |
View Rakefile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'rubygems' | |
require 'bundler' | |
Bundler.require | |
require './application' | |
namespace :assets do | |
desc 'compile assets' | |
task :compile => [:compile_js, :compile_css] do | |
end |
View test.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'rbnacl' | |
# Idea for storing an SSN (or CC#, or anything confidential) on a database, preventing an attacker from looking at it by hiding the private key on an offline machine. | |
# Private key would be generated somewhere other than the web application. | |
private_key = Crypto::PrivateKey.generate | |
# Given to a web application: |
View ssl.rb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'openssl' | |
public_key = OpenSSL::PKey::RSA.new(File.read('./public.pem')) | |
cipher = OpenSSL::Cipher::Cipher.new('aes-256-cbc') | |
cipher.encrypt | |
cipher.key = random_key = cipher.random_key | |
cipher.iv = random_iv = cipher.random_iv | |
encrypted_data = cipher.update('SSN number') | |
encrypted_data << cipher.final |
View gist:5696630
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# So, the idea here is to take USERNAME.neocities.org, and have it serve | |
# from /home/web/neocities/public/sites/USERNAME/REQUESTED_FILENAME | |
# When I try to use it, I get in error.log: | |
# invalid number of arguments in "try_files" directive in /etc/nginx/sites-enabled/neocities:5 | |
server { | |
root /home/web/neocities/public/sites; | |
server_name neocities.org www.neocities.org ~^(?<subdomain>.+)\.neocities.org$; |
View gist:5697330
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
server { | |
root /home/web/neocities-web/public; | |
server_name neocities.org www.neocities.org; | |
# location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { | |
# expires 60s; | |
# log_not_found off; | |
# } | |
try_files $uri @neocities; |
View gist:5906731
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ssl_ciphers ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH; |
View gist:5915757
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
```ruby | |
require 'fileutils' | |
require 'securerandom' | |
2_000_000.times do |site| | |
site_name = SecureRandom.hex[0...20] | |
puts site_name | |
Dir.mkdir File.join('./', 'sites', site_name) | |