LINUX.ORG.RU

Сообщения fsb4000

 

В Rust-репозитории crates.io выявлен вредоносный пакет rustdecimal

https://www.opennet.ru/opennews/art.shtml?num=57169

Разработчики языка Rust предупредили о выявлении в репозитории crates.io пакета rustdecimal, содержащего вредоносный код. Пакет был основан на легитимном пакете rust_decimal и пользовался для распространения сходством в имени (тайпсквоттинг) с расчётом на то, что пользователь не обратит внимание на отсутствие символа подчёркивания, осуществляя поиск или выбирая модуль из списка.

Примечательно, что указанная стратегия оказалась успешной и по числу загрузок фиктивный пакет лишь немного отстал от оригинала (~111 тысяч загрузок rustdecimal 1.23.1 и 113 тысяч оригинального rust_decimal 1.23.1). При этом большинство загрузок пришлось на безобидный клон, не содержащий вредоносного кода. Вредоносные изменения были добавлены 25 марта в версии rustdecimal 1.23.5, которая до выявления проблемы и блокирования пакета была загружена около 500 раз (предполагается что большая часть загрузок вредоносной версии совершена ботами) и не была использована в зависимостях у других пакетов, присутствующих в репозитории (не исключено, что вредоносный пакет был в зависимостях у конечных приложений).

 

fsb4000
()

Релиз набора компиляторов GCC 12

На Opennet новость появилась:

https://www.opennet.ru/opennews/art.shtml?num=57145

На что стоит обратить внимание при портировании на gcc 12: https://gcc.gnu.org/gcc-12/porting_to.html

Header dependency changes

Some C++ Standard Library headers have been changed to no longer include other headers that were being used internally by the library. As such, C++ programs that used standard library components without including the right headers will no longer compile.

The following headers are used less widely in libstdc++ and may need to be included explicitly when compiled with GCC 12:

    <memory> (for std::shared_ptr, std::unique_ptr etc.)
    <iterator> (for std::begin, std::end, std::size, std::istream_iterator, std::istreambuf_iterator)
    <algorithm> (for std::for_each, std::copy etc.)
    <utility> (for std::pair)
    <array> (for std::array)
    <atomic> (for std::atomic)

Интересно многие ли проекты не включали все необходимые заголовочные файлы?

 

fsb4000
()

Firefox умирает?

Доля рынка уже почти в 3 раза меньше чем у Edge:

Chrome  74.04%
Edge    12.87%
Firefox 4.68%

источник

Я всё ещё пользуюсь firefox, так что надеюсь авторы его не забросят.

 ,

fsb4000
()

новости про C23

Как-то я пропустил эту статью от 28 февраля: https://thephd.dev/ever-closer-c23-improvements

Кратко о том что приняли нового в С23, и какие предложения отвергли. (в статье расписано более подробно)

Приняли:

  • N2935 Make false and true first-class language features
  • N2927 typeof
  • N2653 N2828 char8_t and Unicode Improvements!
  • N2900 Consistent, Warningless, and Intuitive Initialization with = {}
  • N2826 unreachable()
  • N2829 Make assert() macro user friendly for C and C++
  • N2432 N2841 K&R Function Declaration AND Definitions are 🪦
  • N2808 allow 16-bit ptrdiff_t again
  • N2778 Separating Variably-Modified Types from Variable Length Arrays
  • N2775 Literal Suffixes for _BitInt(N) types
  • N2701 @, $, and backtick are added to the source character set
  • N2764 [[_Noreturn]]
  • N2840 Make call_once mandatory

К сожалению часть предложений была отклонена от включения в С23:

  • N2896 #once and #once YOUR_GUARD_ID_HERE, to reduce include guard spam
  • N2895 N2892 defer, Lambdas
  • N2859 break break;, break continue;, break break continue;
  • N2917 constexpr

Также хочу скопировать из статьи пояснения по поводу defer и constexpr

defer, Lambdas, and similar were voted down, but still have consensus to proceed for a timeline beyond/after C23. I’ve personally volunteered to direct and maybe even steer the effort for Lambdas. defer might come along for the ride since it’s basically in the same vein when it comes to what variables are available for defer. Spoiler: we’re going to be pursuing barebones, simple defer that is block-scoped (to the nearest braces, or conditional/etc. if the braces are omitted). This is mostly to save us from making the same design mistake Go did, where they have a defer that may dynamically allocate (?! Jesus Christ!) or other complete nonsense.

other complete nonsense - ссылка на твит с таким текстом:

And this blocks

  for i := 0; i < 100000; i++ {
    mutex.Lock()
    defer mutex.Unlock()
    *counter += 1
  }

Is there anything in Go that is not broken?

constexpr - an extremely watered down version compared to C++ that is super simple and deliberately intended not to be much more than updated ways of handling constants in C - did not die. There is strong support to work on it, albeit it might not make C23. Which is perfectly okay, as long as it stays alive!

 ,

fsb4000
()

Небольшой обзор С++ 20/23 на примере Visual C++

Обзор Stephan T. Lavavej: https://youtu.be/DAl37n2XOwk

Если нет получаса для просмотра видео, то вот примеры части новых возможностей С++ которые рассмотрены в видео:

C++20 P0734R0 requires Expressions https://godbolt.org/z/jY1bETG7E

C++23 P0847R7 Deducing this https://godbolt.org/z/Tx8j4eeEr

C++23 P1679R3 contains() For string[_view] https://godbolt.org/z/eGKf6ns5r

C++23 P2166R1 Prohibiting string[_view] Construction From nullptr https://godbolt.org/z/KvocPWf33

C++23 P1072R10 basic_string::resize_and_overwrite https://godbolt.org/z/eWs57W36E

C++23 P0288R9 move_only_function https://godbolt.org/z/qorYY9va9

C++23 P0798R8 Monadic Operations For optional https://godbolt.org/z/dsnzxro9a

Мне больше всего понравились новая возможность C++23 P0847R7 Deducing this :

struct Cat {
    string m_name;
template <typename Self>
    decltype(auto) name(this Self&& self) {
        return forward<Self>(self).m_name;
    }
};

😺

Также 26 апреля 2022 с 18:00 до 21:00 по Москве пройдёт бесплатная однодневная виртуальная конференция для сообщества C++: https://aka.ms/pure-virtual-cpp

 ,

fsb4000
()

cmake 3.23

cmake 3.23 вышел.

Вот увидел такое новшество, решил поделиться:

The MCST LCC compiler is now supported with compiler id "LCC". 

https://www.kitware.com/cmake-3-23-0-is-available-for-download/

 ,

fsb4000
()

Microsoft собирается купить Activision Blizzard

 ,

fsb4000
()

Кому делать нечего на выходных и кто хочет попрограммировать

Нашёл сайт https://sberfight.geecko.com/game

Кто-нибудь из лоровцев уже решал там задачи? Или лоровцы опасаются что сбер им будет спам рассылать?

Вот мой результат: https://imgur.com/a/nIWRlcm

Но у меня нет аккаунта на leetcode и я не программирую на время, так что человек опытный в соревновательном программировании легко превзойдёт мой результат.

Вот полные правила для любителей почитать: https://geecko.notion.site/SberFight-983cc8ff50c946ad89125f74f13f8e26

 

fsb4000
()

Проект LLVM переходит со списков рассылки на платформу Discourse

https://www.opennet.ru/opennews/art.shtml?num=56505

https://llvm.discourse.group/

До 20 января все архивы прошлых обсуждений будут перенесены на новую площадку.

Очередная хорошая новость. Как и предыдущая когда закрыли багзиллу и перешли на github issues.

Ещё одна победа Web 2.0. Луддитов становится всё меньше…

 

fsb4000
()

Разработчик внёс деструктивные изменения в NPM-пакеты colors и faker, применяемые в 20 тысячах проектах

https://www.opennet.ru/opennews/art.shtml?num=56479

Что касается мотивов внесения в пакеты деструктивных изменений, то вероятно Марак пытается дать урок корпорациям, пользующихся трудами сообщества разработчиков свободного ПО, но ничего не возвращающих взамен, или привлечь внимание к переосмыслению обстоятельств смерти Аарона Шварца. Аарон покончил жизнь самоубийством после возбуждённого против него уголовного дела, связанного с копированием научных статей из платной базы данных JSTOR, отстаивая идею предоставления свободного доступа к научным публикациям. Аарону были предъявлены обвинения в компьютерном мошенничестве и незаконном получении информации с защищённого компьютера, максимальный срок наказания по которым составлял 50 лет лишения свободы и штраф в миллион долларов (в случае заключения судебного соглашения и признания обвинений Аарону предстояло отсидеть в тюрьме 6 месяцев).

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

 

fsb4000
()

Github Copilot пытается создать окно в С++/OpenGL

Была уже тема по Copilot когда анонсировали, сейчас в youtube увидел как это в реальности работает, поэтому решил обсудить:

2 минуты 26 секунд: https://www.youtube.com/watch?v=V0tqbEFHP6U

Ну как вам искусственный интеллект?

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

Несколько комментариев:

You tell the computer what to do and it does it? That's a great idea. Maybe we can even make special languages designed to talk to the computer so we can give more detailed descriptions. Oh wait... 
Copilot is the purest example of over engineering 

 

fsb4000
()

производительность Gnome/KDE/XFCE в играх

Тестирование на Phoronix:

https://www.phoronix.com/scan.php?page=article&item=kde-gnome-wayland21&num=1

Across all the games tested both native and titles via Steam Play (Proton + DXVK), the GNOME Wayland session most often was showing the best performance and across the wide range of tests carried out came to about 4% better performance than the GNOME X.Org session. The KDE Plasma Wayland session tended to perform slightly in front of its X.Org session as well for these Linux gaming tests but there were a few games still running into problems with the KDE Wayland session.

P.S. Gnome Wayland убедительно выиграл.

Вот вам и ответ, зачем нужен Gnome и Wayland. Может и в Valve эту статью увидят или сами затестят, и переведут Steam Deck на Gnome.

 , ,

fsb4000
()

CPPCon 2021

Если кто-то хотел посмотреть, то вот есть полный список выступлений.

https://www.youtube.com/playlist?list=PLHTh1InhhwT6vjwMy3RG5Tnahw0G9qIx6

 ,

fsb4000
()

А вы знаете стандарт С?

https://wordsandbuttons.online/so_you_think_you_know_c.html

You scored 5 points, congratulations!

я рад, что я помнил стандарт насчёт этих 5 вопросов :)

 

fsb4000
()

Борются ли у вас с 420 или 1488 или с чем-то ещё?

Откуда это пошло?

Какие ещё запрещенные числа есть?

666?

https://github.com/microsoft/STL/pull/2301#discussion_r752808084

Для Ъ

const optional<long> nonempty = 420;
While I see that these test numbers innocently started with 42, various code scanning tools and corporate policies may complain about this value. We should use a different value here, and probably change the rest of the progression.

Apologies for bringing up this incredibly tedious issue - I wish numbers were just numbers.

Просто интересно.

P.S. в ядре Linux есть 309 упоминаний 420 (может больше, github поиск врёт, grep надёжнее, но у меня нет локально ядра Linux, а клонировать лень)

https://github.com/torvalds/linux/search?q=420

 ,

fsb4000
()

С++23 уже почти здесь

по мотивам прошлой темы: Вести с полей стандартизации C++: C++20 design is complete (Kona, 2019-02)

Появился пост на reddit в котором можно увидеть какие ещё предложения войдут в С++23, возможно войдут в С++23, и не войдут: https://old.reddit.com/r/cpp/comments/qug17i/c23_near_the_finish_line/

Также можно увидеть что уже вошло в С++23 https://en.cppreference.com/w/cpp/compiler_support/23

Жалко, что

P1673 (P1385)	A free function linear algebra interface based on the BLAS	[9] NO
P1385 (P1673)	A proposal to add linear algebra support to the C++ standard library   [9] NO

Но тем не менее получилось не мало.

Кстати, если у вас есть негативный опыт с ranges_v3 и Boost.Range, то std::ranges гораздо более оптимизирован к скорости компиляции:

https://www.reddit.com/r/cpp/comments/qug17i/c23_near_the_finish_line/hkw97si/

 

fsb4000
()

X.Org, ещё один проект отказывается от autotools

Даже почти мёртвый X.Org перешёл на meson.

Поздравляю meson, всё больше проектов собирают им.

https://www.phoronix.com/scan.php?page=news_item&px=X.Org-Bye-Bye-Autotools

Я думаю autotools удалят из реп раньше чем X.Org.

А вы как думаете?

 , ,

fsb4000
()

Бесплатная неделя в PluralSight

Если есть время, то можно поизучать что-нибудь:

https://www.pluralsight.com/offer/2021/q4-free-week

 ,

fsb4000
()

GNOME 41 вышел

26 секундный ролик выпустили по этому поводу: https://youtu.be/V5jP1ym7nhM

Если кому-то нужен список изменений: https://help.gnome.org/misc/release-notes/41.0/

 

fsb4000
()

Rust приходит в Mesa

 ,

fsb4000
()

RSS подписка на новые темы