Что лично меня больше всего бесит в процессе написания кода - это тулинг и настройки окружения.
Нельзя просто взять и начать нормально работать. Сначала надо прочитать мануалы по настройке. И... обломаться, потому что с момента написания мануала сменилось 2 мажорные версии.
Почитать все релевантные ишью на гитхабе, пролистать stack overflow, откатиться к версиям, которые использовали на момент написания мануала.
Зафиксировать версии, чтоб случайно что-то не обновилось...
Через некоторое время все начнет тормозить. И опять по кругу - ишью на гитхабе, мануалы на medium, stack overflow...
Но если ты решил что-то поменять...
- "Обнови npm! Вышла новая мажорная версия! У тебя 6.14, а вышла 7.5". ЭЭЭ... А где были 7.1-7.4? Ну ок... Слетают все сохраненные токены к приватным репам. Как ты их настраивал - хз. Лезешь в доки, разбираешься.
- "request перестали поддерживать, замени на другое". Ладно, что там у фронтов? axios? Что может пойти не так? Это же просто http клиент... 3 часа ищешь как установить лимит на request timeout. Знаете как? НИКАК! Ну т.е. в интернете есть пяток (!) рецептов, но ни один не работает...
- Пора поменять flow на ts. Да, знаю, это другое, но все-таки... Нужен аналог
- Так, что там с ts в качестве тестранера используют... Ага, убираем ava, берем jest... Хз, что там в джесте происходит, но тесты, которые отрабатывают за 20 секунд при запуске через ava, на jest я выключил через 5 минут, потому что мне надоело. ПЯТЬ МИНУТ!!! Если запускать тесты по одному - работает, но занимает в 3-4 раза больше времени...
Думаете так только в js? Ха! Java, python, haskell, c, c++ - я всякое пробовал. Везде ад. Где-то лучше, где-то хуже, но везде. На go плюс-минус ничего, но только если вы смогли настроить GOPATH и не забили на этом этапе :) Ну и если все нужные вам пакеты доступны на гитхабе и подходят под ту версию рантайма, которую вы используете...
"А давайте изобретем сборщик на java и будем им билдить плюсы!" Ну, бл, давайте... Помогло? Нет конечно! Но теперь у нас есть +1 сборщик, с которым нужно разбираться (bazel).
Я не понимаю, почему до сих пор нет отдельных вакансий на писателей конфигов для линтеров и вебпаков, нет публичных реп от известных компаний с настройками IDE (с зафиксированными версиями пакетов и тестами на это) и вот этого всего. Мало того, что человек, на которого компания тратит в лучшем случае 500k в месяц (да-да, налоги, офис, больничные...), большую часть времени не думает, а работает как наборщица текста (купите tabnine), ему еще приходится и этой хренью заниматься.
Все это убивает время и увеличивает энтропию. От этого выгорают зумеры! (хотя зумеры от всего выгорают...)
Однажды Резерфорд зашел поздно вечером в свою лабораторию и увидел там, несмотря на неурочный час, одного из своих подававших надежды сотрудников.
«Что вы делаете здесь так поздно?» — удивился ученый.
«Работаю», — ответил подававший надежды.
«Что же вы, в таком случае, делали днем?»
«Разумеется, работал».
«А утром? Неужели и утром вы тоже работали?»
«И утром тоже».
«Позвольте, — неподдельно изумился Резерфорд, — а когда же вы думаете?» — и перестал возлагать на этого сотрудника особые надежды.
Нельзя просто взять и начать нормально работать. Сначала надо прочитать мануалы по настройке. И... обломаться, потому что с момента написания мануала сменилось 2 мажорные версии.
Почитать все релевантные ишью на гитхабе, пролистать stack overflow, откатиться к версиям, которые использовали на момент написания мануала.
Зафиксировать версии, чтоб случайно что-то не обновилось...
Через некоторое время все начнет тормозить. И опять по кругу - ишью на гитхабе, мануалы на medium, stack overflow...
Но если ты решил что-то поменять...
- "Обнови npm! Вышла новая мажорная версия! У тебя 6.14, а вышла 7.5". ЭЭЭ... А где были 7.1-7.4? Ну ок... Слетают все сохраненные токены к приватным репам. Как ты их настраивал - хз. Лезешь в доки, разбираешься.
- "request перестали поддерживать, замени на другое". Ладно, что там у фронтов? axios? Что может пойти не так? Это же просто http клиент... 3 часа ищешь как установить лимит на request timeout. Знаете как? НИКАК! Ну т.е. в интернете есть пяток (!) рецептов, но ни один не работает...
- Пора поменять flow на ts. Да, знаю, это другое, но все-таки... Нужен аналог
$PropertyType Type, 'prop'Похоже, что это
Pick Type, 'prop'... Чет не так работает.... А потому что это вам не это! Аналог -
Type['prop']Сцукоооооо....
- Так, что там с ts в качестве тестранера используют... Ага, убираем ava, берем jest... Хз, что там в джесте происходит, но тесты, которые отрабатывают за 20 секунд при запуске через ava, на jest я выключил через 5 минут, потому что мне надоело. ПЯТЬ МИНУТ!!! Если запускать тесты по одному - работает, но занимает в 3-4 раза больше времени...
Думаете так только в js? Ха! Java, python, haskell, c, c++ - я всякое пробовал. Везде ад. Где-то лучше, где-то хуже, но везде. На go плюс-минус ничего, но только если вы смогли настроить GOPATH и не забили на этом этапе :) Ну и если все нужные вам пакеты доступны на гитхабе и подходят под ту версию рантайма, которую вы используете...
"А давайте изобретем сборщик на java и будем им билдить плюсы!" Ну, бл, давайте... Помогло? Нет конечно! Но теперь у нас есть +1 сборщик, с которым нужно разбираться (bazel).
Я не понимаю, почему до сих пор нет отдельных вакансий на писателей конфигов для линтеров и вебпаков, нет публичных реп от известных компаний с настройками IDE (с зафиксированными версиями пакетов и тестами на это) и вот этого всего. Мало того, что человек, на которого компания тратит в лучшем случае 500k в месяц (да-да, налоги, офис, больничные...), большую часть времени не думает, а работает как наборщица текста (купите tabnine), ему еще приходится и этой хренью заниматься.
Все это убивает время и увеличивает энтропию. От этого выгорают зумеры! (хотя зумеры от всего выгорают...)
Однажды Резерфорд зашел поздно вечером в свою лабораторию и увидел там, несмотря на неурочный час, одного из своих подававших надежды сотрудников.
«Что вы делаете здесь так поздно?» — удивился ученый.
«Работаю», — ответил подававший надежды.
«Что же вы, в таком случае, делали днем?»
«Разумеется, работал».
«А утром? Неужели и утром вы тоже работали?»
«И утром тоже».
«Позвольте, — неподдельно изумился Резерфорд, — а когда же вы думаете?» — и перестал возлагать на этого сотрудника особые надежды.
A еще после обновления npm покрашился zsh, потому что там юзается npx, который как-то не так работает в npm7. Тоже пришлось развлечься...
https://twitter.com/mitchellsalad/status/1361022421021696003
Impressive. SQLite has 900,000 lines of test code spread over four test suites, each designed, maintained, and managed separately from the others, independently verifying that its type system is a piece of shit.
Impressive. SQLite has 900,000 lines of test code spread over four test suites, each designed, maintained, and managed separately from the others, independently verifying that its type system is a piece of shit.
Графовые базы используют в совершенно неожиданных кейсах...
https://twitter.com/neo4j/status/1361415227091292163
Мое уважение, тк въехать в cypher (язык запросов в графовых базах) могут не только лишь все.
btw, на parsers.dev есть ast-парсер для cypher :)
https://twitter.com/neo4j/status/1361415227091292163
Мое уважение, тк въехать в cypher (язык запросов в графовых базах) могут не только лишь все.
btw, на parsers.dev есть ast-парсер для cypher :)
Twitter
Neo4j
Really great application of graphs for investigative journalism. Thanks so much for sharing!! https://t.co/sgyYU5Z3zp
Хотя это тема больше подошла бы каналу @angry_front_end, но т.к. он ленивая жопа, напишу я :)
Есть такой конструктор сайтов - wix.com
Да, no-code, вот это вот все (для дедов - это такой современный narod.ru).
Так вот они выкатили хипстерский (так же еще говорят, да?) SaaS аналог dreamweaver (офигеть, он еще жив!):
editorx.com
Выглядит модерново, мне понравилось. Где начнут денег просить - не нашел.
Есть такой конструктор сайтов - wix.com
Да, no-code, вот это вот все (для дедов - это такой современный narod.ru).
Так вот они выкатили хипстерский (так же еще говорят, да?) SaaS аналог dreamweaver (офигеть, он еще жив!):
editorx.com
Выглядит модерново, мне понравилось. Где начнут денег просить - не нашел.
YouTube
Push the boundaries of responsive web design | Editor X
Experience a new standard for web design on Editor X—the ultimate platform for professional creators. Build, launch and manage powerful websites with advanced design capabilities, integrated business solutions and a robust CMS. Streamline your workflow and…
Практически на репите кручу новый LP Anacondaz, присоединяйтесь :)
https://www.youtube.com/watch?v=Tp1DXqWFgJo
https://www.youtube.com/watch?v=Tp1DXqWFgJo
YouTube
Anacondaz — Перезвони мне +79995771202
#Anacondaz #Перезвонимне
Слушать альбом «Перезвони мне +79995771202»
https://orcd.co/perezvonimne
1. 00:00 Когда-нибудь
2. 4:10 Серым
3. 7:55 SOS
4. 12:47 Уходи
5. 16:14 Передавай-привет
6. 21:00 Девочка-деньги
7. 25:32 Дождь
8. 28:30 За нами следят
9.…
Слушать альбом «Перезвони мне +79995771202»
https://orcd.co/perezvonimne
1. 00:00 Когда-нибудь
2. 4:10 Серым
3. 7:55 SOS
4. 12:47 Уходи
5. 16:14 Передавай-привет
6. 21:00 Девочка-деньги
7. 25:32 Дождь
8. 28:30 За нами следят
9.…
Мы без конца проклинаем админов с их кубернетисом, и, разумеется, за дело. Но вы видели что творится у дата-инженеров? :)
Если вам кажется, что девопс придумали, чтоб драть больше денег с работодателей (да), то загляните вот сюда (из статьи Emerging Architectures for Modern Data Infrastructure)
Каждый квадратик сам по себе стоит как крыло от самолета. А еще нужны те, кто понимает что это и как это между собой связать...
Если вам кажется, что девопс придумали, чтоб драть больше денег с работодателей (да), то загляните вот сюда (из статьи Emerging Architectures for Modern Data Infrastructure)
Каждый квадратик сам по себе стоит как крыло от самолета. А еще нужны те, кто понимает что это и как это между собой связать...
все: клабхаус
дед: раньше было лучше
другие деды: вот тебе текстовый клабхаус @leave_quietly
дед: во, теперь ништяк
дед: раньше было лучше
другие деды: вот тебе текстовый клабхаус @leave_quietly
дед: во, теперь ништяк
Интересная нахлобучка поверх популярных баз (mysql, mariadb, pg, mssql, ch) для работы с ML из SQL. Поставляется в виде контейнера, к которому нужно конектиться по mysql протоколу.
Первый раз вижу такой способ интеграции, но сходу видятся одни бенефиты:
- можно использовать в облаках
- можно конектиться из кода
А pg и ch умеют коннектиться к внешним mysql базам.
https://mindsdb.com
К слову, у ch есть catboost.
Кто попробует, расскажите потом :)
Первый раз вижу такой способ интеграции, но сходу видятся одни бенефиты:
- можно использовать в облаках
- можно конектиться из кода
А pg и ch умеют коннектиться к внешним mysql базам.
https://mindsdb.com
К слову, у ch есть catboost.
Кто попробует, расскажите потом :)
Mindsdb
AI Analytics & Business Intelligence for any Data Source
MindsDB enables humans, AI agents, and applications to get highly accurate answers across disparate data sources and types.
Если вдруг у вас IoT и вам внезапно там понадобилась key-value база, которая не покрашится по питанию - тэйк э лук:
https://www.yedb.org/
https://news.1rj.ru/str/psauxww/490
https://www.yedb.org/
https://news.1rj.ru/str/psauxww/490
Telegram
Segment@tion fault
Баз данных key-value просто дохрена, но пришлось написать собственную. Мне нужны были несколько фич:
- ключ репортится как записанный только после полной синхронизации на диск, что позволяет пережить отключение питания "на ходу", например в электрощитке…
- ключ репортится как записанный только после полной синхронизации на диск, что позволяет пережить отключение питания "на ходу", например в электрощитке…
Меня часто спрашивают когда holistic.dev начнет поддерживать mysql?
(на самом деле нет, потому что все уже задолбались)
Если коротко - не скоро. Меня покусали дата инженеры и сейчас основной фокус в области cloud-only баз...
Но если вам очень хочется, возьмите вот эту вундервафлю от xiaomi:
https://github.com/XiaoMi/soar
топ за свои деньги! (нет)
Сделан поверх mysql парсера от vitess двухлетней давности (который не поддерживает приблизительно 75% синтаксиса).
И т.к. в этом парсере нет никакой информации о позиции узлов, после поиска по ast китайцы решили искать что-то похожее на оригинальный текст регекспами по сорцу.
Так что, честно говоря, предыдущий пост мне не кажется брехней :)
Да, и я обновил на github свою подборку опенсорсных инструментов для sql
(на самом деле нет, потому что все уже задолбались)
Если коротко - не скоро. Меня покусали дата инженеры и сейчас основной фокус в области cloud-only баз...
Но если вам очень хочется, возьмите вот эту вундервафлю от xiaomi:
https://github.com/XiaoMi/soar
топ за свои деньги! (нет)
Сделан поверх mysql парсера от vitess двухлетней давности (который не поддерживает приблизительно 75% синтаксиса).
И т.к. в этом парсере нет никакой информации о позиции узлов, после поиска по ast китайцы решили искать что-то похожее на оригинальный текст регекспами по сорцу.
Так что, честно говоря, предыдущий пост мне не кажется брехней :)
Да, и я обновил на github свою подборку опенсорсных инструментов для sql
Все бенчмарки, как обычно, отстой, но сделано красиво (на сентябрь прошлого года).
Конечно, в новой реальности сравнивать такси с личным транспортом только по стоимости владения неблагодарное занятие, но почему бы и нет...
yandex.ru/company/researches/2020/auto-cost
Конечно, в новой реальности сравнивать такси с личным транспортом только по стоимости владения неблагодарное занятие, но почему бы и нет...
yandex.ru/company/researches/2020/auto-cost
Компания Яндекс
Компания Яндекс — Во сколько обходится личный автомобиль
Из чего складываются расходы и что выгоднее: своя машина, такси или каршеринг
Наверняка вы никогда с этим не сталкивались, но знайте, что в pg (и в mysql и в mssql) нет агрегационной функции умножения. А вот в exasol есть!
https://twitter.com/lukaseder/status/1365614599538630656
https://twitter.com/lukaseder/status/1365614599538630656
Twitter
Lukas Eder
Cool, this is the first time I'm seeing a MUL() aggregate function in a SQL database: https://t.co/S0gLUUHdxW Which is obviously much better than my EXP/LN based emulation: https://t.co/ETR5lbXXG5
Процесс подготовки ребенка к школе - безумно интересное занятие.
В процессе объяснения открываешь для себя баги/фичи привычных вещей.
Например, средний род у числительных. 1 - имеет средний род, остальные цифры нет. Одно пальто - два пальто.
Зачем так? За что? Влияет ли средний род единицы на величие и могущество языка?..
Особенно интересны такие моменты при изучении нескольких языков сразу.
В голландском, например, двадцать один будет как один-двадцать. Представляю ад, когда нужно продиктовать большое число, разбив его на группы.
Во французском, говорят, с числительными еще больше веселья...
Но ладно гуманитарные науки, там не с кого спросить.
Вот в твиттерах несколько дней горел срач двух фэндомов Коняев vs Брагилевский (математики vs программисты).
Первый (препод топологии на ММФ МГУ, издатель N+1) накатил на второго (препод ФМК в СПГУ, один из разработчиков компилятора haskell) на тему того, что языки программирования - это просто формальный набор инструкций из конечного набора инструкций. А математика - это не набор инструкций.
Мне как недоматематику и недопрограммисту наблюдать за этим было крайне интересно и познавательно.
Но у меня для вас плохие новости.
Открываешь учебник для дошкольников за авторством доктора педагогических наук, профессора кафедры начального и дошкольного образования и т.д. и т.п., и видишь вот такую задачу (из вложения).
Причем, как я понял, правильный ответ зависит от того, по каким учебникам принято готовиться к поступлению (!!!) в первый класс в конкретной школе.
В моей молодости (кхе-кхе) задача бы была закенселена (хе-хе) с диагнозом "недостаточно данных".
В процессе объяснения открываешь для себя баги/фичи привычных вещей.
Например, средний род у числительных. 1 - имеет средний род, остальные цифры нет. Одно пальто - два пальто.
Зачем так? За что? Влияет ли средний род единицы на величие и могущество языка?..
Особенно интересны такие моменты при изучении нескольких языков сразу.
В голландском, например, двадцать один будет как один-двадцать. Представляю ад, когда нужно продиктовать большое число, разбив его на группы.
Во французском, говорят, с числительными еще больше веселья...
Но ладно гуманитарные науки, там не с кого спросить.
Вот в твиттерах несколько дней горел срач двух фэндомов Коняев vs Брагилевский (математики vs программисты).
Первый (препод топологии на ММФ МГУ, издатель N+1) накатил на второго (препод ФМК в СПГУ, один из разработчиков компилятора haskell) на тему того, что языки программирования - это просто формальный набор инструкций из конечного набора инструкций. А математика - это не набор инструкций.
Мне как недоматематику и недопрограммисту наблюдать за этим было крайне интересно и познавательно.
Но у меня для вас плохие новости.
Открываешь учебник для дошкольников за авторством доктора педагогических наук, профессора кафедры начального и дошкольного образования и т.д. и т.п., и видишь вот такую задачу (из вложения).
Причем, как я понял, правильный ответ зависит от того, по каким учебникам принято готовиться к поступлению (!!!) в первый класс в конкретной школе.
В моей молодости (кхе-кхе) задача бы была закенселена (хе-хе) с диагнозом "недостаточно данных".