Skip to content

Instantly share code, notes, and snippets.

View Moraga's full-sized avatar

Alejandro Moraga Moraga

View GitHub Profile
# Termos de Uso - Minuto Desafio
**Última atualização:** Fevereiro de 2026
Bem-vindo(a) ao **Minuto Desafio**. Ao baixar e utilizar nosso aplicativo, você concorda com os seguintes Termos de Uso. Leia atentamente antes de jogar.
---
### 1. Aceitação dos Termos
Ao utilizar o Minuto Desafio, você concorda integralmente com estes Termos de Uso e com nossa Política de Privacidade. Se não concordar com qualquer parte, você não deve utilizar o aplicativo.
# Política de Privacidade - Minuto Desafio
**Última atualização: 16 de Fevereiro de 2026**
Esta página informa você sobre nossas políticas relativas à coleta, uso e divulgação de informações pessoais quando você usa o nosso aplicativo **Minuto Desafio**.
Ao utilizar o aplicativo, você concorda com a coleta e uso de informações de acordo com esta política.
### 1. Coleta e Uso de Informações
@Moraga
Moraga / elk.yml
Created December 6, 2019 18:34
Elasticsearch, Logstash and Kibana Docker compose
version: '3'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
environment:
- node.name=elasticsearch
- cluster.name=docker-cluster
- cluster.initial_master_nodes=elasticsearch
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms256m -Xmx256m"
@Moraga
Moraga / group_by.js
Created October 14, 2019 16:33
Simple group
function group_by(data, cols) {
let groups = [data];
while (cols.length) {
const ret = {};
const col = cols.shift();
for (const group of groups) {
for (const item of group) {
const v = item[col];
if (!ret.hasOwnProperty(v)) {
ret[v] = [];
@Moraga
Moraga / rand.js
Last active September 23, 2019 01:07
function rand(min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
}
function randstr(size) {
var ret = '';
var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
for (var i = size || 10; i--;) {
ret += chars[rand(0, chars.length - 1)];
}
/*
[100, 1, 2, 3, 4, 14, 15, 17, 90, 92, 97]
[317, 319, 321, 323, 362, 363, 366, 367, 370, 374, 378, 380, 382, 535]
[316, 358, 360, 361, 364, 368, 372, 374, 376, 527]
*/
const sum = a => a.reduce((t, v) => t + v, 0);
const sd = a => (m = sum(a) / a.length, sum(a.map(v => Math.pow(v - m, 2))) / a.length);
0x86C3F17b30140d7EE93A245Ac36Bba312393c533
@Moraga
Moraga / numeral_system.js
Last active April 10, 2019 01:29
Numeral System
class NumeralSystem {
constructor(opts='0abcdefghijklmnopqrstuvwxyz') {
this.opts = opts;
this.size = opts.length;
this.i = 0;
}
get(n, r='') {
if (!n) return this.opts[0];
for (; n >= 1; r = this.opts[n % this.size] + r, n = Math.floor(n / this.size));
<?php
while ($group = array_shift($groups)) {
$siz1 = count($group);
foreach ($groups as $other) {
$scor = 0;
$siz2 = count($other);
$nlen = $siz1 > $siz2 ? $siz1 : $siz2;
$xlen = $siz1 < $siz2 ? $siz1 : $siz2;
$decr = 1 / $xlen;
def w(a):
import json
a = json.loads(a)
return x(a) if type(a) == dict else y(a)
def x(a):
for k in a:
a[k] = z(a[k])
return a