Skip to content

Instantly share code, notes, and snippets.

@lontivero
lontivero / Wasabito.md
Last active Aug 12, 2022
How to bring privacy to everyone
View Wasabito.md

Note: not too long ago I shared a harsher version of this same content with the zkSNACKs internal staff. That document was for the team and for that reason a harsh language was okay but sadly for that same reason it is not publishable so, here I want to share the core ideas expressed at that time.


I've commented many times to different people inside as well as outside zkSNACKs how my vision about what Wasabi should be is quite different than the official one but I think I have never explained what that vision is and what that implies in practical/technical terms so, here I go.

@lontivero
lontivero / ShamirSecretSharing.fsx
Created Jul 4, 2022
A toy Shamir Secret Sharing implementation in F#
View ShamirSecretSharing.fsx
open System
let inline (mod) n d=
((n % d) + d) % d
let order = 39367
let finiteField x = x mod order
let rec pow b e =
match e with
@lontivero
lontivero / Text.md
Last active Jun 14, 2022
A response to nothingmuch
View Text.md

A response to @nothingmuch

This is an unathorized and not solicited response to the short, but rather strong, tweets from @nothingmuch about the very-soon-comming Wasabi Wallet 2.0 release.

I feel the need to write here because @nothingmuch is the father of WabiSabi, the cryptographic protocol that makes Wasabi Wallet 2.0 new unequal-value outputs transactions possible, as well as the mind behind some critical components needed by the coinjoin implementation, and because, even though it could result in redundant to say, he's talented and a real expert in the field. Also, and this is the most important reason, i think, it's that even when it is evident he is not on good terms with the team, he is being honest in his concerns and then i cannot simply ignore what he says.

First, in my opinion tweets are good for saying what you want to say but are not very good for explaining

View efficient_reusable_taproot_addresses.md

Reusable taproot addresses

Abstract

This document proposes a new scheme to avoid address reuse while retaining some of the convenience of address reuse, keeping recoverability purely from Bitcoin time chain and avoiding visible fingerprint. The scheme has negligible average overhead.

Motivation

@lontivero
lontivero / dump-traffic.sh
Created Apr 20, 2022
How to dump the network traffic
View dump-traffic.sh
sudo tcpdump -i lo -s 65535 -w tcp-traffic
@lontivero
lontivero / readme.md
Created Apr 14, 2022 — forked from 573/readme.md
home-manager and related nix-configs
View readme.md

First and foremost the manual mentions it explicitly:

[Use] the standalone home-manager tool. For platforms other than NixOS (...), this is the only available choice. (...) See Section 1.1, “Standalone installation” for instructions (...)

https://grahamc.com/blog/erase-your-darlings
https://github.com/ryantm/home-manager-template
ico nix-store sqlite corruption NixOS/nix#1353
ico nix-store permission error NixOS/nix#4356
https://rgoswami.me/posts/local-nix-no-root/
https://dram.page/p/bootstrapping-nix/

@lontivero
lontivero / Intro.md
Last active Jan 24, 2022
Evaluating F# as future programming language
View Intro.md

The purpose of this document is keep track of my learning process while I learn F#.

Introduction

My first programming language was Basic, Sinclair BASIC first and GW-BASIC a few months later, then DBase III+, then Clipper Summer 87, then Clipper 5, Pascal 4.5, FoxPro, Microsoft Macro Assembler, C, C++, Delphi, Builder C++, Visual Basic, and many more until C#.

Nowadays there are thousands and thousands of programming languages but only a few concentrate the huge majority of programmers. However, something is clear: programming languages don't last forever or are not cool forever. Whoever

@lontivero
lontivero / effective-fsharp.md
Created Oct 22, 2021 — forked from swlaschin/effective-fsharp.md
Effective F#, tips and tricks
View effective-fsharp.md

Architecture

  • Use Onion architecture

    • Dependencies go inwards. That is, the Core domain doesn't know about outside layers
  • Use pipeline model to implement workflows/use-cases/stories

    • Business logic makes decisions
    • IO does storage with minimal logic
    • Keep Business logic and IO separate
  • Keep IO at edges

@lontivero
lontivero / README.md
Created Oct 18, 2021 — forked from jdutta/README.md
Useful tips and tricks
View README.md

Useful tips and tricks

@lontivero
lontivero / SSH Tips
Created Oct 18, 2021 — forked from mdemare/SSH Tips
Good SSH tips
View SSH Tips
1) COPY SSH KEYS TO USER@HOST TO ENABLE PASSWORD-LESS SSH LOGINS. (NOT ON MAC)
ssh-copy-id user@host
To generate the keys use the command ssh-keygen
2) START A TUNNEL FROM SOME MACHINE’S PORT 80 TO YOUR LOCAL POST 2001
ssh -N -L2001:localhost:80 somemachine