Skip to content

Instantly share code, notes, and snippets.

On vacation

GuangGuang Guang1234567

On vacation
View GitHub Profile
Guang1234567 / findViewTreeViewModelStoreOwner.kt
Created Jan 4, 2023
findViewTreeViewModelStoreOwner findViewTreeLifecycleOwner findViewTreeSavedStateRegistryOwner
View findViewTreeViewModelStoreOwner.kt
private inline fun <reified VM : ViewModel> View.underViewMode(
savedStateDefaultArgs: Bundle? = null,
crossinline viewModelCreator: (
savedStateHandle: SavedStateHandle,
outerLifecycle: Lifecycle,
outerLifecycleScope: CoroutineScope
) -> VM,
block: VM.(
outerLifecycle: Lifecycle,
outerLifecycleScope: CoroutineScope
Guang1234567 / related_url.txt
Last active Dec 23, 2022
Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default option
View related_url.txt
Guang1234567 /
Created Jul 27, 2022 — forked from subfuzion/
vim/neovim configuration

I recently switched over to neovim (see my screenshots at the bottom). Below is my updated config file.

It's currently synchronized with my .vimrc config except for a block of neovim-specific terminal key mappings.

This is still a work in progress (everyone's own config is always a labor of love), but I'm already extremely pleased with how well this is working for me with neovim. While terminal mode isn't enough to make me stop using tmux, it is quite good and I like having it since it simplifies my documentation workflow for yanking terminal output to paste in a markdown buffer.

These days I primarily develop in Go. I'm super thrilled and grateful for fatih/vim-go,

Guang1234567 / trap.swift
Created Aug 25, 2021 — forked from sharplet/trap.swift
Simple signal handling in Swift
View trap.swift
import Darwin
enum Signal: Int32 {
case HUP = 1
case INT = 2
case QUIT = 3
case ABRT = 6
case KILL = 9
case ALRM = 14
case TERM = 15
Guang1234567 / trace.swift
Created Aug 20, 2021 — forked from harlanhaskins/trace.swift
Pure Swift stack trace
View trace.swift
struct StackFrame {
let symbol: String
let file: String
let address: UInt64
let symbolAddress: UInt64
var demangledSymbol: String {
return _stdlib_demangleName(symbol)
Guang1234567 / build.gradle
Created Apr 20, 2021 — forked from nkraev/build.gradle
Variant-aware gradle configuration for replacing manifest placeholders and resources
View build.gradle
android.applicationVariants.all { variant ->
String propsName = "../local/${variant.baseName}.properties"
Properties props = new Properties()
props.load(new FileInputStream(file(propsName)))
println "Building \"${variant.baseName}\" tag..."
props.stringPropertyNames().forEach {
variant.resValue("string", it, props[it])
Guang1234567 / gh-check
Created Oct 14, 2020 — forked from lilydjwg/gh-check
gh-check: speed test to known GitHub IPs
View gh-check
import asyncio
import time
import socket
import argparse
import aiohttp
class MyConnector(aiohttp.TCPConnector):
Guang1234567 / trial.key
Created Feb 13, 2019 — forked from huqi/trial.key
Beyond Compare 4 license for Mac
View trial.key
Beyond Compare 4
Licensed to: ASIO Allsoftinone
Quantity: 1 user
Serial number: 1822-9597
License type: Pro Edition for Windows
Guang1234567 / use-bbdiff
Created Dec 15, 2017 — forked from wholmgren/use-bbdiff
set git difftool to bbdiff
View use-bbdiff
git config --global diff.tool bbdiff
git config --global difftool.bbdiff.cmd 'bbdiff --wait --resume "$LOCAL" "$REMOTE"'
git config --global difftool.prompt false
git config --global merge.tool bbdiff
git config --global mergetool.bbdiff.cmd 'bbdiff --wait --resume "$LOCAL" "$REMOTE"'
Double check ~/.gitconfig
Guang1234567 /
Last active May 19, 2017
RxBus2 is modified according to @YoKeyword's RxBus, but improve the part of handle java Exception.
// @yokeyword's Rxbus is here:
package com.example.myproduct.lib.common.utils.rx.eventbus;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import io.reactivex.Flowable;
import io.reactivex.processors.FlowableProcessor;