Skip to content

Instantly share code, notes, and snippets.

View ivan4th's full-sized avatar

Ivan Shvedunov ivan4th

  • Spacemesh
  • Yerevan, Armenia
  • 12:25 (UTC +04:00)
View GitHub Profile
@ivan4th
ivan4th / bigdb.md
Created September 10, 2024 20:09
Multiple instances of a program with a big DB on small-ish drive

The idea here is to use LVM copy-on-write snapshot feature to reduce disk usage needed for the multiple instances.

  1. Create a 300G sparse file. This file will not be using much disk space initially, despite its apparent size.
truncate -s 300G image.img
  1. Attach a loop device to the file and grab its name
loop=$(losetup --show -f image.img)
@ivan4th
ivan4th / README.md
Created January 18, 2024 03:07
Spacemesh low-bandwidth test

To test:

  1. Adjust paths in the configs
  2. For the first node, use a copy of an up-to-date database
  3. For another node, use a blank database (don't create any) or a database that's missing some ATXs etc.
  4. Prepare network namespaces:
    $ sudo ./setup.sh
  5. Run the first node:
@ivan4th
ivan4th / login.json
Created May 21, 2023 22:31
Sberbank login data
{
"UnknownSources": -1,
"DeveloperTools": 1,
"HoursSinceAircastInstall": -1,
"HoursSinceAirdroidRemoteSupportInstall": -1,
"HoursSinceAwerayRemoteInstall": -1,
"HoursSinceZoomInstall": -1,
"HoursSinceAnyDeskInstall": -1,
"HoursSinceDiscordInstall": -1,
"HoursSinceQSInstall": -1,
@ivan4th
ivan4th / 1password.lisp
Created June 24, 2022 23:37
Inecobank scraping
(in-package :yobabank)
(defparameter *1pw-secure-note-name* "Yobabank Data")
(defparameter *1pw-vault* "Personal")
(defun 1pw-get-field (object name)
(when (typep object 'st-json:jso)
(st-json:getjso name object)))
(defun 1pw-get-id (object)
@ivan4th
ivan4th / 0001-ip-neighbor-update-incomplete-nbr-adj-entries-upon-M.patch
Last active August 11, 2021 13:04
VPP incomplete neighbor + MAC change problem
From 01348a8d53c78112063474a2b3cd26162428d248 Mon Sep 17 00:00:00 2001
From: Ivan Shvedunov <[email protected]>
Date: Wed, 11 Aug 2021 15:53:49 +0300
Subject: [PATCH] ip-neighbor: update incomplete nbr adj entries upon MAC
change
The rewrite data from the incomplete nbr adj entries is used, for
example, for ARP requests, so it needs to be updated when the
interface MAC address changes.
@ivan4th
ivan4th / dispatch-trace.txt
Last active April 21, 2021 13:57
TRex ASTF+VPP memif issue
Frame 47: 3068 bytes on wire (24544 bits), 3068 bytes captured (24544 bits)
Encapsulation type: Vector Packet Processing graph dispatch trace (205)
Arrival Time: Jan 1, 1970 03:04:52.767839000 MSK
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 292.767839000 seconds
[Time delta from previous captured frame: 0.366594000 seconds]
[Time delta from previous displayed frame: 0.366594000 seconds]
[Time since reference or first frame: 0.710989000 seconds]
Frame Number: 47
Frame Length: 3068 bytes (24544 bits)
@ivan4th
ivan4th / Dockerfile
Created March 15, 2021 16:03
VPP UDP Test
FROM upg:debug
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && \
apt-get install -y libssl-dev git curl wget iproute2 dumb-init gdb \
nginx gnupg apt-transport-https netcat tcpdump ethtool socat
COPY start.sh /
COPY test.sh /
@ivan4th
ivan4th / killemall.el
Last active November 12, 2020 10:00
Kill Emacs buffers by path
;; based on https://stackoverflow.com/a/32823597
(defun killemall (regexp)
(interactive "sKill buffers with paths matching this regexp: ")
(dolist (buffer (buffer-list))
(let ((name (or (buffer-file-name buffer)
(with-current-buffer buffer
(when (boundp 'dired-directory)
(if (consp dired-directory)
(car dired-directory)
@ivan4th
ivan4th / README.md
Last active October 30, 2019 15:17
modem signal check

Build:

GOOS=linux GOARCH=mipsle CGO_ENABLED=0 GOMIPS=softfloat go build
@ivan4th
ivan4th / tmux.conf
Created September 28, 2019 06:24
tmux on mac
# http://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/
unbind C-b
set -g prefix C-a
bind C-a send-prefix
set -g mouse on
# https://gist.github.com/miguelmota/71ab27e1ec2c80759d8ea975b8ec855b
# bind-key -T copy-mode-vi MouseDragEnd1Pane send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
# bind-key -T copy-mode MouseDragEnd1Pane send -X copy-pipe-and-cancel "reattach-to-user-namespace pbcopy"
bind-key -T copy-mode-vi MouseDragEnd1Pane send -X copy-pipe-and-cancel "pbcopy"