Skip to content

Instantly share code, notes, and snippets.

View h4tr3d's full-sized avatar

Alexander Drozdov h4tr3d

View GitHub Profile
@h4tr3d
h4tr3d / marshal_v_sg4k_3g_uart_crc.md
Last active January 30, 2022 05:49
Marshal V-SG4K UART protocol CRC calculation

Protocol described in the official PDF mention CRC byte that complete each request and replay. But omit algorithm for it calculation.

After some researches, something sounds like true was found:

#include <iostream>
#include <cstdlib>
@h4tr3d
h4tr3d / yuvrgb.md
Created October 28, 2021 05:37 — forked from yohhoy/yuvrgb.md
RGB <=> YCbCr(YPbPr) color space conversion
Y  = a * R + b * G + c * B
Cb = (B - Y) / d
Cr = (R - Y) / e
BT.601 BT.709 BT.2020
a 0.299 0.2126 0.2627
b 0.587 0.7152 0.6780
@h4tr3d
h4tr3d / alacrity.yml
Last active January 23, 2022 07:46
Alacrity terminal configuration
# Configuration for Alacritty, the GPU enhanced terminal emulator.
# Import additional configuration files
#
# Imports are loaded in order, skipping all missing files, with the importing
# file being loaded last. If a field is already present in a previous import, it
# will be replaced.
#
# All imports must either be absolute paths starting with `/`, or paths relative
# to the user's home directory starting with `~/`.
@h4tr3d
h4tr3d / 99-99-aur.hook
Last active June 7, 2022 00:23
AUR basic integrity check
# /usr/share/libalpm/hooks/99-99-aur.hook
# /etc/pacman.d/hooks/99-99-aur.hook
[Trigger]
Operation = Upgrade
Type = Package
Target = *
[Action]
Description = "Check non-repo packages integrity"
When = PostTransaction
@h4tr3d
h4tr3d / userChrome.css
Last active January 21, 2020 14:39
My interface customizations for Firefox to live without Classic Theme Restorer
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
.tabbrowser-tab:not([pinned]):not([selected]) {
min-width: initial !important;
overflow: hidden;
}
.tabbrowser-tab:not([pinned]) {
min-width: initial !important;
}
@h4tr3d
h4tr3d / qtc-display-all-project-files.md
Last active January 21, 2020 14:49
Qt Creator: show all project files in stocked CMake plugin in Hackers way

Not a question, just a life-hack :-)

Changes, that allows showing all project files in project view is discarded. Clarification that Project View is not a Project View but Build System View is added to the documentation. So, now there is no way to propagate CMakeProjectManager2 changes to the upstream at all.

But we can still display all files using stock plugin and existing functionality. Just hack it using fake CMAKE_TOOLCHAIN_FILE...

Idea:

  • using file(GLOB_RECURSE ...) scan project tree for files
@h4tr3d
h4tr3d / git-selective-merge.md
Created December 20, 2016 10:05 — forked from katylava/git-selective-merge.md
Git selective merge

Example: You have a branch refactor that is quite different from master. You can't merge all of the commits, or even every hunk in any single commit or master will break, but you have made a lot of improvements there that you would like to bring over to master.

Note: This will not preserve the original change authors. Only use if necessary, or if you don't mind losing that information, or if you are only merging your own work.

On master:

> git co -b temp
@h4tr3d
h4tr3d / run-in-terminal.cpp
Created March 23, 2016 09:45
Check that we run from terminal. If no: restart in the default terminal.
#include <cstdlib>
#include <cstdio>
#include <iostream>
#include <vector>
#include <cstring>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
@h4tr3d
h4tr3d / v4l2-capture.cpp
Last active September 28, 2023 14:22 — forked from maxlapshin/capture_raw_frames.c
v4l2 capture example
/*
* V4L2 video capture example
*
* This program can be used and distributed without restrictions.
*
* This program is provided with the V4L2 API
* see http://linuxtv.org/docs.php for more information
*
* To build:
* g++ -std=c++11 -o v4l2-capture v4l2-capture.cpp
// Test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream> // std::cout
#include <algorithm> // std::random_shuffle
#include <vector> // std::vector
#include <ctime> // std::time
#include <cstdlib> // std::rand, std::srand