This file contains hidden or 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 |
This file contains hidden or 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 |
This file contains hidden or 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) |
This file contains hidden or 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 |
This file contains hidden or 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: |
This file contains hidden or 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 |
This file contains hidden or 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$; |
This file contains hidden or 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; |
This file contains hidden or 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; |
This file contains hidden or 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) | |