Skip to content

Instantly share code, notes, and snippets.

@AndreKR
AndreKR / SimpleCountDownTimer.java
Created Jul 30, 2021
A simpler Android CountDownTimer
View SimpleCountDownTimer.java
package foo;
import android.os.CountDownTimer;
public class SimpleCountDownTimer {
boolean repeat;
Runnable action;
CountDownTimer c;
@AndreKR
AndreKR / model_vs_sync.md
Created Aug 24, 2017
Vue.js v-model vs. v-bind.sync
View model_vs_sync.md

Vue.js: v-model vs. v-bind:<propname>.sync

These examples use the expression foo as the data source in the parent.

Prop name Event name
v-model="foo" value by default input by default
v-bind:<propname>.sync="foo" arbitrary update:<propname>

v-model

View mysql_to_postgresql.txt
To help you with the process of converting a MySQL app to PostgreSQL, I collected a list of differences between MySQL and PostgreSQL (PG).
Important changes:
* Strings are quoted with '...' or with $token$...$token$. Single-quotes are escaped with single-quotes.
* Identifiers are folded to lowercase, unless they are quoted with "..." which makes them case-sensitive
* The max identifier length is 63
* There are some system columns that cannot be used as an identifier (probably not a problem)
* Expressions are evaluated in arbitrary order, so WHERE x > 0 AND y/x > 1.5 can lead to a division by zero and has to be replaced with WHERE CASE WHEN y > 0 THEN y/x > 1.5 ELSE FALSE END
* SELECT CASE WHEN x > 0 THEN x ELSE 1/0 END would still lead to a division by zero because the constant 1/0 is evaluated even before the query starts
@AndreKR
AndreKR / BleStateMachine.java
Created Jul 12, 2020
Read a BLE characteristic on Android
View BleStateMachine.java
package com.example.android.app;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothGatt;
import android.bluetooth.BluetoothGattCallback;
import android.bluetooth.BluetoothGattCharacteristic;
import android.bluetooth.BluetoothGattService;
import android.bluetooth.BluetoothProfile;
@AndreKR
AndreKR / logrus.go
Last active Oct 7, 2019
Initializing logrus
View logrus.go
// The state of Go logging libraries is disheartening...
import (
"github.com/mattn/go-colorable" // not ansicolor because github.com/mgutz/ansi recommends colorable
log "github.com/sirupsen/logrus"
"github.com/x-cray/logrus-prefixed-formatter"
"golang.org/x/crypto/ssh/terminal"
"os"
)
@AndreKR
AndreKR / tgit_dmerge.txt
Last active Mar 29, 2019
TortoiseGit + DiffMerge
View tgit_dmerge.txt
"C:\Program Files\SourceGear\Common\DiffMerge\sgdm.exe" -m -t1=%yname -t2=%bname -t3=%tname -result=%merged %mine %base %theirs
@AndreKR
AndreKR / get_all_kubernetes_resources.md
Created Dec 13, 2018
Get all resources in a Kubernetes cluster
View get_all_kubernetes_resources.md

kubectl api-resources --verbs=list -o name | xargs -n 1 -t kubectl get --ignore-not-found --all-namespaces

View go_webdriver_comparison.go
package main
import (
agwd "github.com/sclevine/agouti"
tbwd "github.com/tebeka/selenium"
"log"
sgwd "sourcegraph.com/sourcegraph/go-selenium"
)
// Helper for sourcegraph/go-selenium
@AndreKR
AndreKR / go_release_build.txt
Last active May 20, 2018
Build smaller executables with Go
View go_release_build.txt
go build -gcflags=all=-trimpath=c:\path\to\trim -asmflags=all=-trimpath=c:\path\to\trim -ldflags=all="-s -w"
upx ...
@AndreKR
AndreKR / draw_text.go
Created Mar 14, 2017
Three ways of drawing text in go
View draw_text.go
// Initialize an empty image
dest := image.NewRGBA(image.Rect(0, 0, 800, 300))
// Draw a white background
draw.Draw(dest, dest.Bounds(), &image.Uniform{color.White}, image.ZP, draw.Src)
// Read the font
fontBytes, err := ioutil.ReadFile(exeDir + "/DejaVuSans.ttf")
if err != nil {