The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Уязвимость в GNU screen, позволяющая выполнить код с правами root"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Уязвимость в GNU screen, позволяющая выполнить код с правами root"  +/
Сообщение от opennews (?), 12-Май-25, 23:52 
В консольном оконном менеджере (мультиплексоре терминалов) GNU screen, предоставляющем многооконный интерфейс в консоли, выявлено  5 уязвимостей. Наиболее опасная проблема  (CVE-2025-23395) позволяет получить права root в системе. Исправление выключено в состав сегодняшнего выпуска screen 5.0.1...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=63226

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Витюшка (?), 12-Май-25, 23:52   +8 +/
Некорректное использование функции strncpy()...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2

2. Сообщение от Аноним (2), 12-Май-25, 23:59   +16 +/
приводящее к аварийному завершению при выполнении специально оформленных команд.

Вы же вроде в расте как раз такое и любите - чуть что - сразу паника (аварийное завершение)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #4, #5, #65, #89

4. Сообщение от НяшМяш (ok), 13-Май-25, 00:17   +4 +/
А вы в сяшечке всё так же любите игнорировать предыдущие 4 уязвимости, лишь бы растовиков попинать. Почитал описание функции strncpy и за голову схватился - словосочетание "behavior undefined" встречается аж 3 раза. Мы уж лучше в расте красиво навернёмся с подробным стектрейсом и ошибкой, ничего при этом не испортив, чем как сяшечники звучно оподливившись в шаровары.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #7, #12, #21, #30, #45, #51

5. Сообщение от Аноним (5), 13-Май-25, 00:30   +5 +/
>> приводящее к аварийному завершению при выполнении специально оформленных команд.
>> Bad strncpy() Use Leads to Crashes when Sending Commands
> Вы же вроде в расте как раз такое и любите - чуть что - сразу паника (аварийное завершение)

Я расстрою очередного (к)експерта, но panic - это _контролируемое_ завершение программой самой себя, в случае непредвиденной (или осознанно проигнорированной погроммистом) ошибки-ситуации.

А не вот это вот любимое Настоящими Погроммистами "мы тут немного попортили память за пределами буфера, вследствии чего код далее делал незнамо что, пока не прилетел SIGABRT" ...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #20, #22, #34, #120

7. Сообщение от Нуину (?), 13-Май-25, 00:48   +4 +/
> Мы уж лучше в расте красиво навернёмся с подробным стектрейсом и ошибкой

Никто не мешает написать в строки, которые хранят в себе длину и убрать все эти ошибки на корню.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #24, #49, #75, #88, #159

8. Сообщение от крокодил мимо.. (-), 13-Май-25, 01:01   +3 +/
просто оставлю это здесь..
https://undeadly.org/cgi?action=article;sid=20090712190402
Ответить | Правка | Наверх | Cообщить модератору

10. Сообщение от senaemail (ok), 13-Май-25, 01:04   +1 +/
> нынешние сопровождающие GNU screen недостаточно хорошо ориентируются в кодовой базе проекта

То есть диды написали тонны сишного кода в ГНУ/Линуксах и уходят, а сопровождать его вместо них некому.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #72, #230

11. Сообщение от Нуину (?), 13-Май-25, 01:15   +/
> То есть диды написали тонны сишного кода в ГНУ/Линуксах и уходят

А где там в gnu screen тонна кода?

> а сопровождать его вместо них некому.

Получается некому, а те, кто могут, не хотят. Об этом яжфин говорил, что проблема есть в сопровождающих.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #14, #94

12. Сообщение от Нуину (?), 13-Май-25, 01:18   +12 +/
> Мы уж лучше в расте красиво навернёмся с подробным стектрейсом и ошибкой,

Ну, судя по тому, что никто не использует rustscreen или что-то подобное, похоже растовщики по прежнему наворачиваются с подробным стектрейсом и ошибкой.

>  ничего при этом не испортив

Да, сложно испортить код, которого нет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #55, #91

13. Сообщение от Krtek (?), 13-Май-25, 01:24   –1 +/
>они так и не смогли подготовить исправления для всех уязвимостей

Всё, что нужно знать о GNU.

Ответить | Правка | Наверх | Cообщить модератору

14. Сообщение от senaemail (ok), 13-Май-25, 01:25   +1 +/
> Об этом яжфин говорил, что проблема есть в сопровождающих.

Тогда все эти мансы с растом обретают иной смысл - просто Торвальдс хочет привлечь к разработке молодёжь, а она в си не умеет и не хочет. Ну и скандал, борьба, революция, всё это тоже важно для привлечения молодёжи.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #15, #27, #60

15. Сообщение от Нуину (?), 13-Май-25, 01:35   +1 +/
> Тогда все эти мансы с растом обретают иной смысл - просто Торвальдс хочет привлечь к разработке молодёжь, а она в си не умеет и не хочет. Ну и скандал, борьба, революция, всё это тоже важно для привлечения молодёжи.

Я думаю там замешаны конторы, у которых ставка на раст. У них профит простой: нужны дешевые разрабы.

> а она в си не умеет и не хочет.

Справедливости ради молодёжь много чего не умеет не хочет. А нет, умеют писать жручие и тормозные поделия на электроне.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #66

17. Сообщение от Аноним (17), 13-Май-25, 01:40   –2 +/
Zellij, tab-rs.
Ответить | Правка | Наверх | Cообщить модератору

19. Сообщение от Аноним (19), 13-Май-25, 01:45   +2 +/
> сотрудникам SUSE пришлось подготовить некоторые патчи самостоятельно. По мнению проводивших аудит исследователей, нынешние сопровождающие GNU screen недостаточно хорошо ориентируются в кодовой базе проекта и не способны полностью разобраться в выявленных проблемах безопасности.

А нынешний сопровождающий — это alexander_naumov@opensuse.org ведь? Они там меж собой в suse договориться не могут даже?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #37, #109

20. Сообщение от Аноним (2), 13-Май-25, 01:50   +1 +/
Дак ведь SIGABRT тоже на сишке написан (в ядре), что не нравится то?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #137

21. Сообщение от _kp (ok), 13-Май-25, 01:53   +1 +/
Так есть и другие способы работы со строками, даже не в C++, но и в С, и в том числе на микроконтроллерах.
А тащить бородатые "стандартные функции", которые на каждый чих надо обкладывать проверками, но на это  все равно где нибудь забьют, так себе стиль.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #48

22. Сообщение от _kp (ok), 13-Май-25, 02:00   +1 +/
> panic - это _контролируемое_ завершение..

Но не всегда уместное. А вне десктопа и совсем не уместное.

> немного попортили память за пределами буфера

тут не ручной перезапуск уместен, а замена ПО требуется.
Ну, можно же и на Си нормально работь со строками, без неандертальских функций и тупых строковых буферов. Ну, ладно, хотя бы  в коде не требующего сверхбыстродействия.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #32, #98

24. Сообщение от Rev (ok), 13-Май-25, 02:14   +1 +/
Да-да, только никто этого не делает :(
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #84, #87, #132

27. Сообщение от 12yoexpert (ok), 13-Май-25, 02:28   +1 +/
меня больше тревожит, что некоторые "не умеют в русский язык"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #36

30. Сообщение от Оно ним (?), 13-Май-25, 03:00   +/
А из предыдущих четырёх раст бы защитил от одной - с состоянием гонки. А остальные точно так же и в расте были бы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

31. Сообщение от Аноним (31), 13-Май-25, 03:01   +/
Роллинг это быстрые фиксы с одной стороны и новые вулны с другой.
Ответить | Правка | Наверх | Cообщить модератору

32. Сообщение от Аноним (144), 13-Май-25, 03:27   +/
> А вне десктопа и совсем не уместное.

Ты всё перепутал. Это как раз на десктопе таким пугать пользователя нельзя. А на сервере я как раз хочу чтобы упало, а не тихонько неизвестно как то ли работало, то ли память портило. Как падения софта мониторить давно придумали и решили сотней разных способов. А вот как мониторить порчу памяти до сих пор не договорились.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #122

34. Сообщение от Аноним (34), 13-Май-25, 03:55   +/
Идея паники понятна, но аноним попался на незнании ОС ни Сижки: sukabrt это тебе он сегфоулт, он швыряется тоже по пурпоузу, как и эксепшен этот ваш панический. Если словил аборт это как раз самое контролируемое что ни на есть
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #162

36. Сообщение от Аноним (34), 13-Май-25, 03:57   +/
Почем тебя это тревожет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #99

37. Сообщение от Аноним (37), 13-Май-25, 04:07   +2 +/
Не суди строго: должно быть бро открыл олдскульную кодовую базу и у него глаза потекли, моментально окислился
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19

43. Сообщение от Аноним (43), 13-Май-25, 06:09   +/
> только в ветке screen 5.0.0, которая поставляется в Fedora Linux, Arch Linux,
> NetBSD, OpenBSD и Alpine.

Спасибо этим господам что побегали для нас по минному полю и разминировали прямо его своими тушками :)

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #44, #105

44. Сообщение от Аноним (44), 13-Май-25, 06:25   +5 +/
Им спасибо, а мы продолжим юзать tmux в роли терминал-мультиплексора
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43 Ответы: #141

45. Сообщение от Аноним (-), 13-Май-25, 06:26   +3 +/
Behavior undefined, это нормально для системного языка программирования. Ненормально когда люди проектирующие язык программирования пытаются полностью устранить Behavior undefined.

Behavior undefined - это просто объективное явление, его невозможно полностью устранить. И наличие в языке behavior undefined, не делает язык автоматически плохим. Вам надо уметь гибко мыслить, шаблонное мышление, это плохо.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #50, #95

48. Сообщение от анонимммм (?), 13-Май-25, 07:17   +/
Стандартные строковые функции - идеальны. Делают ровно то, что заявляют. Если не хочется обкладывать код проверками, то эти проверки придётся интегрировать в сами функции, которые тем не менее придётся обкладывать проверками.

"Так себе стиль" - просто норма жизни. Без проверок нельзя.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #92, #116

49. Сообщение от Аноним (49), 13-Май-25, 08:10   –11 +/
> Никто не мешает написать в строки, которые хранят в себе длину и убрать все эти ошибки на корню

Убрать ошибку на корню - это юзать нормальный язык вместо С.

Но это ж надо уметь делать выводы из полувека наступаней на грабли...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #133

50. Сообщение от anonymous (??), 13-Май-25, 08:23   +1 +/
> Behavior undefined, это нормально для системного языка программирования

Ага. Допускаешь ошибку и у тебя удаляет все файлы из корня. Почему? Потому что поведение неопределено - компилятор что хочет, то и делает.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #93

51. Сообщение от Аноним (160), 13-Май-25, 08:32   +1 +/
По-хорошему, следует признаться себе, что никаких «строк» (в нормальном понимании) в сишечке нет, и избегать библиотечных функций str* как огня.
Но — зачем напрягаться. Что дедам было хорошо, и нам сгодится.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #69

52. Сообщение от Аноним (52), 13-Май-25, 08:35   +/
Как обычно, у проектов GNU код низкого качества. Ничего хорошего от этой конторки ждать нельзя.

Лучше пользоваться TMUX. У него фич больше, конфиг вменяемый. Сделано людьми для людей.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #81, #193, #209

54. Сообщение от name (??), 13-Май-25, 08:56   +1 +/
Врети - в BSD tmux вместо скрина! А GNU пора закопать на свалке истории как что-то нелепое и в лучших традициях неудавшееся.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #64, #222

55. Сообщение от Аноним (-), 13-Май-25, 09:21   +1 +/
Молодой человек не слышал про Zellij?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #62, #111, #134, #151

60. Сообщение от Аноним (160), 13-Май-25, 09:55   –1 +/
> а она в си не умеет и не хочет

И совершенно правильно делает. Оно им надо, в кучах дедовского г… копаться?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14 Ответы: #71

62. Сообщение от Аноним (62), 13-Май-25, 10:01   +/
Не трать зря время. По расту методичка такая: на нём ничего не написано, а если что-то и написано, то это безоговорочно какая-то смешная или ненужная ерунда для пацанят на электроскутерах.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

63. Сообщение от Соль земли (?), 13-Май-25, 10:10   +1 +/
В Debian без setuid/setgid. Но как же он тогда работает? Дебьяновская магия!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #215

64. Сообщение от Аноним (64), 13-Май-25, 10:15   +1 +/
Ну вот и сиди на своём tmux, а нам на GNU screen хорошо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54 Ответы: #199

65. Сообщение от Соль земли (?), 13-Май-25, 10:20   +/
Крашнуться, то есть срочно завершиться - это наилучшее поведение при непредусмотренной работе программы. Так ты быстрее всего поймёшь, что что-то не так.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

66. Сообщение от Карлос Сношайтилис (ok), 13-Май-25, 10:21   +/
> Я думаю там замешаны конторы, у которых ставка на раст. У них профит простой: нужны дешевые разрабы.

Для дешёвых разрабов нужен низкой порог входа и превышение предложения над спросом. В расте ни того ни другого не наблюдается.
Скорее гошка, но даже там рынок не насыщен исчо.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #152

69. Сообщение от 12yoexpert (ok), 13-Май-25, 10:51   +/
или уроки учи, str* ты наш
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #80

71. Сообщение от senaemail (ok), 13-Май-25, 10:54   +/
>> а она в си не умеет и не хочет
> И совершенно правильно делает. Оно им надо, в кучах дедовского г… копаться?

Понять можно, простить - никогда. :)

Надо писать научный труд "отсутствие преемственности в айти". :)

На самом деле, если Торвальдс молодёжи не наберёт, то Линукс тихонечко умрёт, да и многие другие важные свободные проекты тоже.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #74, #107, #154

72. Сообщение от Аноним (-), 13-Май-25, 10:59   +1 +/
> То есть диды написали тонны сишного кода в ГНУ/Линуксах

Угу.

> и уходят

чудовищная безответственность!

> а сопровождать его вместо них некому.

А ты бы хотел ковыряться в старых жигулях как дед на выходных?
Или лучше взять и заняться чем-то более интересным?

Я уже молчу что качество того кода мягко говоря отстойное, судя по кол-ву дыр и тяп-ляпов в стиле "мамой клянусь тут не будет переполнения".

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #78

73. Сообщение от Аноним (2), 13-Май-25, 11:01   +1 +/
Про NetBSD какая-то ложь. В pkgsrc есть две версии: pkgsrc/misc/screen и pkgsrc/misc/screen4. Первая (без цифры в названии) это 5я версия, но ни одна из них не входит в состав базовой системы.
Ответить | Правка | Наверх | Cообщить модератору

74. Сообщение от Аноним (-), 13-Май-25, 11:05   +/
> Понять можно, простить - никогда. :)

Деда ответ (с) )))

> Надо писать научный труд "отсутствие преемственности в айти". :)

Интересно, писал ли кто-то подобное в стиле "молодежь не хочет ухаживать за лошадками! им подавай эти новомодные автомобили!!!
А ведь лошадка это не бездушная железка, у нее есть характер, она умеет фыркать, кушать вкусняшки и пахнуть навозом!"

> На самом деле, если Торвальдс молодёжи не наберёт, то Линукс тихонечко умрёт,

Не умрет.
Есть корпорации у которых наемные рабочие, которые будут делать то, что им скажут.
Правда тогда в ядре код от "индивидуалов" будет вообще около нуля, а не процентов 10 как сейчас.

> да и многие другие важные свободные проекты тоже.

Если на них забили и они умерли - значит не настолько и важные.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #76

75. Сообщение от Аноним (-), 13-Май-25, 11:11    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

76. Сообщение от senaemail (ok), 13-Май-25, 11:19   +/
> Есть корпорации у которых наемные рабочие, которые будут делать то, что им
> скажут.

Ты переоцениваешь возможности корпов, даже бабло не всемогуще. Если разрабов способных разобраться в сишечке не будет, то их не будет, сколько бабла не вливай.

Всё что корпы смогут сделать в этом случае - найти новый молодой проект с молодым условным Торвальдсом и вложиться в его поддержку.

Но я думаю старый Торвальдс смекнул что к чему и возможно он успеет омолодить состав, хотя и не факт.

> Если на них забили и они умерли - значит не настолько и
> важные.

Ну в принципе да, так и есть. Монолит не нужен.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74 Ответы: #127, #128

78. Сообщение от senaemail (ok), 13-Май-25, 11:44   +/
> А ты бы хотел ковыряться в старых жигулях как дед на выходных?

Я, поднимая седую бороду от жигулей: а? что? кто здесь?

> Или лучше взять и заняться чем-то более интересным?
> Я уже молчу что качество того кода мягко говоря отстойное, судя по
> кол-ву дыр и тяп-ляпов в стиле "мамой клянусь тут не будет
> переполнения".

Вообще-то я не осуждаю, по крайней мере вслух. ;)

Я констатирую факт. А уж что с этим делать? Может действительно миру нужно новое ядро и новый, молодой Сталман и Торвальдс.

Где та молодая шпана?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72 Ответы: #82, #110

80. Сообщение от Аноним (160), 13-Май-25, 11:54   +1 +/
Деды обижаются.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #69

81. Сообщение от Аноним (81), 13-Май-25, 12:00   +/
.. пользоваться им я конечно не буду
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #168

82. Сообщение от Аноним (-), 13-Май-25, 12:02   +/
> Я, поднимая седую бороду от жигулей: а? что? кто здесь?

Я знаю одного знакомого деда, который на старости (по образованию был преподавателем) освоил миг-маг сварку и сейчас варит каркас для самопального электо-велосипедо-скутера.
А до этого сделал для внуков карт и катамаран из пятилитровых баклажек.
Главное душой не стареть (с)

Надеюсь я в старости буду таким же)))

> Я констатирую факт. А уж что с этим делать? Может действительно миру нужно новое ядро и новый, молодой Сталман и Торвальдс.

Не, давайте обойдемся без столлманов.
Хватило одного поборника идей "отнять и поделить" и писателей коммунистических манифестов.

А на вопрос "что делать?" уже ответили - добавляйте в ядро то, что эту молодежь привлечет.
Например новые подходы, языки и схемы управления.

> Где та молодая шпана?

Думаю в дискордах или тиктоках.
На ютубе тоже много.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78 Ответы: #86

84. Сообщение от anonymous (??), 13-Май-25, 12:08   +1 +/
Делают.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

86. Сообщение от senaemail (ok), 13-Май-25, 12:14   +/
>> Где та молодая шпана?
> Думаю в дискордах или тиктоках.
> На ютубе тоже много.

Тогда уже можно закапывать. :)

А здесь хоть есть молодёжь, опросы проводили?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82 Ответы: #90

87. Сообщение от Аноним (-), 13-Май-25, 12:24   +4 +/
> Да-да, только никто этого не делает :(

В том то и проблема что делают.
Каждый раз заново и каждый раз получается уродский велосипед.
А потом RCE в самописном split string.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

88. Сообщение от Аноним (88), 13-Май-25, 12:30   –1 +/
> Никто не мешает написать в строки, которые хранят в себе длину и убрать все эти ошибки

Мешает традиционная сишечная халатность.

Писать нормальный строковый тип - это же что-то там шевелиться надо, тестировать, да и мысли крамольные в голову лезут типа "ну и накой я изобретаю велосипед вместо использования C++?".

А вот православный пердолинг с буферами и str*cpy() - вот он, уже готовый под рукой!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

89. Сообщение от Аноним (189), 13-Май-25, 12:31   +1 +/
>Вы же вроде в расте как раз такое и любите - чуть что - сразу паника

Как и ожидалось, про монады сишники ничего не слышали. И даже сейчас, они не пойдут выяснять, что это такое. Память сама себя не испортит, а патч, против порчи памяти, сам себя не напишет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #114

90. Сообщение от Аноним (-), 13-Май-25, 12:32   +1 +/
> Тогда уже можно закапывать. :)

Снобизмом попахивают слова твои.
На темную сторону силы ведет сей путь.

> А здесь хоть есть молодёжь, опросы проводили?

А молодежь это кто)?
Мне например 30+ и я себя старым не считаю.
Особенно по сравнению с древностями которые на всяких БЭСМ начинали.

Можно конечно зубоскалить, но на ютубе можно посмотреть какой-то тyпoе видео, а можно что-то типа "MIT 6.0001 Introduction to Computer Science and Programming in Python" или "MIT 6.5630 Advanced Topics in Cryptography, Fall 2023"
И каждый найдет то, что ему интересно.

Половина моих одноклассников которые росли в 90х спилась.
Я в лет 7-10 развлекался тем, что прыгал по гаражам, лопал выкинутые на помойку кинескопы от телевизора березка и плавил свинец из старых аккумов.

Так что я не рассчитываю, что прям все нынешние 16-20 летки станут гениями программирования, но от них это и не требуется)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #86

91. Сообщение от Аноним (-), 13-Май-25, 12:34   +3 +/
> Ну, судя по тому, что никто не использует rustscreen

Ой, а типа gnu screen кто-то использует))
Не, ну найдутся пару извращенцев, которым любой kaл, лишь бы gnu... но все нормальные пользуются tmux.

> Да, сложно испортить код, которого нет.

Таки есть. Zellij например. Или  wezterm.
Но откуда хейтерочку об этом знать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #108, #174, #175

92. Сообщение от Аноним (189), 13-Май-25, 12:36   +1 +/
>Стандартные строковые функции - идеальны. Делают ровно то, что заявляют

Си идеален, делает то что заявляет. Никто ведь не заявлял, что программы на си будут корректны, правильно? Правильно. Так что всё хорошо, программы на си для того и пишутся, чтобы портить память
>которые тем не менее придётся обкладывать проверками.

Внормальных языках будет ошибка компиляции, если вы проверку забудете.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

93. Сообщение от Аноним (93), 13-Май-25, 12:36   +/
> Ага. Допускаешь ошибку и у тебя удаляет все файлы из корня.

ага, вступил не туда и остался в лучшем случае без пятки, чвкп*дор :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

94. Сообщение от Аноним (93), 13-Май-25, 12:39   +/
> Получается некому, а те, кто могут, не хотят.

А кто платить то будет?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

95. Сообщение от Аноним (189), 13-Май-25, 12:40   +/
>Behavior undefined, это нормально для системного языка программирования

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #113

98. Сообщение от Аноним (189), 13-Май-25, 12:44   +/
>Но не всегда уместное

Монады изобретены, но сишники как всегда об этом не знают.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #150

99. Сообщение от Аноним (93), 13-Май-25, 12:45   –1 +/
потому-что на нем можно писать прозрачные слова (белый листочек А4) или спокойно одно слово подменять другим и вовсе не синонимичным. Ипаразитным словом теперь является не "б*ять", а "наш". Вот такой вот аксиомный бихевиор.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #210

101. Сообщение от Аноним (101), 13-Май-25, 12:54   +/
Какой-то странный эксплойт. Не желает он в подмененный файл писать, поскольку это уже не тот файл:
Error writing logfile: Bad file descriptor
Ну и: Screen version 4.09.01 (GNU) 20-Aug-23
FreeBSD 14.2
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #103, #139

103. Сообщение от Аноним (101), 13-Май-25, 13:03   +/
Хм, а они успели разделиться на 4 и 5 ветки, оказывается, а я всё проспал. К счастью, видимо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101

105. Сообщение от Аноним (2), 13-Май-25, 13:12   +1 +/
В NetBSD в 3rd-party пакетах есть обе версии, а в базовой системе идет tmux.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

107. Сообщение от Аноним (189), 13-Май-25, 13:18   +/
>На самом деле, если Торвальдс молодёжи не наберёт, то Линукс тихонечко умрёт

Варианта, что ядро будет написано на нормальном языке, а не там, чуть ли не на каждой строке - неопределённое поведение, вы конечно же не рассматриваете
>Понять можно, простить - никогда. :)

Молодёжь не хочет мазохизма с  неопределённым поведением, удивительно то как

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #125

108. Сообщение от streametchemail (?), 13-Май-25, 13:33   +/

>> Не, ну найдутся пару извращенцев, которым любой kaл, лишь бы gnu... но
>> все нормальные пользуются tmux.

screen умеет открывать COM порт, а tmux попсовый нет, вот и думай что тру, а что kал

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91 Ответы: #118, #124, #157, #173

109. Сообщение от вася пупкин (?), 13-Май-25, 13:40   +2 +/
Эта новость основана на репорте SUSE. Мнение другой стороны, Александра, upstream, мы не знаем. Интересным мне показалось, как они написали, что он им ничего так и не смог предоставить. Никаких патчей. А потом, в их же репорте, что после публикации SUSE патчей, он потребовал изменить авторство, ЧТО ОНИ И СДЕЛАЛИ %) Так на каком основании он потребовал это? И зачем они внесли изменения в авторство патчей (исправили со своего, на его), если не он предоставил пачти, как они написали, а они? =))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #119

110. Сообщение от Аноним (110), 13-Май-25, 13:40   +/
> миру нужно новое ядро.

МИРУ НУЖНО НОВОЕ ЯДРО.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78 Ответы: #115, #142

111. Сообщение от Аноним (111), 13-Май-25, 13:53   +1 +/
Нет, не слышали. Что-то ещё, кроме фаерфокса, вспомните?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

112. Сообщение от Аноним (111), 13-Май-25, 14:01   +2 +/
... setuid на бинарник для мультиплексинга экранов? А чё на tee сразу setuid не впихнуть?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #140, #170

113. Сообщение от Аноним (113), 13-Май-25, 14:07   +/
Так уцелевшие архитектуры тоже содержат в себе кучу легаси.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95 Ответы: #117

114. Сообщение от Аноним (114), 13-Май-25, 14:14   +/
Просьба уточнить использование термина "монады": имеется ввиду та самая разновидность функтора из теории категорий или кто-то что-то левое назвал "монадой" для большей крутости?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89 Ответы: #130, #138, #153

115. Сообщение от Аноним (115), 13-Май-25, 14:22   +/
Миру нужны стандарты, ядра могут быть собственной разработки.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110 Ответы: #164

116. Сообщение от Аноним (166), 13-Май-25, 14:23   +1 +/
Легендарные сишные строковые функции, как будто специально придуманные для переполнения буферов.

Особенно идеальна strncpy. Очевидно, что функция с таким названием копирует строку? А нет, копирует не более n ненулевых байтов из источника и добивает буфер до n нулями (зачем?), ломая инвариант - в буфере после копирования не строка.

Отличная функция для строковой библиотеки, чувствуется могучий дедовский дизайн - собрать столько бесполезной функциональности в одной функции.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #156

117. Сообщение от Аноним (189), 13-Май-25, 14:26   +/
Вопрос не в наличии легаси как такогового, вопрос в том, что при программировании в 2025 году под современный гну/линукс, приходится сталквиваться с ограничениями прямоиком из 1970 года, в перемешку с ограничениями всяких экзотических архитектур типа avr. Если бы screen активно исползьовался под тем допотопным юниксом или на микроконтроллере, то это могло бы иметь смысл, а так это ограничения ради ограничений.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113 Ответы: #200

118. Сообщение от Аноним (-), 13-Май-25, 14:32   +1 +/
> screen умеет открывать COM порт, а tmux попсовый нет,

ух, вот целый день сижу и компорты открываю)

> вот и думай что тру, а что kал

Москвич-408 можно было заправлять бензом с ослиной моchой, но почему-то очереди из желающих окунуться в прдолинг с устаревшей техникой как-то не наблюдается.
Ты бы еще поныл, что в городе лошадь припарковать негде и овес не продают на каждом шагу.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108 Ответы: #136

119. Сообщение от Null (??), 13-Май-25, 14:36   +1 +/
Кстати интересно. Он у них получается вообще дурачок дурачок, который ничего не делал, потом начал делать, потом ничего так и не сделал, а потом ещё чуть и эмбарго не нарушил. Ещё он якобы в коде проекта не разбирается.

В copyright написано, что он занимается screen уже 10 лет. И кстати именно в его изменениях для 5.0.0 security issues они не нашли. Может человек заниматься проектом столько лет, выпускать релизы, и не знать проект так хорошо, как проверяющие из suse? Наверное что-то не поделили, вот они и решили его убрать. Тоже интересно, что нигде от его имени никаких запросов на аудит кода нет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #109 Ответы: #123

120. Сообщение от Аноним (166), 13-Май-25, 14:45   +/
SIGABRT это тоже контролируемое, по вызову abort(). Настоящие сишники любят SIGSEGV.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #163

122. Сообщение от _kp (ok), 13-Май-25, 15:18   +/
> на сервере я как раз хочу чтобы упало

к вменяемому серверу прилагается админ. Проблема закрыта.

А если например контроллер теплицы, или контроллер съёмки с телескопа, то если и упал, поднялся и снова работать. А лучше вовсе не падать.

> как мониторить порчу памяти до сих пор не договорились.

Не использовать без обоснования ретро функции, и нет проблемы.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #147

123. Сообщение от вася пупкин (?), 13-Май-25, 15:41   +/
Это 100% совпадение конечно.. наверно... но 4 из 5 найденых SUSE проблем, это код, который был добавлен в screen как раз сотрудниками SUSE...

Последняя, пятая, с logfile, это то, получилось после того, как безопасную проверку удалил прошлый мэйнтейнер Амадеус, который сейчас покинул проект. И именно эту проблему исправил (добавил обратно) Александр. И SUSE написал критику в его адрес в своем репорте. Ох уж эти совпадения =)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119

124. Сообщение от Аноним (-), 13-Май-25, 15:49   +/
> Не, ну найдутся пару извращенцев
> screen умеет открывать COM порт

А вот и первый пожаловал :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108

125. Сообщение от senaemail (ok), 13-Май-25, 15:52   +/
>>На самом деле, если Торвальдс молодёжи не наберёт, то Линукс тихонечко умрёт
> Варианта, что ядро будет написано на нормальном языке, а не там, чуть
> ли не на каждой строке - неопределённое поведение, вы конечно же
> не рассматриваете

Шансы не нулевые. Если Торвальдс успеет сейчас оперативно массово привлечь молодёжь, то может что-то и получится, но будет нелегко. А если не успеет, то молодёжи гораздо проще и быстрее будет написать новое ядро заново с нуля, разумеется не на сях.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #107 Ответы: #131

127. Сообщение от Аноним (-), 13-Май-25, 16:19   +/
> Ты переоцениваешь возможности корпов, даже бабло не всемогуще.

Возможно переоцениваю.
Но я смотрю со своей колокольни полче 10+ лет работы на такую корпу.

Да и дело не столько в бабле (но деньги тоже очень важны), сколько в ресурсах в общем смысле.

> Если разрабов способных разобраться в сишечке не будет, то их не будет, сколько бабла не вливай.

Почему?  Они не исчезнут мгновенно, как если бы растоманы наняли киллера, который бы стукал ложкой сишника по лбу за каждый выход за границы буфера.
Их кол-во будет уменьшаться, цена будет расти.
У корпа будет несколько путей решения проблемы:
- просто нанимать сишников, несмотря на цену
- перевести проект в легаси и фиксить только баги и этим срезать стоимость на кол-ве людей
- нанять сишника и посадить своих сотрудников за парту
- переписать на другой ЯП или просто написать "то же самое" на другом ЯП с нуля
- и тд...

У корпов даже есть ресурсы чтобы создать спрос на ЯП.
Например они объявляют вакансии на редкий язык. За хорошие деньги.
Народ видит что "ого, за N платят в 3 раза больше чем то на чем я пишу сейчас".
Дальше это "рекламируется" и продвигается: например блогпосты с примерами использования, какие-то трюки, видео с конференций.
Потом подтягиваются онлайн курсы и даже университеты.
А потом у тебя GOшка становится стандартом.

> Всё что корпы смогут сделать в этом случае - найти новый молодой проект с молодым условным Торвальдсом и вложиться в его поддержку.

У корпов есть одна хорошая и одновременно плохая особенность - они по большей части практичны.
Если им будет быстрее/дешевле найти нового торвальдса - они будут так делать.
Если выгоднее тянуть старое - будут тянуть.

Их за это люто ненавидит сообщество, тк стоит они дропнут старую архитектуру или версию, если на ней останется пару нетакусиков.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76

128. Сообщение от User (??), 13-Май-25, 16:21   +/
Ну будет как с modern perl'ом - пользуемся, пока работает, как ломается - переписываем и выкидываем.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76 Ответы: #155

130. Сообщение от Аноним (189), 13-Май-25, 16:28   +/
>>= и >|= если впрочем понимаете, о чём я.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114

131. Сообщение от Аноним (189), 13-Май-25, 16:37   +/
>А если не успеет, то молодёжи гораздо проще и быстрее будет написать новое ядро заново с нуля

Написать заново, с нуля, можно мс-дос или миникс, с соответствющим функционалом. У миникса, например, первая файловая система могла быть размером до 64 Мб. Сами понимаете, насколько пригодной получится такая система. Всё остальное требует огромных затрат по времени, в течении которых нужно будет чем-то пользоваться

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #125 Ответы: #143, #167

132. Сообщение от Аноним (132), 13-Май-25, 17:31   +/
> Да-да, только никто этого не делает :(

Гнусный п...ж, я себе именно  так и сделал, завел struct с указателем на строку и .len - и вот оно. Но увы - это приносит часть "паскалепроблем". В том смысле что отдать такое допустим системным вызовам и функциям либсы и проч - несколько сложнее.

Более того - так можно и .maxlen хранить и юзать всякие getters/setters и тому подобное ибо напрямую вы с таким типом не сможете работать так сразу - защитив себя от прострела пяток. Но к сожалению этот маневр не бесплатен и начинает попахивать занудством типа паскаля или хруста.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #135

133. Сообщение от Аноним (132), 13-Май-25, 17:33   +1 +/
> Убрать ошибку на корню - это юзать нормальный язык вместо С.

Странно, но вон тот питонячий бот умер при первой попытке потрогать его палочкой. Оказывается хреново валидировать пользовательские данные можно не только на си :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #144

134. Сообщение от Аноним (-), 13-Май-25, 17:36   +1 +/
> Молодой человек не слышал про Zellij?

Что это еще за зелибоба с невыговариваемым названием? Может, хрустикам для начала научиться - хотя-бы выбирать нормальное название проекта, более-менее описывающее его функциональность? Видите, программирование надо начинать с БАЗОВЫХ вещей. Я понимаю что вы только что разучили кучу заклинаний, уверены что умный компилер вас от всего спасет, так что весь мир у ваших ног. Но есть нюансы... :)

Вон там в гугле тоже мир захватывали фуксией. За много лет захватили - полторы фоторамки. А вы даже и не гугл, у вас ресурсов еще меньше. Что там будет у ваших ног? Пара окурков? Это конечно тоже часть мира, но закватывать такое...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

135. Сообщение от Аноним (-), 13-Май-25, 17:36   –1 +/
> Гнусный п...ж, я себе именно  так и сделал, завел struct с указателем на строку и .len - и вот оно.

Т.е написал очередной кривой велосипед.
А нормально оно должно быть сразу в std. Ну если говорить о нормальных языках, а не о "недоязыке ассемблере переростке".

>  Но увы - это приносит часть "паскалепроблем". В том смысле что отдать такое допустим системным вызовам и функциям либсы и проч - несколько сложнее.

Если бы либсы писалась с такой же парадигмой и там были стандартные (описанные в стандарте строки) - то проблем бы не возникло.

> Но к сожалению этот маневр не бесплатен и начинает попахивать занудством типа паскаля или хруста.

Занудством?
Лучше быть занудой чем бракоделом))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132 Ответы: #176

136. Сообщение от Аноним (-), 13-Май-25, 17:42   +/
>> screen умеет открывать COM порт, а tmux попсовый нет,
> ух, вот целый день сижу и компорты открываю)

Для одноплатников - актуально. Сериальные шнурки так то довольно актуальная штука (низкоуровневый, простой интерфейс, всего 3 провода на минималках, пишет даже ранний дебаг с факапами ядра). Конечно про RS232 все забыли, но 3.3V версия идеи - живет себе, как и usb-to-uart шнурки, имя которым легион. У любого кто эмбедовкой занимается этого добра целый пучок есть как правило. Иначе как вы вообще узнаете на чем заткнулся старт системы на вон том одноплатнике? :)

> Москвич-408 можно было заправлять бензом с ослиной моchой, но почему-то очереди из
> желающих окунуться в прдолинг с устаревшей техникой как-то не наблюдается.

Кто вам сказал что сериальные шнурки устарели? Это старые песни на новый лад. Более того - ряд девайсов типа сотовых модемов вывешивают "виртуальный uart". Это конечно абстракция, но в силу поддержки ее кучей софта она как раз удобна тем что новый софт специально для - писать не надо.

> Ты бы еще поныл, что в городе лошадь припарковать негде и овес
> не продают на каждом шагу.

Внезапно кроме com портов - у всех MCU и SoC есть uart для отладки или - вот - развешивания там управляющей консоли. Доступ к uart пруфает что у меня "физический доступ к оборудованию" поэтому там можно - тадам - управлюящую консоль развесить.  И туда же валить допустим лог загрузки. Чтобы в случае чего видеть - а на чем это встряло.

Это все - актуально, производится миллионами, юзается толпой народа и проч. Но вы можете показать вон тем нерюхам как это все делать правильно, конечно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #118 Ответы: #145, #166

137. Сообщение от Аноним (-), 13-Май-25, 17:45   +/
> Дак ведь SIGABRT тоже на сишке написан (в ядре), что не нравится то?

И примерно настолько же контролируемый - как и panic() хруста по смыслу :). Т.е. если прогер хотел - может перехватить и обработать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #158

138. Сообщение от Википедист (?), 13-Май-25, 17:46   +/
Прочитал Википедию за вас:

The computer scientist Eugenio Moggi was the first to explicitly link the monad of category theory to functional programming, in a conference paper in 1989, followed by a more refined journal submission in 1991. In earlier work, several computer scientists had advanced using category theory to provide semantics for the lambda calculus. Moggi's key insight was that a real-world program is not just a function from values to other values, but rather a transformation that forms computations on those values. When formalized in category-theoretic terms, this leads to the conclusion that monads are the structure to represent these computations

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114

139. Сообщение от Аноним (-), 13-Май-25, 17:48   +/
> Error writing logfile: Bad file descriptor
> Ну и: Screen version 4.09.01 (GNU) 20-Aug-23

Хм... запустить эксплойт даже не прочитав его описание и тем более сорцы? А вы жжоте! Продолжайте дальше в том же духе, и вас будет ждать немало интересных сюрпризов :). Никогда не слышали про эксплойт от Ac1d B1tch3z или как их там правильно? Он довольно плоско прикалывался над теми кто любит - вот такое вот.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101 Ответы: #149

140. Сообщение от Аноним (-), 13-Май-25, 17:49   +/
> ... setuid на бинарник для мультиплексинга экранов? А чё на tee сразу
> setuid не впихнуть?

Ну так в соответствии с новомодными веяниями, TEE = trusted execution environment :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112

141. Сообщение от Аноним (-), 13-Май-25, 17:50   –1 +/
> Им спасибо, а мы продолжим юзать tmux в роли терминал-мультиплексора

Он довольно убогий и не умеет сериальные шнурки...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #44 Ответы: #148, #171, #228

142. Сообщение от Аноним (-), 13-Май-25, 17:52   +1 +/
>> миру нужно новое ядро.
> МИРУ НУЖНО НОВОЕ ЯДРО.

Как показала проверка гуглей и фуксией - не то чтобы вы соврали, просто не сказали всей правды.

> МИРУ НАФИГНУЖНО НОВОЕ ЯДРО.

Я дополнил недостающий кусок фразы, не благодарите :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

143. Сообщение от Аноним (-), 13-Май-25, 17:55   +/
> Написать заново, с нуля, можно мс-дос или миникс, с соответствющим функционалом. У
> миникса, например, первая файловая система могла быть размером до 64 Мб.
> Сами понимаете, насколько пригодной получится такая система. Всё остальное требует огромных
> затрат по времени, в течении которых нужно будет чем-то пользоваться

Донкихотских проектов - уже было и есть. Вон redox os, а вон fuchsia. При том за второе гугло вписалось вообще. Но это ему не помогло, гора родила мышь, несмотря на сказ как они ща размахнутся с супер-языками и всем покажут, захватив мир. Через цать лет - захватили 2 фоторамки. В этом месте менеджмент начал о чем-то догадываться и децимировал тиму...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #131

144. Сообщение от Аноним (144), 13-Май-25, 17:58   +1 +/
Это правда, писать плохой код можно на любом языке. Так что пока компилятор не начнёт бить кодеров линейкой по пальцам, хороший код не появится.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #133 Ответы: #177

145. Сообщение от Аноним (144), 13-Май-25, 18:09   +/
Чтобы посмотреть «на чем заткнулся старт системы на вон том одноплатнике» сабж не нужен. На любой платформе есть масса способов это сделать. Но «толпа народа» заучила заклинание со Stack Overflow, в котором используется screen.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #136 Ответы: #179

147. Сообщение от Аноним (144), 13-Май-25, 18:15   +/
> А лучше вовсе не падать.

Сказки на другом этаже. Когда изобретут неломающееся оборудование, тогда и обсудим как лучше не падать. До тех пор можно считать, что внезапный сбой в самый неподходящий момент — часть естественного поведения любой системы и проектировать соответствующим образом.

> Не использовать без обоснования ретро функции, и нет проблемы.
> без обоснования

То есть не договорились.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #122

148. Сообщение от Аноним (144), 13-Май-25, 18:28   +/
> не умеет сериальные шнурки

Подавляющему большинству 1% это совершенно не надо и никогда в жизни не понадобится. Какие-то общеприменимые минусы есть?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #141

149. Сообщение от Аноним (144), 13-Май-25, 18:37   +1 +/
Про виртуальные машины слышал?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #139

150. Сообщение от _ (??), 13-Май-25, 19:50   +/
На этом софта даже больше сделано чем на расте ;-)))))

Но да признаю, pandoc - мне зашёл, юзаю :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98

151. Сообщение от Нуину (?), 13-Май-25, 19:52   +/
Впервый раз услышал. Кого не спрошу все либо на tmux, либо на screen.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #191

152. Сообщение от Нуину (?), 13-Май-25, 19:53   +/
> Для дешёвых разрабов нужен низкой порог входа и превышение предложения над спросом. В расте ни того ни другого не наблюдается.

Ну я имел ввиду низкий относительно с++.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

153. Сообщение от _ (??), 13-Май-25, 19:54   +1 +/
> Просьба уточнить использование термина "монады":

Да чего тут понимать то?
Пока 20-ти летки всё начинают переписывать на Rust-e ...
30-ти летки начинают переписывать всё на Haskell-e ...

Можно ставки принимать "кто придёт вторым, а кто предпоследним"(С)
;-)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #114

154. Сообщение от Нуину (?), 13-Май-25, 19:55   +/
> На самом деле, если Торвальдс молодёжи не наберёт, то Линукс тихонечко умрёт, да и многие другие важные свободные проекты тоже.

Так и будет. Ядро попилят просто. К тому же GPL как кость в горле для корпов. Плюс всему этому будет способствовать тренд на деглобализацию и закрытие технологий (чтобы не сперли).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71

155. Сообщение от _ (??), 13-Май-25, 19:56   +/
О рили?
А чего ж с Cobol не переписали и не выкинули?
А ну да ... у вас же лапки ...
:)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #128 Ответы: #181, #196, #201

156. Сообщение от _ (??), 13-Май-25, 20:03   +1 +/
Ты просто не знаешь как CPU строки обрабатывает...
А значит тебе непонятно. Вот ты и злишься. Уже признал тупыми всех, хотя единственный тупой - это ты сам :)

Не надо тебе в Си.
Тебе даже в Питон - не надо.
Дайте ему Logo какой нить :)))))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #116 Ответы: #160

157. Сообщение от _ (??), 13-Май-25, 20:14   +1 +/
> screen умеет открывать COM порт, а tmux попсовый нет, вот и думай что тру, а что kал

"COM порт" - охренеть ... я такого на лаптопчегах уже с десятилетие не видел :)
Да и в серверах - только если карту воткнёшь ...

И почему поддержка этого - важна?

А если это важно, то почему я не могу поставить какой нить тоненький tio и перекрыть вообще всё, что можно с последовательным портом делать?

По секрету: он вообще "was originally created as an alternative to screen for connecting to serial devices when used in combination with tmux."

Дарю, оно вещЪ! :)
Ну мне по-крайней мере хватило чуть более чем полностью :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108 Ответы: #182

158. Сообщение от Аноним (-), 13-Май-25, 20:15   +/
Сишник, проснись! Что ты собираешься обрабатывать, когда у тебя память испорчена? Это в Расте панику можно перехватить и продолжить работу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137 Ответы: #183

159. Сообщение от _ (??), 13-Май-25, 20:17   +1 +/
> Никто не мешает написать в строки, которые хранят в себе длину и убрать все эти ошибки на корню.

Pascal уже есть ;-)
Он Сям - ровесник. И что - помогло? :)

Не упрощайте, нет в практическом программировании ничего простого. Увы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #165

160. Сообщение от Аноним (160), 13-Май-25, 20:44   +/
CPU никак строки не обрабатывает, нет у него для этого команд.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #156 Ответы: #172

162. Сообщение от Аноним (5), 13-Май-25, 20:59   +/
> Идея паники понятна, но аноним попался на незнании ОС ни Сижки: sukabrt
> это тебе он сегфоулт, он швыряется тоже по пурпоузу, как и
> эксепшен этот ваш панический. Если словил аборт это как раз самое
> контролируемое что ни на есть

Я не очень понял, на чем ты попался (особенно, приплетя что-то про ОС) и совсем не понял, что тебе помешало посмотреть для начала в оригинал - там для таких вот Знатоков разжеванно:
>  The visible error only occurs when Screen is compiled with the _FORTIFY_SOURCE feature enabled. Otherwise no errors are seen, not even when compiling with -fsanitize=address, likely because after the end of the target buffer another long buffer char message[MAXPATHLEN * 2] follows (thus only application payload data is overwritten).
>

Что делает _FORTIFY_SOURCE, Знаток надеюсь, сможет выяснить самостоятельно ...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #186

163. Сообщение от Аноним (5), 13-Май-25, 21:04   +/
> SIGABRT это тоже контролируемое, по вызову abort(). Настоящие сишники любят SIGSEGV.

SIGABRT там - потому что скомпилировали с _FORTIFY_SOURCE (т.е. с доп. проверками strncpy).
Так-то будет не менее любимое "программа работает без ошибок, просто начинает делать какую-то фигню":
> Otherwise no errors are seen, not even when compiling with -fsanitize=address, likely because after the end of the target buffer another long buffer char message[MAXPATHLEN * 2] follows (thus only application payload data is overwritten).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #120 Ответы: #187

164. Сообщение от Аноним (93), 13-Май-25, 21:16   +/
ага, волки и овцы - мир
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115

165. Сообщение от Нуину (?), 13-Май-25, 21:26   +/
>> Никто не мешает написать в строки, которые хранят в себе длину и убрать все эти ошибки на корню.
> Pascal уже есть ;-)
> Он Сям - ровесник. И что - помогло? :)

Помогло, выше уже скидывал ссылку https://www.adacore.com/uploads/books/pdf/Safe_And_Secure-Ru...

К тому же в любом современном яп есть динамически расширяемые массивы и строки.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #159 Ответы: #178

166. Сообщение от Аноним (166), 13-Май-25, 21:28   +/
Для уартов есть picocom, зачем эта функциональность в screen?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #136 Ответы: #180

167. Сообщение от senaemail (ok), 13-Май-25, 21:37   +/
>>А если не успеет, то молодёжи гораздо проще и быстрее будет написать новое ядро заново с нуля
> Написать заново, с нуля, можно мс-дос или миникс, с соответствющим функционалом.

А это как раз то, что нам и нужно. Микро- или нано-ядро с соответствующим функционалом.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #131 Ответы: #197

168. Сообщение от _ (??), 13-Май-25, 21:44   –1 +/
Ты вначале на человека сертифицируйся ....
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81

170. Сообщение от Аноним (2), 13-Май-25, 22:17   +/
Подозреваю чтоб логировать логины в wtmp/utmp
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #205

171. Сообщение от Аноним (2), 13-Май-25, 22:25   +/
Для работы с com-портами в любой UNIX-системе есть специальные программы, которые можно запускать в tmux.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #141 Ответы: #188

172. Сообщение от Аноним (-), 13-Май-25, 22:25   +/
> CPU никак строки не обрабатывает, нет у него для этого команд.

А это что?

"SSE4.2 added STTNI (String and Text New Instructions), several new instructions that perform character searches and comparison on two operands of 16 bytes at a time."

Вместо того чтобы исправить дефекты языка, эти д-бы добавляют инструкции для ускорения strlen.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #160 Ответы: #194

173. Сообщение от Аноним (2), 13-Май-25, 22:25   +/
Для работы с com-портами в любой UNIX-системе есть специальные программы, которые можно запускать в tmux.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108

174. Сообщение от Нуину (?), 13-Май-25, 22:26   +/
> Таки есть. Zellij например. Или  wezterm.

А кто ими реально пользуется в работе? Еще раз почти все примеры из жизни - это tmux или screen.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91

175. Сообщение от Нуину (?), 13-Май-25, 22:28   +2 +/
> Но откуда хейтерочку об этом знать.
> хейтерочку
> чем как сяшечники звучно оподливившись в шаровары.

А эта фраза растовщичка нечто другое? Тут хейта никакого нет? Или это другое?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91 Ответы: #192

176. Сообщение от Аноним (-), 13-Май-25, 22:41   +/
> Т.е написал очередной кривой велосипед.

В каком-то роде - да. Но си прекрасен тем что как раз нет переотожраных дефолтных либ превращающих что угодно в "очередную жабу" когда надо качать 100 метров рантайма на люой пшик, а то и дотнет с 4+ гигз ассемблей, узурпирующий комп на полдня для апдейтов.

И при этом - позволяет довольно неплохо себя расширять. И нет вот этого деления на богов и смертных. Системщики все - вхожи на пантеон. By design. Иначе это - вообще подделки и пародии, а не...

> А нормально оно должно быть сразу в std. Ну если говорить о
> нормальных языках, а не о "недоязыке ассемблере переростке".

А еще камлать на богов, признав себя вторым сортом - и они начнут гнобить вон тех, с разделением на 1 и 2 сорт. Ну такое себе в целом. И не то чтобы незаслуженно - ибо большая часть тех, с "нормальными языками" на поверку фундаментальные вещи типа алгоритмики потом как раз и не может - от слова вообще. Деградировав до генераторов третьесортного glue code по сути.

> Если бы либсы писалась с такой же парадигмой и там были стандартные
> (описанные в стандарте строки) - то проблем бы не возникло.

Ух, да, теперь еще объясните плиз операционкам написанным 30 лет назал что им надо все сисколы переделать. Убив совместимость с старым софтом в ноль. Иначе эта трансляция никуда не денется, как максимум ее заметут под ковер но это будет новый источник грабель. Хрустики уже даже проверили, получив неск CVE на стдлибу (лол). Да и жабы с дотнетами - тоже.

> Занудством?
> Лучше быть занудой чем бракоделом))

Спорный вопрос. Мир принадлежит бракоделам, а зануды осчастливили нас лишь бесполезными концептами, которые никому даром не упали.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #135 Ответы: #189, #207

177. Сообщение от Аноним (-), 13-Май-25, 22:45   –1 +/
> Это правда, писать плохой код можно на любом языке. Так что пока
> компилятор не начнёт бить кодеров линейкой по пальцам, хороший код не
> появится.

Как вы себе представляете компилятор знающий вместо програмера как валидировать входные данные в конкретно вот этой вот задаче? Это по моему надо AI c интеллектом superhuman, и даже так - он тренирован на глючном материале созданном людьми, поэтому и тут без гарантий :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #144 Ответы: #190

178. Сообщение от Аноним (-), 13-Май-25, 22:48   +/
>> Pascal уже есть ;-)
>> Он Сям - ровесник. И что - помогло? :)
> Помогло, выше уже скидывал ссылку https://www.adacore.com/uploads/books/pdf/Safe_And_Secure-Ru...

Если это про язык Ада, то програмеры на нем - угробили Arian V. Заскорив самый дорогой баг в истории человечества, на минуточку.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #165 Ответы: #216, #217

179. Сообщение от Аноним (-), 13-Май-25, 22:53   +/
> Чтобы посмотреть «на чем заткнулся старт системы на вон том одноплатнике» сабж
> не нужен.

В принципе - да, но в целом бывает удобно его прицепить, раз уж он это может. Потому что потом через тот же шнурок и порулить можно. Актуально при начальной сборке и тестировании образов, девелопе чего-то под такой таргет и проч.

> На любой платформе есть масса способов это сделать. Но
> «толпа народа» заучила заклинание со Stack Overflow, в котором используется
> screen.

В принцтпе можно подниматься на 10-й этаж в стиле человека-паука, на присосках. Но это не очень быстро, не очень просто и не очень безопасно. Поэтому большинство двуногих предпочтет неспортивный, зато простой, общедоступный и понятный им лифт. А могли бы и по вертикальной стене залезть ко всеобщему афигу.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #145

180. Сообщение от Аноним (-), 13-Май-25, 22:54   +/
> Для уартов есть picocom, зачем эта функциональность в screen?

На случай если этой штукой захочется порулить более плотно и более продолжительное время?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #166 Ответы: #184

181. Сообщение от Аноним (144), 13-Май-25, 23:03   +/
Не поломался, вот и не переписали. Лапки тут не при чём, тем более что в том коде никаких откровений не написано, всё довольно примитивно, а сложности с переписыванием не в том, чтобы примитив понять, а том что диды как обычно ни документации, ни тестов написать не удосужились, культура разработки в те времена была та ещё, лишь некоторые догадывались о её существовании, а уж про то, что она важнее языка на котором код написан так и вовсе только лет десять-пятнадцать как начало до масс доходить.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #155

182. Сообщение от RHEL fan (?), 13-Май-25, 23:11   +/
В сетевом оборудовании зато их дофига еще
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #157

183. Сообщение от Аноним (183), 13-Май-25, 23:19   –1 +/
> Сишник, проснись! Что ты собираешься обрабатывать, когда у тебя память испорчена? Это
> в Расте панику можно перехватить и продолжить работу.

SIGSEGV/SIGABRT тоже можно - перехватить. И как вы собираетесь работу продолжать при panic()? Насколько я вижу - в ядре линух сумрачные гении родили новую семантику try_* с ... практически сишной семантикой "а что если память не выделилась?!". Вот как раз чтобы нормально реагировать на случаи "а что если нет?!". И вот блин за что боролись, если сделали - ТО ЖЕ САМОЕ?!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #158

184. Сообщение от Аноним (166), 13-Май-25, 23:20   +1 +/
Запускаешь tmux, в нем запускаешь picocom, дальше как обычно. Заскриптовать если нужно часто, хоть на баше.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #180 Ответы: #220

186. Сообщение от Аноним (-), 13-Май-25, 23:35   +/
>>  The visible error only occurs when Screen is compiled with the _FORTIFY_SOURCE feature enabled.

А в 2025 году остался кто-то у кого ЭТО вообще отключено при сборке софта?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #162

187. Сообщение от Аноним (-), 13-Май-25, 23:36   +/
> SIGABRT там - потому что скомпилировали с _FORTIFY_SOURCE (т.е. с доп. проверками
> strncpy).

Сейчас это тупо дефолтные флаги в всех нормальных дистро.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #163

188. Сообщение от Аноним (-), 13-Май-25, 23:39   +/
> Для работы с com-портами в любой UNIX-системе есть специальные программы, которые можно
> запускать в tmux.

Можно, но запускать 2 программы вместо одной - канительнее, и есть риск пересечения шорткатов. С хрен бы его знает каким результатом потом.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #171 Ответы: #202

189. Сообщение от Аноним (189), 13-Май-25, 23:46   –1 +/
>Но си прекрасен тем что как раз нет переотожраных дефолтных либ превращающих что угодно в "очередную жабу" когда надо качать 100 метров рантайма на люой пшик, а то и дотнет с 4+ гигз ассемблей

Это проблема только для первой программы на дотнете или жабе. Вторая программа будет весить по размеру jar файла, так как рантайм уже установлен. А раз разговор про сишников, то они могли бы и so библиотеку собрать, не облезли бы.
>И при этом - позволяет довольно неплохо себя расширять

Расширять си невозоможно. По причине того, что каждое такое расширение будет локальным только для текущего приложения:
>Но увы - это приносит часть "паскалепроблем". В том смысле что отдать такое допустим системным вызовам и функциям либсы и проч - несколько сложнее.

Как сказал один умный человек
>Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp

А всё почему? Вместо того, чтобы написать один раз, но хорошо те же строки, парсер xml или какой-то другой функционал, сишники раз за разом пишут одно и то же с нуля. Каждый раз с похожими багами.
>И нет вот этого деления на богов и смертных.

Вы лучше покажите, где это деление есть. В том же Ocaml, у вас из коробки идёт только относительно бедная стандартная библиотека. Хотите стандартную библиотеку с батарейками - она написана отдельно. Хотите поддержку json? Она идёт отдельно. Хотите многопоточность? Она тоже отдельно. Хотите сетевую библиотеку? Она, как вы уже могли догадаться, тоже идёт отдельно. Библиотека для работы с терминалом? Опять отдельно. Так что, если вас по каким-то причинам не устраивает реализация для работы с чем-то, то вы просто берёте и заменяете её на что-то другое.
>Системщики все - вхожи на пантеон

Ровно до тех пор, пока функционал может быть написан в одиночку. Здесь несколько человек публиковали ссылки на свои проекты, я там смотрел только на реализацию xml парсера. Ошибки там были детского уровня, но на каждую такую ошибку мне говорили, что они и не собирались писать правильно. Они даже не пытались возразить, что их реализация корректна.
>бо большая часть тех, с "нормальными языками" на поверку фундаментальные вещи типа алгоритмики потом как раз и не может - от слова вообще

Я не могу согласится с вашими словами, поскольку это требует признания, что сишники умеют в алгоритмы. К сожалению, я не помню какой был второй проект, запомнил только первый https://github.com/ProfessorNavigator/mylibrary/blob/30daf3a...
Человеку сказали, что так писать нельзя, сказли даже, что это вредит производительности. Прошло несколько версий, человек этот момент до сих пор не исправил. Во втором проекте, который я видел, была точно такая же ошибка. Это ошибка настоящего сишника, который знает алгоритмы достаточно, чтобы хвастаться, но недостаточно, чтобы писать нормальный код
>Ух, да, теперь еще объясните плиз операционкам написанным 30 лет назал что им надо все сисколы переделать

Зачем? Ocaml, rust, go, вполне себе успешно скрывают от программистов устройство системных вызовов. Если они справились, то сишники тоже смогли бы это сделать
>Иначе эта трансляция никуда не денется

А зачем вам её куда-то девать?
>как максимум ее заметут под ковер но это будет новый источник грабель

Сейчас программы сишников могут упасть в любой строке, а после этого падать будут только при системных вызовах. Пока не научатся лечить рак, лечить ни бронхиты, ни переломы нельзя
>Мир принадлежит бракоделам, а зануды осчастливили нас лишь бесполезными концептами

Удивительно, но всё меньше проектов начинают писать на си. И если раньше конкурентом си был паскаль, то сейчас те самые безопасные языки от зануд

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #176 Ответы: #203, #219

190. Сообщение от Аноним (189), 13-Май-25, 23:52   –1 +/
Вот действительно, как. Проблемыне места си уже давным давно изучены, систематезированы, и проанализированны, уже реализована целая куча инструментов, а сишники до сих пор живут как в 1970, когда си ещё считался хорошей идей. Вы для начала решите насущьные проблемы, а потом переживайте о редких и далёких
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #177

191. Сообщение от Аноним (189), 13-Май-25, 23:53   –1 +/
А вы в блокнотик себе запишите, чтобы в следуюещем месте сказать "второй раз об этом слышу".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #151

192. Сообщение от Аноним (189), 14-Май-25, 00:02   –2 +/
>А эта фраза растовщичка нечто другое?

Я хоть и не пишу на расте, и вообще считаю, что лучше бы вместо раста был бы ATS, но упорство, с которым сишники отрицают проблемы - удивительно. Казалось бы, в начале нулевых, когда языки с без сборщика мусора и безопасной работой с памятью только проектировались, надменность сишников "просто нужно быть внимательным" ещё могла быть объяснена. Но в 2025 году, когда rust форсится из каждого утюга, а куча других языков типа Cyclone или ATS пусть и не покорили мир, но известны более чем своим авторам, а общедоступной теории достаточно, чтобы школьник с достаточным количеством свободного времени создал свой безопасный язык, приправив это линейными и зависимыми типами, сишники до сих пор продолжают делать вид, что всё хорошо. Не удивлюсь, если и через тридцать лет, сишники будут и дальше продолжать свою мантру "просто нужно быть внимательными", хотя существующий софт уже давным давно можно будет к тому времени переписать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #175 Ответы: #198

193. Сообщение от RHEL fan (?), 14-Май-25, 00:04   +/
Там ещё и конфиг нужен?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

194. Сообщение от Аноним (189), 14-Май-25, 00:08   +/
>Вместо того чтобы исправить дефекты языка, эти д-бы добавляют инструкции для ускорения strlen.

Однажды я узнал один ужасающий истина.

Для того, чтобы пользоваться интернетом, нужна куча науки, начиная от физики всяких квантовых эффектов для создания полупроводников, до банальной термодинамики, для работы электростанций, кучи шахт для добычи полезных ископаемых, миллиона человекочасов программистов.

Для того, чтобы победить наркотрафик, наркоманам нужно всего лишь перестать потреблять. Не нужно строить шахты. Не нужно проводить линии электропередач. Не нужно строить переодическую систему элементов. Не нужно писать код. Не нужно проектировать станки.

Одно сделать могут, поскольку это тривиально, а другое нет, поскольку это сложно. Это слишком сложно сделать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #172

196. Сообщение от Аноним (189), 14-Май-25, 00:24   +/
Есть задачи сложные технически, например, производство айфона, и есть задачи сложные финансово, например, его покупка. Вы же не станете утверждать, что айфон произвести нельзя, лишь потому, что у нищих людей айфона нет?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #155

197. Сообщение от Аноним (189), 14-Май-25, 00:52   +/
Написать само по себе микроядро не сложно. Проблема в том, что кроме микроядра нужен драйвер для файловой системы, видеокарты и так далее. Вы посмотрите на фичи btrfs или zfs. И вот здесь уже не получится написать миро-файловую систему, просто потому, что код файловой системы не масштабируется. Посмотрите на те же namespace и cgroups. И все эти фичи нужны одновременно, хоть в микроядеронй, хоть в монолитной
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #167

198. Сообщение от Нуину (?), 14-Май-25, 02:38   +1 +/
>>А эта фраза растовщичка нечто другое?
> когда rust форсится из каждого утюга

Вот именно. Форсится. Оказывается без unsafe ничего не написать. И нужно быть внимательными, таки да.

> казалось бы, в начале нулевых, когда языки с без сборщика мусора и безопасной работой с памятью только проектировались,

modula, oberon и ada были гораздо раньше.

> будут и дальше продолжать свою мантру "просто нужно быть внимательными",

В любом нетривиальном коде нужно быть внимательным, вообще без разницы на чем он написан, хоть на питоне. Потому что помимио ошибок с памятью, от логических тебе раст вообще никак не поможет.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #192 Ответы: #206

199. Сообщение от Аноним (199), 14-Май-25, 02:54   –1 +/
Tmux и screen - это как вим и нано. Вторыми пользуются неофиты и убунтята.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64 Ответы: #208

200. Сообщение от Аноним (-), 14-Май-25, 05:40   +/
У языка Си нет ограничений. Поэтому программист языка Си должен быть дисциплинированным. А у Раста ограничителем является компилятор, поэтому растаман может себя ничем не ограничивать.

Вы путаете.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #117 Ответы: #227

201. Сообщение от User (??), 14-Май-25, 07:07   +/
> О рили?
> А чего ж с Cobol не переписали и не выкинули?
> А ну да ... у вас же лапки ...
> :)

Так и переписали и выкинули в точности вот описанным вот образом. В реальности этот работающий пока кот закопан так глубоко, что в пору проктолога звать...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #155

202. Сообщение от Аноним (160), 14-Май-25, 08:26   +/
> запускать 2 программы вместо одной - канительнее

Э-э, а юниксвей как же?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #188 Ответы: #221

203. Сообщение от Совершенно другой аноним (?), 14-Май-25, 09:22   +/
> К сожалению, я не помню какой был второй проект, запомнил только первый https://github.com/ProfessorNavigator/mylibrary/blob/30daf3a...

А где Вы там увидели C? там как-раз С++, с std::string и std::vector<>

Для С уже тоже строки предлагают стандартизировать (n3210) и даже наворачивают что-то ещё более монструозное (n3306), как по мне. Хотя, опять-же, как по мне, лучше-бы что-то из fmemopen(), open_memstream() и open_wmemstream() стандартизировали. Ну или в крайнем случае что-то типа glib-овское..

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #189 Ответы: #204

204. Сообщение от Аноним (189), 14-Май-25, 11:29   +/
>А где Вы там увидели C?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #203

205. Сообщение от пох. (?), 14-Май-25, 11:38   +/
нет.

экспертиза...мда

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #170

206. Сообщение от Аноним (189), 14-Май-25, 11:48   –2 +/
>Оказывается без unsafe ничего не написать

Пока не будет лечения от рака, все больницы закрыть, врачей разогнать
>И нужно быть внимательными

Давайте, повторите вот это сишное безумие на расте: fork() может потерпеть неудачу: это важно https://habr.com/ru/articles/522208/. Таких примеров куча, и вы и 90% повторить не сможете
>modula, oberon и ada были гораздо раньше.

А кто они такие, что на них нужно обращать внимание? Я немного почитал про них, вот лишь один перл
>А теперь ещё немного Виртовского безумия https://ru.wikipedia.org/wiki/%D0%9E%D0%...)
>Оберон
>>Упрощение синтаксиса
>>Чтобы добиться наибольшей надёжности и производительности трансляции, было предпринято значительное упрощение языка за счёт его отказа от средств, которые были сочтены ненужными
>>[...], оператор for, [...]
>Но потом, Вирт понял, что что-то не то
>>Оберон-2
>>в язык возвращён оператор цикла с шагом FOR;
>>Oberon-07
>>добавлен оператор цикла FOR;

Вот мне интересно, как удаление, а потом возращение цикла for повышает безопасность? И зачем for потребовалось возвращать аж дважды, он что его ещё раз удалил?
>В любом нетривиальном коде нужно быть внимательным, вообще без разницы на чем он написан, хоть на питоне

В том то и дело, что нет. Этот миф неверен ещё до появления питона. Поскольку в хороших языках вам будет активно помогать компилятор. В плохих языках у вас будут проблемы от любой библиотеки.
>Потому что помимио ошибок с памятью, от логических тебе раст вообще никак не поможет.

В примере с fork-ом раст отлично помогает. Если вам не хватает раста, то берите хаскель, идрис и ATS. Я против раста, поскольку в нём нет зависимых типов, нужно что-то вроде ATS. Но, я не системный программист, по этому для меня это не в приоритете. Уж лучше будет раст, чем си и кресты.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #198 Ответы: #212, #214

207. Сообщение от Аноним (-), 14-Май-25, 12:22   –1 +/
>> Т.е написал очередной кривой велосипед.
> В каком-то роде - да.

Ну хоть в чем-то мы сошлись во мнении)

> Но си прекрасен тем что как раз нет переотожраных дефолтных либ превращающих что угодно в "очередную жабу" когда надо качать 100 метров ....

О бог-машина! Целый 100 мегабайт!!1
Тут выбор прост - или тыщу раз проверенные системные функции или очередной велосипед порождающий очередную CVE/RCE.

>> А нормально оно должно быть сразу в std. Ну если говорить о нормальных языках, а не о "недоязыке ассемблере переростке".
> А еще камлать на богов, признав себя вторым сортом - и они начнут гнобить вон тех, с разделением на 1 и 2 сорт.

Боги это кто? Те кто не смогли 2 числа без UB сложить?
Где енумы это "всё инт" в итоге в коде сравниваются апельсины с крокодилами?

Не про них ли создатель ЯП писал "The fundamental problem is that it is not possible to write real programs using the X3J11 definition of C. The committee has created an unreal language that no one can or will actually use."

> большая часть тех, с "нормальными языками" на поверку фундаментальные вещи типа алгоритмики потом как раз и не может - от слова вообще.

Эээ? Неужели на каком-то питон нельзя написать разложение фурье или какие-то элиптические кривые? Студенты в университете реализуют Диффи—Хеллмана на лабораторках.

> Деградировав до генераторов третьесортного glue code по сути.

Другой вопрос - зачем писать одно и тоже кучу раз?

> Ух, да, теперь еще объясните плиз операционкам написанным 30 лет назал что им надо все сисколы переделать.

Прикинь да. Выкидывается старое, пишется новое.

> Убив совместимость с старым софтом в ноль.

Если софт нужный - перепишут.
Если нет - значит был не нужный.
Луддиты будут вопить что им срочно нужно самое последнее ядро и новейший софт на железе 30 летней давности. Но слушать их - просто преступление перед прогрессом.

> Спорный вопрос. Мир принадлежит бракоделам, а зануды осчастливили нас лишь бесполезными концептами, которые никому даром не упали.

Вранье) Без зануд и их концепций мы бы до сих пор ездили бы на телегах.
Построить современную технику без кучи правил.
Посмотри сколько требований для automotive или авиа.
Да, есть те кто нарушает, зато потом отгребают.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #176

208. Сообщение от Аноним (208), 14-Май-25, 12:37   +/
Неверно, совершенно разные весовые категории. Tmux и screen - это как Vim и Emacs.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #199

209. Сообщение от Аноним (19), 14-Май-25, 13:13   +/
All generalizations are false.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

210. Сообщение от аноним ололоев (?), 14-Май-25, 13:15   +/
>>Ипаразитным словом теперь является

Error 1:  ‘Ипаразитным’ was not declared in this scope

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #99

212. Сообщение от Совершенно другой аноним (?), 14-Май-25, 14:05   +/
> Давайте, повторите вот это сишное безумие на расте: fork() может потерпеть неудачу:
> это важно https://habr.com/ru/articles/522208/. Таких примеров куча, и вы и 90%
> повторить не сможете

По статье мне стало понятно только то, что автор статьи не читает документацию, что очень печально. Он так-же не будет читать и растовскую документацию, а потом удивляться всякому.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #206 Ответы: #225

214. Сообщение от Нуину (?), 14-Май-25, 16:20   +/
>>Оказывается без unsafe ничего не написать
> Поскольку в хороших языках вам будет активно помогать компилятор.

Как в логических ошибках будет помогать компилятор того же раста? Пример в студию.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #206 Ответы: #226

215. Сообщение от Аноним (208), 14-Май-25, 16:30   +/
capabilities(7)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63

216. Сообщение от Нуину (?), 14-Май-25, 19:32   +/
>>> Pascal уже есть ;-)
>>> Он Сям - ровесник. И что - помогло? :)
>> Помогло, выше уже скидывал ссылку https://www.adacore.com/uploads/books/pdf/Safe_And_Secure-Ru...
> Если это про язык Ада, то програмеры на нем - угробили Arian
> V.

А причем там Ада конкретно?

> Заскорив самый дорогой баг в истории человечества, на минуточку.

Суммарно на си баги дороже вышли все.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #178

217. Сообщение от Нуину (?), 14-Май-25, 19:36   +/
>>> Pascal уже есть ;-)
>>> Он Сям - ровесник. И что - помогло? :)
>> Помогло, выше уже скидывал ссылку https://www.adacore.com/uploads/books/pdf/Safe_And_Secure-Ru...
> Если это про язык Ада, то програмеры на нем - угробили Arian
> V. Заскорив самый дорогой баг в истории человечества, на минуточку.
> Запуски ракеты-носителя «Ариан-5»Первый испытательный полёт «Ариан-5» состоялся 4 июня 1996 года и был неудачным. Ракета-носитель была подорвана на 34-й секунде полёта по причине неисправности в управляющем программном обеспечении, которая считается самой дорогостоящей компьютерной ошибкой в истории. Конвертация данных из 64-разрядного числа с плавающей запятой в 16-разрядное привела к зависанию компьютера. Процедура на языке Ада, обрабатывающая эту исключительную ситуацию, была исключена из соображений сохранения производительности системы.

То есть программисты убрали ненужный код, который оказался нужным, и все сломалось? А виноват при этом яп? При этом все остальные 116 запусков в период 1996—2023 годы тоже были на этом яп?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #178

218. Сообщение от randomize (?), 14-Май-25, 20:47   +/
> Уязвимость вызвана тем, что при запуске с правами root

Невероятно! Программа, запущенная под root, может выполнить код с правами root!

Ответить | Правка | Наверх | Cообщить модератору

219. Сообщение от Аноним (-), 14-Май-25, 21:30   +/
> Это проблема только для первой программы на дотнете или жабе.

К счастью у меня таких программ - ноль, и я не имею тех проблем как категории :). И да, скачка 100500 гигазов рантайма - повод НЕ ставить такие программы при прочих равных.

> А раз разговор про сишников, то они могли бы и so
> библиотеку собрать, не облезли бы.

В принципе - могли бы. Но все равно есть нюансы. Часть из них - таки по линии совместимости и того что апя систем делали тоже без учета вон того.

> Расширять си невозоможно. По причине того, что каждое такое расширение будет локальным
> только для текущего приложения:

Ну вообще-то генерики или auto - расширили таки для всех. При помощи указателей на функции можно даже нечто типа методов делать. А всякими setjmp/longjmp можно и корутины запилить, внезапно.

И между прочим прикрутив вооон ту либу - там не то что сишка расширится, а HTTP сервак на полстранички текста влезет.

>> Любая достаточно сложная программа на Си или Фортране содержит заново
>> написанную, неспецифицированную, глючную и медленную реализацию половины
>> языка Common Lisp

Это, конечно же, проекция лиспера на тему "когда в руках молоток все вокруг кажется гвоздями".

> же строки, парсер xml или какой-то другой функционал, сишники раз за
> разом пишут одно и то же с нуля. Каждый раз с
> похожими багами.

Вообще-то написали, libxml например. Сюрприз!

> Вы лучше покажите, где это деление есть. В том же Ocaml, у
> вас из коробки идёт только относительно бедная стандартная библиотека.

Тот же Ocaml - просто всем похрен. Какая разница что там?

> Хотите стандартную библиотеку с батарейками - она написана отдельно.
> Хотите поддержку json? Она идёт отдельно. Хотите многопоточность? Она тоже отдельно.

И чем это отличается от си? Там тоже парсер жысона добавляется как apt install somelib-dev - и вот оно, парсер чего я там хотел. Который я, конечно, не буду писать сам в этом случае.

> не устраивает реализация для работы с чем-то, то вы просто берёте
> и заменяете её на что-то другое.

Не понимаю чем это от си отличается в результате? Кроме того что - сильно менее популярное и нишевое?

> Ровно до тех пор, пока функционал может быть написан в одиночку.

Совершенно ортогональные соображения. На пантеоне можно фигачить и в эн рук.

> Здесь несколько человек публиковали ссылки на свои проекты, я там смотрел только
> на реализацию xml парсера.

Если кто-то лезет писать свой парсер XML - он все же донкихот. Потому что это очень жирная и фичастая спека. И это тот случай когда лучше - готовую либу все же взять. Даже если вы и можете парсер написать.

> Ошибки там были детского уровня, но на
> каждую такую ошибку мне говорили, что они и не собирались писать
> правильно. Они даже не пытались возразить, что их реализация корректна.

Это наверное профессор навигатор был, тот еще "девелопер" софта.

> Я не могу согласится с вашими словами, поскольку это требует признания, что
> сишники умеют в алгоритмы.

А они таки - умеют, ибо большая часть скоростной алгоритмики на этом глобусе на сях и писана. И не надо мне профессором навигатором тыкать, он вообще - не разработчик софта как таковой, как следует из ника. И из него что програмер, что сишник - весьма условный, доморощенный и кривой.

> Это ошибка настоящего сишника, который знает алгоритмы достаточно, чтобы хвастаться, но
> недостаточно, чтобы писать нормальный код

Навигатор - вообще не разработчик софта как таковой. И прогармить он научился на уровне уроков информатики буквально. И в UI/UX настолько же шарит. Типичным сишником или чем либо еше он конечно не является. Такие вообще обычно на питоне пишут, если что.

> Зачем? Ocaml, rust, go, вполне себе успешно скрывают от программистов устройство системных
> вызовов. Если они справились, то сишники тоже смогли бы это сделать

У них не было требования держать совместимость с древним софтом - за отстутствием этого софта. И да, вы можете скрыть сисколы поставив вон те либы, например.

> Сейчас программы сишников могут упасть в любой строке, а после этого падать

Я бы и правда переделал работу с строками в си, но - дофига софта отвалится.

> будут только при системных вызовах.

От крутых багов соответственно не избавит. Это самый фиговый класс багов и хрустики уже проверили, словив CVE прямо на стдлиб.

>>Мир принадлежит бракоделам, а зануды осчастливили нас лишь бесполезными концептами
> Удивительно, но всё меньше проектов начинают писать на си.

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

> И если раньше конкурентом си был паскаль, то сейчас те самые безопасные языки от зануд

Какой-нибудь хруст занудный лишь местами и условно, пожалуй. Это и делает его достаточно забавным зверьком в всей палитре.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #189 Ответы: #224

220. Сообщение от Аноним (-), 14-Май-25, 21:32   +/
> Запускаешь tmux, в нем запускаешь picocom, дальше как обычно. Заскриптовать если нужно
> часто, хоть на баше.

Можно много чего. Но зачем напрягаться больше, если уже есть screen?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #184

221. Сообщение от Аноним (-), 14-Май-25, 21:43   +/
>> запускать 2 программы вместо одной - канительнее
> Э-э, а юниксвей как же?

Юниксвэй хорош там где он упрощает жизнь. И плох там где усложняет.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #202

222. Сообщение от Аноним (-), 14-Май-25, 21:44   +/
> Врети - в BSD tmux вместо скрина! А GNU пора закопать на
> свалке истории как что-то нелепое и в лучших традициях неудавшееся.

Вообще-то если вам не сказали, на свалке истории - BSD.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54

224. Сообщение от Аноним (189), 14-Май-25, 23:16   +/
>И да, скачка 100500 гигазов рантайма - повод НЕ ставить такие программы при прочих равных.

Это точно так же повод не ставить gtk и qt, а то что это они гигабайты кода ставят. Только вот и софта у вас почему-то почти не останется.
>При помощи указателей на функции можно даже нечто типа методов делать

Вам нужна сама возможность расширения, без учёта удобства использования? Даже гномеры ужаснулись тому что получилось, и по быстрому изобрели Vala. А вообще, подобное можно сделать на любом языке с функциями высшего уровня
>А всякими setjmp/longjmp можно и корутины запилить, внезапно

Внезапно, но для использования корутин нужно некоторое количество ограничений. Иначе у вас все корутины повиснут, когда любая зависимость сделает блокирующую операцию
>И между прочим прикрутив вооон ту либу - там не то что сишка расширится, а HTTP сервак на полстранички текста влезет.

Это уже явная подмена понятий. Библиотеки не расширяют язык. У абсолютно любого языка картина будет абсолютно аналогичная.
>Это, конечно же, проекция лиспера на тему "когда в руках молоток все вокруг кажется гвоздями".

Это объективный факт. Сишники любят велосипеды. Очень любят. Может быть плюсовики любят так же. Вот вам прекрасная статья:
Как переписать код на Rust - https://habr.com/ru/articles/511478/
Во-первых, там зачем-то реализуется хеш-таблица(зависимости не изобретены). Во-вторых
>Помните тот прошлый пример, где tvmi падал, получая три уровня глубины кода? Как приятный побочный эффект, после переноса кода на Rust вложенные уровни просто работают.

То есть вместо того, чтобы реализовывать бизнес логику, с произвольной глубиной, сишники сконцентрировались на алгоритмах, да так, что даже при не самом интенсивном использовании вылезла ошибка
>Вообще-то написали, libxml например. Сюрприз!

Расскажите это здешним кодерам. Я вам даже ссылку на один из проектов привёл. Второй увы забыл.
>И чем это отличается от си?

Вы же сами утверждали, что только в си нет разделение на настоящих программистов, и тех кто только склеивает готовый код. И тут сами же говорите, что это не так
>Там тоже парсер жысона добавляется как apt install somelib-dev

Непонятно какой версии, непонятно, есть ли нужный пакет в дистрибутиве, непонятно как он называется, непонятно, какой командой его ставить. Вам нужно объяснять, чем это плохо, или сами догадаетесь?
>Если кто-то лезет писать свой парсер XML - он все же донкихот

Если кто-то лезет писать свои строки/ооп на основе структур и указателей/корутины через jmp/хеш-таблицы - он всё же доникихот.
>А они таки - умеют, ибо большая часть скоростной алгоритмики на этом глобусе на сях и писана

О, а вот и стандартная отмазка "настоящий сишник". Разумеется, каждый разоблачённый в г-коде сишник объявляется ненастоящим. Авторы GRUB, которые допустили ошибку с 28 нажатием backspace тоже ненастоящие сишники. Авторы screen, xorg, и вообще всех проектов, где найдены уязвимости
>он вообще - не разработчик софта как таковой, как следует из ника

Я не гадатель по никам. Я вижу его код на крестах, и вижу, что он весьма посредственный
>Я бы и правда переделал работу с строками в си, но - дофига софта отвалится.

Просто издайте neon gensis c string lib, и ничего ни у кого не отвалится. Правда потом останется переписать кучу существующего кода, но это так, мелочи
>От крутых багов соответственно не избавит

Зато избавит от кучи не крутых. Неужели вы не понимаете, что даже если всего лишь половина текущих багов исчезнет, то это уже хорошо? Да даже если десять процентов исчезнет, это уже больше нуля
>Удивительно, но без си вы не сможете даже пискнуть на опеннет

Просто для справки: существует Redox OS, существует Mirage OS. Как следствие, чем дальше, тем меньше надобность именно в си
>Когда сможете - тогда и приходите с этим

Уже в этой теме вначале некоторые деятели утверждали, что альтернатив screen на rust не существует, а сразу же, как только им превили сразу несколько, сказали, что не считается. Разумеется в следующей теме они точно так же скажут, что софта на расте нет, притворившись, что их никто не уличал во лжи во всех предыдущих темах

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #219

225. Сообщение от Аноним (189), 14-Май-25, 23:26   +/
>автор статьи не читает документацию

Так в этом и смысл. Для си нужно каждую программу дотошно проверять, и то, легко что-то пропустить
>Он так-же не будет читать и растовскую документацию

В случае rust, он просто получит ошибку типизации, когда kill откажется принимать result. Автор библиотеки однократно делает работу, а дальше уже компилятор  проверяет, что программист ничего не забыл

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #212

226. Сообщение от Аноним (189), 14-Май-25, 23:29   +/
Элементарно, сделав некорректные состояния невыразимыми. Вот пример для f#, на rust логика будет точно такая же https://habr.com/ru/articles/424895/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #214 Ответы: #229

227. Сообщение от Аноним (189), 14-Май-25, 23:30   +/
>Поэтому программист языка Си должен быть дисциплинированным

Должен, но не обязан. Никто не проверит, что конкретная строчка кода не содержит ошибок

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #200

228. Сообщение от Эксконтрибутор FreeBSD (?), 15-Май-25, 00:00   +/
Да я же сказал, что в роли терминал-мультиплексора продолжаем юзать tmux

А для serail юзай cu, stty, picocom или еще что-нибудь

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #141

229. Сообщение от Нуину (?), 15-Май-25, 00:31   +/
> Элементарно, сделав некорректные состояния невыразимыми. Вот пример для f#, на rust логика
> будет точно такая же https://habr.com/ru/articles/424895/

А причем здесь это? Вот есть строка длины n, известной во время исполнения. Рассчитывается индекс i во время выполнения и происходит обращение к строке по индексу str[i]. Раст тут ничем не поможет

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let s: Vec<char> = input.trim().chars().collect();
    
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let idx: usize = input.trim().parse().unwrap();
    println!("{}", s[idx]);
}

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #226

230. Сообщение от Neon (??), 15-Май-25, 01:29   +/
Правочка:
То есть диды написали тонны смешного кода в ГНУ/Линуксах и уходят, а сопровождать его вместо них некому.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру