Skip to content

Instantly share code, notes, and snippets.

@pchmielowski
pchmielowski / check-conflicts.bash
Created April 30, 2017 12:00
Script that checks if our branch has a conflict with any another
#!/bin/bash
function check() {
if [ `git rev-parse HEAD` == `git rev-parse "$1"` ]
then
# don't compare with the HEAD
return
fi
base=`git merge-base HEAD "$1"`
if [ "$base" == `git rev-parse "$1"` ]
package net.chmielowski.rxtest;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import com.annimon.stream.Stream;
import com.jakewharton.rxbinding.view.RxView;
import com.jakewharton.rxbinding.widget.RxTextView;
@pchmielowski
pchmielowski / loc.sh
Last active February 22, 2018 17:59
Lines of code vs time
#!/bin/sh
while true; do
git log -n 1 | grep Date >> loc
cloc . | grep Java >> loc
git checkout HEAD^1
done
cat loc | grep Java | awk '{ print $5 }'
cat loc | grep Date: | awk '{ print $3" "$4" "$5" "$6 }'
@pchmielowski
pchmielowski / log_parsing.kt
Last active November 9, 2018 11:28
As parsing the date from string is the most complex task, this solution ensures, it is parsed lazily - as soon as the conditions are met, method returns and no unnecessary parsing is performed.
package net.chmielowski.recruitment
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
import java.time.Duration
import java.time.LocalDateTime
import java.time.Period
import java.time.format.DateTimeFormatter
import java.util.*
@pchmielowski
pchmielowski / script.zsh
Created January 21, 2019 20:16
Try delete all branches
git for-each-ref | cut -f2 -d' ' | cut -f2 | grep --color=never heads | cut -f3 -d'/' | while read br; do git branch -d $br; done
@pchmielowski
pchmielowski / wifi_debug.sh
Last active March 7, 2019 13:33
Wifi debug
adb tcpip 5555
adb shell "ifconfig | grep -A1 wlan0 | tail -n1 | cut -d\: -f2 | cut -f1 -d' '"
adb connect 172.27.27.208:5555
@pchmielowski
pchmielowski / main.kt
Last active March 18, 2019 10:58
RxConnectable playground
fun main() {
val shared = Observable.interval(1, TimeUnit.SECONDS)
.doOnSubscribe { println("Subscribed.") }
.doOnDispose { println("Disposed.") }
.replay() // or .publish()
.autoConnect() // or .refcount()
Thread {
shared
.take(3)
@pchmielowski
pchmielowski / gradle_optimization.md
Created May 14, 2019 11:00
Gradle build speed optimizations

gradle.properties

org.gradle.jvmargs=-Xmx4048m -XX:MaxPermSize=1024m
org.gradle.parallel=true

kotlin.parallel.tasks.in.project=true

kapt.include.compile.classpath=false
kapt.use.worker.api=true
@pchmielowski
pchmielowski / activity_main.xml
Created November 23, 2021 21:18
Theme musem - 1
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
@pchmielowski
pchmielowski / MainActivity.kt
Last active November 24, 2021 16:34
Opening Google Translate from your app
package net.chmielowski.translatetest
import android.content.ActivityNotFoundException
import android.content.Context
import android.content.Intent
import android.content.pm.ActivityInfo
import android.content.pm.ResolveInfo
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent