Skip to content

Instantly share code, notes, and snippets.

View felipecsl's full-sized avatar
⚒️
Building

Felipe Lima felipecsl

⚒️
Building
View GitHub Profile
@felipecsl
felipecsl / restart coreaudio daemon
Last active April 17, 2024 10:57
Restart Mac OS X coreaudio daemon. Useful if you cannot change the audio output device to Airplay.
sudo kill `ps -ax | grep 'coreaudiod' | grep 'sbin' |awk '{print $1}'`
# or...
sudo killall coreaudiod
@felipecsl
felipecsl / decryptRailsCookie.ts
Created January 25, 2024 13:03
Typescript/Node function to decrypt Rails 7.1 encrypted session cookies
import crypto from 'crypto';
import { promisify } from "node:util";
const pbkdf2 = promisify(crypto.pbkdf2);
// Works with Rails 7.1.3
// secretKeyBase is Rails.application.secret_key_base
async function decryptCookie(encryptedCookie: string, cookieName: string, secretKeyBase: string) {
const cookie = decodeURIComponent(encryptedCookie);
const [data, iv, authTag] = cookie.split("--").map(v => Buffer.from(v, 'base64'));
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"
@felipecsl
felipecsl / useLazyEffect.ts
Created September 8, 2022 14:49
Debounced React useEffect with a wait time in milliseconds
// https://stackoverflow.com/a/67504622/51500
import {
DependencyList,
EffectCallback,
useCallback,
useEffect,
useRef,
} from "react";
import { debounce } from "lodash";
@felipecsl
felipecsl / code-of-conduct.md
Last active November 17, 2023 23:34
Brazil Tech Expats Slack group Code of Conduct

Código de Conduta

O Brazil Tech Expats se esforça para criar um espaço confortável para todos os membros da nossa comunidade em crescimento. Nós acreditamos em respeito, compaixão, compreensão e inclusão, e esperamos que todos os membros da comunidade se comportem em concordância com estes valores.

Não toleramos qualquer espécie de assédio. Qualquer pessoa que for identificada participando de comportamentos de assédio será contactada por uma pessoa da administração, que solicitará a interrupção de quaisquer atividades inapropriadas ou que a pessoa se desligue imediatamente da nossa comunidade.

Assédio inclui, mas não se limita a:

  • Comentários ofensivos sobre a identidade de uma pessoa;
  • Comentários indesejados sobre as escolhas e práticas de estilo de vida de uma pessoa;
@felipecsl
felipecsl / retryIfThrown.kt
Last active April 27, 2023 00:02
Kotlin utility to retry a provided block a limited number of times
/**
* 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
@felipecsl
felipecsl / install-redis.sh
Created September 17, 2020 20:25 — forked from jpickwell/install-redis.sh
Installing Redis 6.0.0 on Amazon Linux
#!/bin/bash
###############################################
# To use:
# chmod +x install-redis.sh
# ./install-redis.sh
###############################################
version=6.0.8
@felipecsl
felipecsl / setup.sh
Last active August 25, 2022 23:06
Base EC2 instance setup for Amazon Linux box
# 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
@felipecsl
felipecsl / install-redistimeseries.sh
Last active January 11, 2022 06:35
Install Redis time series on Amazon Linux
#!/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
@felipecsl
felipecsl / extensions.kt
Last active September 12, 2021 18:55
Helpful Kotlin extension functions
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 {