Skip to content

Instantly share code, notes, and snippets.

Alessandro Pezzato alepez

View GitHub Profile
@alepez
alepez / VBoxFixWinSize.md
Created Apr 8, 2020
i3wm fix virtualbox resolution
View VBoxFixWinSize.md

VirtualBox gust screen resolution doesn't work well under i3wm, sometime it get stuck at some strange resolution.

This script can fix the window size.

From the guest side, we use VBoxManage to tell the guest that a new resolution is available.

Window is made floating, then the border is removed (it count as width/height), then the window is resized.

View nmea2kutils.sh
#!/bin/bash
init() {
ip link set can0 type can bitrate 250000
ip link set can0 up
}
rawdump() {
candump can0
}
@alepez
alepez / docker-arago.md
Created Jul 13, 2019
Docker base image from arago 2018.04 sysroot
View docker-arago.md

Copy from arago sysroot those files:

./usr
./usr/lib
./usr/bin
./usr/bin/myhomeapp
./lib
./lib/libtinfo.so.5
./lib/libdl.so.2
@alepez
alepez / print-byte-array.cpp
Created Jun 14, 2019
print byte array as human readble hex numbers
View print-byte-array.cpp
inline void printHex(const uint8_t* s, unsigned size)
{
for (unsigned i = 0; i != size; ++i)
{
if (s[i] > ' ' && s[i] <= '~')
{
printf("'%c' %02x ", s[i], (int)s[i]);
}
else
@alepez
alepez / string-compare-human.cpp
Created Jun 14, 2019
string compare with human readable diff
View string-compare-human.cpp
bool stringsCompare(const std::string& a, const std::string& b)
{
for (int i = 0; i < a.size() && i < b.size(); ++i)
{
if (a[i] != b[i])
{
fprintf(stderr, "At index %i: %c != %c\n", i, a[i], b[i]);
return false;
}
else
@alepez
alepez / AutoHotkey.ahk
Created Mar 7, 2019
AutoHotkey: italian accents on us layout. Caps-Lock -> Ctrl/Esc
View AutoHotkey.ahk
; Map Caps-Lock to ESC (single press) and Ctrl (long press)
#InstallKeybdHook
SetCapsLockState, alwaysoff
Capslock::
Send {LControl Down}
KeyWait, CapsLock
Send {LControl Up}
if ( A_PriorKey = "CapsLock" )
{
@alepez
alepez / freqtail.cpp
Created Jan 17, 2019
Count time between new lines
View freqtail.cpp
#include <chrono>
#include <iostream>
#include <thread>
int main() {
using namespace std::chrono;
std::string line;
auto t = steady_clock::now();
while (std::cin >> line) {
const auto now = steady_clock::now();
View encodeBase16.cpp
static void encodeBase16(char* const dst, const void* const src, const unsigned size) {
static const uint8_t table[] = "0123456789ABCDEF";
char* d = dst;
const uint8_t* s = static_cast<const uint8_t*>(src);
const uint8_t* const sEnd = s + size;
while (s < sEnd) {
const uint8_t c = *s;
*d = table[c >> 4];
@alepez
alepez / game.c
Last active Dec 12, 2018
trooper.c
View game.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#define for_x for (int x = 0; x < w; x++)
#define for_y for (int y = 0; y < h; y++)
#define for_xy for_x for_y
void show(void* u, int w, int h) {
int(*univ)[w] = u;
View gist:d7020a39fbcb988bed76554a829a357d
// When you don't have permissions to export to csv
$('#report-summary-popup table tr').map((i, e) => [$(e).find('td').map((i, e) => $(e).text().trim()).get()]).get().map(x => x.slice(1, x.length).join(',')).join('\n')
You can’t perform that action at this time.