Skip to content

Instantly share code, notes, and snippets.

@savent404
savent404 / parse_git_log.py
Created October 30, 2025 08:18
Git stat scripts
"""
将Git提交历史记录文件解析为CSV格式
Q: 如何处理非UTF-8编码的Git日志?
A: 使用 iconv 工具转换编码,例如:
```
iconv -f GBK -t UTF-8 git_log.txt > git_log_utf8.txt
python parse_git_log.py git_log_utf8.txt output.csv
```
@savent404
savent404 / CMakeLists.txt
Last active April 23, 2024 12:28
CMakeLists template (gtest)
cmake_minimum_required(VERSION 3.20)
project(HelloWorld CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# fetch the google test framework
include(FetchContent)
FetchContent_Declare(
googletest
@savent404
savent404 / arm-optimize-neon-pid.hpp
Last active April 22, 2024 05:01
arm-optimize-neon-pid.h
#pragma once
#include <cstdint>
#include <arm_neon.h>
template <typename T>
struct arm_opt_neon_pid {
arm_opt_neon_pid(T Kp, T Ki, T Kd) {
A[0] = Kp + Ki + Kd;
A[1] = -Kp - 2 * Kd;
@savent404
savent404 / arm-neon-pid.hpp
Last active April 22, 2024 03:44
arm-neon-pid
#pragma once
#include <cstdint>
#include <algorithm>
#include <arm_neon.h>
namespace vector_algo {
template <typename T>
struct arm_neon_pid {
@savent404
savent404 / ring_buffer.hpp
Last active April 19, 2024 07:12
ring buffer for constexpr cpp
#pragma once
#include <cstddef>
#include <iterator>
template <typename T, size_t N>
struct ring_buffer {
using pointer_type = T*;
using reference = T&;
using const_reference = const T&;
@savent404
savent404 / mp_pool_test.cxx
Last active January 24, 2024 07:09
Estimate compiler opt for the mp template pool allocator
#include <cstddef>
#include <cstdint>
#include <type_traits>
template <typename T, T _base, size_t _size>
struct StaticBlock {
static_assert(std::is_pointer<T>::value);
static constexpr void* base = _base;
static constexpr const size_t size = _size;
@savent404
savent404 / install_zsh.sh
Created October 21, 2023 02:36
Custom zsh and omz install steps
#/bin/sh
# install zsh and oh-my-zsh
sudo apt install -y curl zsh fonts-powerline
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# install powerlevel10k theme
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
# set ZSH_THEME="powerlevel10k/powerlevel10k" in ~/.zshrc.
sed -i 's/^ZSH_THEME=.*/ZSH_THEME="powerlevel10k\/powerlevel10k"/g' ~/.zshrc
@savent404
savent404 / hwo-to-package-qt-to-appimage.md
Last active June 10, 2021 04:53
hwo-to-package-qt-to-appimage

Install linuxdeployqt

1.method:: just download Appimage file from github

download page.

2.method:: build based qmake

git clone https://github.com/probonopd/linuxdeployqt.git
cd linuxdeployqt
mkdir build &amp;&amp; cd build
@savent404
savent404 / circle_buffer.hpp
Last active October 12, 2020 01:32
ring buffer static implement
#pragma once
template <typename T, int N>
struct _CircleBuffer_iterator {
private:
T *_base;
T *_ptr;
static inline size_t _modN_(size_t pos) { return pos % N; }
static inline size_t _iter_pos_(T *ptr, T *base) { return (ptr - base); }
#!/bin/bash
function use_proxy() {
git config --global http.proxy $1
git config --global https.proxy $1
export http_proxy=$1
export https_proxy=$1
export ftp_proxy=$1
export rsync_proxy=$1
export all_proxy=$1