Skip to content

Instantly share code, notes, and snippets.

View konqi's full-sized avatar

Johann Wagner konqi

View GitHub Profile
@konqi
konqi / RateLimiter.kt
Created December 20, 2023 17:41
Kotlin RateLimiter Implementation
import java.time.Duration
import java.util.*
import java.util.concurrent.atomic.AtomicLong
import kotlin.math.floor
import kotlin.math.min
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.Assertions.*
import kotlin.system.measureTimeMillis
class RateLimiter(limitPerDuration: Number, interval: Duration = Duration.ofSeconds(1)) {
@konqi
konqi / waitFor.js
Last active April 25, 2017 17:40 — forked from anonymous/waitFor.js
aurelia.js component-tester#waitFor()
function waitFor(condition: Function, options: any): Promise {
options = Object.assign({
preset: true,
interval: 50,
timeout: 2000
}, options);
let timedOut = false
return Promise.race([new Promise((rs, rj) => {
window.setTimeout(() => {
@konqi
konqi / designer.html
Last active August 29, 2015 14:05
designer
<link rel="import" href="../core-icon-button/core-icon-button.html">
<link rel="import" href="../core-toolbar/core-toolbar.html">
<link rel="import" href="../core-scroll-header-panel/core-scroll-header-panel.html">
<polymer-element name="my-element">
<paper-shadow></paper-shadow>
<div class="card paper-shadow-top-z-1">
<div class="inner paper-shadow-bottom-z-1"></div>
@konqi
konqi / designer.html
Last active August 29, 2015 14:05
designer
<link rel="import" href="../core-icon-button/core-icon-button.html">
<link rel="import" href="../core-toolbar/core-toolbar.html">
<link rel="import" href="../core-scroll-header-panel/core-scroll-header-panel.html">
<polymer-element name="my-element">
<template>
<style>
:host {
position: absolute;