Написал довольно подробный обзор своей малышки - slowpoke на хабре

Написал довольно подробный обзор своей малышки - slowpoke на хабре:

https://habr.com/post/354224/

Как к ребенку отношусь, ей богу. С придыханием жду первых комментариев, хотя казалось бы - насрать и забыть. Оно работает, меня устраивает. Проклятая социализация, надо как то избавляться от зависимости от чужого мнения.

Habr.Com
slowpoke — не самая быстрая база данных
Всем привет. slowpoke это key/value хранилище данных, написанное на стандартной библиотеке golang. Slowpoke обладает минималистичным, удобным апи и подходит...

Более научно

Более научно:
http://research.cs.wisc.edu/adsl/Publications/alice-osdi14.pdf
Смысл сводится к тому, что каждый файловый дескриптор должен быть либо открыт монопольно на запись, либо обложен блокировками/мьютексами (single writer). Close ничего не гарантирует. Write ничего не гаранитрует. in sync we trust. А теперь сюрприз - sync отключен практически во всех базах данных by default. Мешает побеждать в бенчмарках. В slowpoke каждая операция завершается sync. Каждая.

Очень надеюсь что slowpoke станет дефолтным стораджем для ipfs.io. Это было бы большой победой здравого смысла над бенчмарками. Обсуждаем с разработчиками.

Research.Cs.Wisc.Edu


Канал 404

Канал 404

Уже скоро год - при помощи @telefeedbot, в канал https://t.me/joinchat/AAAAAEJJCKLNNUuwTInJKw
собирается rss с сайтов vc.ru, roem.ru и habr.ru
Делал для себя, но вдруг кому то еще пригодится

Довольно удобно, когда все в одном месте . Хотя лента и неидеальна и есть пропуски новостей.

Telegram
Channel 404
Channel 404

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

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

Утро начал с разврочивания Интерпланетарной Файловой Системы (ipfs.

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

slowpoke - data engine

slowpoke - data 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.

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

Прокси это конечно так себе спасение.

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

Пример постоянно обновляемого списка 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 осознав это? И ждет ли нас расцвет подобных сервисов - или все эти сервисы так и останутся уделом маргиналов. Посмотрим. Лично я решил не делать ни бота ни сайт с прокси для обхода блокировки. Не вижу красивого решения(

Клон tggram.

Клон tggram.com

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

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

Tggram.Com
TgGram: Create a blog from a Telegram channel
TgGram is blog platform for Telegram.