Forwarded from пивной негодяй (truhán de la cerveza) ඞ
dhwthompson.com
My favourite Git commit
I like Git commit messages. Used well, I think they’re one of the most powerful tools available to document a codebase over its lifetime. I’d like to illustrate that by showing you my favourite ever Git commit.
I think the surprising thing is that people are surprised.
It took basically until now for the bloom to come off the rose. Think about that. For 20 years Google has been supposedly hiring the smartest guys in the room and all it took was free food, some ball pits and slides, contributing some tech to open source, and working on a handful of "moonshots" that haven't gone anywhere to keep the sheen of innovation going. And it worked. For 20 years.
People have been saying Google is the new Microsoft for a few years but it basically took until now for that to become consensus. Microsoft, who's been on the back foot until recently, has recast themselves as the new Open Source Champion, basically using the Google playbook from 20 years ago. And it's working!
If you think about it Apple is the only company that hasn't changed. There's never been a bait and switch. It's always been proprietary. It's always been confident, others would say arrogant about its products. They've never tried to cloak themselves with the mantle of open source. The only reason the tech industry uses their products is because of its inherent qualities. No one had to be tricked into liking them. And they've always been honest about this.
<абзац про прайваси а потом и коменты>
https://news.ycombinator.com/item?id=21049743
It took basically until now for the bloom to come off the rose. Think about that. For 20 years Google has been supposedly hiring the smartest guys in the room and all it took was free food, some ball pits and slides, contributing some tech to open source, and working on a handful of "moonshots" that haven't gone anywhere to keep the sheen of innovation going. And it worked. For 20 years.
People have been saying Google is the new Microsoft for a few years but it basically took until now for that to become consensus. Microsoft, who's been on the back foot until recently, has recast themselves as the new Open Source Champion, basically using the Google playbook from 20 years ago. And it's working!
If you think about it Apple is the only company that hasn't changed. There's never been a bait and switch. It's always been proprietary. It's always been confident, others would say arrogant about its products. They've never tried to cloak themselves with the mantle of open source. The only reason the tech industry uses their products is because of its inherent qualities. No one had to be tricked into liking them. And they've always been honest about this.
<абзац про прайваси а потом и коменты>
https://news.ycombinator.com/item?id=21049743
oleg_log
Оказывается постгрес не улавливает ручное изменение sequence/serial/etc CREATE TABLE foo ( id SERIAL PRIMARY KEY, content TEXT ); INSERT INTO foo (id, content) VALUES (1, 'bar'); INSERT INTO foo (id, content) VALUES (2, 'baz'); INSERT INTO foo (content)…
Я тут последние вечера допиливал pgstats, эт простенькая либка, котора вытаскивает системные таблицы Постгреса, и конечно же на го.
Мысль родилась еще во времена прикрепленного поста, но покрытие всех таблиц заглохло. Но вот, таки закончил. Стоит еще warmup сделать и докинуть тестов для вменяемости (оказывается тима Постгреса поддерживает каждую версию 5 лет, не знал, думал там LTS есть).
Репка https://github.com/cristalhq/pgstats #hq
А тут конфиг для Github Actions с подниманием Постгреса, пришлось немного подебажить все это, в итоге подключаюсь к 127.0.0.1, хост postgres почему-то не подхватило.
https://github.com/cristalhq/pgstats/blob/master/.github/workflows/build.yml
UPD: уже смотрю доки mysql и clickhouse, почему бы и нет?
Мысль родилась еще во времена прикрепленного поста, но покрытие всех таблиц заглохло. Но вот, таки закончил. Стоит еще warmup сделать и докинуть тестов для вменяемости (оказывается тима Постгреса поддерживает каждую версию 5 лет, не знал, думал там LTS есть).
Репка https://github.com/cristalhq/pgstats #hq
А тут конфиг для Github Actions с подниманием Постгреса, пришлось немного подебажить все это, в итоге подключаюсь к 127.0.0.1, хост postgres почему-то не подхватило.
https://github.com/cristalhq/pgstats/blob/master/.github/workflows/build.yml
UPD: уже смотрю доки mysql и clickhouse, почему бы и нет?
GitHub
GitHub - cristalhq/pgstats: Postgres statistics for Go
Postgres statistics for Go. Contribute to cristalhq/pgstats development by creating an account on GitHub.
В короткой беседе с @itgram_channel я сморозил неплохую фразу: "чтение конфига линтера это чтение кода между строк" (речь шла про golangci-lint).
Чтож я имел в виду? Почитав какие есть проверки, как они настраиваются и какой код они ищут, можно неплохо углубится в язык. Какие бывают конструкции, какие вещи опасны, какие могут трактоваться в разный способ.
Поэтому советую почитать ваш _линтер-нейм_ на наличие конфига, и в неочевидных частях языка покопаетесь, и выключите то, что не надо (к примеру вам).
Чтож я имел в виду? Почитав какие есть проверки, как они настраиваются и какой код они ищут, можно неплохо углубится в язык. Какие бывают конструкции, какие вещи опасны, какие могут трактоваться в разный способ.
Поэтому советую почитать ваш _линтер-нейм_ на наличие конфига, и в неочевидных частях языка покопаетесь, и выключите то, что не надо (к примеру вам).
Segment опять втирает свои супер истории с прода, в этот раз про оптимизации и деньги. Пойдем-с читать....
https://segment.com/blog/the-10m-engineering-problem/
https://segment.com/blog/the-10m-engineering-problem/
Segment
The $10 million dollar engineering problem
The most successful SAAS companies today have one thing in common – a world class gross margin. This is the story of how we improved our gross margin by 20% in 90 days.
Ехал на работу и так прикинул. Последние месяцы было с десяток IPO в 1B club. Всякие Лифты, Слаки, Уберы и прочее. И как оказыается, большинство этих компаний прост перегреты инвесторами и маркетологами.
Да, конечно у них есть пользователи, у них ХАЙЛОАД, и они даже работают, но вам это не напоминает Dot-com bubble 2000 года? Это мало известно в снг, ведь тогда интернет был по талонам, но на самом деле очень похоже.
Конечно сейчас все чуть поумнели, но история повторяется 2.0. Обвала NASDAQ не будет, твёрдо и четко, но все же странно это. Ставлю 5 злотых, что в 2040 будет еще 1 всплеск. Советую быть на волне.
Да, конечно у них есть пользователи, у них ХАЙЛОАД, и они даже работают, но вам это не напоминает Dot-com bubble 2000 года? Это мало известно в снг, ведь тогда интернет был по талонам, но на самом деле очень похоже.
Конечно сейчас все чуть поумнели, но история повторяется 2.0. Обвала NASDAQ не будет, твёрдо и четко, но все же странно это. Ставлю 5 злотых, что в 2040 будет еще 1 всплеск. Советую быть на волне.
Ох, какую я красоту ща прочитал. Ребята пилят сервис меш на Envoy. Местами у них происходит #go . У них появились тесты с переменными окружение (env vars которые). И во время ревью возник вопрос: а кто-то знает либу, чтобы чистить переменные между тестами?
Вопрос смешной, но отлично видна разница в том, как люди мыслят (и как влияет язык на мышление)(мыж помним фразу "если язык не меняет мышление, то он ничему не учит" ? речь про язык прогр).
Да, (мой) ответ довольно простой и даже рабочий:
Вывод: проще читать доку.
Вопрос смешной, но отлично видна разница в том, как люди мыслят (и как влияет язык на мышление)(мыж помним фразу "если язык не меняет мышление, то он ничему не учит" ? речь про язык прогр).
Да, (мой) ответ довольно простой и даже рабочий:
func cleanupEnv(t *testing.T, vars ...string) {
t.Helper() // чтобы в стектрейсе не было (хотя полезно ток когда в фукнции есть t.Error/Fatal и тд)
for _, v := range vars {
os.Unsetenv(v) // не знал о такой функции
}
}
func TestFoo(t *testing.T) {
defer cleanupEnv(t, "lol", "kek")
....
}
А пока я это писал, полез в доку провеить как работает Unsetenv, а там функция Clearenv (https://godoc.org/os#Clearenv)Вывод: проще читать доку.
pkg.go.dev
os package - os - pkg.go.dev
Package os provides a platform-independent interface to operating system functionality.
Forwarded from Литий и стенания
This media is not supported in your browser
VIEW IN TELEGRAM
Мир фронтенда #предложка
compile 'org.springframework.boot:spring-boot-starter-data-cassandra:' + versions.springBootговорю человеку, перепиши по человесески на:
compile group: 'org.springframework.boot', name: 'spring-boot-starter-data-cassandra', version: versions.springBootГоворит не привык. Ну я так-то тоже. Но конкатинировать названия-версии в зависимостях это прям новый лвл для меня. #саксес_сториз никак иначе.
(да, там другие версии в 1м формате тоже, один я кровью рыдаю от этого)
Forwarded from Linkstream
This media is not supported in your browser
VIEW IN TELEGRAM
Ща буду рыдать, но на самом деле так и выглядит обычный собес в гугл. У меня тож была одна задача с квадратной сложность, эх...
Удивился тому, что кто-то принёс игру го. Прям ух какой фанат, таких бояться надо.
https://leetcode.com/discuss/interview-experience/407944/google-l4-warsaw-sep-2019-offer
Удивился тому, что кто-то принёс игру го. Прям ух какой фанат, таких бояться надо.
https://leetcode.com/discuss/interview-experience/407944/google-l4-warsaw-sep-2019-offer
Leetcode
Error - LeetCode Discuss
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
Некоторые из Вас слышали, что я бугурчу на роль архитектора. Я вижу в этом чаще проблему, чем спасение (исключения будут суперлегаси, где нужен старец, который все это видит десятки лет).
Но вот в обычной фирме вся тима должна участвовать в проектировании и знать, куда торчит апи (к примеру микросервис).
Ну и вот, в большой фирме он тоже пригодится. Когда одна тима, у которой нужные данные, говорит: не, мы не будем делать еще один ендпоинт, вы лучше делайте запрос на то, что есть, выкидывайте ненужное, и отправляйте обратно.
Мелочь, однако сервисы становятся более связанными, растёт пустой код, да и желанием связываться отпадает. Как бы не за это боролись. А был бы рил-архитектор, пришёл бы и положил бы вето. По крайней мере хочется верить.
Но вот в обычной фирме вся тима должна участвовать в проектировании и знать, куда торчит апи (к примеру микросервис).
Ну и вот, в большой фирме он тоже пригодится. Когда одна тима, у которой нужные данные, говорит: не, мы не будем делать еще один ендпоинт, вы лучше делайте запрос на то, что есть, выкидывайте ненужное, и отправляйте обратно.
Мелочь, однако сервисы становятся более связанными, растёт пустой код, да и желанием связываться отпадает. Как бы не за это боролись. А был бы рил-архитектор, пришёл бы и положил бы вето. По крайней мере хочется верить.
Forwarded from Пятничный деплой
Тут в графану панель для логов подвезли https://grafana.com/blog/2019/10/16/new-in-grafana-6.4-the-logs-panel
Grafana Labs
New in Grafana 6.4: The Logs Panel | Grafana Labs
Here’s a closer look at one of the new features in the Grafana 6.4 release: using Loki as an annotations query source.
Forwarded from Sysadmin Tools 🇺🇦
Telegram
I hate overtime
#elasticsearch
Недавно Elastic хотел провести вебинар по расчету размеров кластера, но что-то у них там сорвалось и вместо вебинара они выложили видос. Получилось очень годно:
1. рассказали про архитектуру эластика
2. затронули hot-warm-cold
3. рассказали…
Недавно Elastic хотел провести вебинар по расчету размеров кластера, но что-то у них там сорвалось и вместо вебинара они выложили видос. Получилось очень годно:
1. рассказали про архитектуру эластика
2. затронули hot-warm-cold
3. рассказали…
oleg_log
такстоп. почему TimeUnit в пакете для многопоточности, но Timer в java.util?
Я снова вижу TimeUnit, теперь с нового ракурса. Ну кто мог такое апи придумать-то?
В голове прост изумительно читается: секунды в милли(секунды) пять 👍
import static java.util.concurrent.TimeUnit.SECONDS;
private long connectTimeout = SECONDS.toMillis(5);
В голове прост изумительно читается: секунды в милли(секунды) пять 👍
Вот не зря я пошел листать канал от начала. Нашел-вспомнил серию статей об устройстве БД. Настоятельно советую почитать (их вроде 6 всего). Кстати подписаться тоже стоит :)
https://t.me/UkropsDigest
https://t.me/UkropsDigest
Forwarded from Українська девопсарня
Вышла 4-я часть замечательное серии о IO. Первые три уже проскакивали в этом дайждесте.
Собственно автор, как и обещал, рассказывает о B-tree c картинками и пояснениями. Написанно супер круто и вообще must read.
Собственно автор, как и обещал, рассказывает о B-tree c картинками и пояснениями. Написанно супер круто и вообще must read.
Medium
On Disk IO, Part 4: B-Trees and RUM Conjecture
If you like the series, check out my upcoming book on Database Internals!