Skip to content

Instantly share code, notes, and snippets.

View selevit's full-sized avatar

Sergey Levitin selevit

View GitHub Profile
@selevit
selevit / backup-edgeos-config.sh
Created February 19, 2022 12:56
Backup EdgeOS config to S3
#!/bin/vbash
set -e
source /opt/vyatta/etc/functions/script-template
# Save configuration to backups
NOW=`date -I'seconds'`
BACKUP_ROOT="/backup"
CONFIG_FILE="edgerouter_config_${NOW}.boot"
save "${BACKUP_ROOT}/${CONFIG_FILE}"
@fixture(autouse=True, scope='session')
def threadsafe_vcrpy() -> None:
"""This fixture fixes an known VCR.py bug with threading and force_reset():
https://github.com/kevin1024/vcrpy/issues/212
There was a PR for this: https://github.com/kevin1024/vcrpy/pull/300
But the author was not sure if this fix covers all corner cases, and that's why hadn't merge it.
For our needs it's fully enough, that's why we will monkeypatch it until it's not fixed in the lib."""
from vcr.patch import force_reset as original_force_reset
@selevit
selevit / MultiTransfer.sol
Created February 19, 2020 12:23
An Ethereum smart contract which transfers many different ERC20 tokens and ETH in one transaction.
pragma solidity >=0.4.21 <0.7.0;
pragma experimental ABIEncoderV2;
import "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol";
import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";
contract MultiTransfer {
struct Destination {
address token;
uint256 amount;
@selevit
selevit / MultiTransfer.sol
Created February 19, 2020 12:22
An Ethereum smart contract which transfers many different ERC20 tokens and ETH in one transaction
pragma solidity >=0.4.21 <0.7.0;
pragma experimental ABIEncoderV2;
import "openzeppelin-solidity/contracts/token/ERC20/IERC20.sol";
import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";
contract MultiTransfer {
struct Destination {
address token;
uint256 amount;
import os
from collections import namedtuple
import yaml
class BotConfigNotFound(Exception):
pass
@selevit
selevit / rt_bot_api_checker.go
Last active November 15, 2016 00:04
Набросок CI скрипта, который будет проверять корректность ботов radio-t (https://github.com/umputun/rt-bot)
package main
import (
"encoding/json"
"errors"
"fmt"
"io/ioutil"
"net/http"
"os"
"strings"
@selevit
selevit / pumps.sql
Created January 27, 2016 12:17
Ебаный насос
-- phpMyAdmin SQL Dump
-- version 3.5.8.1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Янв 27 2016 г., 15:17
-- Версия сервера: 5.5.37-0ubuntu0.13.10.1
-- Версия PHP: 5.5.3-1ubuntu2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
// Проверяет, четное ли число
bool is_even(int num)
{
return num % 2 == 0;
/* Дана последовательность, для */
#include <iostream>
#include <cmath>
using namespace std;
// Найти значение выражения
double get_expr_val(double a, double b, double x, double y, double z)
{
double part1 = log(a + b);
double part2 = pow(log(x + y), 3) / log(z + 2);
program matr;
type
matrix = array [1..5, 1..3] of integer;
var
a: matrix; { двумерный массив }
i, j: integer; { индексы массива }
{ количество элементов массива, которые без остатка
делятся на собственный индекс (строки или столбца }