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

 , , , ,

anonymous
()

ONLYOFFICE 7.0

Новости — Open Source
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.

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

 ,

Aceler
()

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

Форум — Development

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

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

Для 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
()

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

Форум — Development

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

Задачка:

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

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

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

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

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

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

 , , , ,

kompospec
()

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

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

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

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

 

Jopich1
()

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

Форум — Development

Привет всем!

Столкнулся с проблемой, простейшее умножение числа 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

Форум — General

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

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

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

 , , , ,

Unixson
()

Wine 7.0

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

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

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

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

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

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

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

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

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

 

cocucka
()

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

Форум — Talks

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

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

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

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

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

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

 ,

omegatype
()

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

Форум — Development

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

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

 ,

cvv
()

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

Форум — Talks

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

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

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

 , , , ,

Korchevatel
()

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

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

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

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

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

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

 , , ,

ipkirill21x
()

PeerTube v4

Новости — Open Source
PeerTube v4
Группа Open Source

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

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

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

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

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

 , , , ,

InterVi
()

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

Форум — Talks

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

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

 , ,

zooZooz
()

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

Новости — Интернет
Группа Интернет

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

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

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

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

 , , ,

anonymous
()

GNU Guile-CV 0.3.1

Новости — GNU's Not Unix
Группа GNU's Not Unix

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

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

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

>>> Источник

 , , , ,

mertvoprog
()

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

Форум — General

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

 ,

crazyfrog
()

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

Форум — Linux-hardware

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

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

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

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

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

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

 

virbl1
()

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

Форум — Talks

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

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

 , ,

nerfur
()

X.Org Server 21.1.0

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

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

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

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

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

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

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

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

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

 , , ,

Dog
()