Некоторые комментарии от разработчика эмулятора терминала.
защита от вставки
В версии 0.8.8 в xfce4-terminal (по многочисленным просьбам) добавлен диалог, предупреждающий о небезопасной вставке — то есть, содержащей символы перевода строки, что приведёт к исполнению команд в терминале.
Например GNOME, Xfce и urxvt поддерживают прозрачность, но недавно свернули поддержку фоновых изображений, что заставило некоторых пользователей перейти на терминал Tilix.
gnome-terminal и xfce4-terminal «свернули» поддержку фоновых изображений при переходе с GTK2 на GTK3, т.к. vte перестал их поддерживать.
xfce4-terminal, однако, снова поддерживает фоновые изображения — аж с версии 0.8.0.
Наконец, стоит отметить, что VTE — отличная база для терминалов, которая гарантирует поддержку цветов, распознавание URL и так далее.
vte — отличная библиотека, но она не гарантирует распознавание URL. В ней есть поддержка для задания регеспов для распознавания, но создавают эти регекспы эмуляторы терминала, а не сама vte.
Первое, что меня поразило — это лучшее время отклика у старых программ, таких как xterm и mlterm.
Наверное, это потому, что они работают напрямую с иксами, не используя графические тулкиты (GTK или Qt).
Терминал Xfce занимает 34 МБ, что в три раза больше, чем раньше, а вот GNOME Terminal требует всего 20 МБ
xfce4-terminal работает в одном процессе, а gnome-terminal — в двух (сервер и клиент). Интересно, что именно они замерили.
Так, библиотека VTE фактически держит на диске буфер скролла (эта особенность была замечена еще в 2010 году, и это происходит до сих пор). Но в отличие от старых реализация, сейчас, по крайне мере, эти данные зашифрованы с помощью AES256 GCM (с версии 0.39.2). Но возникает резонный вопрос, что же такого особенного в библиотеке VTE, что она требует такого нестандартного подхода к реализации…
Например, поддержка бесконечного буфера прокрутки?
В современных телефонах (по крайней мере, на платформах Qualcomm) поддержка IMS реализована в модеме — в Андроиде почти ничего нет для этого. Таким образом, поддержка железом является необходимым условием.
Большая проблема WSL — дисковый I/O. Разница в скорости при обновлении пакетов заметна даже по сравнению с виртуалкой. А уж попытки собрать Андроид под WSL… это просто ужас.
Как и предсказывалось сразу при появлении новости о покупке Кинопоиска, целью его покупки Яндексом явилось создание онлайн-кинотеатра на базе раскрученного имени.
What's up? — не «Что сверху?», а «Как дела?» или даже «Чё как?».
Hang up — «повесить трубку»; hang on — «погоди», а не «повесься».
Back in the day — «давным-давно», «в своё время», а не «раньше этим днём».
Beat around the bush — «ходить вокруг да около».
It's no rocket science — «ничего сложного».
На Арче 10 лет, прямо совсем ломающих обновлений не помню, кроме железо-специфичных — например, на моём старом компе, использовавшем 32-битный Арч, отваливалась звуковуха с новыми версиями ядра. Завёл об этом баг — ответ был, что с 64-битным драйвером всё работает, а 32 бита тестировать некому. Ну и правда, как мы знаем, 32-битная архитектура больше не поддерживается.
Мой рецепт — подписаться на рассылки, по крайней мере на arch-announce. Туда пишут, когда очередное обновление требует ручного вмешательства. Например, так было с упомянутым обновлением filesystem и переносом /{bin,lib} -> /usr/{bin,lib}. Пришлось немного повозиться, но система поломана не была.
Про Present Perfect и Past Simple и слова never, ever.
Я сегодня с удивлением узнал от коллеги-американца, что, оказывается, present perfect с never можно использовать, когда говоришь о собственных достижениях: «I have never done that». И нельзя, использовать, говоря о чём-то, что случилось с тобой. Например, фраза, о которой я его спросил — «I have never received that package» — некорректна; можно сказать «I haven't received that package» или «I never received that package».
Язык C с версии C99 поддерживает тип bool: en.cppreference.com/w/c/types/boolean. const в C тоже есть.
Код на C и на D практически не отличается, что должен показать этот пример — непонятно.
github.com/nushell/nushell/issues/290
Прочитал вашу статью про псевдотерминалы, понравилась.
В любом случае, непонятно, с помощью какого метода измерения получили 34 МБ и 20 МБ. htop показывает совершенно другие значения.
В версии 0.8.8 в xfce4-terminal (по многочисленным просьбам) добавлен диалог, предупреждающий о небезопасной вставке — то есть, содержащей символы перевода строки, что приведёт к исполнению команд в терминале.
gnome-terminal и xfce4-terminal «свернули» поддержку фоновых изображений при переходе с GTK2 на GTK3, т.к. vte перестал их поддерживать.
xfce4-terminal, однако, снова поддерживает фоновые изображения — аж с версии 0.8.0.
vte — отличная библиотека, но она не гарантирует распознавание URL. В ней есть поддержка для задания регеспов для распознавания, но создавают эти регекспы эмуляторы терминала, а не сама vte.
Наверное, это потому, что они работают напрямую с иксами, не используя графические тулкиты (GTK или Qt).
xfce4-terminal работает в одном процессе, а gnome-terminal — в двух (сервер и клиент). Интересно, что именно они замерили.
Например, поддержка бесконечного буфера прокрутки?
Прекрасное видео по теме: https://m.youtube.com/watch?v=1WvIwkL8oLc
В современных телефонах (по крайней мере, на платформах Qualcomm) поддержка IMS реализована в модеме — в Андроиде почти ничего нет для этого. Таким образом, поддержка железом является необходимым условием.
Handover — это не обязательно переход между LTE/3G/2G. Переход между двумя eNodeB — это тоже handover. Термин используется некорректно.
Я решаю так: для переключения раскладки назначаю левые Ctrl+Shift, а для хоткеев использую правые.
А ещё: Интел, оказывается, интЭл; не амазОн, а Эмэзон; икЕя по-американски айкИа; ну и классическое би-эм-дабл-ю (BMW) в полный рост.
Hang up — «повесить трубку»; hang on — «погоди», а не «повесься».
Back in the day — «давным-давно», «в своё время», а не «раньше этим днём».
Beat around the bush — «ходить вокруг да около».
It's no rocket science — «ничего сложного».
Мой рецепт — подписаться на рассылки, по крайней мере на arch-announce. Туда пишут, когда очередное обновление требует ручного вмешательства. Например, так было с упомянутым обновлением filesystem и переносом /{bin,lib} -> /usr/{bin,lib}. Пришлось немного повозиться, но система поломана не была.
Я сегодня с удивлением узнал от коллеги-американца, что, оказывается, present perfect с never можно использовать, когда говоришь о собственных достижениях: «I have never done that». И нельзя, использовать, говоря о чём-то, что случилось с тобой. Например, фраза, о которой я его спросил — «I have never received that package» — некорректна; можно сказать «I haven't received that package» или «I never received that package».
Так делать нельзя, это доступ к освобождённой памяти — undefined behavior.
www.securecoding.cert.org/confluence/display/cplusplus/MEM50-CPP.+Do+not+access+freed+memory
Язык C с версии C99 поддерживает тип bool: en.cppreference.com/w/c/types/boolean. const в C тоже есть.
Код на C и на D практически не отличается, что должен показать этот пример — непонятно.