Skip to content

Instantly share code, notes, and snippets.


Yo Lulkin joaomilho

  • Berlin, Germany
View GitHub Profile
morsdyce /
Last active Mar 7, 2019
Introduction to BDSM - ReactiveConf Lightning talk proposal

This is a proposal for a lightning talk at the Reactive 2016 conference.

🌟Star this gist if you want to see it on the conference.

Introduction to BDSM

Every day we work with multiple teams to build our products, communication and sync are key factors to deliver your product on time without compromising quality.

In this talk I will introduce BDSM a new mocking tool that will change the way you coordinate between client and server teams minimizing friction allowing each team to work at its own pace while keeping in sync.

SteveBenner / conditional-html-tags.rb
Last active Oct 18, 2019
Helper [tag] for generating one or more HTML tags inside IE conditional comments, in the style of HTML5 Boilerplate
View conditional-html-tags.rb
# This is a special tag helper that generates multiple HTML tags in the style of HTML5 Boilerplate,
# meaning each is placed within an IE conditional comment and has special classes applied to it.
# One tag is created for each version of Internet Explorer specified in the first argument.
# @see
# @note This helper requires a Slim block!
# @note The output of this helper must be HTML escaped!
# @param [Range] ie_versions A range of IE versions to generate code for, in which the
joaomilho / peano.ts
Created Nov 3, 2020
Fully typed arithmetics with TypeScript 😨
View peano.ts
type Nat = ["S", Nat] | ["Z"];
type Succ<N extends Nat> = ["S", N]
type S<N extends Nat> = Succ<N>
type Prev<N extends Nat> = N[1]
type Z = ["Z"]
type Zero = Z
type One = S<Z>
type Two = S<S<Z>>
joaomilho / log.ts
Last active Mar 20, 2021
A printf with dependant types in TypeScript, similar to Idris (
View log.ts
type FieldType<Field> =
's' extends Field ? string :
'f' extends Field ? number :
'i' extends Field ? number :
'd' extends Field ? number :
'o' extends Field ? HTMLElement :
'O' extends Field ? object :
'c' extends Field ? string :
coolaj86 /
Last active Apr 30, 2022
How to publish packages to NPM

Getting Started with NPM (as a developer)

If you haven't already set your NPM author info, now you should:

npm config set "Your Name"
npm config set ""
npm config set "https:/"

npm config set init.version "1.0.0"
hediet /
Last active May 14, 2022
Proof that TypeScript's Type System is Turing Complete
type StringBool = "true"|"false";

interface AnyNumber { prev?: any, isZero: StringBool };
interface PositiveNumber { prev: any, isZero: "false" };

type IsZero<TNumber extends AnyNumber> = TNumber["isZero"];
type Next<TNumber extends AnyNumber> = { prev: TNumber, isZero: "false" };
type Prev = TNumber["prev"];