LINUX.ORG.RU

Сообщения KennyMinigun

 

В NVIDIA все перепутали (EGLStreams + Wayland)

Так вот, в NVIDIA (наверное сильно опечаленные новостью ухода Мартина Грасслина/Флессера от поддержки kwin) решили таки запилить патчи под EGLStreams для опенсорса. Только они немного ошиблись и пропатчили Mutter вместо KWin.

https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-Better-EGLStre...

 , , ,

KennyMinigun
()

Внешний функтор/функция для итерации по контейнеру

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

Можно использовать все фичи C++17.

Для себя наклепал вот такой рабочий пример: https://wandbox.org/permlink/kQc59EAs5MSMCxTE

Поревьювьте код, пожалуйста.

using Storage = std::vector<std::string_view>;
using PointType = Storage::const_iterator;

// пример функции итерирования, которая должна вызывать коллбек для каждой итерации
// template для дедукции лямбды
template <typename Callback>
struct IterateArrivals {
  void operator()(const Storage &storage, Callback callback) const {
    for (auto pointBegin = storage.rbegin(); pointBegin != storage.rend(); pointBegin += 2) {
      callback(pointBegin.base() - 1, pointBegin.base() - 2);
    }
  }
};

namespace {
// хелпер, чтоб задедуктить тип лямбды (его не можно задать explicit)
template <template <typename...> class Iterate, typename Callback, typename... Args>
void callIterate(Callback&& callback, Args&&... args) {
    Iterate<Callback>{}(std::forward<Args>(args)..., std::forward<Callback>(callback));
}
} // namespace

template <template <typename...> class Iterate>
void print(const Storage &storage) {
  unsigned int count = 0;
  
  // тут выполняем что-то для каждой итерации (лямбду)
  callIterate<Iterate>([&](PointType loc1, PointType loc2) {
    std::cout << '[' << ++count << "] {" << *loc1 << ", " << *loc2 << "}\n";
    return true;
  }, storage);
}

int main() {
  Storage itin{"A", "B", "B", "C", "E", "F"}; 
  print<IterateArrivals>(itin);
  // печатает:
  // [1] {F, E}
  // [2] {C, B}
  // [3] {B, A}
}

 ,

KennyMinigun
()

Есть ли какое-нибудь PPA с новым Qt для Bionic?

Я использую самосборный Qt Creator прилинкованый к «prebuilt» Qt 5.11.0 (c qt.io). Qt Creator собираю системным GCC 7:

$ g++ --version
g++ (Ubuntu 7.3.0-16ubuntu3) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Qt, в свою очередь собран старшим GCC:

$ readelf -p .comment qmake  

String dump of section '.comment':
  [     0]  GCC: (GNU) 4.8.5 20150623 (Red Hat 4.8.5-28)
  [    2d]  GCC: (GNU) 5.3.1 20160406 (Red Hat 5.3.1-6)

Проблема с собранным Qt Creator такова, что получает SIGSEGV при добавлении нового файла в проект (prebuilt Qt Creator, ессесно не падает). Грешу на несовместимость ABI.

Когда-то раньше у меня была подобная проблема, решил самосборкой целого Qt. Однако сейчас как-то лень. Может есть какие-нибудь PPA с новым Qt (хотя бы 5.10) собранным под Ubuntu Bionic (18.04)?

 , , , ,

KennyMinigun
()

Невидимый палец NVIDIA

С прошлого раза в X.Org 1.20 появилась поддержка EGLStreams для XWayland. Теперь, некий Olivier Fourdan из Red Hat пропатчил X.Org, чтоб XWayland не делал вдоль, если ему сказали -eglstreams, а в процессе запуска оказалось, что не можно. Таким образом делая XWayland мягким и шелковистым по отношению к композитору Wayland.

Взято с похороникса: https://www.phoronix.com/scan.php?page=news_item&px=XWayland-Better-EGLSt...

 , , ,

KennyMinigun
()

По поводу «оффтопика» в Галерее

Тема оффтопик-ОС в разделе «Рабочие Места» в Галереи немного скользкая. Вот недавно «под разачу» попала фотка такого контента:
www.linux.org.ru/gallery/workplaces/14193788

Хотя раньше в Галерею проскальзывали рабочие места с оффтопиком:

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

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

  • есть ли принципиальная разница с выключеным компом и включеным оффтопиком (на том же компе) в галереи?
  • минимальный критерий апрува в галереи — наличие онтопика на фото?

cast jollheef

 , ,

KennyMinigun
()

Подскажите алгоритм/структуру данных

Имеется огромный проект на С++ (около 9681 файлов исходников). И есть утилитарный скрипт, в котором основная задача сказать, встречаются ли два отдельно взятых файла в какой-либо единице трансляции (название единицы трансляции не важно). Иными словами, если имееются foo.h и bar.h и нужно сказать включены ли одновременно оба эти файла в какою-либо единицу трансляции, например baz.cpp.

Подскажите пожалуйста алгоритм/структуру данных чтоб можно было быстро дать ответ на вопрос из предыдущего абзаца. Причем ответ надо давать довольно часто (порядка 500 раз за прогон скрипта) и для разных пар файлов.

Disjoint Set (aka Union Find) не подходит, т.к. один заголовочный файл может включатся в разные единицы трансляции. Причем сами единицы трансляции имеют разный набор включенных файлов. Например, если имеется:

bar.h  foo.h  baz.h
  |   /     \ |
  bar.cpp    baz.cpp
то, bar.h и baz.cpp не имеют соединения. И, что важно, bar.h и baz.h не встречаются вместе ни в одной единице трансляции.

 , , ,

KennyMinigun
()

Посоветуйте где для Raspbian достать компиляторы посвежее

Хочется GCC 7.* и Clang 5 (или даже 6).

Не забанили в гугле, уже много чего перечитал. Местами люди сами собирают.

Вот мои находки:
https://github.com/raspbian-packages/gcc-7
https://www.raspberrypi.org/forums/viewtopic.php?t=190837

В идеале хотелось бы репозиторий с бинарными пакетами (чтоб все стандартно и не надо было собирать). Посоветуйте как лучше поступить.

 , ,

KennyMinigun
()

О том, как написать OS

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

Короче, вот плейлист*: https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M
GitHub с сорцами: https://github.com/AlgorithMan-de/wyoos

Дерзайте, кому интересно...

* требуется знание английского языка и некоторых языков программирования и инструментов; а также желание доучиться самому.

 , , ,

KennyMinigun
()

Почему оператор != не генерируется автоматически, если определен == ?

Собственно сабж. Вообще логично было бы определять логически противоположные операторы обоюдной негацией (отрицанием?):

struct Comparable {
  // имеем определенный оператор ==
  template <typename T>
  bool operator ==(const T &rhs) const { /* ... */ }

  // тогда было бы логично implicit определить
  template <typename T>
  bool operator !=(T&& rhs) const { 
    return !this->operator ==(std::forward<T>(rhs)); 
  }

  // ну или explicit
  template <typename T>
  bool operator !=(const T&) = default;
};

Я тут сварганил пример (естественно без шаблонов, чтоб меньше потенциальных ошибок): https://wandbox.org/permlink/a4k0hlNVI4UgyDrc

И, как можно видеть, оператор != не определяется автоматически. Вопрос: почему, ЧЯДНТ?

P.S. Нашел на stackoverflow предложение которое не вошло в С++17) но решило бы волпрос: Explicitly defaulted comparison operators

 , ,

KennyMinigun
()

Подсветка различий показывает HTML Special Chars

В общем при подсветке изменений происходит лишнее «экранирование»: > заменяется на &gt; и т.д.

Наблюдать явление можно тут нажав кнопку «Подсветить различия»: www.linux.org.ru/forum/general/14060502/14060616/history

 , ,

KennyMinigun
()

EGLStreams для XWayland

На похорониксе есть новость про X.Org 1.20. В ней, в частности, упоминается подержка EGLStreams d XWayland:

- EGLStreams support for XWayland is still pending but Jackson has indicated he will still let it land. This will allow the NVIDIA proprietary driver to support XWayland!

Так вот, вопрос к знатокам: значит ли это полноценный Wayland на проприетарном драйвере NVIDIA в обозримом будущем?

 , , ,

KennyMinigun
()

Почему удалили новость о телеметрии в Ubuntu Bionic (18.04)?

 ,

KennyMinigun
()

Ошибка Squid ERR_CANNOT_FORWARD

Я вообще новичек в Squid. Настроил его на локалхосте чтоб работал с корпоративным прокси и небыло петушни с паролями в env.

Однако есть проблема, после включения машины squid отдает страничку ошибки с HTTP кодом 500 Internal Server Error и HTTP заголовком

X-Squid-Error: ERR_CANNOT_FORWARD

В официальной документации есть небольшая статья с упоминанием ошибки: https://wiki.squid-cache.org/KnowledgeBase/FailedToSelectSource

У меня в конфигурации вот так:

# godirect — acl для интранета
always_direct allow godirect
always_direct deny all

# потом ниже

always_direct deny all
never_direct allow all

Проблема магически пропадает после рестарта squid

sudo systemctl restart squid

Версия squid:

$ apt policy squid
squid:
  Installed: 3.5.23-5ubuntu1.1
  Candidate: 3.5.23-5ubuntu1.1
  Version table:
 *** 3.5.23-5ubuntu1.1 500
        500 http://pl.archive.ubuntu.com/ubuntu artful-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu artful-security/main amd64 Packages
        100 /var/lib/dpkg/status
     3.5.23-5ubuntu1 500
        500 http://pl.archive.ubuntu.com/ubuntu artful/main amd64 Packages

Помогите разобраться почему squid так странно себя ведет

 , ,

KennyMinigun
()

Ресурс, где можно сделать хипстерские изображения с кодом

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

 ,

KennyMinigun
()

А давайте померяемся версией ядра в Android (ну или другом Linux-based)

Сабж. Интересно какое говно мамонта сейчас в ходу.

Начну с себя: Google Pixel / Android 8.1.0 / 3.18.70-g5520f6eb (gcc version 4.9.x-google 20140827 (prerelease) (GCC) )

 , , ,

KennyMinigun
()

Мммм... как PowerShell со вкусом Linux

Так вот, по последним сводкам с фронта, Шмикрософт выпустили PoewrShell Core 6.0 которая теперь идет и под GNU/Linux (и Яблоко счастливыйОС (ц)(р)(тм))

https://betanews.com/2018/01/12/powershell-core-windows-macos-linux/

В тред приглашаются сублиматоры на PowerShell как «намного лучше єтого вашего костыльного Bash» для выяснения отношения с отрядом закапывателей. Дискач.

 , , ,

KennyMinigun
()

Логировать использование %MEM %CPU для для заданных процессов

Нужен инструмент для который периодически дозаписывает в файл (не существенно в какой форме) данные использования %CPU и %MEM для процессов по имени (как в pgrep для вычисления PID). Нужно чтоб каже на лету подхватывались новые процессы с таким именем. Прикольно бы было если бы можно было бы логгировать просто процессы по условию «тои-5 использующих CPU и top-5 использующих MEM».

Надо чтоб инструмент был простой, так как для одно-дву-разового использования (т.е. не nagios). Иначе просто могу соорудить таковой сам из говна и палок bash и top.

Подскажите пожалуйста.

 , , ,

KennyMinigun
()

Теперь Outlook не нужен

Так вот, со вчерашним релизом KDE Applications в KMail добавили поддержку MS Exchange (extend, embrace & extinguish).

https://www.kde.org/announcements/announce-applications-17.12.0.php

https://micreabog.wordpress.com/2017/10/05/akonadi-ews-resource-now-part-of-k...

Так что бегом настраивать KMail на Exchange вашей «корпорации»!

 , ,

KennyMinigun
()

Зачем вы баните неадекватов?

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

Другая сторона медали — некорректные ники. Таких, да — только бан исправит (напр. SHAMAN007-PITUKH). Некорректые аватарки — можно удалять. Описание — ресетить.

А касательно неадекватного влдельца аккаунта — либо применить игнор либо просто подписать и не воспринимать всерьез.

Так зачем тогда банить неадекватов?

 , , ,

KennyMinigun
()

Выбора графического планшета тред

Собственно, я в теме не очень соображаю, а надо выбрать хороший графический планшет (в подарок). Подскажите, на какие параметры стоит смотреть (кроме цены) и какие фичи искать?

А вообще, было бы круто услышать отзыв/рекомендацию к конкретной модели Wacom.

Ну и естественно *необходимо* чтоб планшет работал под GNU/Linux

Заодно, посоветуйте софт для рисования пожалуста. MyPaint?

 , , ,

KennyMinigun
()

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