Skip to content

Instantly share code, notes, and snippets.


Felipe Lima felipecsl

Block or report user

Report or block felipecsl

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
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
tar xjvf nasm-2.14.02.tar.bz2
cd nasm-2.14.02
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
felipecsl /
Created Apr 15, 2018
My first Rust program - Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent.
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
map = {}
curr_start = 0
max_length = 0
found_start = 0
found_end = 0
i = 0
felipecsl / unless.kt
Last active Dec 24, 2017
Kotlin unless like Ruby just for fun
View unless.kt
inline fun <T> unless(stmt: () -> Boolean, block: () -> T, noinline elseBlock: (() -> T)? = null) =
if (!stmt.invoke()) {
} else {
// Use like:
unless({ foo == bar }, {
felipecsl / extensions.kt
Last active Jan 30, 2018
Helpful Kotlin extension functions
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
fun <T> Project.ext(key: String): T {
felipecsl / MutableLazy.kt
Created Oct 22, 2017
A Kotlin lazy that can be set to override the initializer value
View MutableLazy.kt
private fun <T> mutableLazy(initializer: () -> T) = Delegate(lazy(initializer))
class Delegate<T>(private val lazy: Lazy<T>) {
private var value: T? = null
operator fun getValue(thisRef: Any?, property: KProperty<*>): T {
return value ?: lazy.getValue(thisRef, property)
operator fun setValue(thisRef: Any?, property: KProperty<*>, value: T) {
View keymap.cson
# Your keymap
# Atom keymaps work similarly to style sheets. Just as style sheets use
# selectors to apply styles to elements, Atom keymaps use selectors to associate
# keystrokes with events in specific contexts. Unlike style sheets however,
# each selector can only be declared once.
# You can create a new keybinding in this file by typing "key" and then hitting
# tab.
felipecsl /
Last active Nov 9, 2019
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 / app.js
Created Sep 9, 2016
Sample use of react-native-maps with a tabbed layout
View app.js
import React, { Component } from 'react';
import {
} from 'react-native';
import MapView from 'react-native-maps';
felipecsl / rxruby.rb
Created Feb 25, 2016
Super simplified and naive (but fun) version of RxRuby I wrote during an endless flight to Brazil
View rxruby.rb
class Observable
def initialize(&on_subscribe)
@on_subscribe = on_subscribe
def self.from(arr)
new do |o|
arr.each do |i|
You can’t perform that action at this time.