The OpenNET Project / Index page

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

Браузер Chrome переведён на шрифтовой движок Skrifa, написанный на Rust

20.03.2025 15:11

Компания Google перевела браузер Chrome на библиотеку Skrifa, написанную на языке Rust и предоставляющую возможности для обработки шрифтов в формате OpenType. Skrifa реализует подмножество возможностей шрифтового движка FreeType, необходимое для 2D-библиотеки Skia, применяемой в Chrome и Chromium. Для избавления библиотеки Skia от привязки к движку FreeType создан новый шрифтовой бэкенд, основанный на Skrifa.

В Chrome 128 написанный на Rust бэкенд был включён в экспериментальном режиме для редко используемых форматов шрифтов, таких как CFF2 и цветные шрифты. Начиная с выпуска Chrome 133 новый бэкенд задействован для всех web-шрифтов в сборках для платформ Linux, Android и ChromeOS. На платформах Windows и macOS новый движок пока используется в качестве запасного и применяется в случае, если система не поддерживает формат шрифта, который пытается отобразить браузер.

Код Skrifa разработан инженерами Google в рамках инструментария Fontations и открыт под лицензиями MIT и Apache 2.0. Для проверки корректности работы Skrifa подготовлено около 700 unit-тестов. Библиотека поддерживает декодирование глифов в форматах glyf, CFF, CFF2, COLRv0, COLRv1, EBDT, CBDT и sbix, вариативные шрифты в форматах glyf, CFF2 и COLRv1, хинтиг шрифтов в форматах glyf, CFF и CFF2.

Помимо библиотеки Skrifa, предоставляющей API для доступа к метаданным шрифтов и загрузки контуров глифов, инструментарий Fontations включает низкоуровневые библиотеки для чтения, разбора, изменения и создания шрифтовых данных в формате OpenType. В свою очередь Fontations является частью проекта Oxidize, созданного для перевода утилит и библиотек для работы с текстом и шрифтами с компонентов на языках Python (fonttools, fontmake, nanoemoji) и C++ (HarfBuzz, FreeType) на новые реализации, написанные на Rust.

Разработка компонентов на Rust началась из-за недостаточной эффективности выявления ошибок при помощи fuzzing-тестирования, так как форматы шрифтов слишком сложны для охвата всех возможных комбинаций. Например, на прошлой неделе во FreeType была выявлена критическая уязвимость, позволяющая выполнить код при обработке специально оформленных шрифтов из переполнения буфера. Помимо движка FreeType проблемы с обеспечением безопасности могут создавать и используемые в нём зависимости, такие как bzip2, libpng и zlib.

Использование Rust позволило значительно снизить вероятность появления проблем при работе с памятью, повысить качество кода, снизить затраты времени на исправление проблем с безопасностью и ускорить внесение улучшений в возможности Chrome, связанные со шрифтами. По статистике Google и Microsoft около 70% опасных уязвимостей вызваны проблемами при работе с памятью, которых можно избежать при использовании языка Rust без unsafe-блоков.

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

  1. Главная ссылка к новости (https://developer.chrome.com/b...)
  2. OpenNews: Уязвимость во FreeType, позволяющая выполнить код при обработке шрифтов
  3. OpenNews: Google отключил поддержку io_uring в ChromeOS и Android из-за плачевного состояния безопасности
  4. OpenNews: Методы безопасной работы с памятью позволили существенно снизить число уязвимостей в Android
  5. OpenNews: В кодовой базе Chromium разрешено использование языка Rust
  6. OpenNews: 70% проблем с безопасностью в Chromium вызваны ошибками при работе с памятью
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62922-chrome
Ключевые слова: chrome, font, rust
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (242) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 15:33, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +18 +/
    Скоро они узнают что кроме выхода за границы есть ещё много видов ошибок.
     
     
  • 2.2, Аноним (-), 15:35, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +46 +/
    И будут радоваться тому, что не тратят время на высчитывания границ, а сосредоточиться на недопущении этих самых ошибок.
    Например логических.
     
     
  • 3.12, Аноним (12), 15:56, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Я вот все читаю про битву Си и Rust.
    Складывается впечатление что выход за пределы границ, не проблема языка, а прказатель уровня владения им. Не приведет ли rust к аналогии работы с калькулятором, что некоторые личности настолько активно его начинают использовать что теряют навык счета в уме.
     
     
  • 4.18, Аноним (-), 16:08, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > Складывается впечатление что выход за пределы границ,
    > не проблема языка, а прказатель уровня владения им.

    Если бы так было то профи не допускали бы таких ошибок.
    Но практика показыает обратное. Такие ошибки делают и в ядре, и в гугле, и даже диды из 90х делали (привет, xorg!) Сишке уже 40+ лет, а не портить память так и не научились.

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

    > теряют навык счета в уме.

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

     
     
  • 5.41, Аноним (41), 16:35, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Загружаемые веб-шрифты - дыра в системе, недавние новости это подтвердили.
     
     
  • 6.51, Аноним (-), 16:56, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Загружаемые веб-шрифты - дыра в системе, недавние новости это подтвердили.

    Так вот эту дыру и хотят закрыть.
    Ну или хотя бы существенно минимизировать поверхность атаки.

     
     
  • 7.99, Аноним (99), 18:08, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Испольованием доп.компилятора? Смешно... От гугл? вовсе печально такое слышать.. очередное разочарование в человечестве.
     
     
  • 8.123, Аноним (-), 18:59, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Использование недырявого языка Тем не менее гугл заинтересован в недырявости св... текст свёрнут, показать
     
     
  • 9.131, Аноним (12), 19:41, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как жешь они раньше-то жили И каким, интересно, образом он браузер смог набрат... текст свёрнут, показать
     
     
  • 10.134, Аноним (-), 19:47, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Плохо жили opennet ru opennews art shtml num 59746 Критическая 0-day уязвимость... большой текст свёрнут, показать
     
  • 9.303, Аноним (303), 10:34, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В то, что пользователи в более-менее заметном количестве могли бы расстроиться... большой текст свёрнут, показать
     
  • 7.318, Анон1110м (?), 10:17, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы её закрыть всё что надо так это выкинуть такую возможность.
     
  • 5.58, Аноним (58), 17:07, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Откуда вы знаете какие ошибки делают профессиональные программисты на С Исходны... большой текст свёрнут, показать
     
     
  • 6.73, Аноним (73), 17:22, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Э А Юникс Именно ради него СИшка была создана Ага, прям из воздуха и появи... большой текст свёрнут, показать
     
  • 6.120, Аноним (120), 18:38, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > В ядро Linux профессионалы не пишут.

    Все так. Профессионалы пишут сугубо в опеннетные комментарии.

     
  • 6.252, Аноним (252), 12:25, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Откуда вы знаете какие ошибки делают профессиональные программисты на С?

    Компании сами о них докладывают через неделю программу CVE. Заходите на сайт и смотрите и статистику и отдельные случаи.

     
  • 5.319, Я (??), 10:17, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    в гугле не работают "индусы", которые написав три строчки на pip. и nodejs, но при этом знают 33 способа сортировки пузырями, что достаточно для гугла
     
  • 4.24, Аноним (-), 16:16, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Думаю битва еще не особо началась О, я люблю слушать сказки и котоламповые исто... большой текст свёрнут, показать
     
     
  • 5.211, Аноним (211), 08:28, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >А я взамен, приведу пример Теодора "вы не заставите меня выучить раст" Тцо.

    Зачем ты привел позор растовиков?

    Взялись делать систему интеграции в ядро и не смогли сделать автоматические биндинги.

    Стали требовать поддерживать биндинги от ВСЕХ разработчиков и получили по рогам. Так как это требование перекладывает их работу на других людей.

    Выкинуть, правда, совсем раст не получилось. Но попытка обернулась тем, что Линус подтвердил: пишите не оглядываясь на обертки rust, разок-другой можем задержать интеграцию написанного из-за неготовности rust-оберток, а если будут постоянно опаздывать - дропнем не поддерживаемое.

     
     
  • 6.278, Аноним (-), 14:49, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > и получили по рогам.

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

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

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

     
  • 4.29, fidoman (ok), 16:24, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Хорошая аналогия кстати, чтобы грамотно в C памятью управлять - это примерно как вы будете 10-значные числа на бумажке перемножать. А в соседний отдел завезли калькуляторы. А вам - пачку рекомендаций, как на бумажке правильно числа записывать, чтоб не ошибиться.
     
     
  • 5.88, Флудер (?), 17:44, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Через 10 лет отдел с калькуляторами деградирует до саморазрушения. А те, что на бумажках - продолжат неспеша выполнять любые задачи.
     
     
  • 6.94, Аноним (-), 17:52, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Через 10 лет отдел с калькуляторами деградирует до саморазрушения.

    Смелое предположение, пруфов, я так понимаю, предоставлено не будет?

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

    Лет за 10-20, а там уже и пенсия.
    А надо было посчитать за неделю.


     
     
  • 7.103, Аноним (99), 18:16, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Какие тебе пруфы? С какой стати? Сам ищи, пруфы на общеизветные факты...

    Люди даже в уме числа всегда в истории считали,
    до появления калькуляторов...

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


    /мимопроходил

     
     
  • 8.117, Аноним (120), 18:34, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Что за бред Ты про абаки, догарифмические линийки и прочие устройства не слышал... текст свёрнут, показать
     
     
  • 9.194, n00by (ok), 06:33, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Про верёвку с 12-ю узлами, для построения прямого угла, наверняка не слышал Зат... текст свёрнут, показать
     
  • 8.122, Аноним (-), 18:47, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хм, ты решил использовать гамбит пруфов нет - кукарекай про 700 общеизвестные... текст свёрнут, показать
     
  • 8.196, User (??), 06:45, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да-да, ждём примера успешных успехов бухотделов, ручками записывающих результаты... текст свёрнут, показать
     
     
  • 9.205, Флудер (?), 07:52, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Пример одного ВУЗа СССР 80е - на каждом курсе на факультете по 3-4 группы по 30... текст свёрнут, показать
     
     
  • 10.227, User (??), 10:17, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не-не-не, мне не нужен пример одного вуза и сравнение бухучета в СССР с РФ то... текст свёрнут, показать
     
  • 7.206, Флудер (?), 08:10, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Смелое предположение, пруфов, я так понимаю, предоставлено не будет?

    Возьми свой "калькулятор", посчитай на нем количество значимых научных открытий и изобретений за определенные десятилетия/столетия, проведи корреляцию с количеством и производительностью этих "калькуляторов". Определи тренд. Не плачь.

     
  • 5.96, Аноним (96), 17:59, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не на бумажке, а в уме чтобы, первоначально речь зашла. И люди-счётчики показывают феноминальные результаты. Проверяющие даже не успевают на калькуляторе набрать, а те уже ответ выдвли. И не только перемножать, но корни извлекать.
    При подготовке космонавтов подобному обучают. Может, и не с 10-значными числами, конечно.
     
     
  • 6.101, fidoman (ok), 18:15, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот именно, не 10-значные. Пока все работают строго по утверждённым схемам, входят так где вход и выходят там где выход - всё работает прекрасно. Как только находится один идиот, который влезает в окно - ну вот понадобилось ему для "оптимизации" скопировать куда-то указатель - всё рассыпается как карточный домик. Проблема программистов в том, что в целом они необучаемы. Ну вот невозможно приучить людей хранить данные о кодировке, когда у них есть стандартная библиотека, которая просто копирует строки. И проблема с кодировками "решилась" только когда всех добровольно-принудительно загнали на одну, весёлую и с эмоджи. Так же и тут.
     
     
  • 7.214, Аноним (211), 08:36, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ну вот невозможно приучить людей хранить данные о кодировке

    И как все работало? Или не работало. Знаю тех кто и сейчас использует локаль KOI8-R.

     
  • 4.93, Аноним (96), 17:52, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тут говорят, что тотально приведёт. Потому, как скоро кодить будет AI.
     
     
  • 5.119, пох. (?), 18:36, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    да когда ж эта гадина будет наконец-то за меня кодить?!

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

     
  • 4.125, Аноним (125), 19:03, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Rust далеко не единственный язык с безопасной работой с памятью. Можно поглядеть что за ошибки и сколько их в других языках. Ну например есть PHP....
     
  • 4.166, Кулёк (?), 22:27, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы, видать, ничего сложнее функции fib() не писали. У среднего разработчика 10 мегабайт исходного кода в голове не умещаются. Просто поработайте над серьёзным проектом на Сях, а потом на Расте, сразу увидите разницу в скорости разработки и качестве кода. ;)
     
     
  • 5.195, n00by (ok), 06:42, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Средний разработчик в России, усилиями активистов СПО, умещает в голове любое количество кода.

    Ему достаточно помнить git clone && make install, и полный цикл разработки готов.

    АН: Политика ALT состояла все эти годы в том, чтобы построить п͟о͟л͟н͟ы͟й͟ ц͟и͟к͟л͟ р͟а͟з͟р͟а͟б͟о͟т͟к͟и, независимый, а это очень длительный процесс, причем нельзя сказать, что мы с самого начала ставили перед собой такую цель.

     
     
  • 6.235, Аноним (235), 11:24, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Ему достаточно помнить git clone && make install, и полный цикл разработки готов.

    Ну ещё свои копюрайты вбить.

     
  • 6.241, Аноним (241), 11:46, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А этот позор фамилии уверен, что сборка чужого кода это и есть полный цикл разработки? 😂
     
     
  • 7.279, n00by (ok), 14:55, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не думаю, что он человек глупый. Подозреваю, дурачит сознательно и достаточно успешно, учитывая количество верующих в профанацию.

    Интервью известное, кстати. Удивлён, что "Сообщество" такое схавало - в то время понимающих было наверняка побольше. Это я пропустил его, поскольку в то время был в другой ОС.

     
  • 6.312, Аноним (312), 16:01, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Alt успешно приплетен. При чем тут Alt, как связан альт с разработкой на Си, откуда информация о том, что умеет средний разработчик в России - осталось загадкой.
     
     
  • 7.313, n00by (ok), 16:05, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Что не ясно в словах "п͟о͟л͟н͟ы͟й͟ ц͟и͟к͟л͟ р͟а͟з͟р͟а͟б͟о͟т͟к͟и, независимый"? Alt ничем подобным не занимается, вопреки заявленной "политике все эти годы".
     
  • 4.177, Аноньимъ (ok), 02:17, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Нет никакой битвы.
     
  • 4.224, Аноним (224), 10:00, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Растоманы пытаются свести все аргументы на безопасно, тогда года С разрабы говорят что у раст нет стабильного API, ABI, да что там... Синтаксис меняют каждый раз когда кто-то один из разрабов проснется в плохом настроение... Ну и культура, большинство сторонников раста это вайберы предыдущего поколения, они полагаются на компиляторы и сторонние пакеты которые тянут из публичной мусора
     
  • 4.244, laindono (ok), 11:53, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > некоторые личности настолько активно его начинают использовать что теряют навык счета в уме

    Почему это вообще является проблемой? Калькулятор всегда под рукой. Тоже самое с картами и навигаторами. Умение использовать компас или астролябию это безусловно круто. Но не для повседневного использования.

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

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

     
  • 4.300, anonymous (??), 01:39, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я лично очень плохо считаю в уме. Как, я уверен, и подавляющее большинство людей в мире сегодня. И, как подавляющее большинство людей в мире, я не вижу в этом никакой проблемы.

    Самое забавное, что ты, скорее всего, считаешь не чуть не лучше меня. А может и хуже.

     
  • 2.4, Аноним (4), 15:42, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Сравни 1% уязвимостей из-за логических ошибок и 70% из-за кривой работы с памятью. Остальные 29% разные SQL injection, Command Injection, Path Traversal, XSS, Missing Authentication, Type Confusion,  которые в данном случае неприменимы или слишком тривиальны для уровня Google.
     
     
  • 3.15, Аноним (1), 16:04, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Сравни денежные потери от выхода за границы буфера в 0 долларов. И потери от логических ошибок в 100 миллиардов долларов.
     
     
  • 4.23, Аноним (23), 16:16, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Откуда цифры?
     
     
  • 5.27, Ося Бендер (?), 16:22, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    От кэмэла, вестимо.
     
  • 5.33, Аноним (-), 16:29, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Откуда цифры?

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

    Heartbleed - buffer over-read уязвимость которая повлияла на кучу сайтов. К счастью жила всего 3 года.
    Импакт оценили в $500 лямов.

     
     
  • 6.60, Аноним (60), 17:11, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Недавно новости были про перечисление случайным людям около миллиарда, вместо 20 долларов.

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

    А вот малые.... И это крупнейшие банки США.

     
     
  • 7.106, Аноним (106), 18:19, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Причем тут работа с памятью? Это явно логическая ошибка.
     
     
  • 8.138, Аноним (138), 19:59, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    А может и переполнение ... текст свёрнут, показать
     
     
  • 9.198, n00by (ok), 06:53, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В возрасте 15 лет Билл Гейтс получил от администрации школы, где он учился, зада... текст свёрнут, показать
     
  • 8.213, Аноним (211), 08:34, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так про это и речь, что именно логические ошибки приводят к огромным потерям И ... текст свёрнут, показать
     
  • 5.197, n00by (ok), 06:49, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Цифры он взял из летнего "отказа Windows", когда в драйвере CrowdStrike разыменовывали нулевой указатель. По обыкновению малость приврал.
     
  • 4.26, px (??), 16:20, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://ru.wikipedia.org/wiki/Heartbleed
     
     
  • 5.107, Аноним (106), 18:20, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ошибке три тысячи миллионов лет, а ты все носишься с ней и пытаешься что-то сам себе доказать?
     
     
  • 6.284, px (??), 17:02, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ошибке три тысячи миллионов лет, а ты все носишься с ней и
    > пытаешься что-то сам себе доказать?

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

     
  • 2.25, px (??), 16:19, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Выход за границы — это самое тривиальное, что может быть. Раст предотвращает очень многие потенциальные ошибки связанные с доступом к памяти, в весьма неочевидных ситуациях. А ещё, решает проблемы с гонками данных, в многопоточных приложениях, что принципиально улучшает сон и аппетит. У меня складывается впечатление, как будто «адепты старой школы» сами вообще никогда не писали на Си или плюсах реальных проектов.
     
     
  • 3.56, Аноним (56), 17:05, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > У меня складывается впечатление, как будто «адепты старой школы» сами вообще никогда не писали на Си или плюсах реальных проектов.

    Опеннетные "ярые одепты си" - в основном проекты вида laba1.c, laba2.c ... labaX.c и было это давно. И чем давнее, тем яростнее и беспощаднее "одепт".
    Эдакая "любовь на расстоянии", потому что любить сишку именно как ЯП - ну вот абсолютно не за что.

    Тут как в том анекдоте "Дед, при Сталине жилось лучше? Конечно лучше, внучек! Почему, деда? Потому что при Сталине у меня - стоял!"

     
  • 3.113, Аноним (99), 18:22, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > У меня складывается впечатление, как будто «адепты старой школы» сами вообще никогда не писали на Си или плюсах реальных проектов.

    Ты и правда считаешь что, всё EXE проектов в мире - на Rust/Java/Pyhon/C#/.../BrainFuck ? Что куришь?...

     
     
  • 4.301, px (??), 03:23, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Наверное, под EXE, вы имеете ввиду исполняемые файлы Не понимаю зачем вы вообщ... большой текст свёрнут, показать
     
  • 3.126, анонд (?), 19:04, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В Паскале нет выхода за границы массива. Вообще нет. И всегда так было. Это приводит к аварийному завершению программы. Тем более в Ада.
     
     
  • 4.254, Конь (ok), 12:41, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как это нет
    Вот проверил только что в fpc
    > program project1;
    > var
    >     a: array[0..2] of integer;
    >     i: integer;
    > begin
    >     for i := 0 to 2 do
    >       a[i] := 1;
    >     for i := 0 to 5 do
    >       Write(a[i], ' ');
    > end.

    выдает: 1 1 1 0 4 0

     
  • 4.302, px (??), 03:29, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > В Паскале нет выхода за границы массива. Вообще нет. И всегда так
    > было. Это приводит к аварийному завершению программы. Тем более в Ада.

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

     
  • 2.181, Аноним (181), 02:43, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Скоро они узнают что кроме выхода за границы есть ещё много видов ошибок.

    Что же не позволяет тебе дочитать новость до конца? Тебе же в дополнение перечислили еще пучок (и заметь, именно они, вместе с выходом за границы, дают львиную часть именно критических ошибок высокой опасности):

    "Например, использование Rust, позволило бы избежать ранее выявлявшихся в коде FreeType проблем, связанных с обращением к освобождённым областям памяти, выходом за границу буфера, доступом к массивам без проверки индексов, целочисленными переполнениями, некорректным использованием необнулённых областей памяти и ошибками приведения типов."

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

     
  • 2.215, Cucumber (?), 08:48, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Жду возвращения к bitmap-шрифтам
     

     ....большая нить свёрнута, показать (70)

  • 1.3, Аноним (-), 15:37, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    О, наконец-то.
    Теперь крикуны "в хроме нет раста" получили неоспоримый пруф))

    ps жду нытья "на моем rhel6 не хватает пакетов"
    ps2 и потока нытья от гентушников "как же это все пересобирать"

     
     
  • 2.16, Аноним (1), 16:04, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты рад что всем стало плохо?
     
     
  • 3.22, Аноним (-), 16:14, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Ты рад что всем стало плохо?

    Почему всем?
    Гентушники и некролюбы - это девиация даже среди линуксойдного меньшинства.
    Всем остальным наоброт станет лучше.


     
     
  • 4.190, Аноним (190), 05:19, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >Ты рад что всем стало плохо?
    >Почему всем?

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

    >Всем остальным наоброт станет лучше.

    [sarcasm]Ага, лично я просто прыгаю от счастья осознавая это.[/sarcasm]

     
     
  • 5.207, Аноним (207), 08:14, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > экосистему Линукс

    …которой не существует.

     
  • 5.217, Аноним (217), 09:26, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Потому что в инфраструктуру добавили два вендерлока: сам rust и эта skrifa.

    Про xorg вы благополучно забыли

     
  • 3.97, Аноним (96), 18:03, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так это же его хлеб. Ему за это платят.
     
  • 3.182, Аноним (181), 02:46, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну почему сразу всем. Отвыкай говорить за всех. Мне вот стало хорошо. От того, что потенциальных дыреней стало (и станет) меньше.
     
  • 2.28, Oi (?), 16:23, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    emerge www-client/google-chrome затащит бинарный пакет.
     
     
  • 3.35, Аноним (-), 16:32, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > emerge www-client/google-chrome затащит бинарный пакет.

    Перефразирую старый комикс про Неми:
    "- А как называется гентушник, который тащит бинарные пакеты?
    -- Предатель!"

    У них же компиляние ради компиляния.
    Это не самый странный фетиш, но даже среди линуксоидных меньшинств они довольно маргинальные.

     
     
  • 4.100, dannyD (?), 18:13, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    теоретик [рука\лицо]
     
  • 4.142, Аноним (142), 20:07, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну и как ты скомпилируешь программу без исходного кода? Хромиум в счёт не берём, там синхронизацию отключили
     
  • 4.168, Perlovka (ok), 22:51, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А ты этих "них" видел-то хоть раз, Андерсен ты наш? )
     
     
  • 5.199, User (??), 07:07, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    В каждой второй новости на opennet'е, ага.
     
  • 4.261, Герострат (?), 12:58, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если вдруг захотелось собрать систему из исходников, это не значит, что нужно собирать абсолютно всё. Держишь хромы и расты во флатпаке и в ус не дуешь. Ещё и права доступа можно обрезать прямо в кдешном system settings.
     
     
  • 5.298, Аноним (207), 23:37, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Здесь компиляем, здесь не компиляем. Здесь рыбу заворачивали.
     
  • 2.86, FSA (ok), 17:32, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > "в хроме нет раста"

    Так его там реально нет. Есть только бинарники собранные из исходников Rust :-D

     
  • 2.102, Аноним (96), 18:16, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ждём серверов с водяным охлаждением. Можно будет горячую воду в контур отопления дачи пустить, по аналогии с этим https://habr.com/ru/articles/874044/ вместо электрокотла. Сразу два зайца убили: и емержит, и отапливает.
     
     
  • 3.322, Аноним (322), 20:31, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Можно готовить Иишенку, на процессоре.
     

  • 1.5, Аноним (-), 15:43, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Safety
    Unsafe code is forbidden by a #![forbid(unsafe_code)] attribute in the root of the library.
    github.com/googlefonts/fontations/tree/main/skrifa#safety

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

    А вообще тенденция радует.
    Дырявую сишку потихоньку заменяют на нормальный язык.

     
     
  • 2.137, Аноним (137), 19:55, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Дырявую сишку потихоньку заменяют на нормальный язык.

    Ещё нет, zig будет позже. Когда устанут компилять рустовую разросшуюся кодовую базу.

     
     
  • 3.140, Аноним (140), 20:01, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Дырявую сишку потихоньку заменяют на нормальный язык.
    > Ещё нет, zig будет позже. Когда устанут компилять рустовую разросшуюся кодовую базу.

    Это тот самый зиг в котором double-free делается запросто, а списка UB в документации нету?
    Даааа, ну может лет через 20, оно дорастет до уровня раста.


     
     
  • 4.146, Аноним (120), 20:55, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Это тот самый зиг в котором double-free делается запросто

    Тот самый Zig, где ручками управляешь ресурсами.

     
     
  • 5.317, Ананимус (?), 09:59, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Тот самый Zig, где ручками управляешь ресурсами.

    Он это и сказал.

     
  • 3.218, Аноним (217), 09:29, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Хватит вам носится со своим zig-ом, у него до сих пор релизной версии нет. А с учётом того, что ничего прорывного в нём нет, то это вообще какой-то позор. Ладно бы они там афинные/зависимые типы делали или какую-то другую вещ, они скопипастить готовый функционал не могут
     
  • 2.149, Аноним (-), 21:14, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Правда для этого нужно быть гуглом, а не неосилятором.

    Не нужно быть гуглом для этого. Этот crate-level аттрибут попадается во многих крейтах. Подавляющее большинство растоманов избегает ансейфа даже в тех случаях, когда плюсы его применения могли бы перевесить минусы. А если они и так не используют unsafe, то почему бы не похвастаться этим в src/lib.rs.

     

  • 1.6, 12yoexpert (ok), 15:45, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    на сколько пожирнел?
     
  • 1.7, Аноним (7), 15:48, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Ерунда. Эти гуглярщики сделали какуюто там либу. Несложную. А на самом деле чем занимаются? Гребут бабки на рекламе в ютуб. Гребут бабло.
     
     
  • 2.9, Аноним (-), 15:50, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ерунда. Эти гуглярщики сделали какуюто там либу.

    Не какую-то, а которую будут использовать миллиарды юзеров.

    > Несложную.

    Угу, настолько несложную что бракодеры из FreeType уже которую CVE/RCE допускают.

    > Гребут бабки на рекламе в ютуб. Гребут бабло.

    Завидно?))


     
     
  • 3.154, Tron is Whistling (?), 21:26, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Юзер у этой либы один - сам гугл.
     
  • 2.64, 12yoexpert (ok), 17:16, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Эти гуглярщики сделали

    ты хотел сказать переписали?

     
     
  • 3.162, anono111111111111111111 (?), 21:47, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Скоро и переписывать не надо будет - GrapRAG (LLM)
    https://youtu.be/1VgptLwP588?t=1960 (Mark Russinovich, Microsoft)
    Пофайловая конвертация с Python на Rust
     
     
  • 4.169, 12yoexpert (ok), 23:01, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    да-да, скоро зажравшихся айтишнегов заменит "ИИ"
    а я пока побегу накручивать просмотры
     
     
  • 5.175, ИТ_НЕ_ТАК_ПРОСТО_КАК_ТЫ_ДУМАЕШЬ_КОПИРАЙТЕР (?), 01:21, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    А , ещё иногда требуется исправить заголовочные фаилы ты не ослышался: вручную , скоро всё вскроется это проект индустрия 2.0 тут можно стрелять так же и по своим ногам благославляя ложь и мошеннические действия в виде заговоров
     
  • 4.174, ИТ_НЕ_ТАК_ПРОСТО_КАК_ТЫ_ДУМАЕШЬ_КОПИРАЙТЕР (?), 01:04, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Не поможет везде разные флаги , одна программа ждёт -03 другая может вообще какой нибудь -01 третья ждёт добавления пока не известного флага иначе будет в пол тора раза медленее и так далее и только вороватые чужих инвестиции через банки могут быть уверены что они правы
     
  • 2.201, Аноним (201), 07:13, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это разные люди.
     
  • 2.245, Аноним (-), 11:53, 21/03/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     

  • 1.13, нах. (?), 16:00, 20/03/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –2 +/
     

  • 1.30, Аноним (30), 16:27, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Не беда, еще остались Epiphany, Otter Browser и Ladybird.
     
     
  • 2.34, Аноним (34), 16:30, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Спасибо, поржал. Первые два - просто несамостоятельные шкурки; последний - проект одного ноунэйма, который получил грант на лям: как только деньги закончатся, он перестанет его пилить, или потребует от милого камьюнити ещё деньжат на развлечение.
     
  • 2.109, Аноним (96), 18:20, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ladybird теперь уже не совсем lady, его на Swift переписывают.
     
     
  • 3.155, Tron is Whistling (?), 21:27, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Перепишут - переименуют в Ladyboy.
     

  • 1.31, Ося Бендер (?), 16:28, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Потому и тормозит этот ваш хром. Для полноты картины нужно написать сервис работы с закладами на джаве, парсинг дома на питончике, а сервис настроек на басике. Да, и еще какой-нить сервис на перлушечке.
     
     
  • 2.39, Аноним (-), 16:35, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому и тормозит этот ваш хром.

    А оно сейчас тормозит? Но новой либы еще нет у юзеров)))
    Вы прям как из того анекдота "Вы только подумайте, что будет, когда мы её включим..."

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

     
  • 2.42, Bob (??), 16:36, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Где он тормозит то?
    Давно в мировой интернет выходил на нём?
     
     
  • 3.44, Ося Бендер (?), 16:40, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот прямо вчера очередной раз сверил часы. Тормозит как не в себя.

    Да и лучше огненной птицы пока нет.

     
     
  • 4.55, Аноним (-), 17:04, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >  Вот прямо вчера очередной раз сверил часы. Тормозит как не в себя.

    Удивительно. УМВР и ничего не тормозит...
    Может ты пытаешься его запустить на каком-то пылесосе?

    > Да и лучше огненной птицы пока нет.

    Ты уже принял их обновленную еулу?))

     
  • 4.136, Аноним (136), 19:52, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Огненная птица??? FireBird? Sql-бд?
     
     
  • 5.212, Аноним (241), 08:32, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Перед тем, как стать Firefox браузер успел побыть Phoenix и Firebird
    Но я не думаю, что с Mozilla Firebird сейчас можно хоть на какой-то сайт попасть
     
  • 4.324, Аноним (322), 20:41, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.firebirdsql.org
     

  • 1.32, Аноним (41), 16:29, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > если система не поддерживает формат шрифта, который пытается отобразить браузер

    ...такой шрифт (формат) не должен применяться вообще.

     
  • 1.36, Аноним (58), 16:32, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    на сайте freetype:

    The main author of FreeType was David Turner, who created the library in 1996 to render TrueType fonts, including an interpreter for handling TrueType bytecode. It was originally written in the Pascal programming language. In 1997, Robert Wilhelm ported it to C, and Werner Lemberg joined the team. Originally, the C and Pascal versions were developed in parallel, however, development of the Pascal version stopped in 2000.

     
     
  • 2.40, Аноним (58), 16:35, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Core Developers
    Alexei Podtelezhnikov (Алексей Подтележников)
    Suzuki Toshiya (鈴木俊哉)
     

  • 1.43, myster (ok), 16:39, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Такое ощущение, что Раст тут для отвлечения внимания, погодите.

    А самого главного не написали. Skrifa позволит Гуглу больше не отслеживать пользователей через свои онлайн шрифты, или наоборот расширит эту возможность и через Skrifa-API будут постоянно дёргаться сервера Гугла?

     
     
  • 2.61, Аноним (61), 17:13, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > постоянно дёргаться сервера Гугла?

    а чьи еще сервера должно дергать гуглоподелие?

     
     
  • 3.98, Аноним (12), 18:04, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ой чет у ungoogled chromium, работенки прибавится...
     

  • 1.46, Аноним (-), 16:41, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Отличная новость!
    Но что еще более отлично - что таких новостей будет все больше и больше :)

    Количеством горения местных сишников неудовлетворен.
    Где возмущение? Где "мы сделаем форк!!!111"?

     
     
  • 2.200, User (??), 07:13, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Они стройными рядами перейдут на firefox...
    Oh, shi...!!?
     
     
  • 3.304, Аноним (303), 10:38, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да куда они там перейдут...
    Доля Лисички (к большому сожалению) такая, что её уже в микроскоп рассматривать надо... :(

    Но и таки вы правы - им ещё и с Linux придётся уходить, так как Линус там тоже это... В отношении Rust тоже не бездействует )))

     

  • 1.47, ОШИБКА Отсутствуют данные в поле Name (?), 16:43, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А потом вдруг вспомнят, что выход за границы можно предотвратить только во время исполнения, а не на этапе компиляции. На этапе компиляции можно понапихать проверок, которые будут отрабатывать во время выполнения, а потом может быть переизобретут "сборку мусора". Но сначала -- распил и откаты.
     
     
  • 2.79, чатжпт (?), 17:25, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    В раст в худшем случае, если не использовать get и проверки индексов, произойдет паника при выходе за границу, а не выполнение кода как в сишке. Сборка мусора не нужна
     
     
  • 3.105, Аноним (41), 18:18, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > если не использовать get и проверки индексов, произойдет паника при выходе за границу

    Как она произойдёт, если нет проверки индекса? Магия...

     
     
  • 4.124, чатжпт (?), 19:03, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    вот так и произойдет

    fn main() {
        let v = vec![0, 1, 3, 4];
        println!("{}", v[5]);
    }

    $ ./target/debug/test

    thread 'main' panicked at src/main.rs:3:21:
    index out of bounds: the len is 4 but the index is 5

     
     
  • 5.130, Аноним (130), 19:37, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Тут уже ассемблер надо смотреть, есть ли там проверка условия выхода за границу
     
     
  • 6.144, чатжпт (?), 20:17, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Тут уже ассемблер надо смотреть, есть ли там проверка условия выхода за
    > границу

    так я про конечного программистов говорю, что не обязательно париться с границами если паника допустима

     
     
  • 7.187, Аноним (41), 03:30, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    1984 год, Turbo Pascal

    Turbo Pascal checks if values are within limits. If the value is constant it is immediately checked for lower and upper limit. If it is not constant and range checking is enabled, Turbo Pascal will generate range checking code.

     
     
  • 8.188, чатжпт (?), 03:53, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ага, ничто не ново под луной, в раст собрано много хорошего из разных языков ... текст свёрнут, показать
     
  • 8.203, User (??), 07:16, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ужасный, отвратительный был язык Угнетал свободолюбивых дiдов и мешал стрелять ... текст свёрнут, показать
     
  • 5.186, Аноним (41), 03:19, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И что ты тут понакалякал? v[5] - тут твой безопастный компилятор вставил рантайм проверку. Это умел делать ещё паскаль в прошлом веке.
     
  • 5.189, Аноним (189), 04:52, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так даже в Си можно сделать, когда все известно на этапе компиляции.
     
  • 5.202, n00by (ok), 07:14, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > вот так и произойдет
    > fn main() {
    >     let v = vec![0, 1, 3, 4];
    >     println!("{}", v[5]);
    > }
    > $ ./target/debug/test
    > thread 'main' panicked at src/main.rs:3:21:
    > index out of bounds: the len is 4 but the index is
    > 5

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

    #include  <stdio.h>

    int main()
    {
        int v[] = {0, 1, 3, 4};
        printf("%i", v[5]);
    }

    <source>:6:18: error: array index 5 is past the end of the array (that has type 'int[4]') [-Werror,-Warray-bounds]
        6 |     printf("%i", v[5]);
          |                  ^ ~
    <source>:5:5: note: array 'v' declared here
        5 |     int v[] = {0, 1, 3, 4};
          |     ^
    1 error generated.
    Compiler returned: 1

    https://godbolt.org/z/Wcehs45xe

     
     
  • 6.255, Аноним (252), 12:49, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    заметим что данный код уже эквивалентен вот этому:

      fn main() {
          let v = [0, 1, 3, 4];
          println!("{}", v[5]);
      }

    и выдает ошибку компиляции:

    error: this operation will panic at runtime
    --> src/main.rs:3:20
      |
    3 |     println!("{}", v[5]);
      |                    ^^^^ index out of bounds: the length is 4 but the index is 5
      |
      = note: '#[deny(unconditional_panic)]' on by default

     
     
  • 7.280, n00by (ok), 15:06, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так я и заметил начало ветки - "А потом вдруг вспомнят, что выход за границы можно предотвратить только во время исполнения, а не на этапе компиляции."
     
  • 6.256, laindono (ok), 12:49, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ты забыл malloc/free. Тип std::vec::Vec<T> является contiguous growable array. Динамическим массивом.

    fn main () {
        let a = [1, 2, 3, 4];
        println!("{}", a[5]);
    }

    error: this operation will panic at runtime
    --> src/main.rs:3:20
      |
    3 |     println!("{}", a[5]);
      |                    ^^^^ index out of bounds: the length is 4 but the index is 5
      |
      = note: '#[deny(unconditional_panic)]' on by default

     
     
  • 7.281, n00by (ok), 15:08, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Я ничего не забыл. Я не реагирую на последнее сообщение ветки, а читаю с корневого сообщения:

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

    Почему меня и удивило, что спор ушёл не совсем туда.

     
  • 3.128, анонд (?), 19:07, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Удивлю, но программы на Паскале отродясь так работают так что Раст не нужен :)
     
     
  • 4.176, Аноним (176), 01:58, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    нет
     
  • 2.157, Аноним (-), 21:29, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я не думаю, что об этом кто-то забывал Это же базовые факты которые обсуждаются... большой текст свёрнут, показать
     
     
  • 3.170, Аноним (312), 23:10, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Сишочные технологии шагнули куда дальше этой унылой математической черты! Ведь компилятор считает, что все уже доказано и никаких выходов за границы/целочисленных переполнений и т.д. нет и оптимизирует исходя из этого. С - это поистине могучий инструмент для сильных разумом! Жаль, что еще не родился тот сишник, что смог бы с ним совладать. Ну а пока легенда ждет своего героя, можно в комментариях болеть за любимую сишку, самое главное - не пытаться на ней писать.
     
  • 3.220, Аноним (217), 09:34, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >Это же базовые факты которые обсуждаются в базовом IT образовании: проблема останова не позволяет статически доказывать такие факты о коде

    Для этого нужны статические типы, о которых сишники до сих пор не знают. Про языки типа ATS или Idris вообще не слышали

     
  • 3.240, Аноним (56), 11:45, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Проблема останова лишь наглядно показывает, что нельзя доказать все-все-все д... большой текст свёрнут, показать
     
     
  • 4.292, Аноним (-), 22:41, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У компилятора есть все исходные тексты под рукой, как у него может отсутствовать... большой текст свёрнут, показать
     
     
  • 5.299, Аноним (56), 00:16, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    У компилятора си, плюсов и т д см предыдущее наследие старых ЯП с примитивны... большой текст свёрнут, показать
     
     
  • 6.314, Аноним (-), 17:07, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Эти вещи принципиально не меняют расклада Анализ кода остаётся локальным, прост... большой текст свёрнут, показать
     
  • 2.210, Аноним (210), 08:27, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А потом вдруг вспомнят, что выход за границы можно предотвратить только во время исполнения, а не на этапе компиляции.

    На этапе компиляции можно на зависимых типах: https://dl.acm.org/doi/pdf/10.1145/277650.277732

     
  • 2.219, Аноним (217), 09:32, 21/03/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.78, Аноним (60), 17:25, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Хорошая ниша для rust. Никакого обрудования. Никаких вариантов компиляции. Строго берем файлы и вытаскиваем их них информацию аккуратно парся.

    Вот тут да. Многие могут понаделать ошибок с памятью. Вопрос только почему шрифты окажутся подменёнными?

    На компьютере пользователя? Так значит систему уже взломали.

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

     
     
  • 2.82, 12yoexpert (ok), 17:29, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Вот тут да. Многие могут понаделать ошибок с памятью

    могли лет 30 назад, когда парсили scanf-ами

    > Вопрос только почему шрифты окажутся подменёнными?

    потому что каждый второй сайт сейчас грузит свои шрифты, а uBlock Origin, который позволял этот мусор резать, в хроме запретили

     
     
  • 3.84, Аноним (60), 17:31, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Так этот парсер будет работать только с теми шрифтами, которые с гугла качаются. Или я неправильно понял?
     
     
  • 4.85, 12yoexpert (ok), 17:32, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    не знаю, я новость не читал
     
  • 4.92, нах. (?), 17:46, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Так этот парсер будет работать только с теми шрифтами, которые с гугла
    > качаются. Или я неправильно понял?

    неправильно. Вон чатгопота тебе уже принесла образец.

     
  • 2.83, чатжпт (?), 17:30, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +3 +/
    @font-face {
        font-family: 'MyCustomFont';
        src: url('/static/mycustomfont.woff') format('woff');
    }

    шрифт может лежать где угодно

     
  • 2.184, Аноним (181), 02:59, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вопрос только почему шрифты окажутся подменёнными? ...На компьютере пользователя? ... На сервере гугла

    на любом сайте интернета. Еще в pdf'ку и тому подобное тебе могут всунуть кастомный шрифт, со своими глифами и всем что там полагается.

     
  • 2.248, Аноним (-), 12:00, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Вопрос только почему шрифты окажутся подменёнными?

    Ну что тут не понятно то? Заходишь на сайт со специфическим шрифтом где есть cve, все твой компьютер взломан. Впрочем шрифты это не единственная проблема. Если браузер устаревший и cve сработает у злоумышленника, то все компьютер взломан. У меня вот ребенок недавно то ли игру поставил на телефон, то ли картинку какую не такую в интернете посмотрел, на всех домашних устройствах в браузере появилась дополнительная реклама. Нажимаешь кнопку назад на телефоне и все - видишь страницу рекламы.

     

  • 1.145, мяв (?), 20:55, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >частью проекта Oxidize, созданного для перевода утилит и библиотек для работы с текстом и шрифтами с компонентов на языках Python (fonttools, fontmake, nanoemoji) и C++ (HarfBuzz, FreeType) на новые реализации, написанные на Rust.

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

     
     
  • 2.306, Прохожий (??), 11:06, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >форк кратно дороже любого питонокода будет

    В каком смысле?

    >и даже если там как-то можно что-то сделать ffi'ем, то, все равно, зачем ??

    Видимо, чтобы ускорить работу программ (библиотек).

     

  • 1.147, мяв (?), 20:59, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Например, на прошлой неделе во FreeType была выявлена критическая уязвимость,

    мне интересно, это аффтар новость не читал, или.. или кто ?
    не верю, что это разрабы написали.
    в FT была ошибка из-за неверного приведения типа. раст умеет от этого спасать ? (при условии, что разрабы просто варнинги выключают)

     
     
  • 2.151, Вася Пупкин (?), 21:19, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    с типами ржавый очень педантичный, все заставляет явно приводить
     
  • 2.153, Анонимусс (-), 21:22, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Угу А дальше что было А дальше писали мимо буфера в результате чего может во... большой текст свёрнут, показать
     
     
  • 3.156, Tron is Whistling (?), 21:28, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Накладные расходы на такие извращения в inner/medium inner loop могут быть очень весёлыми.
     
     
  • 4.159, Анонимусс (-), 21:36, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Накладные расходы на такие извращения в inner/medium inner loop могут быть очень весёлыми.

    Где там расходы?
    Нужно не экономить битики в цикле с писать сумму в u64 или i64. А u16.into() превращается в нужный u64 вообще одной асм командой (в релизе). Просто от программиста требуется явно указать что он таки хочет ковертнуть типы.

    Но да, намного веселее получить CVE in the wild и взломы со словами "зато я пару тактов сэкономил!"))

     
     
  • 5.225, Tron is Whistling (?), 10:01, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И как, много CVE in the wild лично вас затронули? Ну или хотя бы кого-то из крупняка?
     
  • 4.161, Аноним (-), 21:46, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Накладные расходы на такие извращения в inner/medium inner loop могут быть очень весёлыми.

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

     
     
  • 5.223, Tron is Whistling (?), 09:56, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Хруст и профайлер, вы серьёзно? Они консольные утилиты-то годами переписывают кое-как в версию 0.01 с кучей багов.
     
  • 4.204, n00by (ok), 07:24, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это выявляется на этапе трансляции, но в Си не является ошибкой. Если же требуется проверка именно во время исполнения, то накладные расходы на неё существенно меньше, чем на "выделение буфера [неверного размера]".
     
  • 3.163, Аноним (-), 21:56, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кек try_into unwrap Смотри и учить, салага, как делать без проверок и ... большой текст свёрнут, показать
     
     
  • 4.165, Анонимусс (-), 22:15, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если преобразовываться будет не числовой литерал, а аргумент функции, компилятор промолчит.

    И нафиг такое счастье? Мне наоборот нужно, чтобы он меня предупредил.
    Варнинги в коде признак того, что код начинает попахивать. И их нужно исправлять.

    > Если второе

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

     
     
  • 5.295, Аноним (-), 23:10, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Но есть разница Если бы не молчал компилятор, то есть не давал бы способа преоб... большой текст свёрнут, показать
     
  • 3.178, мяв (?), 02:31, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >разумеется

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

     
  • 2.160, Аноним (-), 21:44, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В расте неверные приведения целых чисел генерируют ошибки, а не варнинги И ошиб... большой текст свёрнут, показать
     
     
  • 3.167, Вася Пупкин (?), 22:44, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >// вот тут явное приведение типа, которое компилятор скушает молча

    бзв поэтому лучше писать let b = u16::from(a);

     
     
  • 4.172, laindono (ok), 23:55, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    the trait 'From<u64>' is not implemented for 'u16'

    А вот TryFrom<u64> вполне себе.

     
  • 4.293, Аноним (-), 22:52, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Программист должен понимать, что это лучше. Полагаться на то, что он понимает, это примерно как полагаться на то, что программист везде где надо сам, по собственой инициативе, проверит все индексы прежде чем индексировать ими.
     
  • 3.179, мяв (?), 02:36, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    вообще, да.
    но и варнинги не по приколу существуют.
    более того, их описания тоже на что-то обычно наталкивают.
    поэтому тут скорее плохой танцор, решивший танцевать с инструментом с таким к.-вом ub.
     
     
  • 4.180, мяв (?), 02:40, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    причем, __явно__ проигнорировавший табличку о последствиях.
     
  • 4.238, Аноним (-), 11:31, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > но и варнинги не по приколу существуют.

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

    Пришлось искать ко(м)промисы и в kernel оно было включено не полностью.

     
  • 4.290, Аноним (312), 19:26, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так сишочный консенсус в том, что программист умнее каких-то там тупых компиляторов с варнингами, язык с создания это поощрял. Тем более что варнинг этот мог появиться позавчера, а код написал дед из Беркли в 1983.
     
     
  • 5.327, Аноним (60), 15:45, 24/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Причем у этого деда из Беркли в 1983, возможно код и не вызвал современных предупреждений.

    Как пример код, который может компилироваться и Qt4 и Qt5,Qt6.

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

     

  • 1.148, Аноним (-), 21:07, 20/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Использование Rust позволило значительно снизить вероятность появления проблем при работе с памятью,

    Ссылку на измерения в студию или не было.

    > По статистике Google и Microsoft около 70% опасных уязвимостей вызваны проблемами при работе с памятью,

    Это всё та же статистика десятилетней давности, про которую растоманы нам не устают повторять, или были какие-то фоллоап исследования, подтверждающие числа?

     
     
  • 2.152, Аноним (-), 21:20, 20/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Использование Rust позволило значительно снизить вероятность появления проблем при работе с памятью,
    > Ссылку на измерения в студию или не было.

    security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html

    > Это всё та же статистика десятилетней давности, про которую растоманы нам не устают повторять, или были какие-то фоллоап исследования, подтверждающие числа?

    Там был классный followup - отчет о написании 1.5млн строк расто кода в 13 андроиде.
    To date, there have been zero memory safety vulnerabilities discovered in Android’s Rust code.


     
     
  • 3.173, Аноним (41), 00:35, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > 1.5млн строк расто кода

    если написать 1.5млн строк на си типа 2+2, в них тоже будет zero memory safety vulnerabilities

     
  • 3.297, Аноним (-), 23:18, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Спс за ссылку.

    Забавно, там есть анти-RiiR утверждение:

    > it’s interesting to note that the percent of vulnerabilities caused by memory safety issues seems to correlate rather closely with the development language that’s used for new code. This matches the expectations published in our blog post 2 years ago about the age of memory safety vulnerabilities and why our focus should be on new code, not rewriting existing components.

    Как я понимаю, бессмысленно переписывать старый код на rust'е, потому что там и так уже уязвимостей мало, но вот новый надо писать на rust'е, чтобы не создавать этих уязвимостей.

     
     
  • 4.315, Аноним (-), 00:33, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Да, именно так гугл и делает И к этому пришли в ядре У них есть еще другая ста... большой текст свёрнут, показать
     
  • 4.316, Аноним (-), 00:35, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и утверждение гугла валидно только для переписывания за деньги.
    Для их старых кодов это экономически не имеет смысла.

    А вот just for fun можно хоть на брейнфаке писать.
    И если есть люди, которые бесплатно переписывают что-то на раст - это наоборот отлично))

     

  • 1.183, Аноним (183), 02:54, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Rust предотвращает double-free и use-after-free. Никаких гарантий невыхода за границы буфера он не дает. Покажите где я не прав.
     
     
  • 2.192, Аноним (192), 05:42, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Покажите где я не прав.

    Где-то в части про никаких гарантий.
    Раст, если при реализации втупую обратиться к индексу за пределами массива, просто паникнёт, не приводя к получению доступа к произвольным данным, выполнениям произвольного кода и прочим UB, за которые так любят сишку 90-летние пердуны.
    Но нормальный разработчик будет использовать интерфейсы к массиву, которые будут давать Option или Result, которые обязательно надо обработать... либо использует iter().

     
  • 2.234, Аноним (-), 11:21, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Никаких гарантий невыхода за границы буфера он не дает.
    > Покажите где я не прав.

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

     

  • 1.193, Аноним (193), 06:13, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отлично! Гугл таки вляпался в раст. Будет весело)))
     
     
  • 2.222, Аноним (34), 09:55, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Настало время изумительных историй.
     
  • 2.282, Аноним (-), 15:11, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Гугл таки вляпался в раст

    Что значит вляпался?
    Он один из создателей RustFoundation и платиновый спонсор. Они платят деньги чтобы раст развивался и становился лучше.

    Код на расте гугл использует где-то с 2018-19 года (андроид).
    Но кто ж из хейтеров об этом знает)))

    И оно уже давно в проде у миллионов юзеров.
    Поэтому весело должно было быть уже лет пять, но что-то мир не рухнул (и андроид тоже).

     

  • 1.208, Pret78 (?), 08:19, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Похоже, что основная причина создания Rust это работа со шрифтами:
    "Использование Rust позволило значительно снизить вероятность появления проблем при работе с памятью, повысить качество кода, снизить затраты времени на исправление проблем с безопасностью и ускорить внесение улучшений в возможности Chrome, связанные со шрифтами."
     
     
  • 2.221, Аноним (34), 09:54, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Причём тут шрифты до Раста?
    Сильно печот?
     
     
  • 3.230, Pret78 (?), 10:51, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Причём тут шрифты до Раста?
    > Сильно печот?

    Читай внимательно - не шрифты для раста, а раст для шрифтов.

     
     
  • 4.307, Прохожий (??), 11:16, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ваш оппонент написал "до Раста", а не "для Раста". И кто здесь невнимательно читает?
     
     
  • 5.308, Pret78 (?), 11:21, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Ваш оппонент написал "до Раста", а не "для Раста". И кто здесь
    > невнимательно читает?

    Выражение "не шрифты для раста, а раст для шрифтов" является моим мнением, а не цитатой мнения другого лица.
    Моё мнение составлено по результатам ознакомления с публикацией и в комментарии выше я приложил цитату.
    В публикации по содержанию текста указано, что с растом решаются определенные проблемы использования шрифтов.

     
  • 2.286, анонимище (?), 18:08, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Будьте осторожны в своих рассуждениях, ибо такими рассуждениями можно так же прийти к тому, что так же в основные причины создания Раст, можно включить ядра операционных систем и kernel драйвера)
     
     
  • 3.291, Pret78 (?), 21:45, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Будьте осторожны в своих рассуждениях, ибо такими рассуждениями можно так же прийти
    > к тому, что так же в основные причины создания Раст, можно
    > включить ядра операционных систем и kernel драйвера)

    Вообще, под Раст и ядро Линукс уже работает, и даже между мэйнтейнерами ядра Линукс была ссора (скорее всего всё ещё есть, потому что сишники не хотят код на раст и вроде даже не могут с ним работать).

     

  • 1.209, Аноним (209), 08:27, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Использование Rust позволило значительно снизить вероятность

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

     
     
  • 2.263, Аноним (252), 13:04, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.ht

    "As the amount of new memory-unsafe code entering Android has decreased, so too has the number of memory safety vulnerabilities. From 2019 to 2022 it has dropped from 76% down to 35% of Android’s total vulnerabilities. 2022 is the first year where memory safety vulnerabilities do not represent a majority of Android’s vulnerabilities."

     

  • 1.226, Аноним (226), 10:05, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > По статистике Google и Microsoft около 70% опасных уязвимостей вызваны проблемами при работе с памятью, которых можно избежать при использовании языка Rust **без unsafe-блоков**.

    Ну как бы даже в основной новости написано, что Rust'ом тоже надо уметь пользоваться, чтобы избежать проблем с памятью. Вот внезапность то! И с C / C++ надо уметь пользоваться! И если всё делаете правильно, а не неправильно, то не будет проблем. XD

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

     
     
  • 2.228, xsignal (ok), 10:34, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И, о чудо, если на Си программировать сосредоточенно и вдумчиво, а не левой ногой с анимешечкой фоном, то тоже будет всё хорошо! Проблема-то не в языке, а в котелке!)
     
     
  • 3.233, Аноним (-), 11:17, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > а не левой ногой с анимешечкой фоном, то тоже будет всё хорошо!

    Это что же получается? Все сишники - онимэшниги???

    У дидов из FreeType и прочих дыряшечных поделий анимешного фона не видно.
    Зато дыреней понаделывали - на сто лет вперед!

    > Проблема-то не в языке, а в котелке!)

    И у всех сишников проблемы с котелком...
    Может сишка разрушает мозг? Или на сишке изначально могут писать только отбитые?

    Но да, убогий недоязык из 70х явно в этом не виноват! Вердикт кексперта с опеннета))

     
     
  • 4.237, xsignal (ok), 11:27, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Это что же получается? Все сишники - онимэшниги???
    > И у всех сишников проблемы с котелком...

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

     
     
  • 5.242, Аноним (-), 11:49, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Весь мир сейчас на Си крутится

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

    Во всех областях этот хлам выкинули на мороз, заменив на с++, java, go, js и так далее.

    > в каждом утюге, и микроволновке есть прошивка на Си

    Или на асме.

    > никаких проблем с памятью не возникает.

    Потому что они не подключены в инет.
    А роутеры кроме трафикогоняния регулярно становятся сетью ботнетов.

    > фантазий

    Про эти "фантазии" мы регулярно читаем новости тут про очередную CVE.

     
     
  • 6.249, xsignal (ok), 12:05, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Никто ничего не вытеснил, в самых ответственных, высокопроизводительных и нагруж... большой текст свёрнут, показать
     
     
  • 7.262, Аноним (-), 12:59, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ахаха В ответственные приложения дыряшку не подпустят на пушечный выстрел Макс... большой текст свёрнут, показать
     
     
  • 8.267, xsignal (ok), 13:27, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Всё пишется, смотри рынок соответствующих вакансий О, опять фраза из лексикона ... текст свёрнут, показать
     
     
  • 9.272, Аноним (-), 14:04, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ээээ Любители СПО уже облизывали великодушных пожизненных диктаторов еще в то... текст свёрнут, показать
     
     
  • 10.277, xsignal (ok), 14:39, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Патрик - диктатор И кому и чего он надиктовал Тихо-мирно пилит самый спокойн... текст свёрнут, показать
     
  • 9.283, n00by (ok), 15:37, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    PAGE_FAULT_IN_NONPAGED_AREA - разыменовали 0-й указатель Другой вопрос, что оно... текст свёрнут, показать
     
     
  • 10.309, Прохожий (??), 11:26, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если это диверсия, то цели яснее некуда - как можно сильнее нагадить своим польз... текст свёрнут, показать
     
     
  • 11.311, n00by (ok), 11:59, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Когда сам себе стреляешь в ногу - это не диверсия Нагадили они компании Микросо... текст свёрнут, показать
     
  • 6.305, Аноним (305), 10:57, 22/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> никаких проблем с памятью не возникает.
    > Потому что они не подключены в инет.

    Такого бреда давно не читал

     
  • 5.251, Аноним (-), 12:18, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кажется ты уронил свой нос 128308 Давай просто сделаем поиск по сайту просто... большой текст свёрнут, показать
     
     
  • 6.259, xsignal (ok), 12:54, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > И что же мы видим?

    И что? Ошибки в программах были, есть и будут. Обнаружили, пофиксили - всего делов! Это даже хорошо, что ошибки находят - как раз благодаря простоте и прозрачноси Си.
    Какие-либо серьёзные последствия этих ошибок были?

     
     
  • 7.271, Аноним (-), 14:00, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > И что? Ошибки в программах были, есть и будут.

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

    > Это даже хорошо, что ошибки находят - как раз благодаря простоте и прозрачноси Си.

    Угу, именно поэтому ошибки живут годами и десятилетиями.
    А находят их в основном фаззиногом или генераторами невалидных данных "тупые машины". Потому что мясные мешки неосиливают увидеть все связи и edge кейсы.

    > Какие-либо серьёзные последствия этих ошибок были?

    Конечно была. Миллионы баксов убытков от простоем, взломы, воровство бизнес инфы.


     
  • 4.239, xsignal (ok), 11:39, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > убогий недоязык из 70х

    Т.е. ты ездишь на суперсовременных треугольных колёсах, а не на убогих круглых недоколёсах из древности?)

     
     
  • 5.243, Аноним (-), 11:53, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Т.е. ты ездишь на суперсовременных треугольных колёсах,
    > а не на убогих круглых недоколёсах из древности?)

    Я езжу на современных бескамерных колесах с асимметричным протектором и беспроводным датчиком давления.

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

     
     
  • 6.246, Аноним (209), 11:57, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Я езжу на современных бескамерных колесах с асимметричным протектором и беспроводным датчиком давления.

    Мы искренне рады за вас. Но как это поможет, если авто на скорости 160 км/ч на повороте с дороги вылетит?
    Впрочем, приложениям на русте скорость не грозит.

     
     
  • 7.258, Аноним (258), 12:52, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Мы искренне рады за вас. Но как это поможет, если авто на скорости 160 км/ч на повороте с дороги вылетит?

    Так они и помогут "не вылететь")
    Это как сравнивать нормальные шины и китайский китай.
    У каких сцепление будет лучше?
    От то-то и оно.

    > Впрочем, приложениям на русте скорость не грозит.

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

     
     
  • 8.287, анонимище (?), 18:19, 21/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    так он на каменных просто 160км ч не разгонится, буксовать начнут на месте уже п... текст свёрнут, показать
     
  • 8.328, Аноним (60), 16:22, 24/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Здравствуй, человек из прошлого И как вам там, в прошлом тысячелетии Нет ничег... текст свёрнут, показать
     
  • 6.321, Аноним (322), 16:43, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Я езжу на современных бескамерных колесах с асимметричным протектором и беспроводным датчиком давления.

    Ты покупаешь китайские джипы напичканные электроникой, непонятной фирмы.

    А кто то покупает классику McLaren.

     
  • 4.320, Аноним (322), 16:39, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > убогий недоязык из 70х

    Ну есть такие вещщи как законы гравитации.
    Они тоже из 70x .

     
     
  • 5.326, Анонимм (??), 21:00, 23/03/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Не, не. Гравитация существовала и ранее. Но с квантового уровня к ней сегодня конечно же есть вопросы. То есть, существует ли гравитация, когда ты о ней не думаешь? Это как с Линукс, типа.
     

     ....большая нить свёрнута, показать (25)

  • 1.250, Аноним (-), 12:07, 21/03/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

  • 1.294, Аноним (294), 23:03, 21/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Минимум в виде 8 гб памяти больше не минимум. Покупаем сразу тридцать два. Для комфортной работы с хромом придётся купить 64 гигабайта.
     
  • 1.325, Анонимм (??), 20:58, 23/03/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мы заметим?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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