Skip to content

Instantly share code, notes, and snippets.

@kostapc
kostapc / Dockerfile
Created March 22, 2017 09:32 — forked from kovagoz/Dockerfile
Alpine Linux with PHP 5.6 FPM and Mongo module
FROM php:5.6-fpm-alpine
RUN apk update && apk add autoconf openssl-dev g++ make && \
pecl install mongo && \
docker-php-ext-enable mongo && \
apk del --purge autoconf openssl-dev g++ make
@kostapc
kostapc / IncrementalAverage.java
Created March 27, 2017 18:30
IncrementalAverage with java
class IncrementalAverage {
int count = 0;
double prevAvg = 0;
public void increment(double value) {
count++;
prevAvg = getAvg(prevAvg, value, count);
}
@kostapc
kostapc / ConcurrentMultiValuedMap.java
Created March 30, 2017 17:44
concurrent MultiValuedMap implementation
public class ConcurrentMultiValuedMap<K,V> implements MultiValuedMap<K,V> {
private Map<K, Collection<V>> storage = new ConcurrentHashMap<>();
@Override
public int size() {
return storage.size();
}
@Override
@kostapc
kostapc / vsftpd.conf
Last active June 23, 2017 12:32
vsftp config for anonymous with create/delete/upload
listen=YES
connect_from_port_20=YES
anonymous_enable=YES
anon_root=/var/ftp
local_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
@kostapc
kostapc / generate_docker_cert.sh
Created May 26, 2017 12:57 — forked from bradrydzewski/generate_docker_cert.sh
Generate trusted CA certificates for running Docker with HTTPS
#!/bin/bash
#
# Generates client and server certificates used to enable HTTPS
# remote authentication to a Docker daemon.
#
# See http://docs.docker.com/articles/https/
#
# To start the Docker Daemon:
#
# sudo docker -d \
@kostapc
kostapc / dojo_pageload_shell.js
Created July 16, 2017 21:51
run all custom page scripts after DOJO SPA page is loaded
(function() {
function init(globalVar) {
window.rsh = globalVar;
if(window.attachEvent) {
window.attachEvent('onload', loadComplete);
} else {
if(window.onload) {
var currentOnLoad = window.onload;
shell.onPageDone(currentOnLoad);
@kostapc
kostapc / Base58.java
Created July 25, 2017 10:40 — forked from vrotaru/Base58.java
Base58 encoding an decoding
package core;
public class Base58 {
private static final char[] ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
.toCharArray();
private static final int BASE_58 = ALPHABET.length;
private static final int BASE_256 = 256;
private static final int[] INDEXES = new int[128];
@kostapc
kostapc / tmux-cheatsheet.markdown
Created March 24, 2018 12:59 — forked from MohamedAlaa/tmux-cheatsheet.markdown
tmux shortcuts & cheatsheet

tmux shortcuts & cheatsheet

start new:

tmux

start new with session name:

tmux new -s myname
@kostapc
kostapc / InstanceOfTest.java
Last active June 5, 2018 16:49
instanceof usage example
public class InstanceOfTest {
private static class VeryBigDecimal extends BigDecimal {
public VeryBigDecimal(long val) {
super(val);
}
}
public static void main(String[] args) {
@kostapc
kostapc / VarArgsUtil.java
Created June 13, 2018 16:01
VarArgsUtil
public class VarArgsUtil {
public static Map<String,Object> convertArgs(Object[] params) {
final Map<String,Object> unsafeMap = new HashMap<>();
for (int i = 0; i < params.length; i += 2) {
if (params[i] instanceof String && params[i] != null && !params[i].toString().isEmpty()) {
unsafeMap.put(params[i].toString(), params[i + 1]);
}
}