Size: a a a

2019 November 08
oleg_log
источник
oleg_log
Software architecture is the discipline of growing and shrinking organizations elastically to build software solutions based on business needs
(c) twitter
источник
2019 November 09
oleg_log
Отстреливаем ноги способ номер хз какой
источник
oleg_log
Знали ли вы, что второй аргумент fopen (тот самый, который w или, например, r+) умеет исполнять код? Ну почти.

Оказывается, glibc поддерживает синтаксис для указания кодировок, это можно сделать вот так: fopen("file", "w,ccs=<encoding>"). Сами кодировки подгружаются динамически, функции для работы с каждой кодировкой лежат в отдельном .so-файле. Конфиг, содержащий пути к этим библиотекам называется gconv-modules и обычно лежит где-нибудь в /usr/lib/x86_64-linux-gnu/gconv/, но если переопределить переменную окружения GCONV_PATH, то он будет браться из указанной директории. И path traversal, конечно, в нем полностью поддерживается.

В итоге, если вы можете для чужого приложения

1) переопределить переменную окружения GCONV_PATH
2) куда-нибудь записать свою so-шку и файл gconv-modules
3) дописать ,css=payload во второй аргумент fopen

то вы получите выполнение кода.

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

Кстати, эта же система кодировок-модулей используется и в iconv (и утилите, и библиотеке), поэтому трюк можно использовать  для обхода disabled_functions в php. Правда, для того, чтобы задать GCONV_PATH должен быть разрешен putenv, а это уже само по себе небезопасно.

Подробности можно прочитать в посте японца, который это заметил.
источник
oleg_log
Тут залили видосы с GoLab 2019, правда почему-то дни 2 и 3, а 1го не вижу

https://www.youtube.com/channel/UCMEvzoHTIdZI7IM8LoRbLsQ/playlists
источник
oleg_log
Сборник трешовых айти вакансий, давайте до 4к подписчиков добьём)

https://t.me/youhadnojob
источник
2019 November 10
oleg_log
There's a balance with both expressiveness and type systems. Too little (PHP, JavaScript) is suboptimal, and too much (Scala, Haskell, Rust) is also suboptimal.

Please note it depends very much on what you're building, as to where that tradeoff lies. For some things I use Rust. For others I use JavaScript. I don't touch PHP, Java, Scala, or Haskell for anything in the world - you can't practically pay me enough to want to work with them. For me, for web applications and server side software, Go is in the sweet spot more than any other language I've tried, and I've tried almost 30 by now.

Go is not always elegant, it's not always the right tool, and sometimes frustrating - but it's incredibly good at enabling better productivity than the alternatives in this niche. Sample size of one, this is my opinion, and other disclaimers apply.
(с) HN
источник
oleg_log
Теперь в VSCode для го можно будет получить покрытие кода, тестами из одного файла. Ноис.

Ишус https://github.com/microsoft/vscode-go/issues/2873
Мой ПР https://github.com/microsoft/vscode-go/pull/2884
источник
oleg_log
источник
2019 November 11
oleg_log
my life was a monolith now it's a microservices
источник
oleg_log
источник
oleg_log
Хочется видеть больше таких будней из жизни SRE разных фирм. Конечно же большинство оседает в приватных вики или прост чатах (мыж не пишем мини-постмортемы, да? :)

Конечн ценности в "давайте раскатывать GIN на колонке с текстовым поиском" несет мало ценности, но с кешами нгинх довольно неочевидно.

https://habr.com/ru/company/flant/blog/471892/
источник
oleg_log
(hpts == high perf transaction systems)
источник
oleg_log
Вышел новый VSCode 1.40 и они закрыли 3918 ишусов (правда в этом же время было создано 2195 лол). Мда, менеджить популярный продукт это то еще дело.

Важная фича: VS Code now displays a Show Whitespace Differences button when it detects this case to help you quickly show diffs in whitespace
источник
oleg_log
источник
2019 November 12
oleg_log
вот это я понимаю день скидок
источник
oleg_log
http://letsdecrypt.org (хех, телега превью спойлерит)
источник
oleg_log
Узнал, что авторы i18next (популярная либка для и18н) немножко рекламируют сервис для работы с переводами.

https://locize.com/
источник
oleg_log
Завтыкал чуть больше чем на 10 минут читая исходники Citus. Отличный код на Си, теперь в пример буду ставить.

Пример https://github.com/citusdata/citus/blob/master/src/backend/distributed/commands/table.c
источник
oleg_log
Возникло желание купить монитор, возможно 4к. Хотя не знаю, надо ли. Если у вас есть история успеха или история неуспеха (тип модель моника, что стало лучше, что хуже, на что обратить внимание) - с радостью вас выслушаю @olegkovalov
источник