Skip to content

Instantly share code, notes, and snippets.

@creadone
creadone / fl-54.md
Last active October 8, 2023 11:51
ФЗ-54

Статья 1.1. Основные понятия, используемые в настоящем Федеральном законе

  • Федеральный закон определяет основные понятия и термины, связанные с применением контрольно-кассовой техники.
  • Контрольно-кассовая техника включает электронные вычислительные машины, компьютерные устройства и их комплексы.
  • Фискальный накопитель - средство защиты фискальных данных, содержащее ключи фискального признака.
  • Фискальный признак документа - информация, сформированная с использованием средств проверки фискального признака.
  • Эксперт - физическое лицо, получившее дополнительное образование в области оценки соответствия контрольно-кассовой техники.
  • Экспертная организация - организация, проводящая экспертизу моделей контрольно-кассовой техники и технических средств оператора фискальных данных.
  • Реестр экспертных организаций включает организации, соответствующие требованиям законодательства Российской Федерации о применении контрольно-кассовой техники.
@creadone
creadone / telegram_username_extraction.rb
Created August 4, 2023 00:18
Telegram username validation and extraction
test_str = %w[
userNAME_bla12
@userNAME_bla12
t.me/userNAME_bla12
tg://resolv?domain=userNAME_bla12
https://telegram.me/userNAME_bla12/2312313
https://userNAME_bla12.t.me
]
regexes = {
def jump_consistent_hash(key, num_buckets)
b = -1
j = 0
while j < num_buckets
b = j
key = (key * 2862933555777941757 + 1) % (2 ** 64)
j = ((b + 1) * (2 ** 31) / ((key >> 33) + 1)) % (2 ** 31)
end
unsigned int FNV1aHash (char *buf)
{
unsigned int hval = 0x811c9dc5;
while (*buf)
{
hval ^= (unsigned int)*buf++;
hval *= FNV_32_PRIME;
}
require 'uri'
require 'socket'
trap('SIGINT') { exit };
Socket.tcp_server_loop(3000) do |conn|
sleep 0.5
ts = "ts: #{Time.now.utc.to_i}\n"
puts ts
puts '-' * ts.size
require 'json'
require 'dnsruby'
include Dnsruby
REC_TYPES = %w(A AAAA NS CNAME MX PTR TXT SOA SPF)
DEA_HOSTS = File.open('hosts.csv', 'r')
RESOLVER = Resolver.new
TMP_STORE = {}
@creadone
creadone / instances.cr
Last active February 24, 2021 23:46
Return instances from class and build from_json
require "json"
struct Container
include JSON::Serializable
property a : Int32
property b : String
property c : String
property d : String
@creadone
creadone / cocoon.cr
Created February 22, 2021 18:37
Helper to wrap external API requests
class Cocoon(T)
def initialize(
@result = Channel(T | Exception).new,
@output = Channel(T | Exception).new
)
end
def wrap(&block : -> T) forall T
spawn(name: "executor") do
@result.send block.call
@creadone
creadone / in_batches.lua
Last active September 17, 2021 06:32
Tarantool :: Iterate over space in batches
-- Copy from https://raw.githubusercontent.com/tarantool/examples/master/cookbook/space/in_batches.lua
local fiber = require('fiber')
local export = {}
--- Run several iterations in a single transaction
--
-- This is useful in the following cases:
-- - improve the performance of write operations. Combining multiple operations
@creadone
creadone / Gemfile
Last active August 5, 2021 19:02
Ruby on Rails 6: using servers.com cloud as CDN for static assets
# [...]
gem 'fog-openstack' # driver for OpenStack Swift v2.0
gem 'non-digest-assets' # build assets without digest
# [...]