Size: a a a

2019 July 10
oleg_log
Такс, это восхитительный момент рассказать свою историю о заливании технических дыр деньгами, я сходу знаю 4 похожие истории. Пишите в коменты или в лс, если не хотите светиться. Потом будет сборничек (если хоть напишете)
источник
2019 July 11
oleg_log
источник
oleg_log
Shape Up - Stop Running in Circles and
Ship Work that Matters.

Basecamp сделали альманах того, как нужно работать. 1 картинка вместо всего блога. Определенно выходные будут потрачены на это.

https://basecamp.com/shapeup
источник
oleg_log
больно, но честно
источник
oleg_log
такой кодик делает мне больно ):

isFoo ?: false -> true
источник
oleg_log
Слехка очевидная вещь, но начал больше замечать, что много кто думает не задачей, а синтаксисом.

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

Это под-проблема называющаяся XY problem (https://t.me/oleg_log/1118), которая смещает внимание от задачи.

Недавно в разговоре вытекло: короч мы пишем данные в AVL-дерево, ведь нам нужно отсортированные данные. Как оказалось нужно просто хранить мин-макс. кек.
источник
oleg_log
Полчаса 3 человека решают, как назвать класс со списком хедеров и в каком пакете положить. И в каком месте кто это должен вызвать...🤔
источник
oleg_log
Мысль из чата порожденная чатом: называть сервис реверсом оригинального слова.

календарь -> ьраднелак
сессия -> яиссес
коллектор -> ротеллок

Самое удобное, что легко понять оригинальную идею, достаточно прочитать в правильную сторону. Однако.
источник
oleg_log
Кстати у меня тож траблы последние месяцы начались....
источник
oleg_log
Лучшее, что я сделал для себя за этот месяц - сходил к офтальмологу и начал снова носить очки во время работы. Минус у меня небольшой (-0.75), но было достаточно, чтобы глаза утомлялись и в конце дня мне хотелось не пользоваться зрением до самого утра. И это при том, что монитор и то, что на нем написано я вижу прекрасно, как мне кажется.

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

Я знаю, что есть достаточно людей, которые не проверяют зрение, потому что привыкли, но щурятся, горбятся, разглядывают туманные пиксели - так вот, это стоит своих денег и в этом нет ничего стыдного, а уж тем более ваше зрение не станет хуже от ношения очков, скорее всего только лучше.
источник
oleg_log
кто не делал велосипед, тот не был гофером
https://t.me/libmustdie/2586
источник
oleg_log
Еще одна забавная вещь: многие читают SLA как закон. Хотя расшифровав мы получим Service-Level Agreement. Казалось бы, договорились - делаем и все, но нет.

После слова Agreement идет кол-во "девяток" в договоре, аля 99.99% и вот на них это не заканчивается!

На самом деле эти "девятки" это SLO (Service-Level Objective), простыми словами цель для продоставленных услуг. И вот в ней и скрыта гарантия сервиса, то есть сколько мы планируем держаться в строю.

Но и на них это не заканчивается, ведь дальше идет табличка, которая определяет, какие будут возмещения, при несоответствии SLO, и как следует нарушению SLA.

Собственно SLA Cloudflare 100%, хотя сами видели недавно.
источник
oleg_log
Пришло время для brew upgrade rust

700k rps все таки сложно не оценить. Советую еще вкладку Latency нажать :3

https://www.techempower.com/benchmarks/#section=data-r18
источник
oleg_log
Блин! я сегодня узнал супер крутой паттерн в тестах го от https://victoriametrics.com/

Чтобы не писать эти дурные слайсы для table driven tests, можно все оформить как на скрине.

Просто как if err != nil. Я уже с минут 15 кусаю локти, что до этого не дошел сам. аргх
источник
oleg_log
Твитер помер. Придется новый хостинг искать...
источник
oleg_log
Зачем 700к рпс, когда есть движок жс от Фабриса Беллара? (автора ffmpeg, qemu и вычислителя числа пи)

— Рассово верный Си
— 190 KiB of x86 code
— Passes 100% of the ECMAScript Test Suite.
— Almost complete ES2019 support
— В тесте bench-v8 опережает движок XS на 35%, DukTape более чем в два раза, JerryScript в три раза, а MuJS в семь раз.
— Может в WASM

Фабрис, ты ювелир.
А еще он автор TinyC. Самого мелкого и шустрого компилятора Си.

https://bellard.org/quickjs/ (спасибо @sysadmin_tools )
источник
2019 July 12
oleg_log
Что есть, то есть
https://coub.com/view/1qapnn
источник
oleg_log
Небольшое дополнение по этому посту. Да, паттерн не новый, как для го, так и для других языков. Его порой можно найти в стдлиб (и конечно же на гитхабе). Вот вежливо ссылку подкинули на один из примеров https://golang.org/pkg/time/#example_Time_Format

Мне кажется, когда в марте был хакатон по хттп-серверу с нуля, я тоже видел подобное в пакет http, но вот только вчера меня это удивило.
источник
oleg_log
Hyrum's Law - An observation on Software Engineering

With a sufficient number of users of an API,
it does not matter what you promise in the contract:
all observable behaviors of your system
will be depended on by somebody.

http://www.hyrumslaw.com/
источник
oleg_log
Хочется так же к этому добавить, что дело не только в API, как в описании методов и параметров, но так же и поведение этого API.

Если возвращаемый порядок элементов всегда был отсортированный, но оказалось, что это тормозит и в патч версии сортировка была вырублена, то поздравляю, вы плюнули в пользователей, сломав совместимость (с большой вероятностью кто-то на этот порядок расчитывал).

Собственно мемасик от xkcd наглядно показывает: дело не в только в апи, но и в том, как все работает.
источник