Skip to content

Instantly share code, notes, and snippets.

View tassoevan's full-sized avatar
🏠
Working from home

Tasso Evangelista tassoevan

🏠
Working from home
View GitHub Profile

Beginner

Introductory, no previous programming experience

  1. Programming: Principles and Practice Using C++ (Bjarne Stroustrup) (updated for C++11/C++14) An introduction to programming using C++ by the creator of the language. A good read, that assumes no previous programming experience, but is not only for beginners.

Introductory, with previous programming experience

  1. C++ Primer * (Stanley Lippman, Josée Lajoie, and Barbara E. Moo) (updated for C++11) Coming at 1k pages, this is a very thorough introduction into C++ that covers just about everything in the language in a very accessible format and in great detail. The fifth edition (released August 16, 2012) covers C++11. [Review]
@tassoevan
tassoevan / stats.mjs
Last active November 22, 2023 20:45
ZX Script to compute the conversion ratio of the TypeScript migration on Rocket.Chat's main repo
#!/usr/bin/env zx
console.log("Fetching stats...");
const files = await globby(["**/*.{js,jsx,ts,tsx}", "!apps/meteor/tests/**/*"], {
onlyFiles: true,
followSymbolicLinks: false,
gitignore: true,
});
@tassoevan
tassoevan / media-length.sh
Last active September 26, 2022 18:39
Bash script to measure length (duration) of media files in a directory
#!/bin/bash -e
directory=$1
[ -z "$directory" ] || directory=`pwd`
total=0
function round_float {
echo "($1 + 0.5)/1" | bc
}
@tassoevan
tassoevan / tipos-de-logradouros.md
Created September 8, 2015 23:43
Tipos de logradouro do Brasil.
  • Aeroporto
  • Alameda
  • Área
  • Avenida
  • Campo
  • Chácara
  • Colônia
  • Condomínio
  • Conjunto
  • Distrito
@tassoevan
tassoevan / libxml29_compat.patch
Last active August 11, 2021 15:32
Install PHP 5.2.17 in phpbrew
--- ext/dom/node.c 2012-08-06 17:49:48.826716692 +0800
+++ ext/dom/node.c 2012-08-06 17:52:47.633484660 +0800
@@ -1895,9 +1895,17 @@ static void dom_canonicalization(INTERNA
RETVAL_FALSE;
} else {
if (mode == 0) {
+#ifdef LIBXML2_NEW_BUFFER
+ ret = xmlOutputBufferGetSize(buf);
+#else
ret = buf->buffer->use;
@tassoevan
tassoevan / ffmpeg.md
Created September 17, 2020 22:18 — forked from dvlden/ffmpeg.md
Convert video files to MP4 through FFMPEG

This is my personal list of functions that I wrote for converting mov files to mp4!

Command Flags

Flag Options Description
-codec:a libfaac, libfdk_aac, libvorbis Audio Codec
-quality best, good, realtime Video Quality
-b:a 128k, 192k, 256k, 320k Audio Bitrate
-codec:v mpeg4, libx264, libvpx-vp9 Video Codec

Keybase proof

I hereby claim:

  • I am tassoevan on github.
  • I am tassoevan (https://keybase.io/tassoevan) on keybase.
  • I have a public key ASCY5tsSBqvCqz6GjMMo3meyDB0Nqlzi5YFFODAPlgYgrAo

To claim this, I am signing this object:

@tassoevan
tassoevan / LICENSE
Created December 18, 2013 13:20
MIT license for forked project
Original work Copyright (c) 2013 Acme Corp
Modified work Copyright (c) 2013 Tasso Evangelista
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
@tassoevan
tassoevan / .bashrc
Last active December 11, 2018 13:51
Rocket.Chat utils
function rocketchat_test_mode {
docker stop rocketchat_mongo
docker rm rocketchat_mongo
docker run --name=rocketchat_mongo -p 27017:27017 -d mongo:3.2 mongod --smallfiles --oplogSize 128 --storageEngine=mmapv1
TEST_MODE=true MONGO_URL=mongodb://localhost:27017/rocketchat meteor run
}
#meteor npm run chimp-test
@tassoevan
tassoevan / compose-sclk.sh
Created May 21, 2016 01:37
Scroll Lock as Compose Key in Ubuntu 16.04
dconf write /org/gnome/desktop/input-sources/xkb-options "['compose:sclk']"