Skip to content

Instantly share code, notes, and snippets.

Avatar

Piotr Włodarek qertoip

View GitHub Profile
@qertoip
qertoip / coinswap-design.md
Created May 28, 2020 — forked from chris-belcher/coinswap-design.md
Design for a CoinSwap Implementation for Massively Improving Bitcoin Privacy and Fungibility
View coinswap-design.md

Design for a CoinSwap Implementation for Massively Improving Bitcoin Privacy and Fungibility

Abstract

Imagine a future where a user Alice has bitcoins and wants to send them with maximal privacy, so she creates a special kind of transaction. For anyone looking at the blockchain her transaction appears completely normal with her coins seemingly going from address A to address B. But in reality her coins end up in address Z which is entirely unconnected to either A or B.

Now imagine another user, Carol, who isn't too bothered by privacy and sends her bitcoin using a regular wallet which exists today. But because Carol's transaction looks exactly the same as Alice's, anybody analyzing the blockchain must now deal with the possibility that Carol's transaction actually sent her coins to a totally unconnected address. So Carol's privacy is improved even though she didn't change her behaviour, and perhaps had never even heard of this software.

In a world where advertisers, social media and other companies

View CrashPlan systemd service config for Arch Linux
# Paste this into:
# /usr/lib/systemd/system/crashplan.service
#
# Then:
# sudo systemctl enable crashplan.service
# sudo systemctl start crashplan.service
[Unit]
Description=CrashPlan Backup Engine
After=network.target
@qertoip
qertoip / sliding_session_timeout.ex
Last active May 15, 2020
Elixir / Phoenix Sliding Session Timeout Plug
View sliding_session_timeout.ex
# How to use it:
#
# Plug it at the end of your :browser pipeline in your Phoenix app router.ex
# Make sure it is plugged before your session-based authentication and authorization Plugs.
#
# pipeline :browser do
# plug :accepts, ["html"]
# plug :fetch_session
# plug :fetch_flash
# plug :put_secure_browser_headers
View keybase.md

Keybase proof

I hereby claim:

  • I am qertoip on github.
  • I am qertoip (https://keybase.io/qertoip) on keybase.
  • I have a public key ASBxps1DESU43P5-ukxG8QBQAYVWzMGU8FJ-S4suIys3Fwo

To claim this, I am signing this object:

@qertoip
qertoip / rsa.rb
Created Jan 17, 2012
RSA - creating key pair, encrypting and decrypting helpers
View rsa.rb
# -*- encoding : utf-8 -*-
require 'openssl'
module RSA
def self.create_keys( priv = "rsa_key", pub = "#{priv}.pub", bits = 1024 )
private_key = OpenSSL::PKey::RSA.new( bits )
File.open( priv, "wb+" ) { |fp| fp << private_key.to_s }
File.open( pub, "wb+" ) { |fp| fp << private_key.public_key.to_s }
@qertoip
qertoip / string_19_performance_research.rb
Created Feb 15, 2011
Ruby 1.9.2-p136 String access bug
View string_19_performance_research.rb
# -*- encoding : utf-8 -*-
require 'benchmark'
#s1 = "aaaaaaaaać" * 2_00
#
#puts Benchmark.measure() {
# for i in 0..2_000_000 do
# c = s1[i]
# end
@qertoip
qertoip / clj.bat
Created Aug 1, 2010
clj.bat - dopracowany, uniwersalny wołacz clojura na Windows
View clj.bat
:: Setup:
::
:: 1. Change the constants to match your paths
:: 2. Put this clj.bat file on your PATH
::
:: Usage:
::
:: clj # Starts REPL
:: clj my_script.clj # Runs the script
:: clj my_script.clj arg1 arg2 # Runs the script with arguments
View idiomatyczny_import.clj
; Definicja przestrzeni nazw z importem funkcji Clojura i klas Javy
(ns qertoip
(:use
[clojure.contrib.io :only [to-byte-array]]
[clojure.contrib.java-utils :only [as-file]])
(:import
[java.io File FileOutputStream]))
; W poniższy sposób można zaimportować *.clj lub *.class wymienione z nazwy,
You can’t perform that action at this time.