Skip to content

Instantly share code, notes, and snippets.

Installing Tailscale on GL.iNet SiFlower (SiChang) routers

I have no experience creating opkg packages for OpenWRT, so manual installation it is!

Automatic installation

It's not compressed as of writing this, but it's much easier to install, and now supports our architecture

Manual compilation and installation

Prerequisites

  1. A GL.iNet SiFlower router, like the Opal (GL-SFT1200)
@Phaiax
Phaiax / how-does-async-work-in-async-std.md
Last active July 17, 2023 10:56
Blog article: How does async work in async-std?

How does async work in async-std?

(Phaiax - 2019/12/1 - CC_BY_SA 4.0)

Lately I was porting a software from tokio/futures-1.0 to async-await. I somehow thought async-std was the successor of tokio and ported everything to async-std. 80% in, I noticed that my hyper dependency requires tokio and that it's not possible to replace tokio with async-std without also replacing hyper. Also, tokio and async-std try to solve the same problem. So I started a journey into the inners of the rust async story to find out if it is possible to use both tokio and async-std at the same time. (tl;dr: it is). I had heard of reactors and executors before, but there was much new stuff to discover.

@Jessidhia
Jessidhia / react-scheduler.md
Last active June 11, 2024 10:48
Implementation notes on react's scheduling model as of (shortly before) 16.8.0

Implementation notes on react's scheduling model as of (shortly before) 16.8.0

While the public API intended for users to use is the scheduler package, the reconciler currently does not use scheduler's priority classes internally.

ReactFiberScheduler has its own internal "mini-scheduler" that uses the scheduler package indirectly for its deadline-capable scheduleCallback.

This is kind of a documentation of implementation details that I suppose will be gone by the end of the year, but what can you do.

@JohnWeisz
JohnWeisz / assert.ts
Created January 29, 2017 11:06
TypeScript runtime checked type-assertion
export declare interface RuntimeAssert
{
any?: (value: any) => {
asNumber: () => number,
asArrayOfNumber: () => number[],
asString: () => string,
asArrayOfString: () => string[],
asBoolean: () => boolean,
asArrayOfBoolean: () => boolean[],
as: <T>(ctor: new (...args: any[]) => T) => T,
@itod
itod / split_keyboards.md
Last active September 23, 2025 07:22
Every "split" mechanical keyboard currently being sold that I know of
@Icelandjack
Icelandjack / Constraints.org
Last active May 28, 2025 21:28
Type Classes and Constraints

Reddit discussion.

Disclaimer 1: Type classes are great but they are not the right tool for every job. Enjoy some balance and balance to your balance.

Disclaimer 2: I should tidy this up but probably won’t.

Disclaimer 3: Yeah called it, better to be realistic.

Type classes are a language of their own, this is an attempt to document features and give a name to them.

@Termalteck
Termalteck / skins.md
Last active April 19, 2018 17:46
Termalteck skin compilation

Termalteck skin compilation

[RU]

Здесь вы можете скачать все скины которые я использую. Для того чтобы скачать скин, нажмите на картинку или название скина. Чтобы установить скин просто запустите его, Osu! сама все сделает за вас! gl! ;)

[EN]

Here you can download all the skins that I use. To download a skin, click on the image or the name of the skin. To install the skin simply run it, Osu! I will do everything for you! gl! ;)


@starwing
starwing / timer.lua
Created November 18, 2015 08:56
A pure Lua timer implement for LuaJIT
local sleep, get_time
local math_floor = math.floor
if not jit then -- not LuaJIT?
return require "timer.c"
elseif jit.os == "Windows" then
local ffi = require "ffi"
ffi.cdef [[
void __stdcall Sleep(unsigned dwMilliseconds);
unsigned __stdcall GetTickCount(void);
@vratiu
vratiu / .bash_aliases
Last active January 27, 2026 09:02
Git shell coloring
# Customize BASH PS1 prompt to show current GIT repository and branch.
# by Mike Stewart - http://MediaDoneRight.com
# SETUP CONSTANTS
# Bunch-o-predefined colors. Makes reading code easier than escape sequences.
# I don't remember where I found this. o_O
# Reset
Color_Off="\[\033[0m\]" # Text Reset