@Linda-chan

Тег программы в блоге Linda-chan

Linda-chan

А я поняла, почему размеры не совпадают. При чём, как оказалось, не только в WSL симлинках, но и в других симлинках (собственно, симлинках и junctions). Началось с того, что я нашла баг в билиотеке, где передавался неправильный размер буфера, и сломалось всё. Код показывал, что в заголовке данных размер буфера с путями такой, а на деле – другой, поменьше. Оказалось, что это поле в заголовке показывает кое-что другое. Там есть структура REPARSE_DATA_BUFFER, которая универсальная для всех майкрософтовских reparse points. У всех у них первые восемь байт имеют одинаковый смысл, а дальше уже могут быть как дополнительные данные, так и дополнительные поля, которые эти данные описывают. Полей может быть разное количество. Так вот, поле, которое указывает размер данных, указывает этот размер после общего заголовка, тоесть вместе со всеми дополнительными полями. А я считала без учёта дополнительных заголовков, ну и получалось, что фактически данных меньше, чем в заголовке. При чём в описании этих заголовков именно это и было написано, но я читала невнимательно =_=

Linda-chan

Добавила в свою библиотеку парсинг симлинков WSL. Оказалось, что Cygwin создаёт их как-то странно: в заголовке данных симлинка есть поле, которое указывает размер части, которая идёт после заголовка и содержит путь к объекту, на который указывает симлинк (в UTF-8, кстати). И вот это значение почему-то всегда на четыре больше, чем там есть по факту. Почему – БП. Надо попытаться ещё с самим WSL поэкспериментировать. Кроме того, сами данные там в очень свободной форме. Если у обычного симлинка есть флаг, относительный там путь или абсолютный, то тут может быть всё, что угодно, и оно даже может не совпадать с тем, что передано команде ln. Передала «0000» – получила «0000». Передала «/cygdrive/x/0000» – получила «/mnt/x/0000». Передала «X:\0000» – «X:\0000».

Linda-chan

Я это всё к чему? У нас есть ещё Cygwin, у которого есть своя ln. И вот как раз она создаёт натуральные reparse points, которые видятся как reparse point. DIR показывает их как «JUNCTION», FAR3 – как «LX_SYM», Проводник (в Windows 7 и ниже) вообще показывает это как файл, а Link Shell Extension не воспринимает как симлинк. И никто не умеет с этим работать. А на деле у данной штуки «тэг» – IO_REPARSE_TAG_LX_SYMLINK, тоесть симлинк, который поддерживается WSL. Возможно, в Десятке в Проводнике он выглядит лучше, но я не видела. Надо экспериментировать.

Linda-chan

В линупсе, при создании симлинков на NTFS разделах, создаются нормальные на первый взгляд симлинки. Но после перезагрузки они превращаются в тыкву в виде файла с атрибутом «Системный», с заголовком «IntxLNK» и каким-то данными после Chr(1). Оказалось, что это какое-то легаси, которое должно работать и в винде, но не через нормальные reparse points, а через какое-то дополнительное ПО, обеспечивающее совместимость с POSIX или типа того (кажется, речь идёт не про подсистему). Короче, в живую я это ПО не видела, так что не в курсе. Что интересно, MINGW32 тоже создаёт такие файлы, но при этом правильно парсит их, ls показывает их как симлинки, ну и входящие в комплект программы тоже работают с ними, как с симлинками. Просто интересное наблюдение.

Linda-chan

В свежей версии десктопной телеграмки под видосом показывается баннер с рекламой, который можно закрыть только через несколько секунд. Больше! Больше рекламы!

Linda-chan

Оказалось, что signcode.exe прекрасно подписывает екзешники гостовскими сертификатами. Правда, система потом говорит, что у сертификата нет такого назначения, а посему подпись недействительна, но оно и понятно – сертификаты чисто для аутентификации выпущены.

Linda-chan

Задача жакафрески, на размышление – тридцать секунд. Есть два компа с Windows 2000, других операционных систем на них нет и не было. Обе стоят на разделе, отформатированном в NTFS. На одном компе версия NTFS – 3.0, тоесть та, что появилась с Windows 2000. На другом – 3.1, тоесть от Windows XP. Вопрос: как так получилось?

Linda-chan

Обновляю программу, которая в последний раз обновлялась в 2007 году и с тех пор потеряла смысл. Просто так.

Linda-chan

Как криворукие вэб девелоперы умудряются писать сайты, что у Файрфикса заканчивается память? Вот как?

Linda-chan

Блять, заебали выскакивающие рекламные блоки на паузе в приложении тытрубы! Смотришь видос, жмёшь на паузу, чтобы что-то разглядеть, разглядываешь, хочешь нажать в центр экрана, чтобы продолжить просмотр, но тут, именно в этот момент, догружается реклама, сбоку выскакивает сайдбар с нею, все контролы съезжают в другую сторону, и под твоим пальцем оказывается кнопка перехода на следующий видос. И всё, и пиздец. У меня ощущение, что все эти инновации гугловские тестировщики испытывают исключительно со включенным премиумом =_=

Linda-chan

Смотрела очередной видос с обзором всяких недавних уязвимостей и взломов. Автор привычно призывал обновляться, добавили фич, закрыли уязвимости, вот это всё. Сетовал на недалёких пользователей и ленивых сисадминов.
Тем временем в реальном мире. Открываю список программ на обновление в гуглоплее и вдруг вижу загадочную программу, название и иконка которой мне ни о чём не говорят. При чём название такое, что-то в духе «Super App». Открываю страницу этого супера – тоже ничего не понимаю. Оценка – два балла. Читаю отзывы пользователей, и понимаю, что случилось. Просто авторы программы решили переосмыслить её, провести ребрендинг, редизайн, добавить фич, закрыть уязвимостей и выкинуть старый функционал, который устарел. Вот пользователи и бугуртят, что вместо нормальной работающей программы у них появился piece of software, который даже сообщения об ошибках разучился показывать.
И вот интересно, откуда берутся недалёкие пользователи и ленивые сисадмины, которые не хотят закрывать уязвимости. Есть у кого идеи?

Linda-chan

Обновилась Windows 11. Поотваливались подключения по RDP. Супер. В RDP клиенте по многочисленным просьбам дизайнеров переделали кнопочки, поэтому панелька с кнопками теперь болтается ниже, стала больше и обмазана ШГ, даже значки на кнопках умудрились размазать. Ещё в диалоге свойств RPD соединения криворукие зумеры впилили новый фрейм с галочкой, который не влез по высоте, а посему в окне появился вертикальный скроллбар! Охуенчик! Ещё в меню «Пуск» переделали менюшку (меню в меню, блять), которая появляется при щелчке на имени пользователя. Теперь там логотип Microsoft, который конфузит, и тебе поначалу кажется, что пользователь как-то просочился не с локальной учёткой. Более того, криворукие зумеры решили, что отображаемое имя пользователя – это всегда что-то вроде «BG» (не путать с «BJ»), а посему длинное имя уходит за границы менюшки, обрубаясь краем оной. Зато дизайнеры в экстазе, наконец Microsoft избавляется от старого интерфейса™.

Linda-chan

Заметила, что логи CHKDSK, которые в «System Volume Information» лежат, зачем-то в конце содержат кусок из нулей. Озадачилась. Потом вдруг заметила размер файлов и поняла, что нулями оно выравнивает этот размер до килобайтной границы. Зачем – БП. Возможно, что, когда программа запускается из нативного режима при загрузке системы, драйверы ещё не все загружены, и работает что-то вроде упрощённого драйвера NTFS, который не умеет работать с невыровненными файлами. А при запуске программы в обычном режиме, выравнивание случается для совместимости. Но это просто рандомное предположение, возможно, у Рэймонда Чена есть про это.

Linda-chan

Синхронизируются каталоги в ownCloud, всё хорошо. Потом в какой-то момент один из подкаталогов какая-то программа делает текущим. Этот подкаталог я удаляю на другой машине, но, так как на этой он занят, программа его не удаляет. Поскольку в свежих версиях клиента ownCloud лог ошибок и исключений – дерьмо, сообщение об этом то ли теряется среди мешанины других сообщений, то ли вообще не появляется в логе. В остальном всё, вроде, работает нормально. В какой-то момент я вдруг замечаю, что на этой машине состав каталогов немного другой, есть те, что я уже удалила. При этом индикатор в трее то показывает, что всё синхронизировано, то, что есть предупреждения. В логе этих предупреждений и ошибок, напоминаю, – мешанина: там с одной стороны – сообщения о том, что прямо сейчас исключено из синхронизации (например, симлинки), которые не накапливаются, а с другой – накапливающиеся сообщения о каждой проблеме, когда сервер почему-то оказался недоступен или случился какой-то конфликт локальной и серверной версии. При чём конфликт может попасть как в первую, так и во вторую категорию, тобишь, конфликт давно устранён, но он продолжает висеть в логе. И вот на что-то из этого и указывает иконка в трее. В общем, я изучаю ситуацию с каталогами, проверяю, не занял ли их кто и обнаруживаю программу, которая «заблокировала каталог». Освобождаю. Тут же клиент очухивается, удаляет бывший занятым каталог, удаляет несколько соседних, которые тоже были удалены на другой машине, но почему-то не удалились на этой, хотя заняты не были. А потом происходит фееричное. Есть один каталог, в который скидываются всякие файлы в течение дня. В момент, когда ownCloud не смог удалить заблокированный каталог, данный каталог, никак с оным не связанный, перестаёт синхронизироваться, новые файлы не попадают на сервер и другие машины. На другой машине я забираю из него имеющиеся файлы и удаляю его, но на этой файлы продолжают сыпаться в каталог (в нормальном режиме он просто пересоздаётся автоматически). И вот, когда проблема с заблокированным каталогом решается, ownCloud просто выносит вышеуказанный каталог со всеми новыми файлами. И пофиг, что на другой машине удаление случилось вчера, а файлы сыпались уже сегодня – нехуй терять бдительность. И всё, и файлы уже не вернуть. Благо такая фигня случается только с удаляемыми при синхронизации каталогами, а не вообще со всеми новыми данными. Я понимаю, что синхронизация – штука тонкая, но надо же как-то аккуратнее быть!

Linda-chan

Заебали двести буферов обмена в линупсе и ондройде, ни один из которых не работает правильно. Копирую в линупсе текст из приложения в броузере, пытаюсь вставить в блокнотик – вставляется какой-то другой текст. Потом понимаю, что я вставляю через Ctrl+V, а это – совершенно другое. Вставляю через «Правка – Вставить» – вставляется скопированный текст, но в виде «\u14\u88». На ондройде ещё круче: то контент не копируется, то копируется непойми куда, то вставляется сначала в виде текста «content://12345», а со второго/третьего/пятого/никакого раза – как надо. Зато там есть модная история буфера обмена, из которой тоже ничего никуда не вставляется. Заебало! Сделайте как в Windows и прекратите ебать мозги пользователю!!!!!!1111111111 >_<

Linda-chan

Я всячески поддерживаю авторов ffmpeg в их соцсетевой борьбе за свои идеалы, я поддерживаю их приверженность «устаревшим» языкам. Но. Регулярные вылеты ffmpeg – это, конечно, нечто.

Linda-chan

Почему программа с названием «Connect Bot» не умеет агрессивно реконнектиться при разрыве и помирает после первой же неудачи?

Linda-chan

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

Linda-chan

HTTPS для ресурсов, доступных только из локальной сети организации: за и против.

Linda-chan

Your current User-Agent string appears to be from an automated process, if this is incorrect, please click this link:

Microsoft борется с Serpent.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.