Precision 4600, 47, 48 серии - просто неубиваемые танки
Владею и пользуюсь их 17" версией Precision M6800. Этим точно можно убить по неосторожности. Его клавиатура по печати не навевает моим любимым Inspiron 1300, но она по-прежнему очень комфортная для продолжительной печати, чего не скажешь о всех последующих моделях.
Большое спасибо вам и @oldnomad за развёрнутый ответ!
По поводу указания _WIN32_WINNT со значением `_WIN32_WINNT_VISTA`, это в большинстве случаев открывает доступ к функциям и структурам Windows API, появившимся в конкретных версиях Windows. Совместимость ограничивают обычно либо через манифест, либо задействованием функции, не существующей в системе (и тогда целевое приложение отвалится с ошибкой «точка входа в процедуру <функция> не найдена в <имя DLL>»; но такой подход я лично осуждаю). Ещё один способ поставить ограничение — указать версию целевой подсистемы линкеру, но это тоже не всегда надёжно работает и применимо только на исполняемых файлах. В обратную сторону этот механизм тоже работает, можно на наборе инструментов MSVC v143, где поддержки Windows XP/Server 2003 нет, собрать работоспособное приложение, но со множеством оговорок: код обязан быть на чистом C и MSVCRT/UCRT линкуется статически с приложением.
Telegram Desktop под Windows — это шедевр во всех смыслах. Обновляешь драйвер видеокарты, у тебя клиент либо падает, либо отваливается до перезапуска клиента целиком возможность просмотра медиа на весь экран. А если клиент таки падает, то ты не успеваешь вытащить крашрепорт, потому что окно о ненормальном завершении работы исчезает сразу же.
На Windows 10/11 из-за отсутствующей (физически) рамки окон, если не использовать системную рамку, можно при прокрутке списка чатов или сообщений устроить землетрясение с артефактами по краю окна в том месте, где как раз должна была быть рамка.
Во-первых, если недодержать по времени и свету, то получается леопард: когда чередуется жёлтые и белые пятна. Надо наносить более толстый слой отбеливателя, и повторять процедуру.
Именно по этой причине я не стал ставить опыты с отбеливанием пластика через различные гели. Просто купил канистру перекиси с жуткой концентрацией для слуха концентрацией 37% (или 47...50%, не помню), которой обычно принято бассейны очищать, взял пластиковый ящик из условного «Леруа Мерлен», который можно герметично закрыть, а под крышку налепил светодиодную ленту с УФ-диодами. За шесть-восемь часов нахождения пластика в такой ёмкости я получал вполне равномерный белый результат.
Либо это уже за хитрость считать нельзя, либо пример непопулярный. В первом Deus Ex (2000) отражения на полу в обучении (и вроде даже на первой миссии) можно было наблюдать. Даже на NVIDIA GeForce4 MX440 работало, не жалуясь на производительность. Был ли это SSR, либо его предок — не вспомню.
Раз за давностью лет описываются события, то на всякий случай внесу чуток радости — Office 2007 успешно устанавливается на ночных сборках 0.4.15. Есть глюки по интерфейсу, но несколько месяцев назад ситуация была куда хуже — слайды в PowerPoint рисовались вверх ногами вместе с внутренним интерфейсом, а Word рассыпался на части. Сейчас Word в лучшем случае рвётся при переключении отображения линейки и глючит шрифтами..
Покрытие тестами имеется, но не каждый угол покрыт ими. Можно посмотреть отработку автоматических регресс-тестов, в GitHub дополнительно каждый pull request прогоняется на «выживаемость» сборки. Есть хотя бы одна проваленная сборка не по причине технической неполадки (частая история с Visual Studio 2015) — PR не допускают к мерджу.
Кто-то даже фаззер натравливал на систему, от чего та громко взрывалась, не выдерживая потока неправильных данных. Скажем так, в ReactOS весь win32k просит капитального ремонта, но из-за очень интересной политики их релиз-менеджера, которому важнее почистить пробелы в ресурсных файлах, сэкономить 0.5 мс и два байта на компиляции отладочной сборки, чем заняться делом, все попытки побороть это проклятье юзерспейса заканчиваются утратой энтузиазма. Инициативная группа пытается (и у неё получается) проталкивать переход на целевую платформу NT 6.x, попутно выбрасывая цистерны костылей и велосипедов из системных библиотек, но, увы, процесс идёт медленно. Политика релиз-менеджера вызывает отторжение у новичков, из-за этого очень мало людей узнаёт про то, что с этой проблемой борются.
Все же идея была сделать вот так, и это стандартный паттерн использования в комбинации с strncpy
Вполне возможно, но мы уже никогда не узнаем, что же хотел сделать автор — blame показывает, что последний раз в FTP-клиент залезали 17 февраля 2006 года. Сделали и забыли. Я бы всё же убрал эту операцию целиком.
Владею и пользуюсь их 17" версией Precision M6800. Этим точно можно убить по неосторожности. Его клавиатура по печати не навевает моим любимым Inspiron 1300, но она по-прежнему очень комфортная для продолжительной печати, чего не скажешь о всех последующих моделях.
Большое спасибо вам и @oldnomad за развёрнутый ответ!
По поводу указания
_WIN32_WINNT
со значением `_WIN32_WINNT_VISTA`, это в большинстве случаев открывает доступ к функциям и структурам Windows API, появившимся в конкретных версиях Windows. Совместимость ограничивают обычно либо через манифест, либо задействованием функции, не существующей в системе (и тогда целевое приложение отвалится с ошибкой «точка входа в процедуру <функция> не найдена в <имя DLL>»; но такой подход я лично осуждаю). Ещё один способ поставить ограничение — указать версию целевой подсистемы линкеру, но это тоже не всегда надёжно работает и применимо только на исполняемых файлах.В обратную сторону этот механизм тоже работает, можно на наборе инструментов MSVC v143, где поддержки Windows XP/Server 2003 нет, собрать работоспособное приложение, но со множеством оговорок: код обязан быть на чистом C и MSVCRT/UCRT линкуется статически с приложением.
Подумаю над этой идеей, но с Erlang/OTP я почти не знаком, чтобы подкапотную языка объяснить так же хорошо, как в Python. :)
Интересно, кто их может купить? Пока не знаю, кто может стать условным Embarcadero, чтобы поглотить JetBrains.
Telegram Desktop под Windows — это шедевр во всех смыслах. Обновляешь драйвер видеокарты, у тебя клиент либо падает, либо отваливается до перезапуска клиента целиком возможность просмотра медиа на весь экран. А если клиент таки падает, то ты не успеваешь вытащить крашрепорт, потому что окно о ненормальном завершении работы исчезает сразу же.
На Windows 10/11 из-за отсутствующей (физически) рамки окон, если не использовать системную рамку, можно при прокрутке списка чатов или сообщений устроить землетрясение с артефактами по краю окна в том месте, где как раз должна была быть рамка.
Именно по этой причине я не стал ставить опыты с отбеливанием пластика через различные гели. Просто купил канистру перекиси с жуткой концентрацией для слуха концентрацией 37% (или 47...50%, не помню), которой обычно принято бассейны очищать, взял пластиковый ящик из условного «Леруа Мерлен», который можно герметично закрыть, а под крышку налепил светодиодную ленту с УФ-диодами. За шесть-восемь часов нахождения пластика в такой ёмкости я получал вполне равномерный белый результат.
Странная задумка, пускай в коде дебаггера это явление повсеместное. Могу поверить, что это для читаемости, но меня лично такое путает ещё больше.
Либо это уже за хитрость считать нельзя, либо пример непопулярный. В первом Deus Ex (2000) отражения на полу в обучении (и вроде даже на первой миссии) можно было наблюдать. Даже на NVIDIA GeForce4 MX440 работало, не жалуясь на производительность. Был ли это SSR, либо его предок — не вспомню.
Последний релиз 0.4.14 или ночник 0.4.15?
Его оттуда уже выталкивать собираются, на его место нормальный драйвер ATAPI готовят.
Раз за давностью лет описываются события, то на всякий случай внесу чуток радости — Office 2007 успешно устанавливается на ночных сборках 0.4.15. Есть глюки по интерфейсу, но несколько месяцев назад ситуация была куда хуже — слайды в PowerPoint рисовались вверх ногами вместе с внутренним интерфейсом, а Word рассыпался на части. Сейчас Word в лучшем случае рвётся при переключении отображения линейки и глючит шрифтами..
Hidden text
Покрытие тестами имеется, но не каждый угол покрыт ими. Можно посмотреть отработку автоматических регресс-тестов, в GitHub дополнительно каждый pull request прогоняется на «выживаемость» сборки. Есть хотя бы одна проваленная сборка не по причине технической неполадки (частая история с Visual Studio 2015) — PR не допускают к мерджу.
Кто-то даже фаззер натравливал на систему, от чего та громко взрывалась, не выдерживая потока неправильных данных. Скажем так, в ReactOS весь win32k просит капитального ремонта, но из-за очень интересной политики их релиз-менеджера, которому важнее почистить пробелы в ресурсных файлах, сэкономить 0.5 мс и два байта на компиляции отладочной сборки, чем заняться делом, все попытки побороть это проклятье юзерспейса заканчиваются утратой энтузиазма. Инициативная группа пытается (и у неё получается) проталкивать переход на целевую платформу NT 6.x, попутно выбрасывая цистерны костылей и велосипедов из системных библиотек, но, увы, процесс идёт медленно. Политика релиз-менеджера вызывает отторжение у новичков, из-за этого очень мало людей узнаёт про то, что с этой проблемой борются.
Спасибо за полезный комментарий! :)
Вполне возможно, но мы уже никогда не узнаем, что же хотел сделать автор — blame показывает, что последний раз в FTP-клиент залезали 17 февраля 2006 года. Сделали и забыли.
Я бы всё же убрал эту операцию целиком.