Skip to content

Instantly share code, notes, and snippets.

View levonet's full-sized avatar
🇺🇦
Stand with Ukraine

Pavlo Bashynskyi levonet

🇺🇦
Stand with Ukraine
  • BlaBlaCar
  • Crimea, Ukraine
View GitHub Profile
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
typedef uintptr_t ngx_uint_t;
#define ngx_tolower(c) (u_char) ((c >= 'A' && c <= 'Z') ? (c | 0x20) : c)
#define ngx_hash(key, c) ((ngx_uint_t) key * 31 + c)
@levonet
levonet / article_db_migration.md
Last active October 17, 2021 12:14
About another approach to database deployment.

Кочуючі дані в інфраструктурі BlaBlaCar

Цієї весни я дивився мітап Beyond Serverless and DevOps де Aviran Mordo з Wix розповідав про інфраструктуру та її бачення. Про те, що розробнику не потрібно знати про складні налаштування розгортання. Мене надзвичайно вразила ідея, що достатньо додати в проект частину коду яка буде щось писати в базу даних, і розробника не хвилює звідки база даних візьметься. За це має відповідати платформа.

Такі ідеї дуже близькі для нас. Саме тому хочу поділитись тим, як ми в Київській команді Pro Marketplace B2B BlaBlaCar перейшли від ручного створення і обслуговування баз даних (БД) до динамічного менеджменту даними без участі людини.

@levonet
levonet / article_explainable_models.md
Last active July 6, 2021 20:43
How BlaBlaCar uses Machine Learning to maximise the success of new drivers

Як Machine Learning в BlaBlaCar допомагає водіям знайти пасажирів

BlaBlaCar шукає QA Lead

TL;DR або короткий вміст: ми шукаємо QA ліда.

Здоров!

Я переконаний, що в житті кожної людини настає момент, коли з'являється бажання зробити ЩОСЬ, за що її згадуватимуть вдячні співвітчизники. Згодом, на пенсії, онуки будуть слухати про це ЩОСЬ з відкритим ротом, та скубати: "Розкажи ще". Звісно, це ЩОСЬ має приносити користь багатьом та впродовж десятиліть.

@levonet
levonet / clickhouse.log
Created September 23, 2019 13:01
Stack trace: Cannot read from istream at offset 0
2019.09.23 12:20:07.897003 [ 91 ] {0e740a52-711e-4f5e-80dc-7c24ec560e53} <Error> executeQuery: Code: 23, e.displayText() = DB::Exception: Cannot read from istream at offset 0 (version 19.14.6.12 (official build)) (from 35.187.69.68:39726) (in query: insert into access_log_lb2a (`date`,`status`,`remote_addr_ip4`,`scheme`,`host`,`request_method`,`uri`,`args`,`server_protocol`,`platform`,`bytes_sent`,`body_bytes_sent`,`msec`,`request_time`,`tcpinfo_rtt`,`arg_utm_source`,`arg_utm_medium`,`arg_utm_campaign`,`arg_utm_term`,`arg_utm_content`,`arg_matchtype`,`arg_adsource`,`arg_admedium`,`arg_adcampaign`,`arg_adterm`,`arg_adcontent`,`arg_admatchtype`,`arg_yclid`,`arg_gclid`,`arg__ga`,`arg_fbclid`,`arg_sub_id`,`arg_from_id`,`arg_to_id`,`arg_on`,`arg_passengers`,`arg_preorder_id`,`arg_order_id`,`arg_payment_id`,`arg_locale`,`arg_query`,`arg_error`,`http_referer`,`http_user_agent`,`http_accept_encoding`,`http_accept_language`,`http_x_real_ip4`,`proxy_add_x_forwarded_for4`,`cookie__ga`,`cookie__gid`,`cookie__ym_uid`,`coo

Умови використання сервісу «Трекер влади»

1. Загальні положення

1.1. Ми пропонуємо користувачу мережі інтернет (далі — «Користувач») використовувати сервіс «Трекер влади», доступний за адресою: https://www.checkpromise.info (далі — «Сервіс»).

1.2. Коли Користувач починає використовувати Сервіс/його окремі функції, Користувач вважається таким, що прийняв ці Умови у повному обсязі, без будь-яких застережень і винятків. У разі незгоди Користувача з будь-якими з положень зазначених документів, Користувач не має права використовувати Сервіс.

1.3. Ці Умови можуть бути змінені без будь-якого спеціального повідомлення, нова редакція Умов набуває чинності з моменту її розміщення в мережі інтернет за зазначеною в цьому абзаці адресою, якщо інше не передбачено новою редакцією Умов. Чинна редакція Умов завжди знаходиться на сторінці за адресою: https://www.checkpromise.info/privacy.

#!/usr/bin/env perl
# log_format analitiz '$remote_addr - $remote_user [$time_local] '
# '"$request" $status $body_bytes_sent '
# '"$http_referer" "$http_user_agent" '
# '"$scheme" "$host" $remote_port '
# '"$request_method" "$request_uri" "$uri" "$args" '
# '"$proxy_add_x_forwarded_for" "$http_x_real_ip" '
# '["$cookie_language"] '
# '"$msec" "$request_time" '
#!/bin/sh
for s in `seq 1987 2017`; do
for m in `seq 1 12`; do
FILE="On_Time_On_Time_Performance_${s}_${m}.zip"
wget https://transtats.bts.gov/PREZIP/${FILE}
if [ "$?" -eq "0" ]; then
echo
echo -n "Upload ${FILE} "
unzip -cq ${FILE} '*.csv' | sed 's/\.00//g' | tail -n +2 | split -l 1000 --additional-suffix=".csv"
#!/usr/bin/env perl
=encoding utf8
=head1 NAME
csv2mydb.pl — скрипт, выгружает уникальные адреса из полей Postort, Postnummer, Gatunamn, Gatnr, Ingång
в CSV-файле в базу данных.
=head1 SYNOPSIS
@levonet
levonet / waffle.io.js
Created November 29, 2016 13:13
Waffle.io UserScript — Remove organization from title
// ==UserScript==
// @name waffle.io.js
// @namespace https://waffle.io/
// @version 0.2
// @description Waffle.io — Remove organization from title
// @author levonet
// @match https://waffle.io/*
// @grant none
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// ==/UserScript==