Skip to content

Instantly share code, notes, and snippets.

@alexandrnikitin
alexandrnikitin / AhoCorasickTree.cs
Created April 14, 2017 07:44
Aho-Corasick C# implementation
using System.Collections.Generic;
using System.Linq;
namespace AhoCorasickTree
{
public class AhoCorasickTree
{
internal AhoCorasickTreeNode Root { get; set; }
public AhoCorasickTree(IEnumerable<string> keywords)
@alexandrnikitin
alexandrnikitin / git-cheatsheet.sh
Last active March 23, 2023 04:56
Git cheatsheet
// remove untracked files, including directories (-d) and files ignored by git (-x) to force (-f) to exclude files (-e)
git clean -n -d -x -e ".idea"
// compare content of moved folder
git diff --ignore-space-change \
HEAD:source/oldDir/someDir \
HEAD~1:source/newDir/someDir/
// delete merged local branches (use "| xargs -n 1 echo" if not sure)
git branch --merged | grep -v master | sed 's/origin\///' | xargs -n 1 git branch -d
@alexandrnikitin
alexandrnikitin / linux-cheatsheet.sh
Last active December 14, 2022 13:14
Linux cheatsheet
// Find used space
df -h
du -h / | grep '[0-9\.]\+G'
du -h --max-depth=1 | sort -hr
/bin/treesize
#/bin/sh
du -k --max-depth=1 | sort -nr | awk '
BEGIN {
split("KB,MB,GB,TB", Units, ",");
@alexandrnikitin
alexandrnikitin / G1
Last active December 5, 2022 19:14
JVM G1 GC flags
-Xms196G
-Xmx196G
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MetaspaceSize=1024M
-XX:MaxMetaspaceFreeRatio=90
-Xloggc:/var/log/service/gc.log
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintReferenceGC
@alexandrnikitin
alexandrnikitin / Install latest kernel on CentOS 7.sh
Created March 30, 2018 09:53
Install latest kernel on CentOS 7
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
sudo yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
sudo yum --enablerepo=elrepo-kernel install kernel-ml
awk -F\' /^menuentry/{print\$2} /etc/grub2-efi.cfg
sudo grub2-set-default 0
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
shutdown -r now
@alexandrnikitin
alexandrnikitin / Program.cs
Created April 7, 2017 13:34
How to set processor group affinity in .NET C#
namespace ConsoleApp1
{
class Program
{
[StructLayout(LayoutKind.Sequential, Pack = 4)]
private struct _GROUP_AFFINITY
{
public UIntPtr Mask;
[MarshalAs(UnmanagedType.U2)]
public ushort Group;
@alexandrnikitin
alexandrnikitin / install-systemtap-on-centos-7.sh
Created August 11, 2017 14:06
Install systemtap on Centos 7
sudo yum install -y systemtap systemtap-runtime
sudo yum install kernel-debuginfo kernel-debuginfo-common
sudo yum install yum-utils
debuginfo-install kernel-3.10.0-514.21.2.el7.x86_64
sudo yum install -y kernel-devel-$(uname -r)
sudo yum install -y kernel-debuginfo-$(uname -r)
sudo yum install -y kernel-debuginfo-common-$(uname -m)-$(uname -r)
@alexandrnikitin
alexandrnikitin / 1create.sh
Last active April 16, 2022 13:39
How to launch Colab on a GCE spot instance
gcloud beta compute instances create colab-1-vm \
--machine-type=e2-highmem-4 \
--provisioning-model=SPOT \
--boot-disk-size=200GB \
--boot-disk-type=pd-balanced \
--instance-termination-action=DELETE \
--image=https://www.googleapis.com/compute/v1/projects/colab-marketplace-image-public/global/images/colab-mp-20220110 \
--network=https://www.googleapis.com/compute/v1/projects/<INSERT_PROJECT_ID>/global/networks/default \
--subnet=https://www.googleapis.com/compute/v1/projects/<INSERT_PROJECT_ID>/regions/<INSERT_REGION>/subnetworks/default \
--no-restart-on-failure \
@alexandrnikitin
alexandrnikitin / AhoCorasickTree.cs
Created May 1, 2017 18:46
Aho-Corasick with some perf improvements
using System;
using System.Collections.Generic;
namespace Adform.AdServing.AhoCorasickTree.Sandbox.V7g
{
public class AhoCorasickTree
{
internal AhoCorasickTreeNode Root { get; set; }
public AhoCorasickTree(IEnumerable<string> keywords)
@alexandrnikitin
alexandrnikitin / Disable CPU power saving on CentOS 7.sh
Last active May 20, 2021 03:20
Disable CPU power saving on CentOS 7
# disable power saving on CentOS 7
grep -E '^model name|^cpu MHz' /proc/cpuinfo
pgrep -lf ondemand
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do [ -f $CPUFREQ ] || continue; echo -n performance > $CPUFREQ; done
service cpuspeed stop
lsmod | grep ondemand
grep -E '^model name|^cpu MHz' /proc/cpuinfo