Skip to content

Instantly share code, notes, and snippets.

View varlen's full-sized avatar

Varlen Pavani Neto varlen

View GitHub Profile
@varlen
varlen / oneKeyMidiController.ino
Last active August 29, 2015 14:21
Arduino sketch for (really) minimalist MIDI controller
//One Key MIDI Piano
//This is a test for Serial MIDI output through Arduino USB port
//Used Hairless Midi as Serial->MIDI bridge and one push button on pin 53 of Arduino Mega 2560
//Connect GND|<------{|Button|}------>| Pin 53
//Plays a G#2 which is mapped to cowbell on the drums of GarageBand
#include <MIDI.h>
#include <midi_Defs.h>
#include <midi_Message.h>
#include <midi_Namespace.h>
#include <midi_Settings.h>
@varlen
varlen / fotos.ps1
Created December 2, 2015 04:55
Quick and dirty hack to rename a batch of files on Windows using PowerShell.
function Select-Folder($message='Select a folder', $path = 0) {
$object = New-Object -comObject Shell.Application
$folder = $object.BrowseForFolder(0, $message, 0, $path)
if ($folder -ne $null) {
$folder.self.Path
}
}
$Title = "Renomear Fotos Automaticamente";
@varlen
varlen / iHate3Dmovies.js
Last active December 4, 2015 01:15
Use este snippet para esconder as sessões 3D no site da Ingresso.com.
// 2015-12-01 - Varlen Pavani Neto
// Use este snippet para esconder as sessões 3D do site da Ingresso.com
// Esconder todas as sessões 3D
var $hateful3dSessions = $('.tipo-sessao.3D').parents('li.place-hours-it');
$hateful3dSessions.hide();
// Esconder os cinemas que só tiverem sessões 3D
var $allTheaterSessions = $hateful3dSessions.parent();
$allTheaterSessions.each( function( ) {
@varlen
varlen / mailTimer.js
Created December 8, 2015 11:12
Write the email then inject this JavaScript on the page to schedule an email submission.
// No Gmail, o ID do botao sempre muda quando a pagina é atualizada
// Mudar o id na linha abaixo
btnElementID = '';
btn = document.getElementById(btnElementID);
intervalID = window.setInterval( function checkTime() {
// https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Date
var send_on = new Date( 2015,11,8,6,0 );
var now = new Date();
if ( now.getTime() > send_on.getTime() ) {
console.info( 'Mandei!' ); // Sent
@varlen
varlen / vjoy.py
Last active February 10, 2022 15:22
Sample of direct communication with virtual game controller using Python. The first file uses PyWin32 and works directly with the Windows API, for older versions of vJoy. The second file uses the DLL of vJoy SDK to command the device.
from win32file import *
import struct, time
CONST_PPJOY_DEVICE = "\\\\.\\PPJoyIOCTL1"
CONST_LOAD_POSITIONS = 0x910
class vJoy(object):
def __init__(self):
self.handle = None
@varlen
varlen / lcd.py
Last active April 18, 2024 00:02
Writing on LCD Display using Python and Arduino. Requires pyfirmata module.
from pyfirmata import Arduino, util, STRING_DATA
board = Arduino('COM6')
board.send_sysex( STRING_DATA, util.str_to_two_byte_iter('Hello!') )
def msg( text ):
if text:
board.send_sysex( STRING_DATA, util.str_to_two_byte_iter( text ) )
@varlen
varlen / scriptingBridge.py
Created June 3, 2016 01:01
Apple Scripting Bridge example
from Foundation import *
from ScriptingBridge import *
# Returns the methods of the object
def __methods( theObject ):
return [method for method in dir(theObject) if callable(getattr(theObject, method))]
# Elements present in one list but not in the other
def __diffList( A, B):
return list( set( A ) - set( B ) )
@varlen
varlen / duas_entradas_analogicas.ino
Created December 12, 2016 13:42
Disciplina Antenas 2016-2
int analogPin1 = 1; // 1a. entrada analógica
int analogPin2 = 2; // 2a. entrada analógica
int primeira_vez = 1;
int i = 1; // contador do while que vai calcular a média dos valores de entrada
int k1 = 0; // contador do número de picos que serão encontrados
int sinal_original_um[99];
int sinal_original_dois[99];
int time1[99];
int time2[99];
int contador_de_medidas;
@varlen
varlen / .gitconfig
Created March 18, 2017 15:52
git lg1
[alias]
lg1 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
lg = !"git lg1"
@varlen
varlen / teste_passo_a_passo.ino
Created April 30, 2017 17:14
Código de teste para o motor de passo, girando em um único sentido
#include <Stepper.h>
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 2, 3, 4, 5);
int stepCount = 0; // number of steps the motor has taken