Skip to content

Instantly share code, notes, and snippets.

View valignatev's full-sized avatar

Valentin Ignatev valignatev

  • Novi Sad, Serbia
View GitHub Profile
@valignatev
valignatev / habraproxy.py
Last active October 19, 2016 12:45 — forked from anonymous/gist:06e0bd519490c8f03404
add to all words > 6 letters 'tm'
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import string
import webbrowser
import re
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
# pip install requests
# pip install beautifulsoup4
@valignatev
valignatev / factor.py
Created September 3, 2015 14:10
Напишите функцию, которая перебирает натуральные числа от 1 до N включительно и раскладывает каждое число на множители. Результат можно выводить на экран либо копить в любой структуре данных.
#! -*- coding: utf-8 -*-
def factor(number):
"""
Используем разложение на простые множители
"""
factors = [1]
start = 2
@valignatev
valignatev / repack.py
Created September 3, 2015 14:11
Имеется простой односвязный список размера N. Необходимо реализовать алгоритм, который перепаковывает список так, чтобы за первым элеметом следовал последний, затем второй, затем предпоследний и т. д. Пример работы алгоритма: исходный список: 1-2-3-4-5-6-7-8 перепакованный список: 1-8-2-7-3-6-4-5. Оценить сложность предложенного алгоритма.
#! -*- coding: utf-8 -*-
def repack(old_list):
new_list = []
first = 0
last = len(old_list) - 1
while len(new_list) < len(old_list):
last_el = old_list[last]
@valignatev
valignatev / divide_vector.py
Last active November 24, 2016 21:05
Имеется вектор размера N. Необходимо разделить его на M < N равных частей (то есть чтобы количество элементов в каждой части было одинаковым). Части не должны пересекаться и должны покрывать весь вектор (исключение - допускаются промежутки от начала вектора до начала первой части и от конда последней части до конца вектора, но в этом случае необ…
#! -*- coding: utf-8 -*-
def divide(n, m):
# Выходной список интервалов
intervals = []
# Количество элементов в каждой части
el_count = n / m
# Количество элементов вектора, не попадающих в части
rest_part = n % m
@valignatev
valignatev / getopt.py
Last active November 24, 2016 21:09
Напишите простую реализацию функции для разбора параметров командной строки (getopt). Полагаем, что нам требуется структура данных, содержащая заранее известный допустимый набор параметров различного типа - строки, целые, числа с плавающей точкой и т. д., а также признак, является ли этот параметр обязательным. Полагаем, что параметры могут пере…
#! -*- coding: utf-8 -*-
import sys
# param_name: required
PARAMS = {
'--integer': True,
'--boolean': True,
'--string': False,
}
@valignatev
valignatev / items.json
Created October 28, 2015 08:29
spider for oxygenboutique.com with results in json
[{"code": "Paula-Top", "description": "Paula Top by Related Apparel.\u00a0This classic cut tee has a boxy fit and comes in a beautiful black and grey wool blend filigree style patterned fabric. Wear over jeans or pair with the matching Margaux Skirt.", "gbp_price": "62.50", "sale_discount": 50.0, "gender": "F", "stock_status": {"UK6": 1, "UK10": 1, "UK14": 1, "UK12": 1, "UK8": 3}, "designer": "Related", "link": "http://www.oxygenboutique.com/Paula-Top.aspx", "raw_color": "black", "images": ["http://oxygenboutique.com/GetImage/cT0xMDAmdz04MDAmaD02MDAmUEltZz1hYTUzNTAyZS05YjA2LTRhZmMtOWQzZi0wZGQ4OGJlYjBjZGYuanBn0.jpg"], "type": "A", "name": "Related Paula Top"},
{"code": "Selena-Gown", "description": "Selena Gown by Related. This elegant show piece has a slim silhouette with a fitted bodice to enhance your waist. Cut from pale grey floral jacquard it has a subtle shimmer that's just right for your evening soirees.", "gbp_price": "125.00", "sale_discount": 50.0, "gender": "F", "stock_status": {"UK6": 1, "UK10": 1
@valignatev
valignatev / pyproject.toml
Created June 5, 2019 21:47
pyproject.toml
[tool.poetry]
name = "packagename"
version = "0.1.0"
description = ""
authors = ["Valentin Ignatev <valentignatev@gmail.com>"]
[tool.poetry.dependencies]
python = "^3.7"
[tool.poetry.dev-dependencies]
@valignatev
valignatev / artix_s6_faq
Last active August 10, 2020 13:50
Artix s6 tldr
Q: Artix s6 wiki?
A: https://wiki.artixlinux.org/Main/S6
Q: How to get s6 service for a program?
A: instal program-s6 package
Q: Does the service get enabled after reboot?
A: No
Q: How to enable it then?
@valignatev
valignatev / script.jai
Last active May 18, 2022 11:45
An example of compile-time script in jai without producing an executable. You can use it like that instead of bash or python
#!/path/to/jai-linux
#import "Basic";
#import "Compiler";
#run {
set_build_options_dc({.do_output = false});
print("Hello!\n");
}
;; Meow experiments. Unfortunately didn't quite worked out for me for now,
;; so go back to trusty evil
(use-package meow
:init
(define-key input-decode-map (kbd "C-[") [control-bracketleft])
(global-set-key [control-bracketleft] 'ignore)
(global-set-key [control-bracketleft] 'meow-insert-exit)
(setq meow-expand-hint-counts
'((word . 0)
(line . 0)