LINUX.ORG.RU

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

СтатьиРазработка (не подтверждено)

DPI для любопытствующих

 , ,

Движок DPI на C: от захвата пакетов до классификации протоколов

Мне было интересно узнать, какие байты бегают по моей домашней сети. Я не нашёл простого инструмента, который можно было бы собрать за вечер и понять от начала до конца — и пришлось написать свой, на C. Эта статья — рассказ о том, как работает Deep Packet Inspection.

Код проекта: gitflic.ru/wirewalk/tiny-dpi-engine

Эпиграфы к разделам — цитаты из мультика «Шрек». (Не то чтобы я был фанат, но история уж очень подходящая. Если у вас есть идея что использовать в качестве источника цитат для следующей статьи — я открыт к предложениям!).

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

wirewalk
()

BluRay болванки

 ,

Братва, а расскажите пожалуйста, какой нынче положняк по компакт дискам? Какие болванки не совсем говно, но при этом чтобы не платить по косарю за один диск? А то времена нынче такие, что явно пора запасаться консервами

И если про приводы ещё что-то полезное можно нагуглить, то вот где и как лучше брать диски - совершенно непонятно

mega_venik
()

Похоже я нащупал как обуздать Firefox и скармливать ему чуть-чуть памяти

 , , ,

Фокс конкретно достал своим прожорством. Шестнадцать гигов, а я постоянно вижу как всё свапится из-за этого гада. (и не гыкайте мне тут, все браузеры ведут себя одинаково) Ладно бы я что-то сложное делал. Но он явно не отпускает страницы из памяти, хотя уже и выставил кучу всяких уловок. Но вот что мне не давало покоя - этот гад видит сколько в компе памяти и не собирается останавливаться пока не выжрет всё. В результате все программы должны по стеночкам обходить. А тут вы со своими спорами про systemd. И придумал я гадкое, засунул фокса в персональную группу с ограничениями. Сделал так: Создал директорию ~/.config/systemd/user/app-firefox@.service.d/ В ней файл override.conf со следующим содержимым

[Service]
MemoryHigh=1.5G
MemoryMax=4G
MemorySwapMax=0

Перезапустил всё и стало хорошо на душе, фокс стоит на полтора гигах, как вкопанный. Но только включил ютуб, переключился на другое окно с другой вкладкой в другом фоксовском контейнере и всё дико тормозить стало. Я поднял до 2.5G, стало полегче, но всё равно, дойдёт до черты и тормоза лютые сразу. И тут я понял, что он смотрит куда-то в meminfo насчёт доступного рама, но не видит ограничений системды. И поэтому сходу влетает в ограничение, полагая, что все 16 гигов его. Тогда я создал фейковый ~/.fake_meminfo в домашней папке где заменил MemTotal: 4194304 kB и произошло чудо. Всё стало вполне сносно. Но вдруг внезапно он стал падать после нескольких видео на ютубе. Видимо недостаточно я ему наврал. Тога я попросил у ИИ сгенерить meminfo чтобы было похоже, что мы подходим к границе доступной памяти. Вот такой файл ~/.fake_meminfo в итогу получился

MemTotal:        4194304 kB
MemFree:          350000 kB
MemAvailable:     512000 kB
Buffers:           50000 kB
Cached:           600000 kB
SwapCached:            0 kB
Active:          2500000 kB
Inactive:         800000 kB
Active(anon):    2000000 kB
Inactive(anon):     4000 kB
Active(file):     500000 kB
Inactive(file):   800000 kB
SwapTotal:      15580020 kB
SwapFree:       15580020 kB
Dirty:              1000 kB
Writeback:             0 kB
AnonPages:       2000000 kB
Mapped:           400000 kB
Shmem:            150000 kB
Slab:             300000 kB
CommitLimit:    22656768 kB
Committed_AS:   15171448 kB
DirectMap4k:      800000 kB
DirectMap2M:     3000000 kB

а файл override.conf стал таким

[Service]
MemoryHigh=2.5G
MemoryMax=4G
MemorySwapMax=0

# "Обман" - подмена файла для Firefox
BindReadOnlyPaths=/home/pchelobiaka/.fake_meminfo:/proc/meminfo

И… иии… вроде работает. Полноценный Фокс с контейнерами, по собственной воле держит около 2 гигов и не больше.

Спешу поделиться наблюдением. Пробуйте кому интересно. И может что дельное подскажете.

Впервые в жизни придумал как использовать systemd. Хоть и можно было без него, но раз уж он есть, то пусть хоть что-то делает для меня полезное.

Upd.: Важное дополнение. При рассчёте занимаемой памяти я беру не просто размер процесса firefox, но суммы всех процессов фокса вместе взятых. Как оказалось люди не поняли сразу и пфыкают :)

PcheloBiaka
()

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

 , , , ,

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

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

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

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

>>> Журнал «Квант» (kvant.digital)

z0idator
()

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

 

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

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

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

    Раст, сын Ферриса — юный герой, воспитанный нимфой Крейтóй, вооружённый щитом #[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
()

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

 , , , ,

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

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

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

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

LINUX-ORG-RU
()

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

 ,

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

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

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

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

pihter
()

Сжатие pdf

 ,

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

copentry
()

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

 

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

sergey_feo
()

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

 , , , ,

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

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

alex0x08
()

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

 , ,

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

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

Suntechnic
()

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

 

У меня тут вышел очередной годовой обзор мультимедийщины на английском: чё было в 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
()

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

 ,

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

Мой список:

Делитесь!

alex1101
()

Кино 90-х

 , , ,

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

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

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

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

Update.

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

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

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

vvn_black
()

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

 , копрофагия

По итогам Есть ли что-то типа 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` в фоне без зависаний

 

Собственно: 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

 ,

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

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

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

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

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

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

wandrien
()

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

 , , , ,

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

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

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


LINUX-ORG-RU
()

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

 

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

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

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

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

dem
()

ASCII игры по Linux

 ,

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

martin_blumen
()