LINUX.ORG.RU

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

Фонд EFF возмущен решением HP удаленно блокировать принтеры неплательщикам сервиса «Бесплатные чернила на всю жизнь»

Новости — Hardware and Drivers
Группа Hardware and Drivers

Правозащитная организация «Фонд Электронных Рубежей» (Electronic Frontier Foundation, EFF) выпустила обличительную статью о деятельности компании Hewlett-Packard. В ноябре 2020 года стало известно, что HP изменило линейку тарифных планов, и убрало бесплатную возможность печати 15 страниц в месяц по программе Instant Ink. Теперь, если пользователь не заплатит $0.99 в месяц, то его механически исправный и заправленный принтер будет отключен дистанционно.

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

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

 , ,

Xintrea
()

Facebook стал корпоративным спонсором Blender Foundation

Новости — Мультимедиа
Группа Мультимедиа

Компания Facebook стала корпоративным спонсором (Corporate Patron) Blender Foundation, развивающего свободный пакет 3D-моделирования и анимации Blender. С четвертого квартала 2020 года деньги начнут поступать в фонд Blender.

Facebook развивает свой инструментарий AR (augmented reality) с интеграцией в Blender через отдельно скачиваемое дополнение.

Ранее спонсорами фонда стали такие компании, как Microsoft, Intel, Nvidia, AMD, Unity, Epic, Ubisoft.

В социальных сетях практически каждая такая новость заканчивается разъяснениями Тона Роозендаала, что участие корпораций никак не влияет на дорожную карту разработки проекта. Для новичков, не понимающих, как работают проекты СПО и Blender в частности, организатор Nodevember Лука Роод опубликовал пояснения тредом в Twitter.

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

 

AP
()

Travis-CI перестаёт быть полностью бесплатным для OSS проектов

Форум — Talks

Интересно, а много-ли народу используют travis для своих OSS проектов ?

Сегодня вот прилетело от них письмо счастья, с какими-то крайне мутными формулировками, из которых я понял, что больше никаких бесплатных сборок не будет. Теперь только триальный аккаунт с какими-то кредитами, которых мне хоть и хватит на много месяцев, но всё-равно они кончатся.

Пошел искать инфу в интернете и наткнулся вот на эту новость. Странно, что не видел её на главной, т.к изменения явно много кого зацепят:

https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing

 , ,

DawnCaster
()

Gentoo: миграция на Python 3.8

Форум — General

Группа разработчиков Gentoo Python Project напомнила, что переход на python 3.8, как на target по умолчанию, намечен на 1 декабря 2020 г. 12 января 2021 г. (ох уж эти форматы дат).

В дополнение к этому указано, что пакеты, зависящие от python2 (за исключением пакетов требующих его во время сборки), должны быть портированы на использование python3 до 1 января 2021 г., иначе они будут удалены из дерева portage.

Также к 1 января 2021 г., должнен быть завершён процесс миграции с python3.6 на python3.7 пакетов, которые его ещё не завершили. В противном случае, такие пакеты будут удалены или поддержка возможностей связанных с python будет отключена. После этого python3.6 target, возможно, будет удалён. По крайней мере, в пакете dev-python/ipython поддержка python3.6 уже удалена.

Update:
Более того, python3.9 target теперь размаскирован и стабилизирован. Точные даты пока не запланированы, но, возможно, к середине 2021 target’ом по умолчанию станет python3.9, а поддержка python3.7 будет сброшена.

Источник

 ,

grem
()

Проблемы с загрузкой nvidia драйвера .

Форум — General

Словил тут после обновления Gentoo странную вещь при загрузке драйвера nvidia

[498966.989501] nvidia: version magic '4.19.146-gentoo SMP mod_unload ' should be '4.19.146-gentoo SMP preempt mod_unload '

Версия x11-drivers/nvidia-drivers 435.21-r6

В ядре соответственно preempt включен:

# uname -a
Linux japet 4.19.146-gentoo #6 SMP PREEMPT Thu Oct 22 08:30:10 UTC 2020 x86_64 Intel(R) Core(TM) i5-4200M CPU @ 2.50GHz GenuineIntel GNU/Linux

Более новое не ставлю, т.к. GeForce GT 740M в 440-х и выше вроде не поддерживается а старые nvidia драйвера под более свежими ядрами не собираются.

Собственно, кто неправильно выставляет kernel magic и как это побороть?

 ,

WatchCat
()

Выпуск libtorrent 2.0 с поддержкой протокола BitTorrent 2

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

Представлен значительный выпуск библиотеки libtorrent 2.0 (известна также как libtorrent-rasterbar), предлагающей реализацию протокола BitTorrent, эффективную с точки зрения потребления памяти и нагрузки на CPU. Библиотека задействована в таких торрент-клиентах, как Deluge, qBittorrent, Folx, Lince, Miro и Flush (не путать с другой библиотекой libtorrent, которая используется в rTorrent). Код libtorrent написан на языке C++ и распространяется под лицензией BSD.

Выпуск примечателен добавлением поддержки протокола BitTorrent v2, в котором осуществлён уход от использования алгоритма SHA-1, имеющего проблемы с подбором коллизий, в пользу SHA2-256. SHA2-256 применяется как для контроля целостности блоков данных, так и для записей в индексах (info-dictionary), что нарушает совместимость с DHT и трекерами. Для магнитных ссылок на торренты с хэшами SHA2-256 предложен новый префикс «urn:btmh:» (для SHA-1 и гибридных торрентов используется «urn:btih:»).

Так как замена функции хэширования нарушает совместимость протокола (поле с хэшем 32 байта вместо 20 байт) разработка спецификации BitTorrent v2 изначально велась без оглядки на обратную совместимость и в состав были приняты другие существенные изменения, такие как использование хеш-дерева Меркла в индексах для сокращения размера torrent-файлов и проверки загруженных данных на уровне блоков.

Из изменений в BitTorrent v2 также выделяется переход к привязке отдельных хэш-деревьев к каждому файлу и применение выравнивания файлов по частям (без добавления добавочного заполнения после каждого файла), что позволяет избавиться от дублирования данных при наличии одинаковых файлов и упрощает выявления разных источников для файлов. Повышена эффективность кодирования структуры каталогов в торренте и добавлены оптимизации для обработки большого числа мелких файлов.

Для сглаживания сосуществования BitTorrent v1 и BitTorrent v2 реализована возможность создания гибридных torrent-файлов, которые включают помимо структур с хэшами SHA-1, индексы с SHA2-256. Указанные гибридные торренты могут использоваться с клиентами, поддерживающими только протокол BitTorrent v1. Ожидаемая в libtorrent 2.0 поддержка протокола WebTorrent из-за нерешённых проблем со стабильностью отложена до следующего значительного выпуска, который выйдет не раньше конца года.

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

 

Ruslan5g
()

Facebook ищет full-time разработчиков чтобы разрабатывать компилятор и стандартную библиотеку Rust

Форум — Development

https://www.reddit.com/r/rust/comments/jfkmxo/facebook_is_hiring_a_team_to_work_on_the_rust/

We’ll be working on the whole stack. From frontend, to codegen, libraries and tools, to make sure that Rust is able to handle the massive Facebook scale. I know of specific bugs and issues, but we don’t have a clear roadmap yet.

 ,

vertexua
()

Curl переезжает на Rust

Форум — Talks

Привет, ЛОР!

Как ты, наверное, слышал, Rust зачастую используется как замена языку C, позволяющая избежать множества проблем, связанных с утечками памяти и безопасностью.

Daniel Stenberg, один из авторов curl, написал, что hyper – библиотека для работы с HTTP в Rust – в будущем будет использоваться как бэкенд для curl для работы с HTTP.

Ссылка: https://daniel.haxx.se/blog/2020/10/09/rust-in-curl-with-hyper/

 , ,

hateyoufeel
()

Альтернативы boost::spirit

Форум — Development

Есть чего ещё похожего для крестов?

 , ,

pon4ik
()

Python 3.9.0

Новости — Разработка
Группа Разработка

Вышел новый стабильный релиз популярного языка программирования Python.

Python – высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Основные черты – динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений, высокоуровневые структуры данных.

Python – стабильный и распространённый язык. Он используется во многих проектах и в различных качествах: как основной язык программирования или для создания расширений и интеграции приложений. Основные области применения: веб-разработка, машинное обучение и анализ данных, автоматизация и системное администрирование. В настоящий момент Python занимает третье место в рейтинге TIOBE.

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

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

 ,

cocucka
()

horriblesubs is over

Форум — Talks

Зашел проверить, как дела на https://www.horriblesubs.info/, а там написано, что они закончили учиться, ушли в реальную жизнь и переводить больше не будут. Если это не дефейс, то кто сейчас регулярно делает с англ. сабами? Хотя я уже сто лет ничего не смотрю из новых аниме (хороших нет), но хочу следить, что выходит.

 

crypt
()

Выпуск языка программирования Rust 1.47

Новости — Разработка
Группа Разработка

Опубликован релиз 1.47 языка системного программирования Rust, основанного проектом Mozilla. Язык сфокусирован на безопасной работе с памятью, обеспечивает автоматическое управление памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

Автоматическое управление памятью в Rust избавляет разработчика от ошибок при манипулировании указателями и защищает от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.

Основные новшества:

  • Реализована поддержка типажей для массивов произвольного размера. Ранее, из-за невозможности определить generic-функции для всех целых значений, стандартная библиотека предоставляла встроенную поддержку типажей только для массивов, размер которых не превышал 32 элемента (типажи для каждого размера были определены статически). Благодаря созданию функциональности константных дженериков («const generics») появилась возможность определения generic-функций для любых размеров массива, но они пока не включены в состав стабильных возможностей языка, хотя реализованы в компиляторе и теперь задействованы в стандартной библиотеке для типажей массивов любого размера. Например, следующая конструкция в Rust 1.47 приведёт к выводу содержимого массива, хотя раньше привела бы к ошибке:
    fn main() {
        let xs = [0; 34];
        println!("{:?}", xs);
    }
  • Обеспечен вывод более коротких трассировок (backtrace), выводимых при внештатных ситуациях. Из трассировки исключены элементы, не представляющие интереса в большинстве ситуаций, но захламляющие вывод и отвлекающие внимание от первичных причин проблемы. Для возвращения полной трассировки можно использовать переменную окружения «RUST_BACKTRACE=full». Например, для кода
    fn main() {
        panic!();
    }

раньше выводилась трассировка в 23 этапа, а теперь она будет сведена к 3 этапам, позволяющим сразу уловить суть:

thread 'main' panicked at 'explicit panic', src/main.rs:2:5
    stack backtrace:
       0: std::panicking::begin_panic
                 at /rustc/d...d75a/library/std/src/panicking.rs:497
       1: playground::main
                 at ./src/main.rs:2
       2: core::ops::function::FnOnce::call_once
                 at /rustc/d...d75a/library/core/src/ops/function.rs:227
  • Компилятор rustc обновлён до сборки с использованием LLVM 11 (Rust использует LLVM в качестве бэкенда для генерации кода). При этом сохранена возможность сборки со старыми LLVM, вплоть до версии 8, но по умолчанию (в rust-lang/llvm-project) теперь используется LLVM 11. Релиз LLVM 11 ожидается в ближайшие дни.
  • На платформе Windows в компиляторе rustc обеспечена поддержка включения проверок целостности потока выполнения (Control Flow Guard), активируемых при помощи флага «-C control-flow-guard». На других платформах данный флаг пока игнорируется.
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы Ident::new_raw, Range::is_empty, RangeInclusive::is_empty, Result::as_deref, Result::as_deref_mut, Vec::leak, pointer::offset_from, f32::TAU и f64::TAU.
  • Признак «const», определяющий возможность использования в любом контексте вместо констант, применён в методах:
    • new для всех целых, отличных от нуля;
    • checked_add, checked_sub, checked_mul,checked_neg, checked_shl, checked_shr, saturating_add, saturating_sub и saturating_mul для всех целых;
    • is_ascii_alphabetic, is_ascii_uppercase, is_ascii_lowercase, is_ascii_alphanumeric, is_ascii_digit, is_ascii_hexdigit, is_ascii_punctuation, is_ascii_graphic, is_ascii_whitespace и is_ascii_control для типов char и u8.
  • Для FreeBSD задействован инструментарий из FreeBSD 11.4 (FreeBSD 10 не поддерживает LLVM 11).

Взято с opennet.ru

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

 ,

MaxPower
()

Кто возьмется сделать православный мониторинг для dwm?=)

Форум — Development

Появилась мысль сделать кикстартер проект. Сформировать всем месте ТЗ по этому проекту и вложиться деньгами(скажем по $1-2 с человека). По результатам выложить это на suckless, чтобы у всех у нас был хороший гибкий мониторинг. Вообще, такой proj хорош тем, кто хочет поднять свой скилл на си, но если таких не найдется, давайте соберемся шекелями и пусть нам запилят мониторинг

В общем есть у меня скрипт на питоне, который имеет конфиг:

data = {
    'item0':
    {
        'job': 'myout',
        'type': 'system',
        'timeout': 2,
        'state': 'enable',
    },
    'item1':
    {
        'name': '',
        'bracket': '',
        'job': 'internet',
        'type': 'function',
        'timeout': 5,
        'state': 'enable',
        'result': 'UP:LOAD'
    },
    'item2':
    {
        'name': '',
        'bracket': '',
        'job': "weather",
        'type': 'function',
        'timeout': 300,
        'state': 'enable',
        # 'result': '☔:0'
        'result': 'W:0'
    },
    'item4':
    {
        'name': '',
        'bracket': '',
        'job': 'traffic',
        'type': 'function',
        'timeout': 1,
        'state': 'enable',
        'result': 'D:0B    U:0B   '
    },
    'item5':
    {
        'name': '',
        'bracket': '||',
        'job': 'disk',
        'type': 'function',
        'timeout': 60,
        'state': 'enable',
        'result': 'RH:-1,-1,-1'
    },
    'item6':
    {
        'name': '',
        'bracket': '',
        'job': "day",
        'type': 'function',
        'timeout': 15,
        'state': 'enable',
        'result': 'Дн.'
    },
}

Скрипт обходит все item, парсит что это «функция», берет имя функции, и выполняет функцию с указанным таймаутом. Далее пишет информацию в общий массив и отдельный тред берет весь массив и пишет информацию в xsetroot -name. Но в целом всё это я так бы сейчас не написал. Это не православно. Православно как?

делаем конфиг в yml вида:

- item1
   - path: /some/script.py
   - timeout: 15
   - state: enable
   - result: 'UP:LOAD'

Далее в сишке обходим все item, запускаем скрипты с заданным таймаутом и пишем в какой-то общий массив. И с таймаутом 2 секунды запускаем xsetroot и подставляем всю инфу. Таким образом мы можем в мониторинг добавлять свои скрипты хоть на питоне, хоть на луа, хоть на sh и мониторинг будет забирать от них выхлоп. Было бы круто:)

А то некрасиво это:

ps_mem |grep monitoring.py

17.3 MiB + 241.5 KiB =  17.5 MiB       monitoring.py

ps_mem |grep dwm

1.3 MiB + 199.5 KiB =   1.5 MiB       dwm

Сам мониторинг занимает больше памяти, чем wm, лол

Кто возьмётся написать православный monitoring на си для dwm? =)

 , ,

bryak
()

Как посчитать среднюю вероятность от вероятностных вероятностей?

Форум — Science & Engineering

Пусть будет множество процессов, каждый из которых состоит из событий А и Б. Для каждого процесса можно посчитать процент событий А от известной выборки и предположив что это его вероятность, посчитать арифметическую среднюю вероятность для всех процессов. Так же пособирав такие вероятности, можно посчитать возможные границы вероятности процесса А для любого последующего подобного процесса.

Примерно такие же рассуждения можно делать на Гауссовских средних, но меня интересует расчет вероятностей. Использовать это можно для расчета прогнозирования.

Как упомянул, для каждого процесса, делается предположение вероятности А по ограниченной выборке.

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

Вопрос, как можно сложить несколько вероятностных вероятностей для расчета средней и границ? Ведь по сути 5 наблюдений, или 100 наблюдений, все равно остается разброс возможной вероятности для одного процесса. Значит даже при сложении вероятностей из 100 или 100500 наблюдений, все равно должен применяться некий коэффициент взвешивания зависимый от количества наблюдений.

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

Есть на эту тему какие либо описания?

 

victor79
()

Пал один из последних оплотов Mercurial (Hg)

Форум — Talks

!Ъ: Разработка OpenJDK переведена на Git и GitHub

Кто там остался из релевантных на ртути? Mozilla Firefox и SDL2?

– SDL2 (update 10-Feb-2021):

Главный разработчик SDL2 заявил, что они переезжают с Mercurial (Hg) и Bugzilla на Git и GitHub.

Получается, остались лишь Firefox да Nginx?

 , , , ,

EXL
()

Kickstarter-кампания с целью открытия исходного кода Sciter

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

На Kickstarter идёт кампания по сбору средств с целью открытия исходного кода Sciter. Период проведения: 16.09-18.10. Собрано: $2679/97104.

Sciter — это встраиваемый кроссплатформенный движок HTML/CSS/TIScript, предназначенный для создания GUI к настольным, мобильным и IoT приложениям, который уже долгое время используют сотни компаний по всему миру. Все эти годы Sciter был проектом с закрытым исходным кодом - его создатель, Андрей Федонюк, был его единственным разработчиком. Но, кажется, настало время привлечь других разработчиков для развития легковесной альтернативы Электрону!

Цели:

  • Открыть исходный код Sciter ориентировочно через 2 месяца после успешного завершения кампании.
  • Вариант Sciter на JavaScript - это тот же движок, но с JavaScript вместо используемого TIScript. Цель состоит в том, чтобы запустить популярные JS-фреймворки как есть или с минимальными усилиями по переносу. На данный момент планируется использовать QuickJS, чтобы движок оставался как можно более компактным, но при необходимости можно будет использовать V8. В планах сделать альтернативу Electron в духе Sciter.Quark.
  • Sciter.JS Inspector - проводник DOM и отладчик скриптов. Интеграция Sciter с другими языками, в частности, Sciter.Go, чтобы компилятор Go мог создавать монолитные распространяемые файлы Go/GUI. Другие проекты, которые придумает сообщество.

Планируется выпустить Sciter под лицензией GPL.

Дополнительные цели: Если кампания соберет вдвое больше средств, чем заявлено, то Sciter будет опубликован под лицензией BSD.

Презентация архитектуры Sciter.

Как помочь открыть код:

  • пожертвовать на кампанию или/и
  • распространять информацию о кампании: HackerNews, Reddit, ...

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

 , , , sciter

aserlor
()

Postgresql 13

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

24 сентября команда разработчиков сообщила о выходе очередного релиза Postgresql под номером 13. В новом выпуске основное внимание, среди прочего, было уделено повышению производительности, ускорению внутренних служб обслуживания и упрощению мониторинга базы, а также более надежному контролю доступа к системе.

Продолжилась работа над оптимизацией индексирования таблиц в плане обработки дубликатов среди индексируемых данных в двоичных деревьях индексов, что позволило не только ускорить исполнение запросов, но еще и сократить занимаемое индексом дисковое пространство. Кроме этого, добавлен алгоритм инкрементальной сортировки, при котором повторная сортировка уже отсортированных на предыдущих шагах данных работает быстрее, а у части запросов ускорения можно добиться благодаря применению новой расширенной статистики (через команду CREATE STATISTICS) при вычислении более эффективного пошагового плана. Также оптимизировано выполнение запросов с затратной агрегацией данных путем более широкого применения хэшированной агрегации и сброса части агрегированных данных на диск, если они не помещаются в оперативную память. Отмечается значительный прирост скорости соединения таблиц, расположенных на разных разделах.

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

Среди нововведений для разработчиков стоит выделить функцию datetime(), преобразующую различные стандартные форматы записи времени во встроенный тип Postgresql; доступную из коробки функцию генерации UUID v4 gen_random_uuid(); нормализацию работы с юникодом; более гибкую систему распределения данных таблицы на связанных сетевых узлах базы с полноценной репликацией на логическом уровне, а также другие изменения в запросах и новых доступных для реплик триггерах.

Контроль доступа к базе заявляется как один из ключевых компонентов системы, и в новой версии в этом плане сделаны большие шаги вперед. Теперь установку расширений к базе может выполнять только привилегированный пользователь (superuser). При этом обычные пользователи самостоятельно смогут устанавливать только те расширения, которые помечены им как надежные, либо небольшое множество расширений, считающихся надежными по умолчанию (например, pgcrypto, tablefunc или hstore). При аутентификации пользователей с помощью механизма SCRAM (при работе через драйвер libpq) теперь требуется «привязка канала», а функция-обертка для сторонних данных postgres_fdw с 13-ой версии поддерживает авторизацию по сертификату.

Примечания к выпуску

Страница загрузки

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

 ,

ins3y3d
()

Выбор HDD для фото видео архива 8 или 10 ТB

Форум — Linux-hardware

День добрый. Подскажите/посоветуйте плиз какой нынче хард 8 или 10 TB оптимальнее купить по соотношению качества и цены? Модель и фирма. Отзывы на ситилинках какие-то мутные.

 

kabanchik
()

На Phoronix нашли новую вакансию для Rust программиста

Форум — Talks

https://www.phoronix.com/scan.php?page=news_item&px=AMD-Hiring-Radeon-Rust

https://jobs.amd.com/job/Boxborough-3D-Driver-Development-Engineer-80489-Mass/677678000/

AMD is hiring another 3D Driver Development Engineer but what makes this job posting of interest is they are specifically looking for a Rust developer. Yes, the increasingly popular programming language focused on memory safety and concurrency.

In any case, it’s interesting to see the AMD Radeon crew exploring Rust in this area and will be interesting to see what comes of it given that many GPUOpen tools are open-source.

 ,

fsb4000
()

Firefox 81

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

 ,

MozillaFirefox
()