Skip to content

Instantly share code, notes, and snippets.

View OndraZizka's full-sized avatar
🫖

Ondrej Zizka OndraZizka

🫖
View GitHub Profile
@OndraZizka
OndraZizka / installMaven38.sh
Last active March 20, 2023 16:19
Linux: install Maven 3.8.6
#!/bin/bash
## Because Ubuntu 22.10 still has Maven 3.6.3, this fixes it:
wget -q https://dlcdn.apache.org/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz -P /tmp
mkdir ~/sw/
tar xf /tmp/apache-maven-*.tar.gz -C ~/sw/
rm /tmp/apache-maven-*.tar.gz
mv /sw/apache-maven-* -C ~/sw/maven
echo 'MAVEN_HOME=~/sw/maven' >> ~/.bashrc
@OndraZizka
OndraZizka / ubuntu-openjdk-maven-docker.Dockerfile
Created October 27, 2022 21:37
Dockerfile: Ubuntu 22.04 + Docker + OpenJDK 18 + Maven 3.8
FROM ubuntu:22.04
ENV qqy="-qq -y -o=Dpkg::Use-Pty=0"
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get $qqy update > /dev/null \
&& apt-get $qqy install ca-certificates curl wget gnupg lsb-release > /dev/null \
&& mkdir -p /etc/apt/keyrings \
&& curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
@OndraZizka
OndraZizka / apple-sceen-brightness-howto.sh
Created October 4, 2022 11:54
Apple screen brightness control script for Linux (Ubuntu)
##
## This is not a script, rather a sequence of commands to do.
## I have tested it and it works.
## Use at your own responsibility.
## Compiled from https://www.dionysopoulos.me/apple-display-brightness-controls-in-ubuntu-desktop.html
## See https://github.com/yhaenggi/acdcontrol.git for more info.
##
sudo apt-install g++ make
git clone https://github.com/yhaenggi/acdcontrol.git
@OndraZizka
OndraZizka / GoogleSheets-getCellLink.gs
Created August 27, 2022 09:22
Google Sheets custom function: Get a link from a given cell.
@OndraZizka
OndraZizka / OptionsParsingUtils.kt
Last active November 22, 2022 14:11
Kotlin: Parsing of enum-based application linux-like arguments (--name[=value])
object OptionsParsingUtils {
private inline fun <reified T : OptionEnum> tryParseEnumOption(enumArgumentDefault: T, arg: String): T? {
val optionIntro = "--${enumArgumentDefault.optionName}"
if (!arg.startsWith(optionIntro))
return null
if (arg.endsWith(optionIntro) || arg.endsWith("=${enumArgumentDefault.optionValue}"))
return enumArgumentDefault
@OndraZizka
OndraZizka / FlexibleTemporalInputParser.kt
Last active October 30, 2021 09:05
Parse various date-time formats: Year only to full LocalDateTime, or relative from now (to the past). Kotlin.
package ch.zizka.time
import java.time.Duration
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import java.time.format.DateTimeParseException
import java.time.temporal.ChronoField.DAY_OF_MONTH
import java.time.temporal.ChronoField.HOUR_OF_DAY
import java.time.temporal.ChronoField.MINUTE_OF_HOUR
import java.time.temporal.ChronoField.MONTH_OF_YEAR
@OndraZizka
OndraZizka / git-moveBranch.sh
Last active September 8, 2023 10:41
Git: Rebase a (sub)branch from one base to another, leaving the other base's commits.
#!/bin/bash
## Places a branch to a new base.
## Useful when splitting a long branch to multiple pull requests.
##
## ---+--------master
## \
## --- A ---- B
##
## git-moveBranch.sh B from A to master
@OndraZizka
OndraZizka / parseCommaDelimitedMap.kt
Created July 8, 2020 11:49
Parser - Map from comma separated pairs, in Kotlin
fun parseCommaDelimitedMap(str: String): Map<String, String> {
if (str == null) return null
val pairs = str.split(',').map { it.trim() }.filter { it.contains(':') }
.map {
val parts = it.split(':', limit = 2)
Pair(parts[0], parts[1])
}
.associate { it }
return pairs
@OndraZizka
OndraZizka / switch.sh
Created April 10, 2020 20:17
Switch - simple linux alternative to Alternatives. Switches between versions of apps.
#####################################################################################################
#
# This script creates switches between the versions of various tools,
# found in /mnt/jqa/sw/tools/ (curently hard-coded).
#
# Usage:
# $ switch maven 2.1.0
# $ mvn ...
#
# Installation:
@OndraZizka
OndraZizka / LogTransformer.java
Last active October 18, 2019 01:04
LogTransformer (fixes the scrabled log)
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;