Skip to content

Instantly share code, notes, and snippets.

View jooray's full-sized avatar

Juraj Bednar jooray

View GitHub Profile
@jooray
jooray / keybase.md
Created August 14, 2014 12:37
keybase.md

Keybase proof

I hereby claim:

  • I am jooray on github.
  • I am jurajbednar (https://keybase.io/jurajbednar) on keybase.
  • I have a public key whose fingerprint is 3529 61E1 BF53 DA48 B2D1 8B77 4D35 0309 AEE2 FB70

To claim this, I am signing this object:

@jooray
jooray / .htaccess
Last active February 19, 2018 09:51 — forked from Zodiac1978/.htaccess
Safer WordPress with these .htaccess additions
# Don't show errors which contain full path diclosure (FPD)
# Use that line only if PHP is installed as a module and not per CGI
# try using a php.ini in that case.
# Change mod_php5.c to mod_php7.c if you are running PHP7
<IfModule mod_php5.c>
php_flag display_errors Off
php_value session.cookie_httponly 1
php_value session.cookie_secure 1
</IfModule>
@jooray
jooray / export.xml
Created January 21, 2019 22:03
Export jekyll as RSS, remove newlines in the full text to allow importing in wordpress. Put into pages/export.xml and regenerate your jekyll site
---
layout: null
---
{%- capture newline %}
{% endcapture -%}
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>{{ site.title | xml_escape }}</title>
<description>{{ site.description | xml_escape }}</description>
@jooray
jooray / secure-wordpress.conf
Created January 23, 2019 10:07
Securing wordpress in nginx
location ~ ^/wp-admin/includes/ {
return 403;
}
location ~ ^/wp-includes/[^/]+\.php$ {
return 403;
}
location ~ ^/wp-includes/js/tinymce/langs/.+\.php {
return 403;
@jooray
jooray / vCard_photo_extractor.sh
Last active May 6, 2019 05:59
vCard photo extractor
#!/bin/bash
# originally from
# https://raw.githubusercontent.com/mattbrock/mattbrock/master/vCard_photo_extractor/vCard_photo_extractor.sh
# changes:
# - made to work with macOS's base64 (uses -D not -d)
# - does not convert to fixed resolution
# - uses identify to remove invalid images
# - handles special characters better
@jooray
jooray / transcribe.sh
Last active July 25, 2019 17:55 — forked from mmmaly/transcribe.sh
Call Google speech recognize
#!/bin/bash
# How to set it up:
# Create a project in Google Cloud admin console
# Install google cloud sdk (you need gcloud and gsutil commands)
# Install ffmpeg and jq
# Run gcloud init, login, answer the questions
# Under the project you created, create a globally unique bucket
# here: https://console.cloud.google.com/storage/browser
# set the name of the globally unique bucket name prefixed by gs://
# here
@jooray
jooray / # systemd - 2019-12-25_23-29-48.txt
Created December 25, 2019 22:34
systemd on 4.18.0-80.11.2.el8_0.x86_64 - Homebrew build logs
Homebrew build logs for systemd on 4.18.0-80.11.2.el8_0.x86_64
Build date: 2019-12-25 23:29:48
@jooray
jooray / optimize-images.sh
Last active January 3, 2020 21:59
optimize images
#!/bin/bash
dirs=( "/home/web1" "/home/web2" )
# run without "-mtime -3" for the first time, then put into cron
find "${dirs[@]}" -mtime -3 -name \*.png -exec optipng -preserve {} \;
find "${dirs[@]}" -mtime -3 \( -name \*.jpg -or -name \*.jpeg \) -exec jpegoptim {} \;
@jooray
jooray / keys.pub auth
Created May 11, 2020 10:04
keys.pub auth
BEGIN MESSAGE.
WlbNxS5zYPMlZD2 luUjoVuqpehn4lu 7GOTkpFbxN8l2iK arNa57hbs0SHERZ
MEgsd7ug647Bxrs 8veqIOcLcoNTCKq 6Xr2MZHgg6NbhWm k2yIIcYZHQ397Ru
TdUBTc5LFCf5oT9 iMZxgjEMKocEulm EeILzZyKntDUlgG 90S1g2SNoR0tuL5
27EIx4aprCwBQgM vBbYtCMq0PJip8a BT1QA21.
END MESSAGE.

Proof of concept DLC channels

DLC channels combine the ideas of Discreet Log Contracts and bidirectional payment channels (without the Lightning network) on top of Bitcoin Lightning Network. It is one of the first settlement implementation of Debnk protocol.

We believe that DLC channels can be also implemented on top of Elements/Liquid, but probably without confidential transactions. (TODO: Verify)

Discreet log contracts

Discreet log contracts are simple contracts that use on-chain multisig capability. Let's say that Alice and Bob want to enter an (inverse) perpetual swap contract based on the price of Bitcoin in USD. Alice goes long 1000 USD, Bob goes short 1000 USD. They both post some collateral (let's say 0.05 BTC each). The price of Bitcoin is 8000 USD at the time of the opening of the contract. The contract expires and the funds are distributed based on the price of Bitcoin on Friday noon.