Skip to content

Instantly share code, notes, and snippets.

View le0pard's full-sized avatar
🕷️
Your friendly neighborhood coder

Oleksii Vasyliev le0pard

🕷️
Your friendly neighborhood coder
View GitHub Profile
@le0pard
le0pard / test.ex
Created June 26, 2014 15:32
Elixir 0.4.1 error
case worker_record do
record = WorkerRecord[at: at, at_queue: at_queue] when is_number(at) and at > timestamp and is_bitstring(at_queue) ->
# do something
_ ->
# do something
end
## I get error:
## cannot invoke remote function Access.get/2 inside match
@le0pard
le0pard / lovefield_test.patch
Created May 12, 2015 12:00
lovefield + browserify
diff --git samples/calculator/calculator.html samples/calculator/calculator.html
index 7f80d0c..acfd40b 100644
--- samples/calculator/calculator.html
+++ samples/calculator/calculator.html
@@ -2,11 +2,7 @@
<head>
<title>Calculator</title>
<link rel="stylesheet" type="text/css" href="style.css" />
- <script src="jquery/jquery.min.js"></script>
- <script src="lovefield.js"></script>
require 'net/pop'
raise "args shoud be email ans pass" if ARGV.length < 2
username, password = ARGV[0], ARGV[1]
Net::POP3.start('mailtrap.io', 1100, username, password, true) do |pop|
if pop.mails.empty?
puts 'No mail.'
else
pop.each_mail do |m|
@le0pard
le0pard / shell.sh
Created September 22, 2015 20:23
pop3 telnet
telnet ruby-2.2.0
telnet> toggle crlf
Will send carriage returns as telnet <CR><LF>.
telnet> open mailtrap.io 1100
Trying 54.164.81.148...
Connected to mailtrap.io.
Escape character is '^]'.
+OK POP3 ready <190442990.1442953303@mailtrap.io>
USER ***
+OK
@le0pard
le0pard / test.rb
Created September 22, 2015 20:37
pop3 by ruby from mailtrap
2.2.0 :014 > s.puts "LIST\r"
=> nil
2.2.0 :015 > s.gets
=> "+OK 50 messages (4192565 octets)\r\n"
2.2.0 :016 > s.gets
=> "1 14181\r\n"
2.2.0 :017 > s.gets
=> "2 127\r\n"
2.2.0 :018 > s.gets
=> "3 127\r\n"
@le0pard
le0pard / tribit.md
Last active January 2, 2020 17:57
Tribit алгоритм

Для обработки малых пирамид при применении системы правил и усечении, генерируются индексы соответствующие каждой пирамиде. Эти индексы соответствуют номерам символов входной строки, которые соответствуют пирамиде.

Например: во входной строке символы нумеруются

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

в пирамиде соответствующие индексы будут соответствовать ячейкам

@le0pard
le0pard / app.jsx
Created October 9, 2016 19:56
React and Flux example for screencast
import React from 'react'
import {Dispatcher} from 'flux'
import {EventEmitter} from 'events'
import keyMirror from 'fbjs/lib/keyMirror'
import './app.sass'
const actions = keyMirror({
PLUS_ACTION: null,
MINUS_ACTION: null
@le0pard
le0pard / dns.rb
Created October 1, 2020 11:21
Simple Ruby DNS server
# frozen_string_literal: true
require 'socket'
require 'bindata'
class DnsHeader < BinData::Record
endian :big
uint16 :transaction_id
bit1 :flag_QR
@le0pard
le0pard / dns_example.rb
Created October 1, 2020 13:59
Proxy DNS with debug
# frozen_string_literal: true
require 'socket'
require 'resolv'
class DNSServer
attr_reader :port, :ttl
def initialize(port: 5300, ttl: 60, records: {})
@le0pard
le0pard / forge-library.js
Last active November 26, 2025 17:38
AES-256-GCM on Ruby and JS (Web Crypto API and forge.js)
// you need to use https://github.com/digitalbazaar/forge
const encryptData = (key, data) => {
const mdKey = forge.md.sha256.create()
mdKey.update(key)
const iv = forge.random.getBytesSync(12)
const cipher = forge.cipher.createCipher('AES-GCM', mdKey.digest())
cipher.start({