Skip to content

Instantly share code, notes, and snippets.

@aldrinmartoq
aldrinmartoq / bug_report_screenshooter.html
Created April 11, 2024 04:33
Using htmlcanvas as a bug report tool, this sample is a self-contained app using Bootstrap 5 and Vue 3.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Poll: htmlcanvas</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<script type='importmap'>
{
"imports": {
#!/bin/bash
VERSION_URL="https://chromedriver.storage.googleapis.com/LATEST_RELEASE"
VERSION=$(curl -f --silent $VERSION_URL)
if [ -z "$VERSION" ]; then
echo "Failed to read current version from $VERSION_URL. Aborting."
exit 1
else
echo "Current version is $VERSION"
fi
# Busca archivos JPG desde el cache de Google Chrome en Mac
# lo copie de https://www.matbra.com/2018/08/20/find-images-on-chrome-cache-files-and-any-other.html
import os
import glob
import sys
import errno
OUTPUT_FOLDER = os.getenv('HOME') + '/Desktop/salvado_cache'
@aldrinmartoq
aldrinmartoq / Robot Joselito
Last active August 13, 2021 20:34
Inicio Robot Joselito
// ROBOT JOSELITO
//
// 1. Avanzar mientras no encuentre un obstáculo
// 2. Si detecta un obstáculo, detenerse
// 3. Mirar para todos lados (izq, frente y derecha)
// 4. Decidir hacia dónde girar (izq ó derecha)
// 5. Ir al paso 1
void setup() {
@aldrinmartoq
aldrinmartoq / Theremin
Created August 13, 2021 18:04
Prototipo de Theremin para Arduino Quest
// Theremin
// Si yo acerco la mano, cambio la frecuencia del parlante
//
// 1. Leer => obtener la distancia de la mano
// TODO: 2 sensores: 1. para la frecuencia y otro para el volumen
// 2. Proceso => en base a la distancia, vamos a generar una nota o freq
// 3. Actuo => sonar el parlante con esa frecuencia
// TODO: cambiar el volumen
void consola_setup() {
@aldrinmartoq
aldrinmartoq / i2c_scanner.ino
Last active August 9, 2021 13:33
LCD en Arduino UNO con módulo I2C (4 patitas)
/*
0. Probar conexión
Módulo I2C para LCD -> Arduino
- GND -> GND
- VCC -> 5V
- SDA -> A4
- SCL -> A5
Fuente original https://create.arduino.cc/projecthub/akshayjoseph666/interface-i2c-16x2-lcd-with-arduino-uno-just-4-wires-273b24
# Uso:
# $ source build.sh
#
# 1. Desarrollo, aplicación está en app/vue/support/main_support.js
# $ a0_rails_watch_parcel support # puedes poner eso en un Procfile
#
# 2. Producción, ejecutar como parte del deploy
# $ a0_rails_build_parcel support # compila la aplicación app/vue/support en public/parcel/support/
# $ a0_rails_build_parcel_monaco # monaco se compila aparte
# $ a0_rails_build_assets # compila los assets estandar de rails < 6
# Requiere:
# 1. gem install webdrone
# 2. Tener chromedriver en tu $PATH (http://chromedriver.chromium.org)
# 3. Usa tu profile default de google chrome, la ruta está para MAC.
require 'webdrone'
Webdrone::Browser.chrome_options.add_argument "--user-data-dir=/Users/#{ENV['USER']}/Library/Application Support/Google/Chrome/"
a0 = Webdrone.create browser: :chrome, developer: false, win_w: 1.0, timeout: 5
source 'https://rubygems.org'
gem 'webdrone'
gem 'activesupport'
gem 'pry'
class String # :nodoc:
def valid_rut?(out: {})
splitted = strip.split('-')
rut = splitted.first.delete('.').to_i
dv = rut.dv
valid = dv == splitted.last.upcase
if valid
out[:rut] = rut
out[:dv] = dv