oleg_log
1.73K subscribers
1.88K photos
131 videos
9 files
2.82K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
Пора валить. Странно, что на мыло анонс не пришел (или он прост заранее твитнул) https://www.hashicorp.com/blog/deprecating-terraform-0-11-support-in-terraform-providers/
Заходите сюда https://ifttt.com/discover

Пишите в поиск телеграм/твиттер/купить гараж

(возможно замечаете, как пухнет ваш url)

Решаете вернуться назад и наблюдаете 0 изменений, разве что "анимацию" в строке url.

Однако debounce подорожал #madskillz

UPD: код не смотрел, но как заметил @defront: "history.replaceState чуваки юзают pushState, поэтому история перехода ломается"
ахаххахаахха
БаГи в железе, это не баги, а физические законы(с)
Software architecture is the discipline of growing and shrinking organizations elastically to build software solutions based on business needs
(c) twitter
Отстреливаем ноги способ номер хз какой
Forwarded from Кавычка (Emil Lerner)
Знали ли вы, что второй аргумент 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, а это уже само по себе небезопасно.

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

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

https://t.me/youhadnojob
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
Теперь в VSCode для го можно будет получить покрытие кода, тестами из одного файла. Ноис.

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

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

https://habr.com/ru/company/flant/blog/471892/
(hpts == high perf transaction systems)
Вышел новый 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