Skip to content

Instantly share code, notes, and snippets.

View kiview's full-sized avatar
💡
Science 🔬 + FLOSS 🐧 = 💖

Kevin Wittek kiview

💡
Science 🔬 + FLOSS 🐧 = 💖
View GitHub Profile
package org.testcontainers;
import org.assertj.core.api.Assertions;
import org.junit.Test;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.containers.startupcheck.OneShotStartupCheckStrategy;
public class JavaGCTest {
@Test
@kiview
kiview / custom-layouts.json
Created July 7, 2022 20:39
Pixel perfect layout for Windows PowerToys fancy zones (located in `%LocalAppData%\Microsoft\PowerToys\FancyZones\custom-layouts.json`)
{
"custom-layouts": [
{
"uuid": "{F58A3E99-18C5-40C0-B496-22C674101D1B}",
"name": "LinkedIn Learning",
"type": "canvas",
"info": {
"ref-width": 2560,
"ref-height": 1392,
"zones": [
@kiview
kiview / CopySyncExperiment.java
Created April 27, 2022 16:23
Syncing a file between host and container with Testcontainers
package org.testcontainers;
import com.github.dockerjava.api.command.InspectContainerResponse;
import lombok.NonNull;
import lombok.SneakyThrows;
import org.apache.commons.io.FileUtils;
import org.junit.Test;
import org.testcontainers.containers.GenericContainer;
import org.testcontainers.utility.MountableFile;
@kiview
kiview / geohashes.csv
Last active March 3, 2022 15:43
Geohashes CSV
geo_hash count
9q94r 1
dr5rs14 2
@kiview
kiview / tools.md
Last active March 21, 2022 17:20
Windows Development Tools

Windows Development Tools

This is simply a list of things I chose to install on my Windows development machines. I omit actual links, since googling for them generally gives the best up-to-date results. Maybe I should update this with chocolatey one day, or wait for the the new win-get tool in Windows 11.

  • VSCode
  • Git
  • Windows Terminal
  • Testcontainers Cloud
@kiview
kiview / wsl-git-cred-core.sh
Last active April 4, 2022 08:47
Connect the Windows Git Credential Manager Core to Git in WSL2
# https://github.com/microsoft/Git-Credential-Manager-Core
git config --global credential.helper "/mnt/c/Program\\ Files/Git/mingw64/libexec/git-core/git-credential-manager-core.exe"
@kiview
kiview / pandas_group.py
Created April 1, 2021 11:25
Pandas DataFrame Group by Consecutive Certain Values
# Taken from https://towardsdatascience.com/pandas-dataframe-group-by-consecutive-certain-values-a6ed8e5d8cc
df_indexed = df.reset_index(drop=True)
for k, v in df_indexed[df_indexed['behavior'] == 'not_defined'].groupby((df_indexed['behavior'] != 'not_defined').cumsum()):
print(f'[group {k}]')
display(v)
@kiview
kiview / Pipfile
Last active April 11, 2021 04:46
Installing BindsNET on Windows
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
[packages]
torch = "===1.7.1"
install = "*"
@kiview
kiview / books.md
Last active December 15, 2023 03:44
Software Engineering Reading List

Since I sometimes get asked about what I would recommend as reads to gain a deeper understanding about software engineering, I was thinking to just compile a list of my favourite books in this area, which I consider a very valuable read 🙂

Object Oriented Programming

Design Patterns: Elements of Reusable Object-Oriented Software

By Gamma et. al.

I think this is one of the classics and a very recommended read (but with a pinch of salt), basically, one of the books starting the patterns movement in OOP. While one has to be careful to not blindly force those patterns into your own software design, it is critical knowledge and part of the cultural backbone of the software industry. Knowing those patterns and being able to quickly identify them helps tremendously in understanding unfamiliar code bases and when having architecture discussions with peers.

Code Complete

@kiview
kiview / video_merge.py
Created January 21, 2021 19:09
Add overlay text to videos and concat them to single video using ffmpeg
#!/usr/bin/env python3
import os, glob
def write_text(input, output, text):
cmd = f"ffmpeg -i {input} -vf drawtext=\"fontfile=/path/to/font.ttf: text='{text}': fontcolor=white: fontsize=42: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=100\" -codec:a copy {output}"
print(cmd)
os.system(cmd)
def merge_videos(folder):
with open('./input.txt', 'a') as input_file: