Skip to content

Instantly share code, notes, and snippets.

Avatar

Emanuele Ruffaldi eruffaldi

View GitHub Profile
@eruffaldi
eruffaldi / build.cmd
Created June 20, 2021 03:14
Compile NVIDIA Windows
View build.cmd
% based on combination of online info
git clone https://github.com/opencv/opencv.git -b "4.5.2" --depth 1
git clone https://github.com/opencv/opencv_contrib.git -b "4.5.2" --depth 1
set "opencvSource=opencv-4.5.2"
set "opencvExtraModules=opencv_contrib-4.5.2/modules"
set "opencvBuild=%opencvSource%\build"
set "compiler=Visual Studio 16 2019"
set "buildType=Release"
set python3_executable
@eruffaldi
eruffaldi / main.cpp
Created October 12, 2020 04:19
Named Operators in C++ and Unicode
View main.cpp
// Testedt with GCC and CLang
// Not working with ICC due to the UTF-8
// MSVC requires /utf-8 option
#include <iostream>
// from https://riptutorial.com/cplusplus/example/23817/named-operators
// modified to use < > instead of *
// modified for adding unary version
namespace named_operator {
template<class D>struct make_operator{constexpr make_operator(){}};
@eruffaldi
eruffaldi / midi2notes.py
Created February 7, 2019 14:50
MIDI to notes
View midi2notes.py
from mido import MidiFile
import mido
import sys
def ntof(n):
return 440*(2**((n-69)/12))
def main():
mid = MidiFile(sys.argv[1])
@eruffaldi
eruffaldi / posit_one.h
Last active January 24, 2019 09:58
posit_one.h
View posit_one.h
// cppPosit 7b7b5ecde436a65923d679d91ddb1b29b711af27
/**
* Emanuele Ruffaldi (C) 2017-2018
*
* My personal bit hip pop using BMI extensions and a bit of constexpr!
*/
#if defined(__SDSVHLS__) && !defined(FPGAHLS)
#define FPGAHLS
@eruffaldi
eruffaldi / cf32.jl
Last active December 30, 2018 11:07
Julia cf32
View cf32.jl
function s64toc64(a::Int64)::Int64
return a < 0 ? -(a & 9223372036854775807) : a;
end
function c64tos64(a::Int64)::Int64
return a < 0 ? ((-a) | -9223372036854775808) : a;
end
@eruffaldi
eruffaldi / gettoken.sh
Created September 25, 2018 09:23
Google OAuth 2.0 full example bash script.
View gettoken.sh
#!/bin/bash
#1) on https://console.developers.google.com/ register project and associate API from library
# OUTPUT: client_id,client_secret
client_id="..."
client_secret="...."
#2) get authorization code at the following link using web browser
# OUTPUT: code
scope="https://www.googleapis.com/auth/drive"
View pdfextract.py
import os,sys
people = [x.split(" ") for x in """1 10 name""".split("\n")]
print (people)
for f,n,name in people:
f = int(f)
n = int(n)
print (f,f+n-1,name)
os.system("gs -sDEVICE=pdfwrite -dNOPAUSE -dBATCH -dSAFER -dFirstPage=%d -dLastPage=%d -sOutputFile=%s.pdf \"%s\"" % (f,f+n-1,name,sys.argv[1]))
@eruffaldi
eruffaldi / timeline-kml-work.py
Created July 13, 2018 08:15
Google Timeline KML to working enter-exit
View timeline-kml-work.py
# parses KML from Google Timeline to obtain places
# Emanuele Ruffaldi 2018
import os,sys
import csv
import datetime
import xml.etree.ElementTree as ET
from collections import defaultdict
import time
from dateutil import tz
from_zone = tz.tzutc()
@eruffaldi
eruffaldi / gist:cd82d29292291a85daa9d8d41f094a65
Created June 8, 2018 08:31
Bash find changed files of Today
View gist:cd82d29292291a85daa9d8d41f094a65
find / -mtime -1 -not \( -path "/proc/*" -o -path "/sys/*" -o -path "/dev/*" \) -print
@eruffaldi
eruffaldi / word_comments_to_json.vbs
Created May 28, 2018 07:28
Microsoft Word VBA code for Comment to JSON
View word_comments_to_json.vbs
Sub ListComments()
Dim x As Document
Set doc = Word.ActiveDocument
For k = 1 To doc.Comments.Count
Dim co As Comment
Set co = doc.Comments(k)
co.Range.Select
t = Selection.Text