[Rust] is a novel systems programming language, designed for writing and maintaining large-scale, ultra-reliable software in the domains where typically only C and C++ are appropriate. It is the only production programming language in the world that is memory safe - meaning Rust software does not segfault - but does not have a garbage collector or rely on reference counting, and that makes it suitable for writing all kinds of software. It is also arguably the fastest programming language in the world. And with a focus on developer
Edit: This list is now maintained in the rust-anthology repo.
ASCI art characters for creating diagrams
- ASCII code 191 = ┐ ( Box drawing character single line upper right corner )
- ASCII code 192 = └ ( Box drawing character single line lower left corner )
- ASCII code 193 = ┴ ( Box drawing character single line horizontal and up )
- ASCII code 194 = ┬ ( Box drawing character single line horizontal down )
import 'dart:convert'; | |
import 'dart:typed_data'; | |
import "package:pointycastle/export.dart"; | |
import "./convert_helper.dart"; | |
// AES key size | |
const KEY_SIZE = 32; // 32 byte key for AES-256 | |
const ITERATION_COUNT = 1000; |
Source : https://github.com/shiena/ansicolor/blob/master/README.md
Ansicolor library provides color console in Windows as ANSICON for Golang.
import 'dart:async'; | |
import 'dart:convert'; | |
import 'dart:io' as io; | |
/// Reads a single line from [stdin] asynchronously. | |
Future<String> readLine() async { | |
final c = Completer<String>(); // completer | |
final l = io.stdin // stdin | |
.transform(utf8.decoder) // decode | |
.transform(const LineSplitter()) // split line |
[ | |
"ed1d0e1f743a7d19aa2dfb0162df73bacdbc699f67cc55bb91a98c35f7deac69", | |
"fd3fdb0d0d8d6f9a7667b53211de8ae3c5246b79bdaf64ebac849d5148b5615f", | |
"e668a111aa647e63ef587c17fb0e2513d5c2859cd8d389563c7640ffea1fc216", | |
"1bbb8324577ac089607e45813bac499ebdab4621d029f8c02b2c82b4410fd3f4", | |
"51535ad9f0e13a810f73ea8829a79b3733bd1fffb767c4885990b02f59103a13", | |
"2508ed2c2ab3f6728a880fafbc0895a2afeacbb74eb69847255fb60564af0d85", | |
"3707f1efc7515524dce41d3bf50bfd9fdaed3494620b5f94fcf16d2766da4ec2", | |
"dbab9040bc1f0c436b0f92f517702498358edc1fde2c7884d0e1036c739d44f3", | |
"ad5aab5be883a571ea37b231cd996d37522e77d0f121cedfd6787b91d848268e", |
The goal of this protocol is for Bob to get Alice to perform a Diffie-Hellman key exchange blindly, such that when the unblinded value is returned, Alice recognizes it as her own, but can’t distinguish it from others (i.e. similar to a blind signature).
Alice:
A = a*G
return A
Bob:
Y = hash_to_curve(secret_message)
r = random blinding factor
These are the steps I took to install and run a nostr relay on a new server.
First, you'll need the server, this tutorial is using the most basic server Hetzner provides (CX11 - €4.15/mo), you don't need much. If you don't know where to get your server from and decide to go with Hetzner, consider using my affiliate link: https://hetzner.cloud/?ref=4FZql6rUwaeQ
Once you have your server running, log into it via SSH. I'm on a MacOS, so I'll use Terminal as my command line tool. open a new Terminal window and paste the following commands: