Skip to content

Instantly share code, notes, and snippets.

Avatar
🐱
JITL

Niclas Kron sphrak

🐱
JITL
View GitHub Profile
@sphrak
sphrak / git_commons.md
Last active Jan 25, 2021 — forked from ravibhure/git_rebase.md
Git commons
View git_commons.md

In your local clone of your forked repository, you can add the original GitHub repository as a "remote". ("Remotes" are like nicknames for the URLs of repositories - origin is one, for example.) Then you can fetch all the branches from that upstream repository, and rebase your work to continue working on the upstream version. In terms of commands that might look like:

Add the remote, call it "upstream":

git remote add upstream https://github.com/whoever/whatever.git

Fetch all the branches of that remote into remote-tracking branches, such as upstream/master:

@sphrak
sphrak / terminal.md
Last active Oct 5, 2020
List of useful linux commands
View terminal.md

Useful linux commands

Detect how many gradle daemons are running

Get the current amount of instances - 1

ps aux | grep GradleDaemon | wc -l

perform operation on specific files in directories

@sphrak
sphrak / latency.txt
Created Oct 4, 2020 — forked from jboner/latency.txt
Latency Numbers Every Programmer Should Know
View latency.txt
Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
@sphrak
sphrak / MainActivity.kt
Last active Jul 19, 2020
MVI Example 2 -- StateModel
View MainActivity.kt
class MainActivity : AppCompatActivity(R.layout.activity_main) {
@Inject
lateinit var viewModel: MainActivityViewModel
private var isInitialised: Boolean = false
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@sphrak
sphrak / MainActivity.kt
Last active Jul 19, 2020
MVI -- Example 1 -- ConflatedBroadcastChannel
View MainActivity.kt
class MainActivity : AppCompatActivity(R.layout.activity_main) {
@Inject
lateinit var viewModel: MainActivityViewModel
@Inject
lateinit eventChannel: ConflatedBroadcastChannel<MainActivityView.Event>
private var isInitialised: Boolean = false
@sphrak
sphrak / kotlin-snippets.md
Last active May 14, 2020
kotlin-snippets
View kotlin-snippets.md

Kotlin Snippets

A tiny collection of Kotlin snippets that I find useful.

Measure Execution time

Keep in mind this is not an end all be all measurement since the jvm has indeterministic garbage collection but it can give you a general idea of whats taking time.

With return value

@sphrak
sphrak / semverdiff.sh
Last active Mar 5, 2020
a tiny script for outputting changelog diff between releases for (semver)
View semverdiff.sh
#!/bin/bash
# Usage
# chmod +x semverdiff.sh
# Get diff between 1.0.0..1.0.1
# ./semverdiff 1.0.1
get_diff() {
sed -n "/^## \[$1\]/,/^## /p" CHANGELOG.md | egrep "^(-|\s+)"
}
@sphrak
sphrak / MaskExtension.kt
Created Feb 8, 2020 — forked from maiconhellmann/MaskExtension.kt
MaskExtension wrote in Kotlin
View MaskExtension.kt
import android.support.annotation.StringDef
import android.text.Editable
import android.text.TextWatcher
import android.widget.EditText
@StringDef(PHONE_9_MASK, PHONE_8_MASK, CPF_MASK, ZIP_CODE_PT_BR, MONTH_YEAR, CREDIT_CARD)
@Retention(AnnotationRetention.SOURCE)
annotation class MaskType
const val PHONE_9_MASK = "(##) #####-####"
@sphrak
sphrak / benchmark.sh
Last active Nov 14, 2019
measure android app startup time
View benchmark.sh
#!/bin/bash
# Simple bash script runs adb to measure startup time of android apps
trap ctrl_c INT
time=()
function ctrl_c() {
total=0
@sphrak
sphrak / pkglist.txt
Created Sep 19, 2019
Archlinux package list
View pkglist.txt
acpi
acpid
alsa-firmware
alsa-utils
android-studio
android-studio-beta
android-studio-canary
android-tools
atop
audacity