LINUX.ORG.RU

Избранные сообщения cvv

Valve продолжает совершенствовать SteamOS 3.0

 , , , ,

Группа Игры

Valve Corporation готовит игровой портативный компьютер Steam Deck, для которого пришлось значительно переработать собственную операционную систему SteamOS.

Steam Deck будет поставляться с операционной системой SteamOS 3.0, основанной на Arch Linux. Хотя система предназначена для игр из Steam, возможна установка и стороннего ПО, например, из альтернативных игровых магазинов (Epic Games или EA Play). Пользователи также смогут бесплатно заменить SteamOS на другую операционную систему. Менеджер пакетов, поставляемый вместе с SteamOS 3.0, — pacman. Среда рабочего стола — KDE Plasma 5.

Нововведения, представленные в SteamOS 3.0:

  • Переход на Arch Linux с KDE Plasma 5, поддержка Valve Proton.

  • Размер системы сократился с 24 до 10 ГБ. Благодаря этому пользователи получили дополнительное полезное пространство для игр и приложений.
    (Кроме 64-гигабайтной версии будут предложены варианты с NVMe-накопителями объёмом 256 и 512 ГБ. Во всех версиях доступна поддержка microSD.)

  • SteamOS 3.0 получила большую надёжность при работе с сенсорным экраном Steam Deck, повышенную производительность Wi-Fi, исправлены ошибки при выводе данных через HDMI, в состав ОС включены улучшения ядра и других компонентов.

  • Steam Deck будет поддерживать альтернативные BIOS для работы с памятью Samsung и Micron.

  • SteamOS 3.0 будет свободной, с намерением позволить другим разработчикам оборудования использовать её и построить похожие портативные устройства.

Благодаря док-станции, которая будет продаваться отдельно, Steam Deck можно будет использовать в качестве ПК.

Продажи Steam Deck начнутся в конце февраля 2022 года в ряде стран (будет ли среди них Россия и другие страны СНГ — неизвестно). Изменения в ПО Steam Deck будут вноситься и после релиза компьютера. Цена версий с 64, 256 и 512 ГБ постоянной памяти составит 399, 529 и 649 долларов.

>>> Подробности на сайте Tom's Guide (tomsguide.com)

anonymous
()

ONLYOFFICE 7.0

 ,

ONLYOFFICE 7.0
Группа Open Source

Вышел офисный веб-сервер и десктопная версия ONLYOFFICE 7.0.

Начиная с этой версии, ONLYOFFICE Document Server переименован в ONLYOFFICE Docs. Docs — это веб-приложение, предоставляющее пользователям возможность создавать и редактировать файлы офисных форматов. Поддерживаются текстовые, табличные документы, а также презентации.

Лицензия — AGPL. Доступна интеграция с Nextcloud, Owncloud, Alfresco, Confluence и др.

В этой версии впервые добавлен редактор веб-форм. Формы сохраняются в специальных форматах DOCXF или OFORM. В отличие от Google docs, например, поддерживается произвольное размещение полей в документе.

Одновременно с ONLYOFFICE Docs состоялся релиз ONLYOFFICE DesktopEditors, который представляет ту же функциональность, но в виде самостоятельного десктопного приложения.

( читать дальше... )

Для установки сервера можно воспользоваться готовым образом Docker.

Десктопные версии доступны в виде готовых пакетов, Flatpak, Snap и AppImage.

>>> Подробности (onlyoffice.com)

Aceler
()

Говорили что Перл старый, ни на что не способный язык. Проверим?(часть 2)

 , ,

Задание на сейчас. найти максимальное вхождение одного слова в другое в СЛОВАРЕ - смотри ниже!!!

Перл - со словарём не справился;

Для C++ . - У меня перебирает весь словарь за 17 секунд;

Для JS - Около минуты. Говорили что Перл старый, ни на что не способный язык. Проверим?(часть 2) (комментарий);

Всё. Пока ничего другого, полностью рабочего нет.

Не нужно писать решение для единичных слов. Нужно - решение для словаря.

Возьмём список русских существительных, например отсюда: https://github.com/Harrix/Russian-Nouns/releases/download/v2.0/russian_nouns_v2.0.zip

Нужно найти максимальное вхождение одного слова в другое. Полные вхождения слов - не допускаются - это вроде было ясно и понятно всем. — Это задание. Это!!!


Самое простое и наглядное решение в составлении слов это:

/(\w+) \1/

Так-как даже я уже ничего не могу найти в первой части:

Говорили что Перл старый, ни на что не способный язык. Проверим?

Предлагаю собрать сюда наиболее значимые решения из 1 части.

Итак:

В начале, мы просто делали из

шлакоблок + окунь = шлакоблокунь

На разных языках. Там есть решения. Затем все стали зачем то уменьшать количество строк и символов - победил Перл - но это вообще не интересно.

Теперь, самое главное:

Говорили что Перл старый, ни на что не способный язык. Проверим?

Здесь все согласились что Перл хороший и годный язык, но С++ всё равно быстрее. В связи с этим, было предложено:

Говорили что Перл старый, ни на что не способный язык. Проверим?


Возьмём список русских существительных, например отсюда: https://github.com/Harrix/Russian-Nouns/releases/download/v2.0/russian_nouns_v2.0.zip На основе этого списка создадим новый, со всеми новыми сочетаниями, где перекрываются не менее 3 букв. Тут даже секундомером можно замерять. У меня на моем стареньком ноуте ушло несколько минут и сгенерировалось почти 40 Мбайт из одного. У Вас есть код на Перле и C++. Можете сравнить время. Так как здесь тоже работа со строками, то у Перла есть шанс.

Но потом договорились до изменения задания:

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

Единственное что мне приходит в голову - найти максимальное вхождение одного слова в другое. —!!! Это и стало основным и новым заданием. !!!—


Эти все задачи были решены для Перл и С++

Для Перл. 3 варианта решения. Но ни одно не берёт весь словарь:

#!/usr/bin/perl

use utf8;
use open qw(:std :utf8); 

$t = time();

$| = 1;
open D, 'russian_nouns.txt';

for(0..3000) {
  $vv=<D>;
  $vv =~ s/\s+$//;
  @d = (@d, $vv);
  }

close D;
@d2 = @d;


for $v (@d){
    ++$ii; if (++$j>99){
    $t2 = time()-$t;
    print $ii." прошло $t2 секунд. $sov1 $str\n"; $j=0;}

  for $v2 (@d2) {&resh3 ()}
  
M1:  
  }
  
sub resh3 {
  
  $lv = length $v;
  $lv2 = length $v2;

  if($lv>$lv2) {
  
    for($i=$lv2; $i>1; $i--) {
      $c = substr ($v, -$i,);
      $c2 = substr ($v2, 0, $i);
      if (($c eq $c2) and ($c ne $v2) and ($c ne $v)){
          $sov = length $c;
          if ($sov>$sov1){$sov1=$sov; $str="$c = $v-$v2"}
          }
        
  
      }

  
  }
  else {
    
        for($i=$lv; $i>1; $i--) {
      $c = substr ($v2, -$i,);
      $c2 = substr ($v, 0, $i);
      if (($c eq $c2) and ($c ne $v2) and ($c ne $v)){
          $sov = length $c;
          if ($sov>$sov1){$sov1=$sov; $str="$c = $v-$v2"}
          }
        
  
      }
    
    
    
    }
  
  
}
  

sub resh1 {  
    $r=''; $l='';
    for(split(//,$v2)){
      $r .= $_;
      if ($v =~ /$r$/) {$l=$r}  
      }
    #print "$v-$l-$v2\n" if length $l>4 and $v ne $l;
    
    if ($l and ($l ne $v2) and ($l ne $v)){
    $sov = length $l;
    if ($sov>$sov1){$sov1=$sov; $str="$l - $v-$v2"}
}
}


sub resh2 {
  
    if($v ne $v2) {
    $_ = "$v $v2";
    /([^ ]*?)([^ ]*) \2/;
    
    if ($2 and ($2 ne $v2) and ($2 ne $v)){
    $sov = length $2;
    if ($sov>$sov1){$sov1=$sov; $str="$2 - $_"}

}
  }}
  

Для C++ . У меня перебирает весь словарь за 17 секунд.:

#include <iostream>
#include <fstream>
#include <ctime>
#include <string>
#include <vector>
using namespace std;

void check_combine(string &res, size_t &len, const string &s1, const string &s2)
{
    len = 0;
    for(auto &ch: s1)
    {
        if(len == s2.size())
        {
            break;
        }
        if(ch == s2.at(len))
        {
            len += 1;
        }
        else
        {
            len = 0;
        }
    }
    if(!len)
    {
        res = "";
    }
    else
    {
        string s3  {s2};
        s3.erase(0, len);
        res = s1;
        res += s3;
    }
}

void getlines(vector<string> &lines, fstream & f)
{
    string str;
    while(getline(f, str))
    {
        lines.push_back(str);
    }
}

int main()
{
    fstream inFile;
    inFile.open ("russian_nouns.txt", std::fstream::in);
    vector<string> lines;
    getlines(lines, inFile);
    size_t maxLen  {0};
    size_t rusMaxLen  {0};
    string maxRes  {""};
    time_t startTime = time(nullptr);
    size_t counter  {0};
    for(auto &s1: lines)
    {
        for(auto &s2: lines)
        {
            counter += 1;
            if(s1 == s2)
            {
                continue;
            }
            if(s1.size() < maxLen)
            {
                continue;
            }
            if(s2.size() < maxLen)
            {
                continue;
            }
            size_t len  {0};
            string res;
            check_combine(res, len, s1, s2);
            if(res == s1)
            {
                continue;
            }
            if(res == s2)
            {
                continue;
            }
            if(len > maxLen)
            {
                maxLen = len;
                rusMaxLen = maxLen / 2;
                time_t delta = time(nullptr) - startTime;
                string deltaStr  {s2};
                deltaStr.erase(len);
                maxRes = deltaStr + " - " + s1 + '-' + s2;
                cout << counter << "\t прошло: " << delta << " секунд, длина: ";
                cout << rusMaxLen << ", " << maxRes << '\n';
            }
        }
    }
    cout << "\n\nРезультат: " << rusMaxLen << ", " << maxRes << '\n';
    time_t delta = time(nullptr) - startTime;
    cout << "Полное время переборов: " << delta;
    inFile.close();
    return 0;
}


Ниже - не решения текущей задачи! Не решения. Ниже - просто выборка всех решений, на всех языках с прежней темы.

Блин. Как же сложно с людьми с недостаточным образованием. Я вот уже 6 раз написал - и всё равно будут писать про Шлокоблококунь.

php:

➜ php i.php "папа + папаха"
папаха%                                                                                                                                                                   ➜ php i.php "шлакоблок + окунь"
шлакоблокунь%                                                                                                                                                              
➜ cat i.php
<?php
for ($i = 1; $i <= mb_strlen(trim(explode('+', $argv[1])[0])) && $i <= mb_strlen(trim(explode('+',$argv[1])[1])); $i++)
    if (mb_substr(trim(explode('+', $argv[1])[0]), mb_strlen(trim(explode('+',$argv[1])[0])) - $i) === mb_substr(trim(explode('+',$argv[1])[1]), 0, $i)) 
        $j = $i;
echo (isset($j)) ?  trim(explode('+',$argv[1])[0]). mb_substr(trim(explode('+',$argv[1])[1]), $j) : 'error';

Говорили что Перл старый, ни на что не способный язык. Проверим? (комментарий)

kompospec
()

Говорили что Перл старый, ни на что не способный язык. Проверим?

 , , , ,

Говорили что Перл старый, ни на что не способный язык. Проверим?

Задачка:

Необходимо для каждой пары слов получить новое слово, так, чтобы окончание первого совпадало с началом второго, например, шлакоблок + окунь = шлакоблокунь. Это слово надо вывести в стандартный поток вывода.Если слова возможно соединить несколькими способами, надо выбрать тот, что обеспечивает максимальную общую часть, например папа + папаха = папаха (а не папапаха). Необходимо написать последнее условие.

Я просто взял практически первое попавшаяся задание.

На Перле программа заняла 5 строк не считая ввода-вывода. С вводом-выводом - 7 строк.

А как у вас? На ваших Супер-пупер языках?

Перемещено xaizek из general

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

kompospec
()

Игорь Сысоев покидает nginx

 

Группа Open Source

…. Поэтому с грустью, но и с благодарностью мы объявляем сегодня, что Игорь решил отказаться от NGINX и F5, чтобы проводить больше времени со своими друзьями и семьей и заниматься личными проектами.

>>> Подробности (nginx.com)

Jopich1
()

Почему C++ не может без потери данных сдвинуть запятую во float типе данных?

 ,

Привет всем!

Столкнулся с проблемой, простейшее умножение числа 0.56 на 10.0 не даёт точного результата. C++ просто не в состоянии перенести знак справа налево когда я хочу перенести разряд. Но при этом, 0.56 * 100.0 даёт точный ответ, точное число 56.0! Lol! ))))

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

Да, в нодах есть операции округления, но мне это не подходит, потому что мне нужно получать из большого целого числа отдельные части разрядов, т.е. из числа 12345 получать отдельно число 1,2,3,4 и 5. При этом у меня нет никаких переменных, циклов и т.д.как в традиционных языках программирования. Есть только нодовый поток. Я научился это делать умножением и делением, получать отдельные разряды в нодовом потоке, но столкнулся со странной математикой в C++ на которые эти ноды опираются (полагаются).

Почему C++ не может просто сдвинуть запятую справа налево при умножении на 10, а при умножении на 100 может? Это баг какой-то или фича?

В других языках, которых я немного знаю, Java и Python (да, я понимаю, что это интерпретируемые языки) такого нет, результат всегда ожидаемый: 0.56 * 10.0 = 5.6 - P.S. Как оказалось - нет, см. комметарии.

https://godbolt.org/z/ErnbfePhf

dva20
()

как работают звуковые подсистемы в Linux

 , , , ,

К своему стыду не углублялся в эту тему и не совсем понимаю как вся эта кухня работает. И если кто нибудь объяснит человеческим языком, не особо вдаваясь в подробности что за ужас тут творится, то я буду очень признателен.

Итак, я знаю что есть pulseaudio - звуковой сервер. По идеи он должен работать с потоками аудио, сводить источник и output девайсы, управлять громкостью и т.д. Есть ALSA, как я понял работает она в пространстве ядра и тоже имеет свои настройки и делает примерно тоже самое. А также предоставляет API для программистов и работает с низкой и стабильной задержкой. А есть еще JACK и JACK2. Вот тут я уже начинаю путаться. Нафига оно нужно? Да и что такое JACK в принципе? Есть большой пласт приложений, bitwig studio например или другие DAW, которые требуют (хоть и имеют фолбеки к другим подсистемам) его наличия. Почему бы не использовать ALSA к примеру? И чем ALSA плох что на его замену был написан pulseaudio? Плюс как я понял можно объединять ALSA и pulseaudio каналы через JACK. Вопрос нафига?

И еще: всегда интересовал вопрос чем все это отличается от CoreAudio в MacOS или звуковой подсистемы в офтопике если не вдаваться в подробности.

Unixson
()

Wine 7.0

 

Группа Open Source

Команда Wine с гордостью сообщает о выходе нового стабильного релиза Wine 7.0.

Этот релиз представляет собой год усилий по разработке и более 9100 индивидуальных изменений. Основные изменения коснулись следующих областей:

  • Большинство модулей переведено в формат PE.

  • Улучшена поддержка тематического оформления, добавлена новая тема оформления для более современного вида.

  • Значительно улучшен стек HID и поддержка джойстиков.

  • Новая архитектура WoW64.

( читать дальше... )

>>> Подробности (winehq.org)

cocucka
()

Почему не делают больше качественного DLC?

 ,

Кто тут из геймдева или сочувствующие?

Сколько в процентном отношении «стоит» создать для игры дизайн, движок\механики и сценарий?

Многие DLC выглядят как незначительные изменения в дизайне и механиках и значительные - в сценарии.

Вопрос: разве это не выгодно один раз разработать хороший дизайн и механики, и потом клепать (относительно более дешевые) DLC, каждая из которых будет полноценной главой игры - и продаваться?

Взять, например, ведьмака - с радостью поиграл бы в еще одно дополнение, которое по механике не отличалось бы от оригинала (ну добавьте пару новых скинов для монстров и напишите сценарий, как Геральт ищет какую-нибудь реликвию или типа того - такая расширенная побочка).

Как пример игры, которая выглядит так, словно делает предложенный выше вариант приведу The Dark Pictures Anthology - хотел бы умышленно не обсуждать эту игру именно как игру (кому-то нравится, кому-то нет), но просто как принцип развития игры - они создают по игре в год (sic!) в стиле «тех же щей больше лей», а мне очень бы хотелось еще щей от ведьмака, dragon age, red alert 2, dishonored, elder skrolls, mass effect 2, kotor2.

omegatype
()

Посоветуйте нативную rdf БД. Хотелось бы похачить SPARQL движок.

 ,

Предварительно я ориентируюсь на Apache Jena обвертку для Постгреса.

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

cvv
()

Ну и как, спрашивается, жить с четырьмя версиями тулкитов (GTK3/4 и Qt5/6) вне KDE?

 , , , ,

Ибо настроить вручную темы для всех тулкитов хоть и можно, но сложно (придётся каждой программе свои параметры выдавать, а ля QT_QPA_PLATFORMTHEME, а это долго и муторно). А "кеды" это делают за меня, оставляя мне время на корчинг чего-то ещё.

Впрочем, чего я ещё ожидал в переходной период смены версий тулкитов…

P.S. Хоть бы в LxQt поддержку тем Qt5 для приличия прикрутили, что ли. А то как так то: DE на "куте", а темы не поддерживает!

Korchevatel
()

В Ubuntu 22.04 LTS будет урезана стандартная тема оформления

 , , ,

Группа Ubuntu Linux

В тему оформления Yaru принято изменение, в котором для всех элементов кнопок, ползунков, виджетов и переключателей отказались от баклажанового цвета и вернулись к оранжевому. Причиной такого решения стали ограничения библиотеки libadwaita, в которую начиная с GTK 4.4 вынесены компоненты используемой в GNOME темы оформления Adwaita. В этом релизе нельзя использовать более одного акцентирующего цвета, и применяется серый цвет для кнопки закрытия окна для того, чтобы добиться единообразия элементов заголовка.

Напомним, что первым сокращением масштаба работы над темой оформления Ubuntu стал отказ от разработки тем Ambiance и Radiance и переход на Yaru в релизе Ubuntu 18.10. Целью данного перехода было упрощение разработки темы и сокращение слишком больших трудозатрат на сопровождение нестандартных тем оформления, путем использования стандартного стиля, что в итоге привело и к «пластиковому» интерфейсу в дальнейшем.

Далее в Ubuntu 21.10 отказались от комбинированного варианта сочетающего тёмные заголовки, светлый фон и светлые элементы управления, так как отсутствует в последних релизах GTK3 и GTK4 возможности определения разных цветов фона и текста для заголовка и основного окна, что не позволяет гарантировать корректную работу всех GTK-приложений при использовании комбинированных тем.

>>> Подробности (omgubuntu.co.uk)

ipkirill21x
()

PeerTube v4

 , , , ,

PeerTube v4
Группа Open Source

PeerTube — свободная (AGPL 3.0) реализация видеохостинга, использующего технологии AcivityPub (протокол федеративных сетей) и WebTorrent (p2p на основе WebRTC), благодаря чему можно не иметь крупную серверную инфраструктуру для доставки контента. Реализована возможность создавать каналы, загружать на них видео и вести трансляции, подписываться на новые видео, писать комментарии и совершать прочие действия, используя единый аккаунт внутри сети.

( читать дальше... )

С полным списком изменений можно ознакомиться на странице релиза в GitHub.

>>> JoinPeerTube (официальный сайт)

>>> Подробности (framablog.org)

InterVi
()

Годные вакансии для сишника

 , ,

Какие существуют тру-Ъ компании и вакансии для сишника с уклоном в сетевое программирование, либо хардкорное системное программирование под linux?

Глаза горят, сишку люблю, готов писать всё (кроме кровавого энтерпрайза)

zooZooz
()

Сайт torproject.org заблокирован (объявление от проекта Tor)

 , , ,

Группа Интернет

Проект Tor опубликовал официальное объявление о ситуации с блокировками в России:

Пользователям рекомендуется использовать мостовые узлы.

Россия находится на втором месте по числу пользователей Tor (14 % из всех пользователей Tor), уступая лишь США (20,98 %). Для того чтобы помочь в обходе блокировок в РФ представителям сообщества предлагается принять участие в создании новых мостовых узлов. В настоящее время насчитывается около 1600 подобных узлов, из которых 1100 можно использовать с транспортом obfs4.

>>> Подробности (torproject.org)

anonymous
()

GNU Guile-CV 0.3.1

 , , , ,

Группа GNU's Not Unix

Guile-CV — это библиотека компьютерного зрения для языка программирования GNU Guile, являющаяся привязкой к библиотеке Vigra. Vigra написана на C++ и используется в Guile-CV через прослойку Vigra C. Guile — реализация языка Scheme, диалекта Lisp.

Изменения с прошлой новости (0.2.0)

( читать дальше... )

>>> Источник (gnu.org)

mertvoprog
()

Можно ли собрать ядро в WSL и перенести на загрузочный USB?

 ,

Сабж. Надо тестировать драйвера для ES8336, в sofproject таки начали пилить, но без проверки ядра на ноуте никак не выйдет. Сносить оффтопик пока не вариант.

crazyfrog
()

какой процессор необходим для одновременной работы 10 виртуалок х64

 

какой процессор необходим для одновременной работы 10 вируталок х64 5 дебианов 3 убунты 2 вин10

нагрузка на оси будет в основном небольшая что-то вроде браузера и видео, легкого софта

виртуализация через: Oracle VM VirtualBox или VMware Workstation

не серверные процы, простые «домашние»

интересует как интел так и амд

и сильно ли хуже амд в данном случае?

virbl1
()

saahriktu был прав! Дырки через юникод везде! Мы все погибнем!

 , ,

https://krebsonsecurity.com/2021/11/trojan-source-bug-threatens-the-security-of-all-code/

для Ъ: с помощью Юникода в код можно впихивать дырки которые фиг заметишь!

nerfur
()

X.Org Server 21.1.0

 , , ,

Группа Open Source

Спустя три с половиной года с момента выхода последней значительной версии состоялся релиз X.Org Server 21.1.0. Изменена система нумерации версий: теперь первая цифра означает год, вторая порядковый номер крупного релиза в году, а третья — корректирующее обновление.

Из значительных изменений можно выделить следующие:

  • В xvfb добавлена поддержка 2D-ускорения Glamor.

  • Добавлена полноценная поддержка системы сборки Meson. В следующей значительной версии будет удалена поддержка сборки с помощью autotools.

  • Появилась поддержка XInput 2.4, дающая возможность использования управляющих жестов на тачпадах.

  • XWayland теперь выпускается в качестве отдельного пакета со своим собственным циклом разработки.

Также сделан ряд небольших изменений и исправлений.

>>> Подробности (mail-archive.com)

Dog
()