There will be no singularity – Telegram
There will be no singularity
1.99K subscribers
248 photos
15 videos
5 files
995 links
Smartface, technologies and decay
@antonrevyako
Download Telegram
Самый амбициозный кроссовер (с)

https://github.com/fdietze/postgresqlite

Шах и мат sqlit'исты!
У меня есть проблема - я хочу все делать хорошо...

В абсолютном большинстве случаев это никому кроме меня не нужно, но спокойствие на душе испытываю только от хорошо сделанной работы.
И двойной кайф, когда занимаешь работой вместе с людьми, которые это разделяют.

Конечно же, есть огромные шансы всем дружно "сделать хорошо, но никогда, чем плохо, но сейчас", но я стараюсь не :)

У меня было некоторое количество оффлайн проектов. Я уже как-то рассказывал как мой старинный друг делал плакат для интернет-магазина.

А еще была кофейня. После нее с я оффлайном завязал окончательно, но рассказ сегодня не об этом :)

Ко всему в этом проекте был серьезный подход - меню, подбор зерна, название, брендинг, фотографии блюд, ремонт.

Хотя заведение давно закрыто, я до сих пор получаю положительные отзывы о нашей работе (последнее буквально месяц назад).

И вот сегодня утром присылают мне фотку из кофейни Новосибирска с логотипом "моей прелести"...

Реакция была, конечно, неоднозначная.
С одной стороны - хорошие вещи постоянно тырят. (Поэтому все продукты теперь я буду делать только SaaS :) )

С другой... Как же убого у них выглядит все остальное!
Я заморачивался тематическим обновлением логотипа на наклейках на стаканы к разным праздникам. Аккаунты в соцсетях были оформлены особым образом и много чего еще!

А тут... Срамота.
Они сперли лого и детали оформления, но не взяли самого важного - отношения к своему делу :(
И, конечно же, продают франшизу.

Название воровать не стали, придумали свое - "Coffee Krok"
¯\_(ツ)_/¯

Здесь можно бы было написать пару стейтментов в духе "идеи ничего не стоят, стоит реализация". Или повторить то, что я уже писал в статье про интернет-магазин, о том, что только то, что делаешь с душой, приносит настоящее удовольствие.
Но это вы все и без меня знаете.

И да, будете в Новосибе, не ходите в эту кофейню...
yes.jpg
Лет 15 назад я работал обычным разрабом в маленьком банковском холдинге. Нас с напарником было всего двое "погромистов". В перерывах между написанием кода и SQL-запросов мы чинили принтеры и обжимали джеки (только что проверил - до сих пор помню эту долбаную мантру "оранжевый-белозеленый-синий.-белосиний...")

При этом в соседней комнате сидели Настоящие Разработчики. У них были большие зарплаты и к ним никого не пускали. Они писали Великую Систему - ее никто не видел, но когда-нибудь она заменит "все то говно" на котором банк работает сейчас. В Великой Системе планировалось сразу все - от банковских транзакций до закупок туалетной бумаги.

Шли годы, а систему никак не дописывали. Мы с напарником тем временем заговнокодили примерно весь холдинг: автоматизировали документооборот, трекинг внутренних задач, написали десяток говносайтов на PHP и даже интернет-банк на C#. А дизайн всего этого мы рисовали в пиратском фотошопе.

При этом привитое на мехмате чувство прекрасного позволяло нам почти не создавать техдолг - каким-то чудом.

Тру-разработчиков через 9 лет выгнали всем отделом.

Очень хочется на этом закончить красивой фразой про Д'Артаньяна и пидорасов. Но тру-разработчики не виноваты. Гемор взаимодействия "между бизнесом и разработкой" - он, сука, вечен. Даже Самат с Федей болтали про это целый час

Причина проста - все программисты страдают комплексом демиурга. Не "комплексом бога" в нарциссическом смысле, а именно обсессивно-демиургическим - мы всего-лишь хотим УПРАВЛЯТЬ МИРАМИ.

Это нормально. И неизбежно -мы работаем в сложных воображаемых вселенных. Вселенные затягивают. Мы хотим строить большие миры "шобы как Гугл", и этими мирами мы будем увлеченно рулить. Не мешайте нам.

Есть много способов с этим бороться. Но все вертятся вокруг одного - надо доставать программистов из воображаемых вселенных за уши. Можно нанять в штат психолога, как в сериале "Billions", а можно ввести хаки "dogfooding" или "all hands support", наглядно показывать impact... Короче, любой ценой сокращать дистанцию с реальным миром. Миллион есть способов. Дерзайте-гуглите.

Еще можно решить эту проблему на этапе найма - просто нанимайте больше девушек. Я серьезно, у них реально нет этих дурацких personality disorders. А если уж собеседуете парня, особенно недавнего студента, тогда так:

Если у вас есть R&D - нанимайте отличников. А если бизнес, стартапы, деньги и жиза - нанимайте двоечников.

Двоечники круты. Просто попытайтесь представить, насколько двоечнику сложнее закончить ВУЗ. Насколько сильнее он прокачан. Насколько крутой у него "ownership mindset", "problem-solving skills" и вот это все.

Двоечник до часу ночи где-то тусил, потом бухал, потом почему-то репетировал с группой на "базе", потом заснул на остановке, а утром пришел на третью пересдачу и СДАЛ ЕЕ.

Его выгоняли, отчисляли, выселяли из общаги, отчитывали в деканате, на горизонте была армия - а он все равно, сука, закончил. Бегал за преподами, договаривался о пересдачах, защищал себя на комиссиях... Софт-скиллы и устойчивость к стрессу - уровня "бог". А еще он быстро въезжает во все новое, ибо первый раз открывает учебник строго за день до экзамена.

Нанимая людей в тот банк мы всегда аккуратно выясняли - ну как там вообще в ВУЗе? Не был ли на грани вылета? Не уходил ли в "академ"? Не резался ли сутками в "Контру" вместо лекций? ...А то мы как раз такого ищем.
Давно не обновлялась моя коллекция экзотических применений SQL (полная версия на github).

Исправляюсь!

8) k8s
https://github.com/Dentrax/kubesql

Experimental tool to query K8s API using plain SQL

$ kubesql -q "SELECT namespace FROM context WHERE pod.status.phase = 'Running'"


9) Geodata
https://www.vtiler.com/

Display your spatial data on a map, no server required. Simply define the SQL query and get a ready-to-use tile endpoint

SELECT id, name, line AS geom FROM roads WHERE line && bbox;
Что-то плотненько пошло :)

Пополнение моей коллекция экзотических применений SQL (полная версия на github).

10) Terraform
https://github.com/mazen160/tfquery

Run SQL queries on your Terraform infrastructure. Query resources and analyze its configuration using a SQL-powered framework.

tfquery -q 'select count(*) as count from resources;'  --tfstate-dir /path/to/terraform-states

11) Blockchain
http://blockchainsql.io/

SQL Server for queries various blockchains

12) Files
https://github.com/jhspetersson/fselect

Find files with SQL-like queries

fselect size, path from /home/user where name = '*.cfg' or name = '*.tmp'

13) Files
https://flatbase.io/

Query your CSV and JSON files with SQL.
Flatbase is the data science platform for developers. Upload files, write SQL, visualize results, and share with collaborators.


PS: есть еще коллекция халявы от aws и всякого такого
У нас в чатике новая серия разборок по питону, присоединяйтесь :)
Сколько я проектов делал и сколько в своей жизни видел, каждый раз можно заметить одно и тоже. Начинается все с авторизации, тикетов, и тд.

С этими проблемами уже как-то разобрались (auth0, intercom извините jitbit). Местами за неподъемные для бутстраперов бабки, конечно, но все же разобрались.

Но есть область, с которой мучаются все и всегда - это биллинг.
Нет, я не о том, как привязать платежную форму. Это в 2021 году уже тоже не вопрос.
Я про subnoscription management.

Есть триал без карты. Юзеру доступны 2 тарифа для оплаты.
Если он не оплатил до конца триала, часть фич надо выключить. Если оплатил, не выключать.

Если не оплатил recurrent, выключить, но другую часть фич.
Если не оплатил, попробовать снять деньги еще несколько раз, каждый раз отключая часть фич.

С тарифа A можно перейти на тариф B и С, а с B на С и D. D при этом наследуют все фичи с C и добавляет новые.

Хотим заапсейлить фичу. Хотим чтоб она пересчиталась по дням относительно основного биллинг-периода.

Нужны скидки от количества лицензий или при покупке на год. На разных тарифах свои.

Для разных регионов разные цены в разных валютах.
Разные налоги и сборы.
Разные платежные системы.

Хотим персональные скидки или наценки.

Хотим специальные тарифы для корпоратов.
У корпоратов внутри есть разные группы юзеров, которым доступны разные фичи. Они могут докупать фичи сами в пределах бюджета и пермишенов.

Нужна админка для сейлзов, CFO, CEO, инвесторов. С разными пермишенами.

Нужен биллинг раздел в клиентской зоне. Выставление и рассылка счетов. Напоминания об оплате.

Нужен апи, чтоб все это синхронизировать с другими частями проекта.

Вы прослушали короткий список фич, которые рано или поздно вам понадобятся, когда вы решите принимать оплату в своем проекте.

Нет, не то что бы эти проблемы никак не были решены. Есть chargebee.com и stripe.com/billing
Даже есть опенсорс - https://github.com/odoo/odoo и https://github.com/killbill/killbill

Но страйп это страйп, а chargebee не поддерживает paddle.
odoo и killbill какие-то жуткие и страшные, что туда даже заглядывать не хочется :)

Короче, хоть сам садись и делай :)

Продам текущий стратап, пойду делать subnoscription management. Или в вебкам. Не решил пока...
Forwarded from Angry Frontend
Вот вам, кстати, последний и самый главный аргумент в пользу статической типизации: садишься в говно в пятницу вечером и с помощью TSC и Mother Mother невозбранно выкатываешь патч на API breaking changes, просто обновив пакет с типами… Ну, или под Toxicity. Кому что больше заходит 😋
Сегодня я расскажу вам чем мы занимались последние 9 месяцев.

Многие из вас знают, что мы с друзьями работаем над парой сервисов - holistic.dev и parsers.dev
Первый рассчитан на DBA, второй на разработчиков всякого тулинга для SQL, а вот дата инженеры оставались неохваченными.

Поэтому мы решили сделать еще один сервис для пользователей аналитических баз.
И первой базой, конечно же, стала Snowflake.

Поэтому новость будет интересна в основном пользователям Snowflake, но пользователи других баз могут просто узнать как оно бывает, порадоваться за нас и полайкать сообщения в linkedin, twitter и HN :)

Встречайте dwh.dev - dataops collaborative platform

Сервис будет состоять из нескольких систем, которые объединяются под страшными названиями data governance и data lineage.
Это такие инструменты, которые позволяют автоматически отслеживать как ваши данные связаны, даже если вы не связали их формально в схеме базы данных.
На основании этих данных можно генерировать документацию, находить невалидные отчеты, подготавливать более качественные данные для ML и вообще хорошо влиять на качество данных, а значит и качество принимаемых на их основе решений.
Например, подсказывать вам о том, что вы случайно ошиблись при написании JOIN'а таблиц, основываясь на знании о других запросах к этим таблицам.

Но первый шаг и базовый инструмент - это визуальный редактор схем баз данных. Его мы сегодня и запускаем!

Поэтому если вы или ваши знакомые являетесь пользователями Snowflake, пожалуйста, приходите. Нам очень нужна обратная связь.

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

И да, конечно же будут поддерживаться и другие базы кроме Snowflake, но чуть позже.


Полайкать новость можно тут:
линкедин
твиттер
snow hn
Если вы используете snowflake, но еще не присутствуете в нашем специальном snowflake-чатике, то обязательно присоединяйтесь!
По горячим следам.

Многие помнят, что в Snowflake дамп DDL происходит через вызов специальной функции, которая работает плохо - сортирует объекты по имени, а не по графу зависимостей.
Даже пришлось писать тулзу, которая это фиксит.

Оказалось есть еще одна "фича": стейтменты сохраняются вместе с комментариями и при дампе выводятся с этими же комментариями.

Но есть одно жирное НО: разделители команд в виде точки с запятой приклеиваются к последней существующей строке запроса.
И если при создании объекта последней строкой стейтмента была закомментированная строка, то и точка с запятой попадет в комментарий.

Это фиксится на стороне Snowflake переносом ";" на новую строку, и я, пожалуй, не буду по этому упарываться.
Но бладж!
Алибаба заопенсорсила PolarDB для посгреса. PolarDB это распределенная реляционная система управления БД, совместимая с pg, mysql и oracle. Аналог AWS Aurora.

https://github.com/alibaba/PolarDB-for-PostgreSQL

ру версия - https://www.opennet.ru/opennews/art.shtml?num=55233

по наводке @oleg_log
Есть такой замечательный дядька Andy Pavlo из Carnegie Mellon University.
Он одно время разрабатывал pelotondb - автоматическую систему управления БД. Это когда ML считает метрики и подкручивает планировщик в нужную сторону.
Похожие фичи есть у Azure и Oracle.

Проект закопали, и сейчас он занимается новым - ottertune.com
Уже не опенсорс (хехе) и на деньги инвесторов (привлек $2.6m)

Еще у него есть пара отличных курсов на ютубе: Intro to Database Systems, Advanced Database Systems и куча другого годного контента на канале CMUDatabaseGroup
На выходных вместо сериальчиков - милое дело :)

А еще есть конфа про распределенные системы Hydra (плейлисты за 2019 и 2020).
Нет, это не та гидра, о которой все подумали, это другая (нормально назвались, да?).

Andy выступит на этой конфе через пару недель c докладом "The official ten-year retrospective of NewSQL databases".

Вы знаете, что рекламу я не размещаю, но отказать организаторам в том, чтобы рассказать про Andy, я не мог.
Поэтому вот ссылка на ленд и вот купон на скидку: cnb2021JRGpc

Мне за это ничего не будет (разве что из-за упоминания гидры возьмут на карандаш, самизнаетегде), а вам, надеюсь, будет польза :)
Forwarded from LEFT JOIN
Если вдруг когда-то хотели подучить регулярные выражения, RegexOne отлично с этим поможет.
Китайцы пошли в опенсорс.

Были жалобы, что алибаба выложили PolarDB только для Postgresql. Возрадуйтесь, вот есть compatible with MySQL protocol and syntax распределенная база OceanBase:

https://github.com/oceanbase/oceanbase

Рассказывают, что
Linear scalability OceanBase Database scales transparently to applications and balances the system load automatically. Its cluster can contain more than 1500 nodes. The data volume can reach petabytes. The records in a single table can be more than a trillion rows


Пока все доки на китайском...