Skip to content

Instantly share code, notes, and snippets.

View DNA's full-sized avatar

Leonardo Prado DNA

View GitHub Profile
@DNA
DNA / twitch_collection_download.rb
Created May 1, 2018 01:29
Pass a Twitch collection URL as an argument and it'll download all of them
#! /usr/bin/env ruby
require 'net/http'
require 'json'
require 'tempfile'
download_list = Tempfile.new
CLIENT_ID = 'TWITCH_CLIENT_ID'
collection_id = ARGV.first.split('/').last
twitch_uri = URI("https://api.twitch.tv/kraken/collections/#{collection_id}/items")
@DNA
DNA / stats.py
Created July 2, 2018 04:01
Stats class for Renpy
class Stat(object):
class Delta(object):
def __init__(self, parent):
self.parent = parent
self.value = parent.value
def __repr__(self):
return '<Stat.Delta value={}>'.format(self.calculate())
def __str__(self):
@DNA
DNA / worktime.rb
Last active July 30, 2018 22:23
check when its time to go home
#! /usr/bin/env ruby
# ./worktime 10:12 [13:06] [14:15] [19:40]
now = Time.now
expected_work_time = 28800
if ARGV[0].nil?
puts 'Você precisa fornecer ao menos o horário de entrada'
exit 1
@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
@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 / 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 / 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 / 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 / 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 / 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