Skip to content

Instantly share code, notes, and snippets.

View amorphobia's full-sized avatar
🏠
Working from home

Xuesong amorphobia

🏠
Working from home
View GitHub Profile
@amorphobia
amorphobia / append.swift
Created May 31, 2019 02:18
Swift: Append an element to an array which is a value of a dictionary, creating a new array if needed
var dict = [1: [11, 13, 15], 2: [23, 24]]
dict[3, default: []].append(39)
@amorphobia
amorphobia / chinese_lunar.ics
Last active January 2, 2020 05:46
Chinese lunar calencar
BEGIN:VCALENDAR
PRODID:-//Chen Wei//Chinese Lunar Calendar//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:农历
X-WR-TIMEZONE:Asia/Shanghai
X-WR-CALDESC:中国农历2017-2023, 包括节气.
BEGIN:VEVENT
DTSTAMP:20200102T054544Z
@amorphobia
amorphobia / flow.tex
Created April 26, 2020 05:50
TiKZ code for the first pic in the thread https://www.v2ex.com/t/665886
\documentclass[preview]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{arrows}
\tikzset{default/.style={draw,inner sep=10pt}}
\tikzset{else master/.style={draw=gray!60,inner sep=10pt}}
\tikzset{feature/.style={draw,inner sep=10pt,fill=gray}}
\tikzset{master/.style={draw,inner sep=10pt,fill=blue!20}}
\tikzset{rect/.style={rectangle,minimum height=25pt,minimum width=60pt}}
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
var FindProxyForURL = function(init, profiles) {
return function(url, host) {
"use strict";
var result = init, scheme = url.substr(0, url.indexOf(":"));
do {
result = profiles[result];
if (typeof result === "function") result = result(url, host, scheme);
} while (typeof result !== "string" || result.charCodeAt(0) === 43);
return result;
};
@amorphobia
amorphobia / postfix_parser.py
Last active April 3, 2022 06:21
龙书图2-27例程的 Rust 移植版本
import readchar
class Parser:
def __init__(self):
self.lookahead = readchar.readchar()
def expr(self):
self.term()
while True:
if self.lookahead == b'+':
use crate::lexer::Lexer;
pub mod token {
pub mod tag {
#[derive(Clone, Copy, Debug)]
pub enum Tag {
Char(u8),
Num,
Id,
True,
@amorphobia
amorphobia / .profile.ps1
Created April 6, 2022 07:19
PowerShell Profile Script
Set-PSReadlineKeyHandler -Chord Ctrl+d -Function DeleteCharOrExit
Import-Module posh-git
Import-Module scoop-completion
Import-Module posh-cargo
$GitPromptSettings.DefaultPromptPrefix.Text = '$(Get-Date -f "yyyy-MM-dd HH:mm:ss") '
$GitPromptSettings.DefaultPromptPrefix.ForegroundColor = [ConsoleColor]::Magenta
$GitPromptSettings.DefaultPromptAbbreviateHomeDirectory = $true
$GitPromptSettings.DefaultPromptBeforeSuffix.Text = '`n'
@amorphobia
amorphobia / hjkl.ahk
Created May 6, 2020 07:50
An AutoHotKey script enables space + h/j/k/l to send arrows and more
; Original script xlr-space.ahk (https://sspai.com/post/57157)
; Modified by amorphobia (https://github.com/amorphobia)
; Space
Space::Send {Space}
^Space::Send ^{Space}
#Space::Send #{Space}
^#Space::Send ^#{Space}
!Space::Send !{Space}