Skip to content

Instantly share code, notes, and snippets.

View Frodox's full-sized avatar
🎯
Focusing

Vitaly Rybnikov Frodox

🎯
Focusing
View GitHub Profile
@Frodox
Frodox / latency.markdown
Created August 30, 2021 21:21 — forked from hellerbarde/latency.markdown
Latency numbers every programmer should know

Latency numbers every programmer should know

L1 cache reference ......................... 0.5 ns
Branch mispredict ............................ 5 ns
L2 cache reference ........................... 7 ns
Mutex lock/unlock ........................... 25 ns
Main memory reference ...................... 100 ns             
Compress 1K bytes with Zippy ............. 3,000 ns  =   3 µs
Send 2K bytes over 1 Gbps network ....... 20,000 ns  =  20 µs
SSD random read ........................ 150,000 ns  = 150 µs

Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs

Keybase proof

I hereby claim:

  • I am frodox on github.

  • I am frodox (https://keybase.io/frodox) on keybase.

  • I have a public key ASCBZ45dDFoGhpcOOzzLGLQQDAgy_0xXIEJSgU2Zqq244Qo

@Frodox
Frodox / convert-all-matlab-files-to-linux.sh
Last active December 20, 2017 18:44
convert all *.m files cp-1251 to utf8
#!/bin/bash
set -u -o pipefail
if [[ -z "${1-}" ]]; then
echo "$0 <dir>" >&2
exit 1
else
DIR=$(readlink -f "$1")
fi
@Frodox
Frodox / imap_monitor
Created June 19, 2017 22:15 — forked from shimofuri/imap_monitor
Python script for monitoring an IMAP folder
Each existing unread and subsequent new emails after the script is started are
passed as Mail objects to "process_email" function.Function header is provided
but processing implementation is left to the user. Error logs are currently sent
to a rotating log file (in the same directory as the script) and to STDOUT.
Instead of polling or checking the server for new emails every now and then,
IMAP IDLE check is utilized. Ensure that the IMAP server supports IDLE command
and allows at least 5 minutes of idling*** and uses the default ports for this
script to work. Tested to work with Gmail and default installations of MS
Exchange Server.
@Frodox
Frodox / quick-start-iso.sh
Last active June 22, 2017 17:02
Quick start for creating custom centos like distro (gist for article ... )
cd /tmp
setenforce 0
LORAX_TMP_DIR=./lorax-raw # тут будут результаты его работы
lorax -p Fedora-Generic -v 22 -r 22 \
-s http://mirror.centos.org/centos-7/7/os/x86_64/ \
-s http://mirror.centos.org/centos-7/7/updates/x86_64/ "$LORAX_TMP_DIR"
...
buildroot=/build/lorax
mount -o loop,ro "$LORAX_TMP_DIR/images/boot.iso" "$TMP_MOUNT_DIR"
rm -rf "$buildroot"
from buildbot.plugins import worker
WILY_WORKER_NAMES = ['wily-worker-{}'.format(i) for i in range(3)]
XENIAL_WORKER_NAMES = ['xenial-worker-{}'.format(i) for i in range(3)]
YAKKETY_WORKER_NAMES = ['yakkety-worker-{}'.format(i) for i in range(3)]
WORKERS = [
worker.DockerLatentWorker(
worker_name,
'SECRET',
#!/bin/bash
#
# PoC ssh-password cracker based on sshpass pkg.
# Run it like: echo 192.168.1.{1..254} | tr ' ' '\n' | xargs -P$(nproc) -I{} bash -c "./hack-pc.sh {} 123123 123 12345678"
#
#
IP="$1"
shift
PASSES="$@"
@Frodox
Frodox / fix-double-border-gtk2.md
Last active March 30, 2016 09:35
fox double border

Had the same problem with gtk3/compton/i3. Using i3 4.8-3, gtk3 3.14.9-1, compton v0.1_beta2-5 on Arch. The other fixes suggested here didn't work for me.

The following fixed the problem for me:

You need to edit the file ~/.config/gtk-3.0/gtk.css

.window-frame, .window-frame:backdrop {
 box-shadow: 0 0 0 black;
 border-style: none;
 margin: 0;
# Geany's snippets configuration file
#
# use \n or %newline% for a new line (it will be replaced by the used EOL char(s) - LF, CR/LF, CR).
# use \t or %ws% for an indentation step, it will be replaced according to the current document's indent mode.
# use \s to force whitespace at beginning or end of a value ('key= value' won't work, use 'key=\svalue').
# use %key% for all keys defined in the [Special] section.
# use %cursor% to define where the cursor should be placed after completion. You can define multiple
# %cursor% wildcards and use the "Move cursor in snippet" to jump to the next defined cursor
# position in the completed snippet.
# You can define a section for each supported filetype to overwrite default settings, the section
@Frodox
Frodox / pygtk-screenshot.py
Last active August 29, 2015 14:26
Taking a screenshot of the active window with using pygtk
#!/usr/bin/env python
#http://faq.pygtk.org/index.py?req=show&file=faq23.039.htp
try :
import gtk.gdk
except ImportError :
print 'You need to install pygtk'
exit(1)