Погуглив, выяснилось, что такое случается, - нестабильность при многоядерной работе.
Сомнительная формулировка. Звучит как будто плохие многоядерные процессоры все ломают. Чаше всего в таких случаях проблема в сборочных скриптах, например какая-нибудь зависимость не указана и про последовательной сборки все замечательно, а когда параллельно все собирается сборка "А" запускает параллельно с "Б", и "А" нужно "Б" но система сборки об этом не знает и сборка проваливается. И это к сожалению хороший сценарий, плохой сценарий когда "Б" берется с предыдущего раза, и у тебя все собирается но бинарник не соответствует коду. Лучше чинить систему сборки таких пакетов, а не добавлять костыли. Или хотя бы насильно включать им сразу последовательную сборку, а не пытаться в несколько потоков собирать, а потом откатываться на последовательную сборку.
Был как-то на докладе про Java для "High-frequency trading". Только я бы не смог назвать это Java. Garbage collector не использовался, память выделялась и освобождалась вручную, почти все функции статические, а классы final. В общем-то у многих после доклада был вопрос, а зачем Java если из специфичных для нее возможностей ничего не использовалось.
И не совсем понятно с МРТ, одно дело управлять и собирать данные во время работы, другой вопрос обработка уже собранных данных постфактум для отображения на экране монитора. Для второго никакой работы в "реальном времени" не нужно и можно эту часть реализовать на чем угодно. А вот первое писать на языке с "garbage collection" довольно странно.
Сегодня они софтово заблокировали "майнинг" на видеокарте
Так она же этим десятилетиями занимается. Есть же Nvidia Quadro vs GeForce. Работает твой скажем solidworks медленно с GeForce, правишь реестр чтобы убедить solidworks что у тебя Quadro, а не GeForce. И вуаля "магическим" образом solidworks магически ускоряется.
Линукс защищён от угроз изнутри примерно как Win95, это не секрет.
Откуда это информация? В Win95 был SELinux для контроля что и как может делать каждый процесс (как в RedHat), или может там программы запускались в контейнерах (Ubuntu + snap),
или может в Win95 можно было смонтировать директорию пользователя с опцией noexec, и запретить ему запись в "program files"?
Ну вот например исследование скорости реакции разработчиков:
To summarize the 90 day time slot for each individual Linux distribution, Ubuntu and
Debian showed the largest amount of CVE fixes with 70% of all CVE fixes within this time slot. After this comes Fedora with 68% and OpenSUSE with 60%. The Linux distribution that had the least amount of fixes within this time slot was RedHat.
будут например добавляться убогие генерики вместо полноценных шаблонов
Ну у C++ есть ряд преимуществ, например наличие кучи готового кода на C++, почти бесшовная интеграция с C, наличие разных компиляторов (что также является недостатком). Но шаблоны, серьезно?
Не знаю какие языки вы имели ввиду по "заменой C++", но например в Rust можно писать плагины к компилятору (известные как "Procedural Macros") для того что не влезает в "generic" и обычные "macro_rules!". И тут C++ явно проигрывает, все-таки программировать на обычном языке программирования и на функциональном языке (а-ля "шаблонах c++") в котором и отладочную печать хрен реализуешь это совершенно разные вещи.
А часть того что делают "Procedural Macros" вообще реализовать нельзя в рамках текущего стандарта, я имею reflection, который вроде в c++23 будет или позже.
The GPL does not require you to release your modified version, or any part of it. You are free to make modifications and use them privately…
But if you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.
В моей интерпретации те кто купил могут потребовать исходные коды.
То есть если никакая гос. корпорация купившая эльбрус и ПО к нему не требует
исходников ядра то и нет никакого нарушения. Не пользователи по идее права требовать
исходные коды не имеют.
А вот права запрещать распространять они не имеют. То есть если кто-то получил модифицированные исходники под GPL, то он может свободно их опубликовать если захочет.
Неясно выразился, этот инструмент "ловит" во время компиляции. Превращает наличие вызова panic! в ошибку компиляции. Грубо говоря проверяет наличие "call stdlib_panic" в коде пользователя.
Есть инструментарий, который помогает поймать все вызовы panic!. Все методы типа unwrap и прочие, которые просто прерываю выполнение программы в конечном итоге вызывают panic!.
Я бы сказал что она очень плохо демонстрирует ответ на этот вопрос. По сути тормоза были у пользователей который по какой-то неведомой причине набирали смайлики юникодом в адресной строке браузера. Нафига им там в URL юникодовые смайлики и главное стоит ли ради юникодовых смайликов в URL бросать поддержку какой-то версии ОС?
Ну было бы на питоне 5 строк, пусть даже 10. Кому это важно?
По-моему это важно большинству пользователей при решении неповторяющейся задачи. Понятные строки нужны когда скрипт будет переиспользоваться. Тогда да, на питоне, да еще с "type hints" милое дело написать.
Ну формально говоря двумя лидирующими компаниями по производству видеочипов (AMD и NVidia) управляют люди приходящиеся друг другу родственниками и имеющие китайское происхождение. Так что в какой-то мере и сейчас мы сидим на китайских видеокартах.
Ну некоторые моменты никак библиотекой не спрячешь. Например, в результате вызова std::abs можно получить отрицательное число на любой платформе. А уж сколько было уязвимостей из-за целочисленное переполнения и сколько еще будет.
Стандартная "бесповодная" клавиатура от Apple прекрасно подключается по USB и определяется Linux как обычная клавиатура.
Сомнительная формулировка. Звучит как будто плохие многоядерные процессоры все ломают. Чаше всего в таких случаях проблема в сборочных скриптах, например какая-нибудь зависимость не указана и про последовательной сборки все замечательно, а когда параллельно все собирается сборка "А" запускает параллельно с "Б", и "А" нужно "Б" но система сборки об этом не знает и сборка проваливается. И это к сожалению хороший сценарий, плохой сценарий когда "Б" берется с предыдущего раза, и у тебя все собирается но бинарник не соответствует коду. Лучше чинить систему сборки таких пакетов, а не добавлять костыли. Или хотя бы насильно включать им сразу последовательную сборку, а не пытаться в несколько потоков собирать, а потом откатываться на последовательную сборку.
А что интересно с выборами в США, youtube блокирует https://www.rbc.ru/rbcfreenews/5fd126b29a794777727928b2 , а apple за республиканцев?
Был как-то на докладе про Java для "High-frequency trading". Только я бы не смог назвать это Java. Garbage collector не использовался, память выделялась и освобождалась вручную, почти все функции статические, а классы final. В общем-то у многих после доклада был вопрос, а зачем Java если из специфичных для нее возможностей ничего не использовалось.
И не совсем понятно с МРТ, одно дело управлять и собирать данные во время работы, другой вопрос обработка уже собранных данных постфактум для отображения на экране монитора. Для второго никакой работы в "реальном времени" не нужно и можно эту часть реализовать на чем угодно. А вот первое писать на языке с "garbage collection" довольно странно.
Это довольно денежный "бизнес" насколько я знаю. "Минируют" торговые центры, а потом предлагают заплатить чтобы это не повторилось.
А как
помогло с тем что приложение продолжает падать при старте?
Так она же этим десятилетиями занимается. Есть же Nvidia Quadro vs GeForce. Работает твой скажем solidworks медленно с GeForce, правишь реестр чтобы убедить solidworks что у тебя Quadro, а не GeForce. И вуаля "магическим" образом solidworks магически ускоряется.
Откуда это информация? В Win95 был SELinux для контроля что и как может делать каждый процесс (как в RedHat), или может там программы запускались в контейнерах (Ubuntu + snap),
или может в Win95 можно было смонтировать директорию пользователя с опцией noexec, и запретить ему запись в "program files"?
А можно пример, того что нельзя сделать с помощью плагина к компилятору, но можно сделать на шаблонах?
Ну вот например исследование скорости реакции разработчиков:
http://www.diva-portal.se/smash/get/diva2:1212525/FULLTEXT01.pdf
Почему-то статистика показывает обратную ситуацию, у rhel самая большая скорость реакции на уязвимости.
Ну у C++ есть ряд преимуществ, например наличие кучи готового кода на C++, почти бесшовная интеграция с C, наличие разных компиляторов (что также является недостатком). Но шаблоны, серьезно?
Не знаю какие языки вы имели ввиду по "заменой C++", но например в Rust можно писать плагины к компилятору (известные как "Procedural Macros") для того что не влезает в "generic" и обычные "macro_rules!". И тут C++ явно проигрывает, все-таки программировать на обычном языке программирования и на функциональном языке (а-ля "шаблонах c++") в котором и отладочную печать хрен реализуешь это совершенно разные вещи.
А часть того что делают "Procedural Macros" вообще реализовать нельзя в рамках текущего стандарта, я имею reflection, который вроде в c++23 будет или позже.
А как именно они нарушают?
Из FAQ GPL:
В моей интерпретации те кто купил могут потребовать исходные коды.
То есть если никакая гос. корпорация купившая эльбрус и ПО к нему не требует
исходников ядра то и нет никакого нарушения. Не пользователи по идее права требовать
исходные коды не имеют.
А вот права запрещать распространять они не имеют. То есть если кто-то получил модифицированные исходники под GPL, то он может свободно их опубликовать если захочет.
Неясно выразился, этот инструмент "ловит" во время компиляции. Превращает наличие вызова panic! в ошибку компиляции. Грубо говоря проверяет наличие "call stdlib_panic" в коде пользователя.
Так графика тоже была. X11 именно об этом,
запуске программы удаленно и получения "картинки" на текущем терминале.
Есть инструментарий, который помогает поймать все вызовы
panic!. Все методы типа unwrap и прочие, которые просто прерываю выполнение программы в конечном итоге вызываютpanic!.Да и со сложный я бы поспорил. Относительно какого-нибудь c++11-20 довольно легкий язык.
Я бы сказал что она очень плохо демонстрирует ответ на этот вопрос. По сути тормоза были у пользователей который по какой-то неведомой причине набирали смайлики юникодом в адресной строке браузера. Нафига им там в URL юникодовые смайлики и главное стоит ли ради юникодовых смайликов в URL бросать поддержку какой-то версии ОС?
По-моему это важно большинству пользователей при решении неповторяющейся задачи. Понятные строки нужны когда скрипт будет переиспользоваться. Тогда да, на питоне, да еще с "type hints" милое дело написать.
Ну формально говоря двумя лидирующими компаниями по производству видеочипов (AMD и NVidia) управляют люди приходящиеся друг другу родственниками и имеющие китайское происхождение. Так что в какой-то мере и сейчас мы сидим на китайских видеокартах.
Ну некоторые моменты никак библиотекой не спрячешь. Например, в результате вызова std::abs можно получить отрицательное число на любой платформе. А уж сколько было уязвимостей из-за целочисленное переполнения и сколько еще будет.