Skip to content

Instantly share code, notes, and snippets.


Hugo hugo-dc

View GitHub Profile
staltz /
Last active Feb 28, 2021
The introduction to Reactive Programming you've been missing
mikehaertl / gist:3258427
Created Aug 4, 2012
Learn you a Haskell - In a nutshell
View gist:3258427

Learn you a Haskell - In a nutshell

This is a summary of the "Learn You A Haskell" online book under

1. Introduction

  • Haskell is a functional programming language.
ghoseb / ns-cheatsheet.clj
Last active Feb 11, 2021 — forked from alandipert/ns-cheatsheet.clj
Clojure ns syntax cheat-sheet
View ns-cheatsheet.clj
;; * :require makes functions available with a namespace prefix
;; and optionally can refer functions to the current ns.
;; * :import refers Java classes to the current namespace.
;; * :refer-clojure affects availability of built-in (clojure.core)
;; functions.
bishboria /
Last active Feb 7, 2021
Springer made a bunch of books available for free, these were the direct links
artjomb /
Last active Feb 4, 2021
List of Pairing Libraries

Pairings can be used for all kinds of advanced cryptographic schemes such as Encryption (Identity-based, Attribute-based, Predicate-based, etc.), Signatures, Zero-Knowledge Proofs, etc. It is in no particular order.


Provides multiple types of Elliptic Curve groups with appropriate pairings on top of them. Code repository resides here.

License: LGPL
Language: C
Thesis: On the Implementation of Pairing-Based Cryptography by Ben Lynn (2007)

nrrrdcore / bending-shadow.css
Last active Jan 11, 2021
Simple Bended-Shadow CSS: Create the Bended Photo Effect without writing a million divs.
View bending-shadow.css
.bended-shadow {
position: relative;
width: 500px;
margin: 200px auto;
.bended-shadow::before, .bended-shadow::after {
content: '';
position: absolute;
width: 60%;

Google Text to Speech API

Base URL:
It converts written words into audio. It accepts GET requests.


The query string to convert to audio

Translation language, for example, ar for Arabic, or en-us for English

axic / ecverify.sol
Last active Nov 19, 2020
Ethereum ECVerify
View ecverify.sol
// The new assembly support in Solidity makes writing helpers easy.
// Many have complained how complex it is to use `ecrecover`, especially in conjunction
// with the `eth_sign` RPC call. Here is a helper, which makes that a matter of a single call.
// Sample input parameters:
// (with v=0)
// "0x47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad",
// "0xaca7da997ad177f040240cdccf6905b71ab16b74434388c3a72f34fd25d6439346b2bac274ff29b48b3ea6e2d04c1336eaceafda3c53ab483fc3ff12fac3ebf200",
// "0x0e5cb767cce09a7f3ca594df118aa519be5e2b5a"
dvdsgl / Monads for a C#
Last active Nov 12, 2020
Monads explained (sort of) to a C# developer
View Monads for a C#

A monad is a fancy word for a generic type of the form MyMonad<T> (a generic type of arity 1).

A monad is special because it adds 'special powers' to the T that it wraps. These 'special powers' won't sound very special to an imperative programmer, so you have to squint to see them but bear with me.

  • IEnumerable<T> is a monad that gives values of type T the special power of nondeterminism, or the ability to 'be' multiple values at once.
  • Nullable<T> is a monad that gives values of type T the special power of nullability, or the ability to be absent.
  • Task<T> is a monad that gives values of type T the special power of asynchronicity, or the ability to be used before they are computed.

The trick with monads comes when you want to play with the T values, because they are inside another type. C# introduced language changes to make dealing with values inside these monads easier:

jasonrudolph /
Last active Oct 27, 2020
Programming Achievements: How to Level Up as a Developer