View install-redistimeseries.sh
#!/bin/bash | |
wget http://downloads.sourceforge.net/ltp/lcov-1.14-1.noarch.rpm | |
sudo yum localinstall lcov-1.14-1.noarch.rpm | |
git clone --recursive https://github.com/RedisTimeSeries/RedisTimeSeries.git | |
cd RedisTimeSeries | |
sudo make setup |
View install-redis.sh
#!/bin/bash | |
############################################### | |
# To use: | |
# chmod +x install-redis.sh | |
# ./install-redis.sh | |
############################################### | |
version=6.0.8 |
View FakeResourceHttpURLConnection.kt
// Based on https://stackoverflow.com/questions/565535/mocking-a-url-in-java | |
package com.example | |
import java.io.InputStream | |
import java.net.HttpURLConnection | |
import java.net.URL | |
class FakeResourceHttpURLConnection( | |
url: URL, |
View retryIfThrown.kt
/** | |
* Retries the provided [block] up to [times] times if the block throws an exception of the type | |
* [exceptionType]. If any other exception type is thrown, the exception is caught and then | |
* immediately rethrown. | |
*/ | |
fun retryIfThrown(times: Int, exceptionType: KClass<out Throwable>, block: () -> Unit) { | |
for (i in 0 until times) { | |
try { | |
block() | |
break |
View setup.sh
# Install all the packages | |
sudo yum install -y \ | |
curl gpg gcc gcc-c++ make git \ | |
openssl-devel readline-devel libcurl-devel \ | |
zlib-devel postgresql-server.x86_64 ruby-devel \ | |
sqlite sqlite-devel ruby-rdoc python-devel \ | |
cairo-devel libffi-devel python-pip nc docker \ | |
tmux htop postgresql-libs postgresql-devel \ | |
amazon-cloudwatch-agent | |
java-1.8.0-openjdk |
View install-ffmpeg-amazon-linux.sh
sudo yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel -y | |
mkdir ~/ffmpeg_sources | |
# nasm | |
cd ~/ffmpeg_sources | |
curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2 | |
tar xjvf nasm-2.14.02.tar.bz2 | |
cd nasm-2.14.02 | |
./autogen.sh | |
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" |
View phone-number-combinations.rs
// https://leetcode.com/problems/letter-combinations-of-a-phone-number/description/ | |
use std::collections::HashMap; | |
use std::char; | |
use std::iter::FromIterator; | |
fn main() { | |
let mappings = init_map(); | |
find_combinations("23", mappings) | |
} |
View longest-substring.rb
def length_of_longest_substring(str) | |
if str.empty? | |
return 0 | |
end | |
map = {} | |
curr_start = 0 | |
max_length = 0 | |
found_start = 0 | |
found_end = 0 | |
i = 0 |
View unless.kt
inline fun <T> unless(stmt: () -> Boolean, block: () -> T, noinline elseBlock: (() -> T)? = null) = | |
if (!stmt.invoke()) { | |
block() | |
} else { | |
elseBlock?.invoke() | |
} | |
// Use like: | |
unless({ foo == bar }, { |
View extensions.kt
import com.fasterxml.jackson.core.type.TypeReference | |
import com.fasterxml.jackson.databind.ObjectMapper | |
import org.gradle.api.Task | |
import org.gradle.api.Project | |
import org.gradle.api.UnknownTaskException | |
import org.gradle.api.GradleException | |
import org.gradle.api.plugins.ExtraPropertiesExtension | |
@SuppressWarnings("UNCHECKED_CAST") | |
fun <T> Project.ext(key: String): T { |
NewerOlder