Количество сайтов которые рассылаются @telefeedbot - перевалило за 17000. На скрине хеши урлов

20.04.2018 t.me/recoilmeblog/121

Утро начал с разврочивания Интерпланетарной Файловой Системы (ipfs.io) Как то все слишком просто. Скачал. Запустил. Работает. Невозможно заблокировать. Будущее рядом.

20.04.2018 t.me/recoilmeblog/120

slowpoke - database engine

Сегодня наконец состоялся долгожданный релиз движка баз данных slowpoke:
github.com/recoilme/slowpoke

К моему удивлению, несмотря на простоту дизайна, разработка заняла более месяца. Правда по сути за это время было написано несколько вариантов.

Slowpoke это простая, хорошо масштабируемая key/value база данных с удобным минималистичным апи. Скорость была отодвинута на задний план, но к моему удивлению она оказалась не намного медленней популярных аналогов (я рассматриваю прежде всего boltdb). А в каких то уникальных кейсах и на порядки быстрее.

Апи слоупоке состоит всего из нескольких команд:
- set/get
- sets/gets
- keys и close

В конечном варианте я полностью отказался от сторонних библиотек и реализовал весь функционал на стандартной библиотеке golang. В отличие от аналогов (rocksdb, leveldb, boltdb, badger и тд) - в апи встроены функции для работы с пулом ключей. Основная команда для выборки значений - keys - позволяет получить отсортированный диапазон ключей с лимитом, офсетом, выбрать по значению или префиксу. В паре с keys можно использовать как gets - принимающий на вход масссив ключей, и возвращающий пары ключ/значение - так и sets - в свою очередь сохраняющий массив пар за один sync. При разработке я отталкивался от многочисленных кейсов, возникающих в реальных задачах и старался покрыть наибольшее их колличество, не перегрузив апи ненужным функционалом. В итоге есть и вторичные ключи и массовые операции и выборки - что уже позволило мне полностью отказаться от фаербейс и болтдб.

Ну самое главное - в движке нет никакой "магии". Ни LSM-Tree, ни BTree ни mmap ни прочих странных инженерных решений. При этом тот же sets - позволяет использовать ее и в типичных кейсах leveldb - для хранения например цепочки блокчейна, а быстродействие сохранено на приемлемом уровне. Забавно читать в архитектуре других баз данных - я точно не понимаю как это работает, но думаю Говард Чу знает что делает. Поэтому я сделал также. Ok.

Думаю у меня получилось лучше чем у Говарда Чу.

17.04.2018 t.me/recoilmeblog/119

Прокси это конечно так себе спасение. Они постоянно ложатся.

Пример постоянно обновляемого списка http proxy без паролей:

http://pubproxy.com/api/proxy?format=txt&type=http&level=anonymous&limit=20&last_check=60

Попробовал и @socks5_bot - постоянный реконнект( Что будет после отключения телеграм - сложно представить. Точнее несложно - лягут. Публичные прокси тоже постоянно ложатся - но их список непрерывно ротируется и я думаю данный способ более надежен. Хотя конечно лучше поднять свой прокси - если есть сервер. Библиотек - полно: https://github.com/armon/go-socks5

В этой связи наверное был бы уместен бот, постоянно пингующий список и вываливающий в топ - прокси с минимальной задержкой (проверить прокси можно например курлом - "curl -x http://125.212.207.121:3128 https://telegram.org") А еще лучше - сайт, на котором все это складывать. Но таких сайтов вобщем то навалом (http://spys.one/proxys/US/) - и проблемы это не решает. Даже если прокси из 80 раз 80 раз ответил на пинг - ничего не гарантирует того, что через час он отвалится. Интересно начнут ли обыватели платить за сервисы типа vpn осознав это? И ждет ли нас расцвет подобных сервисов - или все эти сервисы так и останутся уделом маргиналов. Посмотрим. Лично я решил не делать ни бота ни сайт с прокси для обхода блокировки. Не вижу красивого решения(

12.04.2018 t.me/recoilmeblog/118

Клон tggram.com

Ура, у сервиса появился полноценный клон: https://tgrm.me
👍🤷‍♀️
Все очень похоже на tggram.com - я подключил их бота к этому каналу, сайт должен создасться тут
https://tgrm.me/recoilmeblog/
Можно сравнить с
http://recoilmeblog.tggram.com/

Лил, есть проблемы с эмоджи, скоростью и нет превью ссылок

09.04.2018 t.me/recoilmeblog/117