Skip to content

Instantly share code, notes, and snippets.

View guangtuan's full-sized avatar
🎯
Focusing

guangtuan

🎯
Focusing
View GitHub Profile
@guangtuan
guangtuan / linkedList.js
Created March 21, 2018 12:26
Sth about linkedList in javaScript
function ListNode(val) {
this.val = val;
this.next = null;
}
const last = arr => arr[arr.length - 1];
const head = arr => arr[0];
const linkedListFromArray = array => head(array.reduce((acc, curr, currIdx, arr) => {
let node = new ListNode(curr);
@guangtuan
guangtuan / clear_stackoverflow.css
Last active August 7, 2019 14:52
clear stackoverflow css
#overlay-header,
#js-gdpr-consent-banner,
#header,
#feed-link,
#footer,
#sidebar,
#post-form,
.so-header,
.bottom-notice,
.aside-cta,
@guangtuan
guangtuan / .bat
Last active April 4, 2018 04:04
windows adb screenshoot
adb shell screencap -p /mnt/sdcard/output.png
adb pull /mnt/sdcard/output.png E:workspace\output.png
adb shell rm /mnt/sdcard/output.png
@guangtuan
guangtuan / RetrofitFacade.kt
Last active April 15, 2018 07:49
retrofix rxjava gson start-kit
package tech.igrant.rxjavaretrofitgson
import retrofit2.converter.gson.GsonConverterFactory
import retrofit2.Retrofit
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory
import java.util.HashMap
class RetrofitFacade private constructor() {
const aRequest = new Promise(resolve => {
setTimeout(() => {
resolve('3s')
}, 3000);
});
const bRequest = new Promise(resolve => {
setTimeout(() => {
resolve('1s')
}, 1000);
@guangtuan
guangtuan / NetWorkType.kt
Created April 19, 2018 02:31
detect network type use kotlin
class NetWorkType {
companion object {
fun wifi(activity: Activity): Boolean {
val manager = activity.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
manager.activeNetworkInfo?.let {
if (!it.isAvailable) {
return false
}
manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)?.let {
return it.state == NetworkInfo.State.CONNECTING || it.state == NetworkInfo.State.CONNECTED
@guangtuan
guangtuan / fixDate.js
Created April 24, 2018 08:24
Fix timestamp for Date
const origin = {};
origin.Date = Date;
const flag = {};
flag.installed = false;
function install(fixedTs) {
if (flag.installed === true) {
throw new Error('fixDate has been already installed!');
}
const _Date = Date;
@guangtuan
guangtuan / alias.sh
Last active August 27, 2018 01:58
git alias
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
@guangtuan
guangtuan / githubMomentsHelper.js
Created May 28, 2018 04:14
github moments helper
// ==UserScript==
// @name gayhub moments helper
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://github.com/
// @grant none
// ==/UserScript==
@guangtuan
guangtuan / pipeable.js
Last active August 11, 2018 01:01
pipe
const fs = require('fs');
const self = src => src;
const pipeAble = src => ({
pipe: func => pipeAble(func(src)),
track: (fmt = self) => pipeAble(console.log(fmt(src)) || src),
ensureObjectNotNull: placeHolder => pipeAble(src || placeHolder || {}),
ensureArrayNotNull: placeHolder => pipeAble(src || placeHolder || []),
redirect: dest => pipeAble((dest === console.log ? console.log(src) : fs.writeFileSync(dest, src)) || src),
strikeWhenBlanking: message => {