LINUX.ORG.RU

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

У журнала «Квант» открылся новый сайт

Новости — Open Source
У журнала «Квант» открылся новый сайт
Группа Open Source

У легендарного журнала «Квант» открылся новый сайт – там и свежий номер, и архив старых, созданных под руководством Андрея Колмогорова и других крупнейших математиков.

Сайт позволяет искать по автоматически распознанным изображениям представленных номеров журнала. Попробуйте на странице «Архив номеров» ввести интересующее вас словосочетание. В качестве примера: кубик Рубика. По клику на номер с жёлтым фоном открывается страница номера с подсвеченными найденными словами. А если вы школьником отправляли решения в «Задачник „Кванта“», то можете попробовать найти свою фамилию в списках читателей, приславших решения.

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

>>> Журнал «Квант»

 , , , ,

z0idator
()

Трагедия о Расте

Форум — Talks

Мифы и легенды Древней Греции.

ТРАГЕДИЯ О РАСТЕ, СЫНЕ ФЕРРИСА, И ВЕЛИКАНЕ С++

(Эпос в пяти песнях, с хорами и роковыми предзнаменованиями)
ДЕЙСТВУЮЩИЕ ЛИЦА:

    Раст, сын Ферриса — юный герой, воспитанный нимфой Крейтóй, вооружённый щитом #[no_panic] и копьём ZeroCostAbstraction.

    С++, именуемый также Цербероподобным — титан старой эры, чьи три головы изрыгают virtual inheritance, template metaprogramming и pointer arithmetic.

    Хор компиляторов — вещие духи, принявшие облик Гектора (GCC), Кассандры (Clang) и Тересия (LLVM).

    Тень Управления Памятью — призрак в образе Прометея, прикованный к скале вечными double free.

    Оракул из Реддита — прорицатель, чьи уста вещают правду, смешанную с ересью.


ПЕСНЬ ПЕРВАЯ. ПРИЗВАНИЕ ГЕРОЯ

(Сцена: берег Кипрской гавани, где корабли Docker бросают якоря.)

Хор (Гектор):
Горе! Горе тебе, о земля программистов!
С++ идёт, как Арес в ярости,
Топча твои stack frames тяжёлой пятой!

Оракул из Реддита:
Слушайте! Видел я юношу светлого,
Рождённого от союза Ферриса и Логики,
Его имя — Раст, и суждено ему
Или пасть, или изменить ход истории!

(Раст, подобно Тесею, готовится войти в лабиринт undefined behavior.)


ПЕСНЬ ВТОРАЯ. СХВАТКА С ТИТАНОМ

(Битва происходит в Долине Сегфолтов, где воздух наполнен воплями SIGSEGV.)

С++ (ревя, как циклоп):
Кто смеет бросать мне вызов?
Я, сокрушивший Яву, как Персей Медузу!
Я, чьи move semantics быстрее Гермеса!

Раст (подобно Одиссею, привязывая себя к мачте !Send):
Ты могуч, о старец, но твоя сила —
Как меч Дамокла, висящий на нити malloc!
Я принёс тебе дар — ownership!

(С++ в ярости вызывает орду dangling pointers, но Раст отражает их, как Леонид у Фермопил, щитом lifetime annotation.)


ПЕСНЬ ТРЕТЬЯ. ВМЕШАТЕЛЬСТВО БОГОВ

(На поле битвы является Прометей-Тень, закованный в цепи manual memory management.)

Прометей-Тень:
О, С++, несчастный брат мой!
Разве не я дал тебе огонь direct hardware access?
Но ты обратил его против смертных —
Их код горит в аду heap corruption!

С++ (внезапно ослабев):
Я… я лишь хотел дать им мощь…
Но почему мои дары несут столько слёз?

(Хор (Кассандра) рыдает, предвидя гибель титана.)


ПЕСНЬ ЧЕТВЁРТАЯ. ГИБЕЛЬ И ПРЕОБРАЖЕНИЕ

(Раст, подобно Гераклу, предлагает С++ очиститься в огне RAII.)

Раст:
Пади, титан! Но не для смерти —
Для перерождения!
Стань тем, кем мог бы быть —
Сильным, но безопасным, как Афина!

(С++, подобно Фениксу, начинает превращаться в Modern C++, но процесс прерывает Зевс-Линус, громовержец, кричащий: «Enough abstractions!».)

С++ (исчезая в тумане legacy code):
Прощай… но помни…
Ты носишь часть меня в себе…
В каждом unsafe… в каждом…

(Хор (Тересий) шепчет: «Бойтесь гнева Go-ликийцев!».)


ПЕСНЬ ПЯТАЯ. ТОРЖЕСТВО И ПРЕДУПРЕЖДЕНИЕ

(Раст возвращается в народ, но Оракул смеётся.)

Оракул из Реддита:
Радуйтесь? Ха!
Видел я нового исполина —
Змея Zig, ползущего из тьмы…
И его чешуя блестит comptime!

(Хор в ужасе замолкает. Занавес.)

КОНЕЦ.

 

alysnix
()

Отрицательная масса у фундаментальных (и не только) «частиц»

Форум — Science & Engineering

Беседа с физиком теоретиком: Анатолием Григорьевичем Шкловским и его теоретические выкладки по поводу отрицательной массы и как она проявляется. Влияя и объясняя как фундаментальные так и макроскопические процессы и явления.

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

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

Ты физик? Жопа горит? :) Опровергни или бабабол :D
Дискас.

 , , , ,

LINUX-ORG-RU
()

Прием фотографий со спутников по SDR на онтопике

Форум — Science & Engineering

Кто-нибудь местный страдает наслаждается такой фигней?

Поделитесь ресурсами, софтом, опытом

Я нашел https://wxtoimgrestored.xyz/ , но там получение актуальной информации по спутникам и частотам чета поломалось.

Заказал себе копеечный SDR, так что через месяцок уже можно начинать пробовать, а я еще не умею :)

 ,

pihter
()

Сжатие pdf

Форум — General

Добрый день, форумчане. Прошу подсказать, как сжать много pdf файлов. Желательно gui.

 ,

copentry
()

Интересные игры без убийств

Форум — Games

Какие вы можете порекомендовать интересные (на ваш взгляд) игры, в которых не было бы убийств (вообще, ни одного и ни при каких условиях)?

 

sergey_feo
()

Один бинарник на четыре системы

Статьи — Разработка

Это текстовая версия статьи, оригинал с картинками вот тут (teletype.in)

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

 , , , ,

alex0x08
()

Как перенести систему на другой диск?

Форум — Admin

Нужно перенести систему на другой физический диск. Я собрался просто установить на него ту же Ubuntu 22.04, затем перегрузится в лайв режиме и скопировать все файлы со старого диска в новый. Затем поправить UUID в /ect/fstab.

Ничего не упускаю?

 , ,

Suntechnic
()

2023 в мультимедии: чего ждать

Форум — Multimedia

У меня тут вышел очередной годовой обзор мультимедийщины на английском: чё было в 2022, чё ждать в 2023.

Целиком: https://librearts.org/2023/01/year-in-preview/.

TL;DR:

GIMP: большие шансы на релиз 3.0 в течение года, возможно даже полугода, больше не вливают крупные изменения, векторные слои (есть ветка git) перенесли на 3.0.2 (ничего так минорный апдейт будет). На низком старте есть еще link layers (загрузка файла в слой с обновлением).

Krita: много работы под капотом, порт на Qt 5.15, дальше хотят QML (вряд ли раньше 2024).

darktable: 4.2 вышел меньше месяца назад, пока непонятно, чего ждать, в PR есть патчи для тривиальных вещей, которые ХЗ почему до сих пор не решены (упрощенная активация кадрирования, например).

vkdt (darktable с нуля на Vulkan, Imgui и нодах): вышел первый публичный релиз, со скоростью всё хорошо, с UX всё плохо, дальше посмотрим.

RawTherapee: уже набралось патчей/веток на следующий релиз, лишь бы не продолбались опять.

Inkscape: в течение года будет релиз 1.3 со до фига полезных изменений.

Scribus (верстка, допечатная подготовка): планируют выпустить 1.6 (наконец-то), уже 14 лет, сколько можно.

Blender: 3.5 пока на стадии альфы, но явно видна работа над управлением ассетами, уже есть улучшения в Grease Pencil (какой релиз без этого), OSL можно запускать на OptiX, добавили реализацию viewport на Metal для пользователей macOS.

BlenderBIM (архитектурный плагин для Blender, построенный вокруг IFC): хотят сконцентрировать усилия на допиливании того, что уже сделано, чтоб не стыдно было профикам давать.

FreeCAD: набралось немало полезных изменений, но задрались вливать патч, исправляющий именование топологии, а без него 1.0 не выпустят.

Natron (спецэффекты и композитинг): планируют 2.6.0 с внутренними изменениями, дальше ветка 2.7 с новьём.

Glaxnimate (редактор анимации): проект очень молодой, но уже заметный, потому что быстро развивается и через MLT интегрируется с Shotcut/Kdenlive. Уже есть пачка новых фич, которых пока нет в релизах, планируется дальнейшая работа над масками.

Kdenlive: в прошлом году собрали 21 тыщу евро фонда на разработку, в этом будут на них пилить вложенные секвенции (WIP), улучшения работы с эффектами и производительности.

Olive (видеоредактор): овердохера новшеств и улучшений в прошлом году, но все еще без релиза. Если применить патч, улучшающий работу с масками, и пофиксить зависания, к релизу будет вполне готово.

Ardour: наконец-то будет простое редактирование velocity (WIP, ветка гита), ожидается поддержка контроллеров Novation Launchpad и дальнейшая работа над tempo maps (подсказка).

Zrythm (модная молодежная DAW на GTK3/libadwaita): релиз 1.0 все еще не гарантирован, но с марта прошлого года статус уже бета.

Audacity: много работы по разделению старого кода на библиотеки и отрывание привязки к тулкиту, есть патчи распараллеливания эффектов по ядрам, появилась публичная ветка с портом на Qt, но смотреть там пока вообще не на что.

MuseScore (нотный редактор): парни готовятся выпустить первое обновление 4.0 с исправлением ошибок и обсуждают планы на ближайшее время, ждём.

 

AP
()

Ноговоднего кино тред

Форум — Talks

А что лоровец смотрит и пересматривает на НГ, если есть у него такая традиция?

Мой список:

Делитесь!

 ,

alex1101
()

Кино 90-х

Форум — Talks

И снова, пятница и снова жж. ЛОР накидай кинофильмов, снятых в России в 90-ые?

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

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

От себя отмечу:

Update.

По итогам этой темы для себя понял, есть два режиссёра у которых точно не было провалов в это время - Шахназаров и В. Тодоровский. Точно, что есть ещё кто-то, но очень тяжело выискивать.

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

Восприятие того времени немного улучшилось.

 , , ,

vvn_black
()

Вебные аналого-цифровые индикаторы.

Форум — Web-development

По итогам Есть ли что-то типа Grafana только на порядки легче и проще?

Написал ещё тогда и забыл. Ну пусть новогодний подарочек будет.

Продолжаем делать правильный вебдваноль. Как обычно, всё очень маленькое (2.5kb) и шустрое, на plain JS без каких-либо «фреймворков» и прочего многотонного жирного говна. Легко влезает в эмбедщину всякую и т.п.

Итак…

gauge.js

'use strict'

function Gauges( class_name )
{
    var _ = this;
    _.urls = [];
    var gauge = document.getElementsByClassName( class_name );
    for( var j = gauge.length; j--; )
    {
        var e = gauge.item(j);
        var g = JSON.parse( e.getAttribute( "data-conf" ) );
        if( !g ) return;

        g.id = e.id;
        g.title = e.title;
        e.removeAttribute( 'title' );

        var c = g.size / 2;
        var r = 0.8 * c;
        var l = 2 * Math.PI * r;

        for( var i = _.urls.length; i--; ) { if( _.urls[i].url == g.url ) break; }
        if( i < 0 ) _.urls.push( { url: g.url, gauges: [ g ] } );
        else        _.urls[i].gauges.push( g );

        e.innerHTML =
            '<svg width="' + g.size + '" height="' + g.size + '">'
          + '<circle class="gauge-bg" id="' + g.id + '-bg" cx="' + c + '" cy="' + c + '" r="' + r + '" stroke-dasharray="' + ( 2 * l / 3 ) + " " + ( l / 3 ) + '" stroke-dashoffset="' + ( -5 * l / 12 ) + '"/>'
          + '<circle class="gauge-pnt" id="' + g.id + '-pnt" cx="' + c + '" cy="' + c + '" r="' + r + '" stroke="' + g.color + '" stroke-width="' + ( 0.1 * g.size ) + '" stroke-dasharray="0 1"/>'
          + '<text class="gauge-val" id="' + g.id + '-val" fill="' + g.color + '" x="' + c + '" y="' + ( 1.1 * c ) + '" font-size="' + ( 0.45 * r ) + '" text-anchor="middle"></text>'
          + '<text class="gauge-title" x="' + c + '" y="' + ( c + r ) + '">' + g.title + '</text>'
          + '</svg>';
    }

    _.urls.forEach( function( u )
    {
        _.update( u );
        setInterval( function(){ _.update( u ) }, u.gauges[0].int );
    } );
}

Gauges.prototype.set = function( id, min, max, val )
{
    var e = document.getElementById( id + '-pnt' );
    if( !e ) return;

    var r = e.getAttribute( 'r' );
    var l = 2 * Math.PI * r;
    var v = val < min ? min : val > max ? max : val;
    var dash = ( 2 / 3 ) * l * ( v - min ) / ( max - min );

    e.setAttribute( 'stroke-dasharray', [ dash, l - dash ]);
    e.setAttribute( 'stroke-dashoffset', (-5 / 12) * l );

    document.getElementById( id + "-val" ).textContent = val;
}

Gauges.prototype.update = function( u )
{
    var _ = this;
    var req = new XMLHttpRequest();
    req.onreadystatechange = function()
    {
        if( this.readyState != 4 ) return;
        var obj = JSON.parse( this.responseText );
        if( !obj ) return;
        u.gauges.forEach( function( g )
        {
            var v = g.path.split('.').reduce( function( o, k ) { return o && o[k] }, obj );
            _.set( g.id, g.min, g.max, v.toFixed( g.prec ) );
        } );
    };
    req.open( "GET", u.url );
    req.send();
}

gauge.css

@font-face {
    font-family: "7SEG";
    src: url("DSEG7Classic-BoldItalic.ttf") format("opentype");
}

.gauge-pnt {
  fill: transparent;
}

.gauge-bg {
  stroke: #808080;
  stroke-width: 1px;
  fill: transparent;
}

.gauge-val {
    font-family: "7SEG", serif;
}

.gauge-title {
    text-anchor: middle;
    fill: #C0C0C0;
}

Шрифт DSEG7Classic-BoldItalic.ttf ради прикола, можно из дебиановского пакета fonts-dseg взять. Или в формате woff2, он размером поменьше будет.

Как использовать:

<HTML>
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" content="no-cache">
<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8">
<LINK rel="stylesheet" type="text/css" href="gauge.css">
<SCRIPT src="gauge.js" type="text/javascript"></SCRIPT>
<SCRIPT>
var ups_gauges;
window.addEventListener( 'load', function() { ups_gauges = new Gauges( 'ups' ); }, false );
</SCRIPT>
<STYLE>
a.ups { outline: none; }
body { background-color: #000000; color: #c0c0c0; }
</STYLE>
<TITLE>Gauge</TITLE>
</HEAD>
<BODY>
<a href="ups/voltage.html" class="ups" title="UPS Vin, V"  id="Vin" data-conf='{"url":"data/ups.json","path":"Vin","int":20000,"min":0,"max":300,"prec":0,"color":"#40C040","size":150}'></a>
<a href="ups/load.html"    class="ups" title="UPS Load, %" id="Load" data-conf='{"url":"data/ups.json","path":"Load","int":20000,"min":0,"max":100,"prec":0,"color":"#C040C0","size":150}'></a>
<a href="ups/temp.html"    class="ups" title="UPS T, °C"   id="Temp" data-conf='{"url":"data/ups.json","path":"Temp","int":20000,"min":0,"max":100,"prec":1,"color":"#C0C0C0","size":150}'></a>
</BODY>

data/ups.json

{ "Vin": 193.2, "Load": 40, "Temp": 38.0 }

В аттрибут data-conf элемента который превращаем в индикатор пишем JSON где

url - URL источника данных для индикатора в формате JSON
path - "путь" в JSON до нужной величины, например "sensors.0.temp"
int - интервал обновления в миллисекундах
min - минимальное значение аналоговой шкалы индикатора
max - максимальное значение аналоговой шкалы индикатора
prec - число цифр после запятой для цифрового индикатора 
color - цвет индикатора
size - размер индикатора

У элементов превращаемых в индикаторы должен быть установлен аттрибут id.

В аттрибуте title указывается подпись под индикатором.

Элементам индикаторов одной группы присваеваем один класс и его имя передаём в конструктор new Gauges('class_name') когда нужно создать и запустить индикаторы.

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

Выглядит так: http://stanson.ch/gauges.png

Лицнзия WTFPL

 , копрофагия

Stanson
()

Просто оставлю это здесь: Игра в supertux2 с множественными `tail /dev/zero` в фоне без зависаний

Форум — Desktop

Собственно: https://youtu.be/fPnbnNX9CPE

Система на HDD, Debian 9 Mate, MemTotal=10GB, swap on zram (disksize=14GB). memavaild, prelockd и nohang-desktop работают в фоне и помогают сохранять отзывчивость несмотря ни на что.

https://github.com/hakavlad/nohang

https://github.com/hakavlad/prelockd

https://github.com/hakavlad/memavaild

Кратко: prelockd - новейшее оружие в борьбе за отзывчивость при нехватке памяти.

Спрашивайте ответы.

 

hakavlad
()

Статья: Устройство подсистемы TTY

Форум — Talks

Опубликовал статью, посвященную устройству подсистемы TTY.

Подсистема TTY — одна из ключевых особенностей Unix и Unix-подобных операционных систем.

В этой статье я постараюсь кратко, но достаточно ёмко и доступно для читателей разного уровня подготовки разобрать устройство подсистемы TTY и её взаимодействие с другими частями программной среды.

Описание архитектуры TTY, изложенное здесь, не является на 100% корректным. Некоторые части были намеренно упрощены или опущены, чтобы итоговая картина получилась более простой и цельной. Эти детали не являются критичными для понимания принципов работы TTY. При необходимости все необходимые детали могут быть восстановлены чтением страниц руководств в составе операционной системы.

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

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

 ,

wandrien
()

Симулятор схем на логических элементах ☑️

Форум — General

Убирался давече и надыбал за диваном 10 штук к555ла6 в коробочке, упали и забылось =) вот думаю что зафигачить на них полезного, рядом лежит HDD дохлый, может попробовать на логике сделать драйвер. Но чёт мне лень рисовать, хочется поиграть с логикой. Есть ли под linux простой без прибамбасов симулятор? Хотя там надо по сути цепи задержки делать и нужна поддержка конденсаторов и резисторов. Хотя можно и без задержки сам посчитаю.

P.S. А есть ли виртуальный осцилограф который можно к такому симулятору подрубить и посмотреть на синхроимпульсы которые я буду генерировать логикой?

P.P.S. Сорян если тупость, я никогда этим раньше не интересовался, касаемо такого софта.


 , , , ,

LINUX-ORG-RU
()

Поругайте поделку.

Форум — Talks

Собственно вот http://test.rentgenogram.ru

Есть сайт https://rentgenogram.ru/ на нем ежедневно сидит 500-1000 человек. Сидят, не регаются и активно там читают и качают. Хочется расспросить их что им нравится, что не нравится и дать им средство для общения.

Из фич при переходе с страницы на страницу если залогинен - переживает это

Поэтому замутил такую поделку. Там много чего еще надо делать, но для первого теста выглядит вменяемо. Код можете не смотреть. Там рефакторить и рефакторить.

 

dem
()

ASCII игры по Linux ☑️

Форум — Games

Народ, кто нибудь знает ASCII игры под Linux(если точнее то под Ubuntu)? Про эти ваши Dwarf Fortress, NetHack я в курсе. Нужно больше... >:)

 ,

martin_blumen
()

IPsec

Форум — Development

Посоветуйте годные статьи/книги чтобы достаточно быстро вкатиться в IPSec с нуля.

Так же желательно получить какие-либо наводки на годные C/C++ библиотеки чтобы не пилить свой велосипед.

RFC не предлагать :)

 , ,

P9IWWwzdnJ
()

Атмосферные фильмы

Форум — Talks

Друзья, хочу попросить вас посоветовать мне какое-нибудь атмосферное кино, а то ощущение складывается, что все достойное уже пересмотрел. Что-нибудь в стиле Секретных материалов, Секретного эксперимента, даже не знаю, что еще в пример привести. Можно фильмы про IT, мистику, но только такие, которые действительно «затягивают». Спасибо заранее!

 ,

ravdinve
()

Интересные каналы о науке

Форум — Talks

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

 ,

by_zero
()