Size: a a a

2019 October 20
oleg_log
Segment опять втирает свои супер истории с прода, в этот раз про оптимизации и деньги. Пойдем-с читать....

https://segment.com/blog/the-10m-engineering-problem/
источник
2019 October 21
oleg_log
Ехал на работу и так прикинул. Последние месяцы было с десяток IPO в 1B club. Всякие Лифты, Слаки, Уберы и прочее. И как оказыается, большинство этих компаний прост перегреты инвесторами и маркетологами.

Да, конечно у них есть пользователи, у них ХАЙЛОАД, и они даже работают, но вам это не напоминает Dot-com bubble 2000 года? Это мало известно в снг, ведь тогда интернет был по талонам, но на самом деле очень похоже.

Конечно сейчас все чуть поумнели, но история повторяется 2.0. Обвала NASDAQ не будет, твёрдо и четко, но все же странно это. Ставлю 5 злотых, что в 2040 будет еще 1 всплеск. Советую быть на волне.
источник
oleg_log
Ох, какую я красоту ща прочитал. Ребята пилят сервис меш на 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)

Вывод: проще читать доку.
источник
oleg_log
*смеющийся Гарольд* хаха мы с этим работаем
источник
oleg_log
Мир фронтенда #предложка
источник
oleg_log
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м формате тоже, один я кровью рыдаю от этого)
источник
oleg_log
an optical metamaterial, finally! now they just need to add a gradient to fully transparent plastic on the edges and it would be great #gits #camo
источник
oleg_log
источник
2019 October 22
oleg_log
Ща буду рыдать, но на самом деле так и выглядит обычный собес в гугл. У меня тож была одна задача с квадратной сложность, эх...

Удивился тому, что кто-то принёс игру го. Прям ух какой фанат, таких бояться надо.

https://leetcode.com/discuss/interview-experience/407944/google-l4-warsaw-sep-2019-offer
источник
oleg_log
Некоторые из Вас слышали, что я бугурчу на роль архитектора. Я вижу в этом чаще проблему, чем спасение (исключения будут суперлегаси, где нужен старец, который все это видит десятки лет).

Но вот в обычной фирме вся тима должна участвовать в проектировании и знать, куда торчит апи (к примеру микросервис).

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

Мелочь, однако сервисы становятся более связанными, растёт пустой код, да и желанием связываться отпадает. Как бы не за это боролись. А был бы рил-архитектор, пришёл бы и положил бы вето. По крайней мере хочется верить.
источник
oleg_log
опаньки, а это интересно уже
источник
oleg_log
Тут в графану панель  для логов подвезли https://grafana.com/blog/2019/10/16/new-in-grafana-6.4-the-logs-panel
источник
oleg_log
По мотивам https://t.me/overtimehate/726

Скачал и вгрузил на ютуб специально для вас
источник
oleg_log
Я снова вижу TimeUnit, теперь с нового ракурса. Ну кто мог такое апи придумать-то?

import static java.util.concurrent.TimeUnit.SECONDS;

private long connectTimeout = SECONDS.toMillis(5);


В голове прост изумительно читается: секунды в милли(секунды) пять 👍
источник
oleg_log
Вот не зря я пошел листать канал от начала. Нашел-вспомнил серию статей об устройстве БД. Настоятельно советую почитать (их вроде 6 всего). Кстати подписаться тоже стоит :)

https://t.me/UkropsDigest
источник
oleg_log
Вышла 4-я часть замечательное серии о IO. Первые три уже проскакивали в этом дайждесте.

Собственно автор, как и обещал, рассказывает о B-tree c картинками и пояснениями. Написанно супер круто и вообще must read.
источник
2019 October 23
oleg_log
Вау, Slack может в RSS подписки???? это как, теперь могу от feedly отказываться?...
источник
oleg_log
GitHub status

https://www.githubstatus.com

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

Чтобы не видеть такие ошибки задним числом, стоит прикрутить оповещение в свой рабочий мессенджер. Например, я использую Slack в работе, для которого есть простой способ интегрировать такую вещь - выполнить команду в своём рабочем канале:

/feed subscribe https://www.githubstatus.com/history.atom

#github #info #slack
источник
oleg_log
Today we published the results of this quantum supremacy experiment in the Nature article, “Quantum Supremacy Using a Programmable Superconducting Processor”. We developed a new 54-qubit processor, named “Sycamore”, that is comprised of fast, high-fidelity quantum logic gates, in order to perform the benchmark testing. Our machine performed the target computation in 200 seconds, and from measurements in our experiment we determined that it would take the world’s fastest supercomputer 10,000 years to produce a similar output.

https://ai.googleblog.com/2019/10/quantum-supremacy-using-programmable.html
источник
oleg_log
источник