Skip to content

Instantly share code, notes, and snippets.

@alepez
alepez / VBoxFixWinSize.md
Created April 8, 2020 08:38
i3wm fix virtualbox resolution

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.

@alepez
alepez / nmea2kutils.sh
Created July 31, 2019 08:53
nmea2kutils
#!/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 July 13, 2019 12:15
Docker base image from arago 2018.04 sysroot

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 June 14, 2019 10:09
print byte array as human readble hex numbers
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 June 14, 2019 10:06
string compare with human readable diff
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 March 7, 2019 12:49
AutoHotkey: italian accents on us layout. Caps-Lock -> Ctrl/Esc
; 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 January 17, 2019 13:40
Count time between new lines
#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();
@alepez
alepez / encodeBase16.cpp
Created January 8, 2019 07:43
encodeBase16
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 December 12, 2018 10:58
trooper.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;
@alepez
alepez / gist:d7020a39fbcb988bed76554a829a357d
Created November 16, 2018 11:01
extract csv from eventbrite
// 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')