LINUX.ORG.RU

Сообщения seiken

 

Переполнение кучи в glibc и другое

 ,

Рунет сегодня ожил, а тут свежачок подвезли:

https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=6bd0e4efcc78f3c0115e5ea9739a1642807450da;hp=8aeec0eb5a18f9614d18156f9d6092b3525b818c

И ещё другие баги в glibc 2.37 типа порчи памяти в qsort.

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

Перемещено hobbit из talks

seiken
()

Выключить snap

 

У меня десктоп на Ubuntu 22.04, ничего особенно не менял. Что конкретно отвалится или перестанет работать, если я сделаю systemctl disable snapd и перезагружу систему? Я так понял, файрфокс отвалится, т.е. его надо удалять из снапа и ставить из deb. Что ещё?

seiken
()

C# - язык 2023 года!

 пузомерка

Ну что, любители меряться пиписьками, мозгами, пузами и проч., детище MS, легендарный ЯП С#, знаменитый своей AOT, стал языком 2023 года по версии TIOBE, с формулировкой " language with the biggest uptick in one year (+1.43%)".

https://www.tiobe.com/tiobe-index/#:~:text=January%20Headline%3A%20C%23%20is%20programming,Congratulations!

P.S. Ловсан должен быть доволен.

seiken
()

Приложение камеры внезапно не открывается

 

У кого-нибудь такое есть? Вернее, открывается апп с кнопкой затвора, но область захвата чёрная, и через пару секунд апп просто закрывается без каких-либо сообщений. Помогает только ребут.

Xiaomi POCO X4 pro g5.

seiken
()

Разделение реализации и заголовков

 

Видел такое в одном проекте. Все *cpp располагаются в поддиректории impl, на один уровень ниже в дереве исходников относительно соответствующих заголовочных файлов.

Где это может быть удобно? Быстро скопировать заголовки и отдать кому-то без доступа к реализации? В любом случае всё тот же rsync, с минимальными отличиями. Автоматически добавлять ACL/MAC ограничения ко всем директориям impl? Что ещё?

seiken
()

Много-адаптерная мышка

 

Есть ли такие мышки, которые позволяют работать с разными BT адаптерами, переключаясь между ними?

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

seiken
()

Почему вы заинтересовались именно в нашей компании?

 

Сабж дурацкий вопрос на собеседовании при устройстве на работу? или нет? Я к тому, что есть иногда такие критерии, как близость офиса к месту жительства (не всегда актуально для IT), репутация компании (что-то не слышал, что какой-нибудь мексиканский картель или иные бандосы занимаются разработкой ПО). На все остальные нюансы ответ один и тот же: думаю, что способствует моим карьерным/профессиональным интересам.

seiken
()

Вопрос о китайском MIPS

 

Я правильно понимаю, что китайский Loongson 3A6000 использует свою «совместимую с MIPS» архитектуру, и китайцы не должны ничего Wave Computing, и не ограничены лицензиями и проч.?

seiken
()

Новый проц от MS

 

Пока SiFive реструктуризируется и увольняет сотрудников, MS работает над новым 128-ядерным ARM’ом для облаков. Целочисленная производительность ядра на уровне Ксеона эпохи SkyLake. Память планируется DDR5.

https://www.servethehome.com/microsoft-azure-cobalt-100-128-core-arm-neoverse-n2-cpu-launched/

Как думаете, что будет быстрее, собирать Линукс на младшей версии тредриппера в 64 потока или на вот этом, в 256?

seiken
()

Некрофилия или чувство прекрасного

 

Задумайтесь, почему люди, которые не застали эпоху 70х, 80х, с удовольствием смотрят фильмы того времени, а от современных плюются? Нельзя в данном случае сказать, что «когда я был молодой, солнце светило ярче, а стоял дольше», т.к. не было их даже в проекте, и никакого солнца для них не существовало.

Эпоха Вивальди и даже Моцарта - это вообще временной раздел размером с океан, и тем не менее.

Линукс тут при том, что когда копировали со «старых» коммерческих систем из 90х, была надежда, что будет альтернативный десктоп, а потом…

Разве это не подтверждение всеобщей дегенерации общества, а никакая не вкусовщина?

seiken
()

Werror - контроль качества или занудство?

 ,

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

Например, Werror (и то, что к нему полагается в виде -Wall, -Wextra и проч.). Но возникают такие ситуации, как например с «целочисленным повышением» и последующим сравнением с разным знаком. Например:

const unsigned x = 12;
unsigned char y;
unsigned char z;
... // что-то кладём в y и z
if (x < (y*z))
{
   // тра-ля-ля
}

И y*z превращаются («брюки превращаются, превращаются брюки…») в элегантный int, и вылезает предупреждение о различной знаковости, как бы совершенно на ровном месте. Т.е. теперь, чтобы ублажить компилятор, надо дополнительно, например, явно кастануть x к int’у. Т.е., код уже на пределе читаемости (выше пример - это сильное упрощение возможной реальной ситуации), и тут мы ещё добавляем вовсе не интуитивный (int).

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

P.S. кстати, поскольку в расте тоже есть беззнаковые типы, там тоже нечто подобное должно быть, или как?

UPD: в примере, в нагрузку к умножению надо ещё добавить сложение с ещё одним unsigned char.

seiken
()

Окно открытия файла и передний план

 ,

В GNOME ввели уже давно какую-то наркоманскую хрень. Если в приложении выбрать «открыть файл», pop-up окно отрывается где-то на заднем плане, а на переднем появляется уведомление, что типа окно готово. Где настроить, чтобы по-человечески диалог показывался сразу после его открытия?

seiken
()

Large-Scale C++

 ,

Джон Лакос выпустил аж три тома «Large-Scale C++». Кто-нибудь читал? Что скажете, стоит тратить на них время?

seiken
()

Вопрос новичку на тему C++

 

Допустим, окончили вы мега-курсы, и приходите устраиваться C++-программистом. Написали «C++» в списке знаний и навыков в резюме, и с гордо поднятой головой шагаете на интервью.

И вот, вам дают такой вопросик. Скажите, что произойдёт при выполнении данного кода (код, разумеется, бредовый, иначе как проверить знание секретов C++?):

#include <iostream>

struct T
{
    int iVal = 0;
    void printValue() const
    {
        std::cout << "Value is " << iVal << std::endl;
    }
    void destruct()
    {
        delete this;
    }
};

int main()
{
    T x{9};
    x.destruct();
    x.iVal = 11;
    x.printValue();
}

Какой правильный ответ, и почему?

seiken
()

Монадические операции: быть или не быть?

 , c++23

Кто не знал, в C++23 добавили «монадические операции» для std::optional. Вот тут можно посмотреть пример:

https://www.cppstories.com/2023/monadic-optional-ops-cpp23/

Что бы вы предпочли в своем коде: первый вариант (по старинке с if(x) …) или второй, монадический? При условии, разумеется, что вам доступен и разрешен C++23.

Лично я - первый, и вот, почему:

1) во-первых, классический пример уже неоправданно многословен. Зачем писать «if (x) … if (! x) …», когда можно просто «if (x) … else …»;

  1. автор как бы специально хочет показать, что с монадическими код короче, и специально вставляет пустые строки между if’ами, там где с монадическими операциями пишет всё подряд без пустых строк;
  2. приходится на пустом месте создавать лямбды;
  3. а что, если будет два std::optional, и второй используется опционально, при условии, что первый установлен? Тогда забор из лямбд.

Такое ощущение, что делается это всё ради жертвы богу функциональщины.

А вы как считаете?

seiken
()

GUI best practices

 

А есть ли какие-то best practices, если не стандарты для современного UI? Я не имею в виду всякие бензоколонки и терминалы самообслуживания в магазинах, а системы для компов общего назначения. Например, в классическом UI из 90х есть модели SDI/MDI, есть понятие главного меню, как должны выглядеть и вести себя пункты этого меню, есть тулбары, статус-бар и проч. джентльменский набор.

А для современного UI например на электроне есть подобное или кто как хочет, так и дрочит /// или разраб электрона уже всё на ходу «стандартизировал», а разраб только использует, что дают?

seiken
()

Опенсорс коллаборация опасна для национальной безопасности

 

Кто там раскатал губу, что RISC-V потеснит ARM, потому что свобода, равенство, братство взамен проприетарщине и анальным зондам?

Американские сенаторы уже хотят на законодательном уровне обязать все американские компании, а также физических лиц, работающих с Китаем по теме RISC-V, получать экспортные лицензии.

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

https://www.reuters.com/technology/us-china-tech-war-risc-v-chip-technology-emerges-new-battleground-2023-10-06/

seiken
()

Лохов опять развели

 

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

А вот, новости о iphone15:

(https://lenta.ru/articles/2023/10/08/iphone_trouble/)

A17 Pro — самый мощный мобильный процессор на рынке. Созданная по трехнанометровому техпроцессу модель имеет 19 миллиардов транзисторов и позволяет запускать на iPhone портированные ААА-игры с поддержкой трассировки лучей. До конца года на флагманские телефоны выйдут Death Stranding, Resident Evil 4 и Assassin's Creed Mirage — в серьезные игры с консолей можно будет спокойно играть на экране смартфона.

Трассировка лучей на смартфонном экране, серьезные игры с консолей на смартфоне… Больные что ли?

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

Гениально! Сначала спешат впихнуть в смарт печку, а потом героически её тушат :) Даже покраска говённая.

seiken
()

curl уязвим, но я вам не скажу, какие версии

 

Разраб (?) curl оповестил о том, что в curl найдена серьёзная уязвимость, жутчайшая за много лет. Мейнтейнеры дистрибутивов оповещены, детали 11 октября.

https://github.com/curl/curl/discussions/12026

I cannot disclose any information about which version range that is affected, as that would help identify the problem (area) with a very high accuracy so I cannot do that ahead of time. The "last several years" of versions is as specific as I can get.

We have notified the distros mailing list allowing the member distributions to prepare patches. (No one else gets details about these problems before October 11 without a support contract and a good reason.)

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

seiken
()

Физическое расположение ноута и работоспособность

 

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

Как вы считаете, должен ли ноут работать в негоризонтальном положении?

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

seiken
()