Skip to content

Instantly share code, notes, and snippets.

View DNA's full-sized avatar

Leonardo Prado DNA

View GitHub Profile
@DNA
DNA / cheatsheet.txt
Created June 4, 2020 01:49
Terminal colors cheat sheet
"WTF IS \033[30;47m???", a practical cheat-sheet
Font color definitions can be intimidating and nonsense at first,
but it is quite easy, lets just follow character by character:
┌────────┤\033├── Escape character (ESC)
│┌───────┤ [ ├── Define a sequence (many characters in a code)
││
││┌──────┤ X ├── Parameter (optional) ┐
│││┌─────┤ ; ├── Parameter separator │ SGR Code
@DNA
DNA / cheatsheet.md
Created January 17, 2022 16:13
Personal annotations as I learn C#

C# Cheat Sheet

Strings

"Foo" // string
'F'   // Char

Interpolations

@DNA
DNA / sql_server.rb
Created October 28, 2021 20:01
Fix Rails SQL Server Adapter when using Arel::Nodes::TableAlias
# frozen_string_literal: true
module Arel
module Visitors
class SQLServer < Arel::Visitors::ToSql
def table_From_Statement o
core = o.cores.first
table_From_Node(core.from) || table_From_Node(core.source)
@DNA
DNA / books.md
Last active July 19, 2021 13:25
[WIP] Lista de leituras essenciais de TI

Lista de leituras essenciais de TI.

Antigamente eu achava que livros de TI não valiam a pena pois ficavam obsoletos rapidamente. Com o tempo e a experiência percebi que não bem assim, e diversos livros que se focam mais em conceitos do que em linguagens tendem a durar por muito tempo.

Com base nisso, reuni os melhores livros que li e as indicações de algins amigos e começei esta lista de leituras para reunir essas ideias que continuam atuais mesmo nos dias de hoje.

Para não ficar apenas uma lista sem contexto, cada item possui uma breve explicação sobre o porque dele estar nesta lista. E claro, toda nova indicação é bem vinda! :D

@DNA
DNA / serializable_report.rb
Created April 19, 2021 21:00
Testing hash refinement on jsonapi-serializable
# frozen_string_literal: true
class SerializableReport < JSONAPI::Serializable::Resource
using Refinements::SerializableHash
id { @object['id'] }
attributes :foo, :bar
end
@DNA
DNA / pattern_matching.rb
Created September 12, 2020 15:41
simple example for ruby pattern matching
def beach(*temperature)
case temperature
in :celcius | :c, (20..45)
:favorable
in :kelvin | :k, (293..318)
:scientifically_favorable
in :fahrenheit | :f, (68..113)
:favorable_in_us
else
:avoid_beach
@DNA
DNA / code-test.rb
Last active July 22, 2020 14:29
Code test
#! /usr/bin/env ruby
# Write a function that returns true if the brackets in a given string are balanced.
# Balanced means that every parenthesis/bracket or brace that is opened must be closed
# And it must be closed in the right order (Always close the last symbol you opened)
# The function must handle parens (), square brackets [], and curly braces {}.
# "(a[0]+b[2c[6]]) {24 + 53}" should return true
# "f(e(d))" should return true
# "[()]{}([])" should return true
@DNA
DNA / anotacoes_curso.md
Created March 23, 2013 21:03
Anotações do Curso de produção e edição de podcasts

Palestra Radiofobia

Primeira nota importante: Nunca confiar em adaptadores VGA-HDMI

Do rádio ao postcast

Número de anos para a mídia atingir 50 milhões de usuários

  • Rádio: 38 anos
  • Internet: 4 anos
  • iPod: 3 anos
@DNA
DNA / blocks.rb
Last active December 20, 2019 19:16
Just tinkering with some algorithms to solve a nonogram
#! /usr/bin/env ruby
require 'matrix'
# puts "▀▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▐░▒▓▔▕▖▗▘▙▚▛▜▝▞▟"
EMPTY = ' '
BLOCK = '░'
BOX = '█'
@DNA
DNA / cpf.js
Created August 24, 2018 17:31
JS CPF validation
#! /usr/bin/env node
function validate_cpf(strCPF) {
if (new Set(strCPF).size == 1) return false
cpf = Array.from(strCPF).map(Number);
return [9, 10].every(pos => {
multiplier = pos + 1