Skip to content

Instantly share code, notes, and snippets.

View eltonjr's full-sized avatar
👨‍🚀

Elton Hoffmann eltonjr

👨‍🚀
  • MercadoLibre
  • Brazil
View GitHub Profile
@eltonjr
eltonjr / bookmarklet.js
Created November 29, 2023 13:07
Nuinvest gross values bookmarklet
javascript:(function(){let cards = document.querySelectorAll("div[data-testid=financial-card]"); let texts = []; cards.forEach(c => texts.push(c.innerText)); let content = texts.map(t => t.split('\n')); let typed = content.map(c => { let type = c[0] === 'Tesouro Direto' ? 'td' : c[1] === 'BDR' ? 'bdr' : c[1] === 'FII' ? 'fii' : c[1] === 'ETF' ? 'etf' : c[1] === 'Tipo' && c[2] === 'Ações' ? 'fia' : 'cdb'; return { data: c, type }}); const value = v => v.replace('R$', '').replace('.', '').replace(',', '.'); const formatter = { 'cdb': d => [`${d[0]} ${d[1]} ${d[11].split('/')[2]}`, value(d[6])], 'td': d => [d[1], value(d[6])], 'bdr': d => [d[0], value(d[5]), d[7]], 'fii': d => [d[0], value(d[5]), d[7]], 'etf': d => [d[0], value(d[5]), d[7]], 'fia': d => [d[0], value(d[d.indexOf('Valor bruto')+1])]}; let format = d => { return { type: d.type, data: formatter[d.type](d.data) }; }; let formatted = typed.map(format); ['td', 'cdb', 'bdr', 'fii', 'fia', 'etf'].forEach(t => { let f = formatted.filter(d => d.type === t)
@eltonjr
eltonjr / cons.js
Created October 11, 2020 01:11
Scheme cons in javascript
// Inspired by Scheme's way of creating data structures out of nothing
// solely using lambdas.
const cons = (x, y) => f => f(x, y);
const car = c => c((x, y) => x);
const cdr = c => c((x, y) => y);
// In a more verbose way
//
// function getFirst(x, y) {

Keybase proof

I hereby claim:

  • I am eltonjr on github.
  • I am eltonhnjr (https://keybase.io/eltonhnjr) on keybase.
  • I have a public key ASC7zTl0R9AlMjEIDeEvs1Yc9xlOL9SHC_n5T-_S7VIt9Ao

To claim this, I am signing this object:

@eltonjr
eltonjr / merges-count.sh
Created November 7, 2015 22:00
Counting the number of merges in a given repository
#!/bin/bash
AFTER="2015-11-1"
BEFORE=$TODAY
echo "Number of commits: " `git log --first-parent --after=$AFTER --before=$BEFORE --format="%s" | wc -l`
echo "Merges: " `git log --first-parent --after=$AFTER --before=$BEFORE --merges --format="%s" | wc -l`
echo "No-merges: " `git log --first-parent --after=$AFTER --before=$BEFORE --no-merges --format="%s" | wc -l`
@eltonjr
eltonjr / challenge158i.java
Created April 17, 2014 01:34
Reddit Daily Programmer - Challenge #158 [Intermediate] Part 1 - The ASCII Architect
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
final String TEMPLATE = "++--***...";
final String SPACES = " ";
final String INPUT = args[0];
final String[] LETTERS = new String[]{null, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j"};
@eltonjr
eltonjr / challenge158e.coffee
Last active August 29, 2015 13:59
Reddit Daily Programmer - Challenge #158 [Easy] The Torn Number
console.log i for i in [1000...9999] when i.toString().match(/^(?:([0-9])(?!.*\1))*$/) and (Math.pow Math.floor(i/100) + (i%100), 2) is i