Skip to content

Instantly share code, notes, and snippets.

View emtudo's full-sized avatar

Leandro Henrique Reis emtudo

View GitHub Profile
defmodule App.Tenant.OrganizationTest do
use ExUnit.Case, async: true
use App.DataCase
alias App.Tenant.Organization
@valid_attrs %{name: "Some Organization", domain: "example.com"}
@update_attrs %{name: "Updated Organization", domain: "updated.com"}
@invalid_attrs %{name: nil, domain: nil}
defmodule App.Tenant.Organization do
# Using Ash.Resource turns this module into an Ash resource.
use Ash.Resource,
# Tells Ash where the generated code interface belongs
domain: App.Tenant,
# Tells Ash you want this resource to store its data in Postgres.
data_layer: AshPostgres.DataLayer,
extensions: [AshArchival.Resource]
archive do
@emtudo
emtudo / sqs.mjs
Last active August 2, 2022 20:35
read sqs and save to file
import { SQSClient, ReceiveMessageCommand } from "@aws-sdk/client-sqs";
import { join } from 'node:path'
import { fileURLToPath } from 'node:url'
import { writeFile } from 'node:fs/promises'
const QueueUrl = ""
const client = new SQSClient({ region: "sa-east-1" });
const TARGET_DIR = join(fileURLToPath(new URL('.', import.meta.url)), 'data')
@emtudo
emtudo / captcha_tradicional.js
Created May 24, 2021 19:57 — forked from zerobugs-oficial/captcha_tradicional.js
Script que quebra captchas tradicionais (imagem com letras e números) usando a API do 2captcha.com e o Node.js
const request = require('request');
const fs = require('fs');
const puppeteer = require('puppeteer');
const API_KEY = "SUA_API_KEY_DO_2captcha";
async function curl(options) {
return new Promise((resolve, reject) => {
request(options, (err, res, body) => {
if(err)
@emtudo
emtudo / recaptcha_v2.js
Created May 24, 2021 19:57 — forked from zerobugs-oficial/recaptcha_v2.js
Robô que quebra captchas Recaptcha V2 usando Node.js, 2captcha.com e o Pupppeteer
const request = require('request');
const puppeteer = require('puppeteer');
const API_KEY = "SUA_API_KEY_NO_2captcha"
async function curl(options) {
return new Promise((resolve, reject) => {
request(options, (err, res, body) => {
if(err)
return reject(err);
# Primeira versão, ainda precisa verificar se tem 11 dígitos
# Devolver true/false
# Tratar excessão de caracteres inválidos
defmodule Cpfcalc.Valid do
def calc(cpf) do
String.codepoints(cpf)
|> Enum.map(fn d -> String.to_integer(d) end)
|> IO.inspect()
|> calcD10()
{
"bip": "172.16.8.1/24",
"fixed-cidr": "172.16.8.0/24",
"ipv6": true,
"fixed-cidr-v6": "ipv6-range/80"
}
# file: pre-push
#!/bin/sh
# An example hook script to verify what is about to be pushed. Called by "git
# push" after it has checked the remote status, but before anything has been
# pushed. If this script exits with a non-zero status nothing will be pushed.
#
# This hook is called with the following parameters:
#
@emtudo
emtudo / switch-sound-microphone
Created March 22, 2019 19:40
Switch sound and microphone with command
#!/bin/sh
switchMicrophone () {
# get first device by param $1
# param = device's name or part of device's name
DEVICE=$(pacmd list-sources | grep -i "name:" | grep -i $1 | head -n 1 | grep -o "[^<]*$" | grep -o "[^>]*")
# set device
echo -e "Device selected: \e[32m${DEVICE}\e[39m"
pacmd set-default-source $DEVICE
#!/bin/sh
#
# ifup hook script for resolvconf
#
# This file is part of the resolvconf package.
#
# Interface of the internet
INTERFACE=`route | grep '^default' | grep -o '[^ ]*$'`