Skip to content

Instantly share code, notes, and snippets.

cyberdelia / Consumer.kt
Created October 21, 2020 23:29
Kafka + Kotlin + Coroutines
View Consumer.kt
package com.lapanthere.bohemia
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.flow
import org.apache.kafka.clients.consumer.ConsumerRecord
import org.apache.kafka.clients.consumer.KafkaConsumer
import java.time.Duration
fun <K, V> KafkaConsumer<K, V>.asFlow(timeout: Duration = Duration.ofMillis(500)): Flow<ConsumerRecord<K, V>> =
brendanzab /
Last active October 10, 2022 06:36
A reading list that I'm collecting while building my Rust ES+CQRS framework:

Functional, Reactive, and Distributed Systems Bibliography


garthk / profile
Created June 21, 2015 23:51
boot2docker 1.7.0 cert fix
View profile
wait4eth1() {
until ip a show eth1 | grep -q UP
[ $((CNT++)) -gt 60 ] && break || sleep 1
sleep 1
lrytz / z-automator.png
Last active February 4, 2023 21:20
Shortcut for Syntax Highlighting in Keynote
View z-automator.png
parndt / pre-commit
Last active December 16, 2015 11:59 — forked from ideasasylum/pre-commit
Place this in ~/.git_template/hooks/pre-commit and chmod to 755. Now, ensure you have git >= 1.7.1 and run: git config --global init.templatedir '~/.git_template' Back in your repository, run git init again and the hook will appear.
View pre-commit
#!/usr/bin/env ruby
spec_hits = []
checks = {
'_spec\.rb$' => ['focus:[:space:]*true'],
'\.rb$' => ['binding\.pry', 'debugger']
# Find the names of all the filenames that have been (A)dded (C)opied or (M)odified
filenames = `git diff --cached --name-only --diff-filter=ACM`.split("\n")
leifg / Vagrantfile
Last active January 14, 2023 22:27
Add a second disk to system using vagrant
View Vagrantfile
file_to_disk = './tmp/large_disk.vdi' do |config| = 'base'
config.vm.customize ['createhd', '--filename', file_to_disk, '--size', 500 * 1024]
config.vm.customize ['storageattach', :id, '--storagectl', 'SATA Controller', '--port', 1, '--device', 0, '--type', 'hdd', '--medium', file_to_disk]
bryanstearns / gist:4331076
Created December 18, 2012 19:23
I put this in my basebox postinstall scripts to help NTP deal with large time differences
View gist:4331076
# Make sure ntpd doesn't give up if the time is way off
cp /etc/ntp.conf /etc/ntp.conf.old
(echo tinker panic 0; cat /etc/ntp.conf.old) >/etc/ntp.conf
/etc/init.d/ntp restart
piscisaureus /
Created August 13, 2012 16:12
Checkout github pull requests locally

Locate the section for your github remote in the .git/config file. It looks like this:

[remote "origin"]
	fetch = +refs/heads/*:refs/remotes/origin/*
	url =

Now add the line fetch = +refs/pull/*/head:refs/remotes/origin/pr/* to this section. Obviously, change the github url to match your project's URL. It ends up looking like this:

GerHobbelt / .gitignore
Created July 8, 2012 14:41
d3.js: force layout; click to group/bundle nodes
View .gitignore
# Editor backup files
garybernhardt / selectable_queue.rb
Last active November 23, 2022 12:42
A queue that you can pass to
View selectable_queue.rb
# A queue that you can pass to
# NOT THREAD SAFE: Only one thread should write; only one thread should read.
# Purpose:
# Allow easy integration of data-producing threads into event loops. The
# queue will be readable from select's perspective as long as there are
# objects in the queue.
# Implementation: