LINUX.ORG.RU

Сообщения KennyMinigun

 

Firefox Premium. А вы готовы заплатить?

Форум — Talks

Согласно с материалом статьи https://www.omgubuntu.co.uk/2019/06/firefox-premium-would-you-pay Mozilla планирует платную Premium подписку на услуги связанные с повышением приватности в сети (напр. VPN). Базовый функционал как был останется безплатным.

Интересно, что такой жест даст Мозилле?

 , firefox premium,

KennyMinigun
()

Обновлена страничка KDE Applications

Новости — KDE
Группа KDE

Актуализирована и переработана страничка со списком KDE Applications. Список приложений пересмотрен, неподдерживаемые приложения перенесены в соответствующую категорию. Обновлены описания приложений.

>>> Новая страничка

 , kde appplications

KennyMinigun
()

Мультиуровневый bsearch, нужно ли?

Форум — Development

Мои исходные данные – массив структур с географической информацией:

struct Geo {
  std::string airport;  // level: 1
  std::string city;     // level: 2
  std::string province; // level: 3
  std::string nation;   // level: 4
  std::uint8_t subarea; // level: 5 | values: 11, 12, 13, 14, 21, 22, 23, 31, 32, 33, 34
  std::uint8_t area;    // level: 6 | values: 1, 2, 3
};

Надо много (и желательно быстро) отвечать на запрос «принадлежит ли Needle к Haystack». Где Needle всегда более специфично нежели Haystack, например:

belongsTo(Needle=City{Munich}, Haystack=Subarea{21}) -> true

Я думаю посортировать данные иерархически:

std::vector<Geo> geos = allGeos();
std::sort(geos.begin(), geos.end(), 
  [](const Geo& lhs, const Geo& rhs) {
    int areaCmp = lhs.area - rhs.area;
    if (areaCmp != 0)
      return areaCmp < 0;

    int subareaCmp = lhs.subarea - rhs.subarea;
    if (subareaCmp != 0)
      return subareaCmp < 0;

    int countryCmp = lhs.nation.compare(rhs.nation);
    if (countryCmp != 0)
      return countryCmp < 0;

    int provinceCmp = lhs.province.compare(rhs.province);
    if (provinceCmp != 0)
      return provinceCmp < 0;

    int cityCmp = lhs.city.compare(rhs.city);
    if (cityCmp != 0)
      return cityCmp < 0;

    return lhs.airport.compare(rhs.airport) < 0;
  }
);

И потом использовать bsearch() по партициям типа Needle на пути от Haystack. Т.е (псевдокод):

int level = levelOf(Haystack);
std::vector stack{ Range{geos.begin(), geos.end()} };

while (!stack.empty()) {
  Range partition = stack.back();
  if (partition.empty()) {
    stack.pop_back();
    ++level;
  }

  // depth-first
  if (level > levelOf(Needle)) {
    iterator begin = partition.begin();
    iterator end = lower_bound(begin, partition.end(), valueOf(*begin, level));
    stack.push(Range{begin, end})
    level -= 1;
    continue;
  }

  // level == levelOf(Needle)
  if (bsearch(partition, Needle))
    return true;

  // trim parent's begin()
  stack.pop_back();
  stack.back().begin() = partition.end();
  ++level;
}

Где level обозначает поле из Geo, соответсвенно комментарию.

Вопрос такой: может есть алгоритм (или структура данных) лучше подходящая под цель?

 ,

KennyMinigun
()

Подскажите контейнер для const обьектов

Форум — Development

Все прекрасно знают (или сейчас узнают), что std::vector не умеет в const T. Хотя, вполне себе можно представить как такой контейнер будет себя вести:

  • под капотом std::aligned_alloc
  • добавляем через emplace_back(Args&&), который делает placement new
  • operator[] отдает через std::launder (C++17)

У меня есть метод, что подтягивает данные с базы. Хочу возвращать контейнер с const обьектами. Чтоб означить, что их не следует менять. Конечно ничего не мешает возвращать не-const

Есть ли что-нибудь на замену std::vector, чтоб самому не писать? Может boost?

 ,

KennyMinigun
()

Конкурс обоев для KDE Plasma 5.16

Новости — KDE
Группа KDE

В связи с запланированным выходом Plasma 5.16 команда KDE оглашает конкурс на лучшее фоновое изображение для предстоящего релиза.

В 5.16 запланированно полирование множества аспектов Plasma а также добавление нового фукнкционала. Появится режим «Не тревожить», более развитая история уведомлений и групирование, критические уведомления могут быть показаны даже при запущенном полноэкранном приложении, улучшения уведомлений файловых операций. Вишенкой на торте будет значительно улучшеная страничка «Системных настроек» для конфигурирования новых возможностей. Также, страничка «Система и Виджеты» (System and Widget Settings) была портирована на фреймворк Kirigami.

Как обычно, команды VDG (Visual Design Group) и команда Plasma Usability & Productivity продолжают работу по обработке отзывов пользователей и улучшению общего процесса работы с KDE Plasma.

Конкурс

Впервые, команда KDE оглашает конкурс на фоновое изображение рабочего стола по умолчанию: каждый может принять участие. Победитель получит компактный PC Slimbook One v2 (12.4 x 12.8 x 3.7 cm) c Core i5 и 8GB RAM на борту. Естественно, на компьютере будет установлена KDE Plasma 5.16 с вашим фоновым рисунком.

Правила конкурса размещены на страничке wiki: https://community.kde.org/KDE_Visual_Design_Group/Plasma_5.16_Wallpaper_Competition

Подача ваших изображений через специальный пост на форуме: https://forum.kde.org/viewtopic.php?f=312&t=160487

Финальный срок подачи 29/05/2019.

>>> Подробности

 , ,

KennyMinigun
()

Просьба срочной публикации новости

Форум — Linux-org-ru

Сабж: Конкурс обоев для KDE Plasma 5.16

Дедлайн конкурса очень даже скоро: 29 мая. Чем раньше опубликуется новость, тем больше у людей времени.

Благодарю!

cast @Shaman007 @jollheef @CYB3R

 , ,

KennyMinigun
()

Krita падает на Qt 5.12

Форум — Desktop

Падает с приблизительно таким сообщением:

free(): double free detected in tcache 2

Предыдущие строчки лога чаще всего не повторяются, так что думаю, что к ошибке не относятся. Но на всякий случай пример лога: https://paste.ubuntu.com/p/Cd8VsRT28W/

Покопавшись в инетах, я нашел похожий по симптомам багрепорт: https://bugzilla.redhat.com/show_bug.cgi?id=1666197

Который, в свою очередь, отсылает к: https://bugreports.qt.io/browse/QTBUG-72488

На реддите пишут, что в мейнстриме Krita уже заворкераундили: https://www.reddit.com/r/krita/comments/aanv5s/krita_crashes_when_opening_new_file/

В связи с чем реквест к @Sunderland93. Можете залить свежую версию для Ubuntu Disco в Krita Lime PPA? Спасибо заранее.

 , ,

KennyMinigun
()

C++ обошел Python по популяности

Форум — Talks

Как сообщает https://www.technotification.com/2019/04/c-knocks-python-out-of-top-three.html

согласно индексу TIOBE C++ переместился на третье место по популяности. Взрастание популярности вероятно обусловлено изменениями в стандарте начиная с C++11 и поддержкой среди «главных» компиляторов: GCC, Clang и Visual Studio.

 , ,

KennyMinigun
()

is_assignable<int, int> == false

Форум — Development

Сабж. Но почему?

#include <type_traits>
int main() { return std::is_assignable_v<int, int>; }
// --> 0

https://wandbox.org/permlink/59MyGGpqRz2q1zzq

 ,

KennyMinigun
()

Накладывает ли LGPLv3 ограничения на производимые результаты?

Форум — Development

Вопрос таков: если использовать инструмент под LGPLv3, то можно ли считать произведенные им результаты «work based on»?

https://choosealicense.com/licenses/lgpl-3.0/

https://www.gnu.org/licenses/gpl-3.0.en.html

A “covered work” means either the unmodified Program or a work based on the Program.

To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.

Например, подпадает ли код (текст) написанный в Qt Creator (Community) под определение «covered work»? Причем, код не использует Qt.

 , , ,

KennyMinigun
()

Милота

Форум — Talks

Листал я тут lorquotes. Глядите, что нашел http://www.lorquotes.ru/quotes-autor.php?id=56

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

В телефоны стали ставить двухядерные процессоры с гигом оперативной памяти? Я что то пропустил?
JB (*) (24.10.2007 04:54:21) (Источник)

Если это не вызывает у вас умилительную улыбку на лице, тогда…

 , , ,

KennyMinigun
()

Такое вообще легально?

Форум — Development

Есть шаблонная декларация с возвращаемым типом auto и без «trailing return type». GCC и Clang едят. Такое вообще легально?

Код:

foo.h

#pragma once

#include <string>
#include <utility>

class Foo {
public:
  explicit Foo(std::string name) : _name{std::move(name)} {}

  void bar() const;

private:
  template <typename Callback>
  auto wrap(Callback&& c) const; // <-- !!!
  
  const std::string _name;
};

foo.cpp

#include "foo.h"

#include <iostream>

template <typename Callback>
auto Foo::wrap(Callback&& c) const {
  return [&]() {
    std::cout << "das ist ein Wrapper aus " << _name << '\n';
    c();
  };
}

void Foo::bar() const {
  auto f = wrap([]() { std::cout << "das is ein Lambda\n"; });
  f();
}

main.cpp

#include "foo.h"

int main() {
  Foo foo{"Foo #1"};
  foo.bar();
}

Выводит (как и задумывалось):

das ist ein Wrapper aus Foo #1
das is ein Lambda

GCC: https://wandbox.org/permlink/jXIrkG0U13I9ZRnP
Clang: https://wandbox.org/permlink/6hs2OoxNpzhnu9iX

 ,

KennyMinigun
()

Симулятор трусов

Форум — Games

Разыскиваются поигрульки c более-менее внятным графонием по типу Nier Automata или Tomb Raider. Чтоб главная героиня (или со-героиня) постоянно была в кадре. Жанр не важен. Дискач

 ,

KennyMinigun
()

Не уверен баг ли в GCC или нет

Форум — Development

Есть код с C++Weekly от Jason Turner (только немного изменены имена): https://wandbox.org/permlink/EWlifMBMhvBhSn5B

Info: http://eel.is/c++draft/temp.variadic#5

template <typename... Functors>
struct CompositeVisitor : public Functors...
{
#if 1
  template <typename... Args>
  CompositeVisitor(Args&&... args) : Functors{std::forward<Args>(args)}...
  {
  }
#endif

  using Functors::operator()...;
};

template <typename... Functors>
CompositeVisitor(Functors...) -> CompositeVisitor<std::decay_t<Functors>...>;

struct Foo {};
struct Bar {};
struct Baz {};

int main() {
  CompositeVisitor visitor{
    [](const auto&) { std::puts("got some part"); return true; },
    [](const Bar&) { std::puts("got Bar"); return false; }
  };
  
  Foo foo;
  Bar bar;
  Baz baz;
  
  visitor(foo);
  visitor(bar);
  visitor(baz);
}

Clang собирает и работает, GCC не хочет:

prog.cc: In instantiation of 'CompositeVisitor<Functors>::CompositeVisitor(Args&& ...) [with Args = {main()::<lambda(const auto:1&)>, main()::<lambda(const Bar&)>}; Functors = {}]':
prog.cc:30:3:   required from here
prog.cc:11:72: error: mismatched argument pack lengths while expanding 'Functors'
   11 |   CompositeVisitor(Args&&... args) : Functors{std::forward<Args>(args)}...
      |                                                                        ^~~

Если подать типы Functors explicit, то собирается. Только с лямбдами немного накладно сделать.

Баг ли?

 , ,

KennyMinigun
()

Unlegacy AOSP 9.0 + OpenGapps на Nexus 5

Форум — Mobile

Накатил тут на Nexus 5 сборку от Unlegacy: https://forum.xda-developers.com/showpost.php?p=74514638&postcount=3

Однако GApps отказывается ставиться:

Open GApps micro 9.0 - 20190303
 
- Mounting  /persist /system
 
- Gathering device & ROM information
 
*** Incompatible Android ROM detected ***
 
This GApps pkg is for Android 9.0.x ONLY
Please download the correct version for
your ROM: 5.1.1 (SDK 22)

Прикол в том, что даже factory image для девайса не 5.1 (a 6.0)

На форуме и в интернетах ответа не нашел. Может есть кто подскажет чего?

cast @DATRAT

 , , ,

KennyMinigun
()

LLVM 8.0 почти вытужили

Форум — Development

На официальном http://llvm.org по графику:

  • 8.0.0:
    • Jan 16: Branch point, rc1
    • Feb 6: rc2
    • Feb 27: final

Но релиза все еще нет: https://prereleases.llvm.org/8.0.0/

На форониксе уже 26-го зафигачили новость: https://www.phoronix.com/scan.php?page=news_item&px=LLVM-Clang-8.0-Features

Кому там скор надо? Расчехляйте машину времени и вперед новость писать!

 , , ,

KennyMinigun
()

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

Голосования — Голосования

Речь идет о ПО с наличием специальной терминологии. Как например Blender, Kdenlive, IDE, Inkscape, GIMP, Krita, etc.

  1. Нет 542 (66%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Да 263 (32%)

    ***********************************************************************************************************************************************************

  3. Свой вариант в комментариях 17 (2%)

    **********

Всего голосов: 822

 , ,

KennyMinigun
()

Разочарованным в BMTH - amo

Форум — Talks

Речь о последнем альбоме Bring Me The Horizon под названием amo. Кто в теме, знает насколько «другой» данный альбом.

Так вот, тут недавно одна неплохая группа из Deutchland сделала из nihilist blues нечто: https://www.youtube.com/watch?v=VLGRymyT-mM

Enjoy!

А линукс тут при том, что смотри теги.

 , ,

KennyMinigun
()

Гномеры нашли повод выпилить очередную фичу

Форум — Talks

Из GNOME Shell убирают прозрачность панели когда прииложения не развенуты на полную. Поводом стала «нечитабельность текста и значков» при светлых обоях.

Рапорт проблемы был создан 2 года назад и было прежложено три варианта решения:

  1. Удалить фичу
  2. Использовать размытие (blur) фона
  3. Сделать фон текста темнее и с градиентом

Но в течении двух лет никто ничего так и не сделал, потому была выбрана опция 1.

Источник: https://www.omgubuntu.co.uk/2019/02/gnome-shell-translucent-top-panel-effect-removed

 , ,

KennyMinigun
()

LLVM почти закончил переход на Git

Форум — Talks

Хорошая новость такова, что LLVM уже закончил техническую часть миграции на Git. Если не будет «last minute objections», то формально тоже скоро закончат. Еще один гвоздь…

Плохая новость такова, что они мигрируют на GitHub.

Проект будет находиться тут: https://github.com/llvm/

Официальная статья на LLVM.org
Новость на Phoronix

 , , , ,

KennyMinigun
()

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