Skip to content

Instantly share code, notes, and snippets.

@MadaraUchiha
MadaraUchiha / twi.css
Created January 15, 2024 16:38
Wandering Inn Stylus
@font-face {
font-family: 'Bookerly';
src: url('https://rawcdn.githack.com/skotzko/oldblog/c34be5396747ab36b352ec48b964e3e8548d5e37/scss/fonts/bookerly/Bookerly-Regular.eot'); /* IE9 Compat Modes */
src: url('https://rawcdn.githack.com/skotzko/oldblog/c34be5396747ab36b352ec48b964e3e8548d5e37/scss/fonts/bookerly/Bookerly-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('https://rawcdn.githack.com/skotzko/oldblog/c34be5396747ab36b352ec48b964e3e8548d5e37/scss/fonts/bookerly/Bookerly-Regular.woff') format('woff'), /* Pretty Modern Browsers */
url('https://rawcdn.githack.com/skotzko/oldblog/c34be5396747ab36b352ec48b964e3e8548d5e37/scss/fonts/bookerly/Bookerly-Regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('https://rawcdn.githack.com/skotzko/oldblog/c34be5396747ab36b352ec48b964e3e8548d5e37/scss/fonts/bookerly/Bookerly-Regular.svg#svgFontName') format('svg'); /* Legacy iOS */
font-weight: normal;
font-style: normal;
}
class ThingFactory {
constructor(private readonly service1: Service1, private readonly service2: Service2) {}
make<T extends OtherThing_1 | OtherThing_2>(arg: T) { // no need to declare return value. If you want to, it's T
// use this.service1 and this.service2 here
return arg;
}
}
const factory = new ThingFactory(service1, service2);
@MadaraUchiha
MadaraUchiha / github-markdown-linkify.user.js
Created June 10, 2020 13:40
Add mentions to markdown in GitHub
// ==UserScript==
// @name Linkify Markdown Mentions - github.com
// @namespace Violentmonkey Scripts
// @match https://github.com/*
// @grant none
// @version 1.0
// @author Madara Uchiha
// @description 6/10/2020, 4:29:55 PM
// ==/UserScript==
- or | = wall
X = door
L = trap
---
|L|L...
X X X
|L|L|
| | |
|L|L|
X X X
type CartItem = string // placeholder for a more complicated type
type EmptyState = NoItems // don't use empty list! We want to
// force clients to handle this as a
// separate case. E.g. "you have no
// items in your cart"
type ActiveState = { UnpaidItems : CartItem list; }
type PaidForState = { PaidItems : CartItem list;
Payment : decimal}
Version: 1
Name: 2020-05-12
Mods:
- Id: brrainz.harmony
Name: Harmony
- Id: automatic.startupimpact
Name: Startup impact
- Id: ludeon.rimworld
Name: Core
- Id: ludeon.rimworld.royalty
module PrisonersNeedRecruiting
open Verse
open RimWorld
let inline (!>) (x: ^a): ^b =
((^a or ^b): (static member op_Implicit: ^a -> ^b) x)
type MouseEvent =
| RightClick
module PrisonersNeedRecruiting
open Verse
open RimWorld
open System
let translate (key: string) = key.TranslateSimple()
let inline (!>) (x:^a) : ^b = ((^a or ^b) : (static member op_Implicit : ^a -> ^b) x)
type ComparablePawn(pawn: Pawn) =
public IEnumerable<Instruction> Transpiler(IEnumerable<Instruction> codes)
{
var state = TranspilerState.Initial;
foreach (var code of codes)
{
switch (state)
{
case TranspilerState.Initial:
if (SomeCondition(code))
{
class Producer {
start(consumer) {
consumer.start(this);
this.counter = 0;
this.handler = setInterval(() => consumer.data(this.counter++), 1000);
}
stop() {
clearInterval(this.handler);
}