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 / the-fourteen-grand-challenges-for-engineering.md
Created June 7, 2015 07:36
As posed by the U.S. National Academy of Engineering in 2008, prioritized through an online survey.
  1. Make solar energy economical
  2. Provide energy from fusion
  3. Provide access to clean water
  4. Reverse-engineer the brain
  5. Advance personalized learning
  6. Develop carbon sequestration methods
  7. Engineer the tools of scientific discovery
  8. Restore and improve urban infrastructure
  9. Advance health informatics
  10. Prevent nuclear terror
@tassoevan
tassoevan / kiosk.py
Last active August 29, 2015 14:23 — forked from benfairless/kiosk.py
#!/usr/bin/env python
import pygtk
import gtk
import webkit
import sys
class Browser:
def __init__(self):
@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 / git-build-patch.sh
Created August 3, 2015 06:56
Build a patch file from git repository
#!/bin/sh
git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT master master^ | xargs zip patch.zip
@tassoevan
tassoevan / particionamento-tabelas.sql
Created August 3, 2015 07:03
Exemplo de particionamento de tabelas no PostgreSQL
drop table venda_mensal cascade;
CREATE TABLE venda_mensal (
venda_codigo integer NOT NULL,
venda_vtec_codigo integer,
venda_term_numero_terminal character varying(30),
venda_data_computador_bordo timestamp(0) without time zone,
venda_data_cadastro timestamp(0) without time zone default current_timestamp,
venda_codigo_gr integer
)TABLESPACE pg_default;
@tassoevan
tassoevan / post-checkout
Created August 8, 2015 16:58
Git hook to send Sculpin generated files to production server on `git checkout master`
#!/bin/bash
checkoutType=$3
[[ "$checkoutType" == 1 ]] || exit
branch=`git symbolic-ref --short HEAD`
if [[ "$branch" == "master" ]]; then
sculpin generate --env=prod
@tassoevan
tassoevan / json_enconde_jp.php
Last active August 29, 2015 14:27 — forked from hayatravis/json_enconde_jp.php
json_encode($array,JSON_UNESCAPED_UNICODE) For PHP5.3. Except json encoding japanese For php5.3. php5.3のjson_encodeで日本語をエンコードさせない関数。
function json_encode_jp($array) {
return preg_replace_callback(
'/\\\\u([0-9a-zA-Z]{4})/',
function ($matches) {
return mb_convert_encoding(pack('H*',$matches[1]),'UTF-8','UTF-16');
},
json_encode($array)
);
}
@tassoevan
tassoevan / git-deploy.sh
Created August 12, 2015 04:35
git alias to invoke a "deploy" hook
git config --global alias.deploy '!test -x .git/hooks/deploy && .git/hooks/deploy || echo no deploy hook provided'
@tassoevan
tassoevan / library-release-checklist.md
Created August 12, 2015 21:30
Recommended files you should provide in your library release, by Rafael Dohms (@rdohms)
  • README
    • What problem does it solve?
    • Usage examples
    • Install instructions
    • How can I contribute?
  • CHANGELOG
    • List relevant changes
    • Make BC breaks proeminent
    • Show examples of how to upgrade
  • LICENSE