LINUX.ORG.RU

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

Падение скорости на ext4 при заполнении

Форум — Admin

Здравствуйте. Подскажите, куда смотреть и можно ли что-то сделать (подтюнить) ext4 или сразу мигрировать на что-то вроде ZFS или xfs. Имеется разветвленная структура файлов и каталогов, всего около 40-50 млн файлов небольшого размера (до 100-200 Кб), в основном бинарные файлы: шрифты, рисунки в векторных форматах (остатки от работы CAD и пр.). Все это нужно держать как есть, сжать не выйдет, так как старый проприентарный софт именно так это и хочет видеть. Можно размазать по 2-3 дискам, но толку мало. В чем проблема: при наличии уже около 20-30 млн мелких файлов файловая система ext4 начинает дико тормозить при записи, скорость обмена падает до 6-7 Мб/с. Чтение тоже замедляется примерно до тех же величин. Диск 100% исправен. inodes занято около 15%, свободного места - и того больше, пара ТБ точно есть. Понятно, что такое обилие файлов вызывает тормоза - поясните, а что именно вызывает? Какой механизм, я хочу понять где узкое место в случае миллионов файлов возникает? И что можно сделать? Понятно, что перенести, но нет денег и не предвидится (пока). Поможет ли XFS/ZFS в таком случае? Всякие там atime/adirtime убраны в fstab в ноль, а что еще можно подтюнить? Спасибо

 , ,

netvis
()

Хочу написать скриншотер

Форум — Talks

Привет. Увидел новость про скриншотер и решил написать свой с минимальным набором функций.
Там куча проблем граблей с wayland. На чем писать чтобы не было зависимости от оконного менеджера? QT, GTK, boost?
Начну как лабораторки по учебе а потом может и линукс примут пакетом.

 , , , ,

TheNewDragon
()

Разработка сетевой библиотеки на C++20: интеграция асинхронности и алгоритма Raft (часть 1)

Статьи — Разработка
Разработка сетевой библиотеки на C++20: интеграция асинхронности и алгоритма Raft (часть 1)

Введение

С годами работы в области распределённых систем, я понял, что мой опыт не будет полным без реализации алгоритма Raft. Это осознание побудило меня к действию: я решил создать свою реализацию, используя асинхронные возможности C++20.

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

 , , , ,

Reset
()

Проблемы надёжной доставки данных до постоянного хранилища и fsync()

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

Когда речь идёт об организации надёжного хранения данных на диске, возникает проблема: надо как-то узнавать о том, что данные на диск не смогли записаться, и принимать по этому поводу какие-то меры.
Есть, конечно, и другая проблема: даже если данные на самом деле записались, они всё равно могут позже потеряться из-за аппаратного сбоя. Но это другая тема и тут мы не будем её рассматривать.

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

 , ,

firkax
()

Просто домашний ПК 11 (cinnamon)

Галерея — Скриншоты

Что-то надоела однотонность, на время разукрасил рабочий стол папоротником, люблю их, они красивые.
И сделал панельки прозрачными, прозрачность убирается когда например окно развёрнуто и я играю в Colobot :).

Система всё та же Debian GNU/Linux trixie/sid, Cinnamon, tilix, GVim и прочее.

Tilix тоже разукрасил двойным логотипом Debian. Если что, вот мои игры с расцветками логотипа в krita.

Источник производных работ и лицензия на распространение вот тут располагается

На скрине помимо прочего можно лицезреть как я решил добавить в программку на Love2D цветовые схемы.
Бесполезное занятие учитывая что программа забагована и вместо исправления шашечек я вешаю рюшечки :)

Программка для приёма звука с ПК на телефоне или другом ПК, который используется в качестве звуковой карты.
Так как на ПК звук сломался, так уже много месяцев наушники подключены к телефону который 24/7 передаёт звук.
На панельке кнопочка, «колонка» это скрипт по нажатию которого включается и выключается передача звука по сети.
Использую пока module-simple-protocol-tcp через Pipewire-pulse.

Далее кнопочка запуска бекапа и rss уведомлялка для LORa и несколько аплетов типичного десктопа.
Где-то невидимо для глаз работают сприптики на Lua, на нём очень удобно писать для домашнего ПК.
И конечно же Сишечка, но сишечка взрослая дядя поэтому занимается серьёзными делами.
Cinnamon всё так же шикарен, просто работает и не дурит мозг. Ну наверное и всё.
Сижу просто, втыкаю в папоротник, думаю, красиво же, надо поделиться.

🌿 Милые папоротниковые обои 🌿

Сегодня магнитную бурю обещают сильную, всем надёжной связи и голова не бобо ::)
Коооодики кодики, пролетают годики, ээээхъ. Всё, всем бобра. Досвиданья.

>>> Просмотр (1920x1080, 965 Kb)

 , , , ,

LINUX-ORG-RU
()

Немного новостей из мира Rust

Форум — Development

Последние новости из мира Rust вкратце:

  1. Вышла новая стабильная версия Rust 1.74.0.
  2. Сформирована новая команда по работе над официальной спецификацией языка Rust и представлено их видение.
  3. Ferrocene (набор инструментов компилятора Rust для критически важных сред и систем безопасности) прошёл сертификацию и теперь официально соответствует требованиям ISO 26262 и IEC 61508 и полностью пригоден для использования в средах, критически важных для безопасности.
  4. Доступно видео с конференции EuroRust 2023.
  5. Microsoft вкладывает 10 миллионов долларов, чтобы сделать Rust языком 1-го класса в своих инженерных системах.

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

 

dotcoder
()

clipboard manager похожий на pano

Форум — Desktop

увидел сейчас необычный красивый менеджер специально для гнома https://github.com/oae/gnome-shell-pano. Есть ли еще похожие альтернативы для других де? Я бы такой себе на hyprland с удовольствием поставил. На гитхабе полно интересных проектов о которых мало кто знает, может кто случайно наткнулся?

 

monkdt
()

Как вывести картинку в QPainter

Форум — Development

Привет, ЛОР.

Тут встала задача выводить в QPainter растровую картинку, которая задана программно в виде массива байт RGB. Неупакованного. Давным-давно, во времена Qt3 был метод bitBlt, теперь все советуют вызывать drawPixmap(). Ей нужен QPixmap, который из памяти, кажется, можно загрузить только по списку определённых форматов. Не через setPixel() же её формировать, это бред. Жать массив в PNG, JPEG и даже XPM только для инициализации QPixmap — тоже бред, хоть и чуть побыстрее…

Куда копать?

 

hobbit
()

WeeChat 0.1.9-cvs на русском

Галерея — Скриншоты

Сегодняшняя сборка WeeChat из CVS. Тестим фичи, ловим баги. =)

Прошу, при наличии свободного времени, потестить русскую локализацию и репортить ошибки, опечатки и неточные переводы на мыло/джабер stlwrt <тузик> gmail.com или в IRC - Stalwart @ Freenode.

Сайт WeeChatа: http://weechat.flashtux.org

PNG версия шота: http://our.uninet.lv/stalwart/wee-cvs.png

>>> Просмотр (1024x768, 294 Kb)

Stalwart
()

23Oz (23 Ounces of Glass)

Галерея — Скриншоты

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

>>> Просмотр (1280x1024, 290 Kb)

sda00
()

Пишу фреймворк LDL, аналог SDL но на С++ и с поддержкой старых систем

Форум — Development

Приветствую!

Пишу фреймворк для разработки софта или игр. Идею взял из библиотеки SDL, но пишу на С++.

Главная идея это кроссплатформенность, производительность и поддержка старых и новых систем. Windows 95 - Windows 11, Linux-дистрибьютивы, начиная с 2000-ых годов.

Сам проект. Лицензия Boost Software.

Идея зародилась после написания статьи «В софте все всрато и становится еще всратее».

Как говорится, если критикуешь, предлагай, а предлагая делай. Запилил обзорную статью на Habr’е. На данный момент фреймворк активно портирую на Linux.

Что реализовано:

  1. Поддержка 2D графики
  2. Абстракции над примитивами ОС. Окна, события, каталоги и т.д
  3. Поддержка Soft, OpenGL 1.2 и OpenGL 3 рендера.
  4. Аудио подсистема в реализации, пилю поддержку потокового воспроизведения музыки.

Особенности проекта.

  1. Поддержка старых систем 25+ лет.
  2. Модульный дизайн.
  3. Динамическая загрузка рендера при запуске приложения.
  4. Весь код написан на С++ 98, для поддержки большего числа компиляторов и систем. Но разработчик, может использоать любой стандарт языка, хоть С++ 23. Ограничение есть лишь у меня как у разработчика фреймворка.
  5. Высокоуровневый ООП API. Есть возможнось заюзать свои кастомные аллокаторы.
  6. Поддержка старого железа 25+ лет.
  7. Производительность.
  8. Минимальная внешняя зависимость.

Первый релиз планирую выпустить в течении месяца. Осталось реализовать следующие пункты.

  1. Протестировать и исправить порт под Linux.
  2. Реализовать воспроизведение потокового звука.
  3. Создать минимальную документацию.
  4. Добавить больше примеров.

Недавно выступил с докладом на конференции С++ Russia 2023. Вперед в прошлое, или Разрабатываем фреймворк под Windows 95 в 2023 году

Презентация

Тема на Gamedev.ru

Тема на Old-Games.ru

Буду рад обсудить данный проект. Критика и предложения, очень приветствуется.

Перемещено hobbit из web-development

 ,

JordanCpp
()

свободные/бесплатные учебники по си

Форум — General

есть слишком много учебников для си

помогите сделать список свободных/бесплатных и актуальных (если актуальность важна) на русском

не обязательна в форме книги можно как туториал например cprogramming.com

p.s.

вот список бесплатных ресурсов на русском по годам:

2023:
https://ru.wikipedia.org/wiki/Си_(язык_программирования)
https://ru.cppreference.com/w/c (пока про C23 не завершено)
2022:
https://learnc.info (судя по архиву редактировали активно до 2018 а последний раз в 2022)
2017:
И.С. СОЛДАТЕНКО ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ СИ Учебное пособие
http://prog.tversu.ru/library/C.pdf
2016:
Программирование: введение в профессию, 2 том. Издание изд-ва ДМК Пресс, 2021 г.
http://www.stolyarov.info/books/pdf/progintro_dmkv2.pdf
но не путайте с книгой издательством МАКС Пресс, в издательстве ДМК Пресс исправлены некоторые ошибки и другая вёрстка, там номера страниц и строк отличаются:
http://www.stolyarov.info/books/programming_intro/e2errata
также задачи и упражнение в
http://www.stolyarov.info/books/pdf/progintro_taskbook.pdf
2014:
http://cppstudio.com/cat/271/
2013:
Заметки о языке программирования Си/Си++ Денис Юричев
https://yurichev.com/writings/C-notes-ru.pdf
2006:
https://ru.wikibooks.org/wiki/Язык_Си_в_примерах (примерно 2006-2014 редактировали что-то в примерах)
2001:
Язык программирования Си Брайан Керниган, Деннис Ритчи 3-е издание
http://elisey-ka.ru/c/%D0%9A%D0%B5%D1%80%D0%BD%D0%B8%D0%B3%D0%B0%D0%BD%20%D0%91.%20%D0%B8%20%D0%A0%D0%B8%D1%82%D1%87%D0%B8%20%D0%94.%20-%20%D0%AF%D0%B7%D1%8B%D0%BA%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D0%A1%D0%B8%20(%D0%B8%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%203-%D0%B5).pdf

 , , , ,

anon39
()

Драконы

Галерея — Скриншоты

Вот такой вот у меня fluxbox

Тема - Calliu, волпапер с deviantART, мною обработанный, чтоб к теме подходил, скин для XMMS оттуда же. Вот вобщем-то и всё....

>>> Просмотр (1024x768, 163 Kb)

DavidKlassen
()

Литература 21 века. Что стоит читать?

Форум — Talks

Интересна художественная литература, написанная после 2000 года. Не только российская или англоязычная. Научная фантастика пойдет, но должно быть что-то еще. Яркие, необычные идеи, форма - то, что вдохновляет, или заставляет задуматься.

Или рок-н-ролл мертв?

 ,

C
()

60 антипаттернов для С++ программиста

Форум — Development

Постоянно писать «как делать правильный код» надоедает. Поэтому для разнообразия и развлечения написал мини-книгу «60 антипаттернов для С++ программиста». Этакие вредные советы в духе «Книга для непослушных детей и их родителей».

На самом деле там, не только вредные советы, но и разбор почему они собственно вредны. Будет полезно почитать новичкам в программировании. Думаю, каждый знает кого-то, кому будет полезно почитать этот материал :). Впрочем, опытные программисты тоже смогут найти интересное для себя и узнать/освежить знания про некоторых тонкие моменты C++.

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

Ещё я этот текст переработал для бумажного издания. Оно в подготовке для печати. Смысл там в целом тот же, но пришлось многое переделать или расписать подробнее. Ведь нельзя в бумажной книге дать 100500 ссылок на сторонние ресурсы «читать здесь про xxx подробнее». Надеюсь, успеем напечатать к осенним конференциям и будем раздавать на стенде, например по кодовым словам. Приходите на стенд и говорите, что с linux.org.ru и что там на тему бумажной книги :)

Парочка вредных советов для примера:

  • Пишите ваши .h-файлы так, чтобы они зависели от других заголовков, и при этом не включайте их в свой заголовочный файл. Пусть тот, кто инклудит, догадается, какие заголовки нужно заранее заинклудить перед использованием вашего файла. Развлеките коллег квестами!
  • Пишите код так, как будто его будет читать председатель жюри IOCCC и он знает, где вы живёте (чтоб приехать и вручить вам приз).

P.S. PDF, если кому-то так удобнее.

 , , , ,

Andrey_Karpov_2020
()

Как понять чистый С (без библиотек), awk и sed за 10 минут?

Форум — Development

Понимаю основные концепты в высокоуровневых ЯП, типа классов, функций и т.д. Писал на питоне скрипты для себя. Сейчас есть возможность поступить в европе в школу 42 (в рф называется школа 21), где усиленно учат первое время С.

Посмотрел их задания, а там что-то типа алгоритмов и вначале программирование без библиотечных функций. Выводят через write в буфер, кодят аналоги функций в стандартной библиотеке, мыслят алгоритмически и т.д. Все по канонам CS.

У меня же от чистого С с поинтерами и низкоуровневыми алгоритмами взрывается мозг. Очевидно книжки по обычному С с его библиотечными функциями не подходят. Попробовал книгу столлмана по С, но там скорее справочная информация и вглубь, да не туда. В какие-то темы вроде математики над указателями вообще не вижу смысла сейчас углубляться.

Ко всему прочему, видел пару заданий на знание awk и sed. И вообще в целом умение распарсить строки из терминала. По времени есть где-то месяц.

Вопрос, как можно подготовиться к такому? Откуда черпать информацию? Может есть уже золотая классика? Информации слишком много и она плохо отсортирована, прошу совета.

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

 , , ,

myredeyes
()

Ваша вторая книга по C++20

Форум — Talks

После долгого перерыва решил подтянуть плюсы до актуального уровня. Возник вопрос: что читать после Страуструпа? Мейерсу 10 лет в обед, актуальность под вопросом. Вышло что-то после него под названием «your second C++ book»?

 

untitl3d
()

Встроенный бинарник на Linux

Статьи — Разработка
Встроенный бинарник на Linux

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

Продолжаю раскрывать интересную тему запуска программ нестандартными способами. В этот раз расскажу про запуск ELF-бинарника из скрипта и без записи в файловую систему.

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

 , ,

alex0x08
()

FTXUI 4.1.1 - библиотека в функциональном стиле для создания консольных приложений

Новости — Open Source
FTXUI 4.1.1 - библиотека в функциональном стиле для создания консольных приложений
Группа Open Source

После более трёх месяцев разработки состоялся выпуск 4.1.1 кроссплатформенной библиотеки для C++ (стандарт C++17) FTXUI (Functional Terminal (X) User Interface), предназначенной для создания приложений с текстовым интерфейсом и распространяемой по лицензии MIT.

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

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

 , , , ,

dataman
()

Упала производительность r600

Форум — Linux-hardware

Ничего не предвещало беды, но давеча апдейтов накачали и теперь в печали. Внезапно упала производительность с драйвером r600 на соответствующих видеокартах. В большинстве игр на 5-10%, но в некоторых, например Tomb Raider 2013, драматически в 2-3 раза.

Полез в чейнджлоги мезы https://docs.mesa3d.org/relnotes/22.2.0.html и сразу наткнулся на

[Bisected] r600: Big performance regression on some games

Решил проблему соответственно откатом на 22.1.7 mesa и lib32-mesa.

Если отбросить несоответствующий разделу вопрос «Доколе?», то остается только «Как быть?». Т.е. есть ли решение, как вернуть прежнюю производительность без откатов и пересборок?

 ,

Radius
()