LINUX.ORG.RU

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

список легких сайтов

 ,

Есть планшет B1-a71 с 512 ram, mtk 8317t 2 core 1.2 ghz . Дайте,пожалуйста, список легких сайтов разной направленности. Выбрасывать не предлагать. Хорошо работает linux.org.ru

Enter
()

btrfs - мнимое «Не осталось свободного места»

 ,

Удачно монтирую btfs-раздел, но далее при попытке даже изменить права доступа на файл или каталог пишет:

На устройстве не осталось свободного места

Хотя при этом через df -h видно на этом разделе 7 ГБ свободно:

/dev/sda6           30G          22G  7,0G           76% /mnt/LEAP-15

Пробовал отмонтировать раздел и запустить

# btrfsck  /dev/sda6
Checking filesystem on /dev/sda6
UUID: 66be278b-9c9c-45ef-96a5-1a9eb375aa44
checking extents
checking free space cache
checking fs roots
checking csums
checking root refs
found 22335524864 bytes used err is 0
total csum bytes: 20340836
total tree bytes: 593608704
total fs tree bytes: 529547264
total extent tree bytes: 36536320
btree space waste bytes: 103750573
file data blocks allocated: 70457954304
 referenced 21395312640

Но после перемонтирования ситуация та же((

gigantischer
()

LLVM libc

 , , ,

Кто-нибудь пробовал?

Для энтузиастов, если что:

$ cmake -G Ninja -B build_libc_release -S llvm-project/llvm -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DLLVM_ENABLE_PROJECTS=libc

$ cd build_libc_release

$ ninja llvmlibc

Тесты:

$ ninja check-llvmlibc

dataman
()

Вышла первая версия Gnuastro

 , gnuastro,

Группа GNU's Not Unix

Вышла версия 0.1 Gnuastro (The GNU Astronomy Utilities — астрономические утилиты GNU). Gnuastro представляет из себя официальный пакет GNU, содержащий различные утилиты для обработки астрономических данных. Распространяется на условиях лицензии GNU GPLv3. Все утилиты представляют из себя консольные приложения со схожим синтаксисом команд. На данный момент в состав Gnuastro входят следующие программы:

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

>>> Сайт проекта и документация (gnu.org)

the_electric_hand
()

Новорегам

 , , новенький, , новорег

Здравствуй дорогой юный или не очень друг или подруга.
Сегодня я расскажу вам историю о том как не получить подзатыльника на сайте linux.org.ru за свой возможно первый, а может быть и нет вопрос.

Давайте рассмотрим типичный пример.Вы (не вы) установили (пытались установить) тот или иной дистрибутив linux (не linux) на свой (или не свой) персональный(или не очень) компьютер.

Но вот беда! Вы столкнулись с проблемой и понятия не имеете как её решать. Интернеты или кто-то ещё привели вас на linux.org.ru.

Кое-как сумев зарегистрироваться с желанием как можно быстрее разобраться с вопросом вы особо не думая выбираете первый попавшийся раздел и задаёте там вопрос.

Вот тут мы остановимся, не надо писать куда попало, потратьте минутку и прочтите описание веток форума linux.org.ru/forum/. Но ошибка в выборе разделе это не страшно, модераторы могут перенести вопрос в нужный раздел, в случае когда видно что вы вообще не обращали внимания куда пишете, например вопрос по запуску игры в разделе Linux-install вместо Games вы можете «получить по шапке».

АХТУНГ, ВНИМАНИЕ!

-Если ваша проблема заключается в порче данных, утере данных,случайно удалённых данных, всем что связано с вашими личными файлами на вашем ПК, выключите его, сейчас же! И обратитесь на форум за советом что делать с другого устройства, например телефона.
-Любая ваша активность за ПК с вашим накопителем снижает вероятность восстановления данных. Даже перезагрузка этой страницы в браузере. 

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

+Всем привет!, установил линукс, не работает интернет, как настроить?

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

- Вы можете просто мне помочь, а не умничать?
- Я не хочу в этом разбираться, просто скажите мне как сделать то что я хочу.
- Я ничего не понял распишите мне пошагово всё.
- Всё ясно вместо того чтобы просто помочь только балаболить можете.
- Типичное СНГ сообщество, токсики и дегенераты
- Не тратьте моё время я хочу решение, а не разбираться

Это фиаско, сомневаюсь вам кто-то поможет после такого, держите себя в руках, даже если вы читаете не относящиеся к вашей проблеме слова. Ибо если вы задали вопрос как написано выше, в вашем к вам отношении виноваты только вы и никто более. Почему?

А вот теперь давайте встанем на место активных участников форума на помощь которых вы рассчитываете.

  • 1 В мире множество дистрибутивов linux и у каждого из них свои особенности, если не указать его название в своём вопросе, то и говорить не о чем. Если у вас сомнения по поводу названия укажите ссылку откуда вы скачали дистрибутив если вы его ещё не смогли установить, в случае если дистрибутив установлен выполните команду uname -aв выводе этой команды будет содержаться необходимый минимум информации, пример:
dron@gnu:~$ uname -a
Linux gnu 5.19.0-1-amd64 #1 SMP PREEMPT_DYNAMIC Debian 5.19.6-1 (2022-09-01) x86_64 GNU/Linux
dron@gnu:~$ 

Для уточнения можно ещё приложить вывод lsb_release -a

dron@gnu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux bookworm/sid
Release:	testing
Codename:	bookworm
dron@gnu:~$ 
  • 2 Не указана версия дистрибутива, да, они имеют версии и например Ubuntu более 30 разных выпусков за её историю развития, конечно можно предположить что у вас одна из последних версий, но даже между двумя стабильными выпусками аж 5 разных дистрибутивов. Так что даже указав название дистрибутива нужно будет много гадать и перебирать варианты. Эта информация также содержится в выводе uname -a

  • 3 Вы не указали на то какие у вас характеристики ПК. Да вы можете столкнуться с ситуацией когда вам характеристики неизвестны, по причине ещё не работоспособного устройства или вам неизвестно как получить информацию о вашем железе на новой для вас операционной системе. В любом случае вы можете чаще всего назвать например модель ноутбука. Если же у вас ПК и вы не знаете какое железо внутри, но вы уверены что железо имеет отношение к вопросу, как минимум названия процессора, количество оперативной памяти, названия накопителей видны в BIOS.

В случае если вы находитесь в рабочем дистрибутиве вы можете получить информацию о

  • lscpu Центральном процессоре
  • lsmem Оперативной памяти
  • lsusb USB устройствах
  • lspci PCI устройствах
  • lsmod Загруженных модулях ядра для вашего оборудования
  • lsblk Размере и разметке ваших накопителей

Отвечающие могут попросить показать вывод других программ, в зависимости от ситуации. Чаще всего нужна лишь часть информации, подумайте логически что из этого указывать в своём вопросе, в случае если программа выводит очень много текста логично скопировать вывод на pastebin или подобный сервис например https://www.klgrth.io

В дополнение и я бы даже сказал как перекрытие пункта 3 есть вариант предложенный товарищем @krasnh, а именно один раз выгрузить достаточно большую обезличенную информацию о системе и ссылаться на неё в своём вопросе, это делает утилита hw-probe которая к сожалению не установлена по умолчанию. Если ваша проблема не связана с установками пакетов, поломанными зависимостями то вы можете установить утилиту hw-probe через специфичный вашему менеджер пакетов, скачать в виде самодостаточной программы формата Appimage по этой ссылке далее выполнить команду ниже и приложить к своему вопросу ссылку выданную терминалом

В случае AppImage

#скачиваете по вышеприведённой ссылке Appimage файл
#делаете файл исполняемым
dron@gnu:~/Загрузки$ chmod +x ./hw-probe*.AppImage
#запускаете
dron@gnu:~/Загрузки$ sudo -E ./hw-probe-*.AppImage --all -upload
[sudo] пароль для dron: 
Probe for hardware ... Ok
Reading logs ... Ok
Uploaded to DB, Thank you!

Probe URL: https://linux-hardware.org/?probe=ba05383ec5

Если установка утилиты произведена в систему через пакетный менеджер.

dron@gnu:~$ sudo -E hw-probe -all -upload

 Probe for hardware ... Ok
 Reading logs ... Ok
 Uploaded to DB, Thank you!
 Probe URL: https://linux-hardware.org/?probe=68dbf33470

Всё это конечно если вы умеете пользоваться вашим дистрибутивом хотя-бы на примитивном уровне.

  • 4 Вы не указали как вы пытались решить проблему, искали ли вы ответы в интернете, воспользовались ли поиском на этом сайте https://www.linux.org.ru/search.jsp , то есть прилагали ли вы хоть какие то самостоятельные усилия. Возможно вы что-то пытались делать, но умолчали он этом. Также очень вероятно что вы в процессе экспериментов что-то сломали сами, указывайте все ваши действия, даже если вам кажется они не относятся к вашему вопросу, в рамках разумного конечно. Если ваш вопрос касается написания кода или скрипта то приложите ваш код или отрывок из него, опять же чтобы показать что вам не просто лень, а действительно нужен совет, а так же чтобы отвечающий видел по коду где у вас ошибка, что вы делаете не так или/и что вы понимаете не так.

  • 5 Заголовок сообщения, там не надо КАПСИТЬ!!1, от этого вам быстрее не помогут, а лишь будут вас тролить и высмеивать и виноваты в этом будете исключительно вы. Напишите спокойно например «Ошибка при установке Ubuntu» или «cron не исполняет задачи». Просто краткая суть вашей проблемы и всё.

  • Не указана информация о вашей графической оболочке, графическом сервере и/или наборе ПО с оконным менеджером. Вероятно вы понятия не имеете что это всё такое. Тем не менее если ваш вопрос по поводу работы какого-то графического приложения то нужно указать в каком окружении оно работает.

Вы можете используя команды:

  • echo $XDG_SESSION_TYPE узнать Xorg у вас или Wayland

  • echo $XDG_CURRENT_DESKTOPузнать какое у вас рабочее окружение

  • echo $XDG_SESSION_DESKTOP узнать какой у вас менеджер сессий

  • Вы не указали версию программы с которой у вас проблемы или вопросы по использованию, программы постоянно развиваются, меняются и что-бы дать однозначный ответ или хотя бы попытаться это сделать нужно знать о версии программы, в графическом интерфейсе программы найдите в меню опцию «about»,«о программе» часто такое есть, если нет то можно узнать из терминала введя имя программы --help вы увидите ключи часто есть ключ --version и например узнать о версии нужно ввести имя_программы --version.

Например:

dron@gnu:~$ firefox --version
Mozilla Firefox 102.2.0esr
dron@gnu:~$ 

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

И это ещё не всё, ещё важный аспект это форматирование вывод программ,ваш код, логи которые попросили вас выложить, всё это нужно оформить, всё познаётся в сравнении, к примеру меня попросили выложить вывод lsblk

Вот как он выглядит без форматирования

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 1,4T 0 disk ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 1,4T 0 part /home sdb 8:16 0 74,5G 0 disk ├─sdb1 8:17 0 3,7G 0 part └─sdb2 8:18 0 70,8G 0 part / sdc 8:32 0 74,5G 0 disk └─sdc1 8:33 0 74,5G 0 part /mnt/STORAGE sdd 8:48 1 0B 0 disk sr0 11:0 1 1024M 0 rom

А вот как с форматированием

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda      8:0    0  1,4T  0 disk 
├─sda2   8:2    0    1K  0 part 
└─sda5   8:5    0  1,4T  0 part /home
sdb      8:16   0 74,5G  0 disk 
├─sdb1   8:17   0  3,7G  0 part 
└─sdb2   8:18   0 70,8G  0 part /
sdc      8:32   0 74,5G  0 disk 
└─sdc1   8:33   0 74,5G  0 part /mnt/STORAGE
sdd      8:48   1    0B  0 disk 
sr0     11:0    1 1024M  0 rom  

Думаю разница очевидна, читать не отформатированный код и следовательно помогать никто не будет. А навести красоту легко. Три апострофа «```» на букву ё при английской раскладке, перевод на новую строку, ваш текст, перевод на новую строку и ещё раз три апострофа «```» Всё!

Если всё ещё непонятно умоляю прочтите >>> Как правильно копировать вывод терминала <<< потому что пользователь @Vsevolod-linuxoid уже устал, он очень добрый был, но вы его почти сломали, пусть он останется добрым, пожалуйста, пожалейте его и нас, форматируйте сообщения!

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

И напоследок, вам тут никто ничего не должен, внезапно, да да! :D

Нахер я всё это писал не знаю, всё равно читать никто не будет, хотел ещё что-то дополнить, но отвлёкся и забыл, потом допишу. Но если мне будет попадаться быдловатый и требовательный новенький, которому лень всё объяснять я буду скидывать ссылку на эту простыню и убегать в закат.


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

LINUX-ORG-RU
()

Познание математики будучи тупарём

 , , ,

Хочется заняться математикой ради интереса, для общего развития. Какую литературу могут посоветовать лоровские специалисты по всему? Хочу вот прям сначала! Не сказал бы, что я полный ноль в математике, на полрубля знаю школьный курс, хотелось бы просто углубить знания. Могу только сказать, что есть проблемы в логике и математическом мышлении. В принципе, для общего развития хватило бы и той же википедии почитать, но это придётся всё изучать вразнобой, а мне надо, чтобы было поэтапно, для этого и ищу книгу.

Всевозможные видео- и аудиокурсы, лекции не предлагать. Воспринимаю информацию только в текстовом виде.

А при чём тут линукс? При том, что пост написан с телефона под управлением ОС Android, да и потенциальные отвечаюшие с некоторой вероятностью тоже используют линукс

puffy
()

«Статьи» — новый раздел сайта (бета)

 ,

На сайте появился новый раздел – «Статьи». Раздел предназначен для размещения how-to, обзоров и т.п. Правила для этого раздела пока что не разработаны, в настоящий момент основным правилом разделая является соответствие тематике сайта и соблюдение общих правил форума.

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

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

В планах добавлениие блока с последними статьями на главную страницу, добавление блока на страницу тега.

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

maxcom
()

Доступен язык программирования Hare

 , ,

Группа Разработка

Впервые представлен широкой публике язык программирования Hare, который разрабатывает Дрю ДеВолт (автор Sway и SourceHut) со своей командой последние пару лет.
Hare — язык для системного программирования с минималистичным рантаймом, статической типизацией и ручным управлением памятью.

Исходный код компилятора предоставляется под лицензией GPLv3, а для стандартной библиотеки под лицензией MPL (Mozilla Public License). Компилятор Hare не основан на LLVM или GCC, а использует легковесный qbe (c9x.me). Программы на Hare не линкуются с libc по умолчанию.

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

>>> Подробности (harelang.org)

dadd
()

wezterm — кроссплатформенный эмулятор терминала и мультиплексор с ускорением на GPU

 , ,

Хочу познакомить вас с ещё одним кроссплатформенным эмулятором терминала и мультиплексором с ускорением на GPU – wezterm. Написан на Rust.

Возможности:

dotcoder
()

Порекомендуйте шифрованные синхронизируемые заметки

 , ,

Мне нравится Orgzly (заметки в текстовых файлах orgmode, синхронизация через dropbox) и Syncthing (прямая синхронизация папок между устройствами).

Нужно добавить к этому набору шифрование и паролинг заметок того требующих. Это могут быть шифрованные файлы в синхронизируемой папке (какой формат? какой программой открывать?) или синхронизирумый блокнот с шифрованием.

Решение нужно для Linux и Android, не лишним будет и Windows.

nightingale
()

Трудности перехода. Hex редактор

 , ,

Посоветуйте более-менее мощный hex-редактор для замены 010 Editor’a (Знаю, есть нативный, но цена как-то высоковата).

Нужно чтобы он

а) был графическим, qt|kde|gtk3

б) поиск/замена текста работала во всех открытых вкладках одновременно

в) имел встроенный скриптовый язык для обработки бинарных данных

На поддержку шаблонов данных и совместимость со скриптами 010 я уже даже не рассчитываю…

Все что я нашел - либо слишком примитивные, или консольные.

Может быть, существует какое-то расширение для vscodium которое так умеет?

hargard
()

Простая программная генерация видео и картинок без стороннего API

 , , , ,

Покажу простой способ генерации видео программами на Python и C/C++ без использования стороннего API. Вам так же потребуется ffmpeg, без него вы не сможете конвертировать файлы в читаемые форматы!

Зачем это нужно?

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

Способ 1: на Python

С помощью скрипта на Python можно создать видео. Просто сохраните этот код в какой-нибудь «main.py»

import os
import sys

state = 0; # переменная нужная для анимации смещения узора
w = 320 # ширина кадра
h = 240 # высота кадра
fps = 25 # кадров в секунду
duration = 2 * fps # сколько длится видео (2 сек)
buffer = bytearray(w * h) # для хранения данных кадра
# генерация кадров
while state < duration:
  for y in range(0, h):
    for x in range(0, w):
      buffer[y * w + x] = ((x + state) ^ y) % 256 # генерация узора
  os.write(sys.stdout.fileno(), buffer) # кадр записывается в вывод консоли
  state += 1 # немного сдвинуть узор в следующем кадре

Далее исполняете команду в консоли:

python main.py | ffmpeg -y -f rawvideo -pixel_format gray -video_size 320x240 -framerate 25 -i pipe: out.mkv

В результате у вас получится двухсекундное видео с узором out.mkv. Посмотреть демо гифку

Как это работает?

В командную строку Linux можно выводить не только текст, но и бинарные данные файлов, а так же эти данные можно перенаправлять в другую программу, в данном случае это ffmpeg который принимает RAW кадры и конвертирует их в видео. И в коде и в команде вызова должны совпадать fps/framerate и video_size/w/h иначе всё разъедется. Нельзя просто взять и написать данные пикселей в консоль через print, нужно записывать их в stdout как в файл через os.write. Если в коде изменить duration на 1, то создастся только один кадр с узором и его можно сохранить как картинку так:

python main.py | ffmpeg -y -f rawvideo -pixel_format gray -video_size 320x240 -i pipe: out.png

Способ 2: на C/C++

Конечно Питон это медленно и я покажу как сделать это на C и C++, в этих языках стандартный поток вывода stdout тоже считается файлом и в него можно записывать бинарные данные.

C++

#ifdef WIN32 
  #include <fcntl.h>
#endif
#include <cstdio>
#include <iostream>
#include <cstdint>
#include <vector>

int main() {
  constexpr size_t fps = 25;
  constexpr size_t w = 320;
  constexpr size_t h = 240;
  constexpr size_t duration = fps * 5;
  constexpr size_t size = w * h;
  auto buffer = std::vector<uint8_t>(size);
  size_t state = 0;
#ifdef WIN32 
  setmode(fileno(stdout), O_BINARY);
#endif

  while (state < duration) {
    for (size_t y = 0; y < h; ++y)
    for (size_t x = 0; x < w; ++x)
      buffer[y * w + x] = (((x + state) ^ y) + state) % 256u;
    ++state;
    std::cout.write(reinterpret_cast<char*>(buffer.data()), size);
  }
}

Сборка и запуск:

g++ -Wall -O2 main.cpp -o prog
prog | ffmpeg -y -f rawvideo -pixel_format gray -video_size 320x240 -framerate 25 -i pipe: out.mkv

C

#include <stdio.h>
#include <stdint.h>
#include <fcntl.h>
#include <malloc.h>

typedef uint8_t byte;

int main() {
  const int fps = 25;
  const int w = 320;
  const int h = 240;
  const int duratuion = fps * 5;
  const int size = w * h * sizeof(byte);
  byte *buffer = (byte*)malloc(size);
  int state = 0;
  freopen(NULL, "wb", stdout);

  while (state < duratuion) {
    for (int y = 0; y < h; ++y)
    for (int x = 0; x < w; ++x)
      buffer[y * w + x] = (((x + state) ^ y) + state) % 256;

    fwrite(buffer, 1, size, stdout);

    ++state;
  }

  free(buffer);
}

Cборка и запуск:

gcc -Wall -O2 main.c -o prog
prog | ffmpeg -y -f rawvideo -pixel_format gray -video_size 320x240 -framerate 25 -i pipe: out.mkv

Как сохранить в FFmpeg видео в полном качестве

Я специально не указывал выходной видео кодек для упрощения команд, но вы можете добавить в ffmpeg опции -vcodec libx264rgb -crf 0 для сохранения видео в lossless качестве. Если вы модернизируете программу и добавите в неё поддержку RGBA цвета, то помните что h264 не умеет сохранять прозрачность в кадрах и вам лучше использовать кодек FFV1.

Что ещё можно сделать

  • Можно сгенерировать видео на любом языке программирования, если на нём можно переключить стандартный вывод в бинарный режим.
  • По такой же логике можно и перенастроить поток ввода stdin в бинарный режим и передать в программу бинарные данные из ffmpeg, таким образом можно будет смастерить видео-фильтр. В общем надо сделать что-то типа того: ffmpeg | фильтр | ffmpeg. Вообще можно просто написать Frei0r фильтр на Си и использовать его в ffmpeg, но мой способ просто не требует никакого стороннего API.
  • Поток можно перенаправлять и в файл и потом этот файл скармливать ffmpeg’у, но учтите что видео будет совсем без сжатия и несколько секунд видео 1280x720 будут весить гигабайты. Сделать это можно так:
prog > video.dat
fmpeg -y -f rawvideo -pixel_format gray -video_size 320x240 -framerate 25 -i video.dat out.mkv
  • Раз можно сгенерировать сырое видео, то можно и создать сырой PCM звук и конвертировать его в аудио форматы. Можно например генерировать мелодии и сохранять их в pcm_s16le поток. Опять же переключив stdin в pipe режим вы можете получать аудио поток извне, обрабатывать его своей программой и передавать далее, таким образом у вас получится аудио фильтр и не надо никакого VST/LADSPA API.

Заключение

Это очень простой способ создания видео (для программиста). Если что, в ffmpeg уже встроены некоторые генераторы тестовых видео. Сохраняются ли гигабайты сырых кадров в оперативной памяти при использовании такого способа передачи или же на диске - мне это неизвестно, возможно что у такого способа есть какие-то ограничения на размер передаваемых данных. Помните что в передаваемом потоке данных нет никаких меток синхронизации и если что-то где-то потеряется в пути, то видео всё станет кашей, так что не пытайтесь передавать такой поток через net cat (я не пробовал).

HPW-dev
()

Программы - не стихи, их надо проектировать, а не писать.

 , , , ,

Этот пост как спроектировать.... заставил меня вспомнить о замечательном человеке и его статье. Есть такой дедушка, зав. кафедрой в ИТМО - Анатолий Шалыто. Очень толковый препод. И вот его статья «Программы –не стихи, их надо проектировать, а не писать» - http://is.ifmo.ru/main/article_ap.pdf .

Кроме критики сложившейся ситуации с производством ПО, Шалыто даёт ссылки на свои примеры проектирования и показывает почему так делать правильно. Ссылки прямо там в статье. Битых ссылок не встречал.

Вот самые интересные цитаты:

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

Бардак с ПО творится почти во всем мире. Если аппаратура проектируется всегда, и только потом производится, то проектная документация на программы на практике выпускается крайнередко. Универсальный язык моделирования (UML), на который одно время у многих были большие надежды, используется далеко не всегда, причем даже в тех случаях, когда он применяется, диаграммы обычно строят одни люди –архитекторы, а другие –программисты в лучшем случае в них заглядывают.

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

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

PS, для модераторов. Линукс здесь при том, что:

Простота требует проектирования и хорошего вкуса.

Л. Торвальдс

MittenShmitten
()

На чем писать десктопные приложения

 ,

Потыкал електрон и чет это вообще калл какой-то, не понравился. JavaFx тоже так себе. Может попробовать Flutter или что сейчас норм для мультиплатформы?

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

andreyneansrey
()

qBittorrent 4.4.0

 , ,

qBittorrent 4.4.0
Группа Интернет

qBittorrent — это свободный кроссплатформенный клиент файлообменной сети BitTorrent, основанный на инструментарии Qt и библиотеке libtorrent-rasterbar. Программа распространяется под лицензией GNU General Public License version 2.
Начиная с этого выпуска, qBittorrent будет выходить и в виде Appimage.

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

>>> Подробности (qbittorrent.org)

LINUX-ORG-RU
()

Curl 7.81.0

 ,

Группа Open Source

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

Видеопрезентация

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

>>> Подробности (curl.se)

LINUX-ORG-RU
()

Игры в терминале

 , , ,

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

Приглашаются красноглазые задротики, которые любят тупить в консольку между сессиями компиляния очередного ядра линукса. Можете подписываться на темку, ставить лайк, прожимать колокольчик или что тут у вас принято.

Теги для поисковых ботов (жрите мои любимые ботики): ascii games, terminal games, ncurses games, tty games, console games, cli games, tui games, text-based games, command line games, игры в терминале, игры в консоле, игры для командной строки.

Критерии отбора:

  1. Язык программирования: Си(в приоритете), си++. Остальные пока не рассматриваются. Потенциальные в будущем - ада, фортран, бейсик, паскаль. Жирный пайтон идет лесом, хипстерские гоу, раст и иже с ними туда же.
  2. Открытые исходники с лицензиями, позволяющими модификацию, не препятствующие распространению. Свободные и одобренные дядюшкой Столлманом в приоритете.
  3. Зависимости. Без sdl и других графических либ. Опционально пускай будет, например, для музыки. Но не навязывается. NCurses и подобные библиотеки для работы с терминалом всяко одобряются и котируются. Не приветствуются в зависимостях всякие гугловские юнит тесты и другие чёрт ногу сломит либы. Для маленьких терминальных игр эта мишура не нужна.

Источники игорей:

  1. https://ttygames.wordpress.com/
  2. https://github.com/ligurio/awesome-ttygames
  3. https://inconsolation.wordpress.com/
  4. https://kmandla.wordpress.com/
  5. https://ibiblio.org/pub/linux/games/ Артефакты прошлого. Игры для терминала надо искать. Не всё собирается с современным компилятором.
  6. gopher://sdf.org/9/users/saahriktu/bttf/gamez_p0.tar.lzma (использовать lynx) - сборник ascii игр, собранный камрадом @saahriktu
  7. https://www.youtube.com/user/livibetter/videos
  8. https://zenway.ru/tag/ASCII
  9. https://blends.debian.org/games/tasks/console
  10. ASCII игры по Linux
  11. Поиск на github.com, gitlab.com по соответствующим запросам
  12. Поиск рогаликов на http://www.roguebasin.com/index.php?title=Category:Roguelike_games
  13. Все поисковики, даже малоизвестные иногда выдают страницы, на которые не попадешь с гугла или яндекса.

Сами игори:

!!!NEW!!! 1. 8f (linux.org.ru) - Терминальный вариант карточной игры Сумасшедшие восьмёрки (Crazy Eights).

  1. Alienwave - Сложная Galaga-подобная игра с хорошим ascii-артом.
  2. Bricktick - Красивый клон арканоида с бонусами.
  3. CLines - Качественная реализация всеми известной офисной игры Color Lines.
  4. Dominoes - Реализация одного из вариантов игры Домино.
  5. Lwrace - Бегаем символом «O», собираем «$», избегаем «#», уворачиваемся от «o».
  6. Morpion solitaire - Отличная реализация отличной же тетрадной игры Join Five.
  7. MyMan - Пакман для терминала с множеством настроек.
  8. Peg-solitaire.c - Добротная реализация одноименной настольной игры с 5-ю раскладками.
  9. XT gyoretsu - Воссозданная с любовью и с ncurses старая тетрадная игра.
  10. Ztrack - Псевдо-тридешные гоночки с красивым бэкграундом.
  11. to be continued
nab_linux
()

Игры про космос/фантастику/отмосферку/историю или типа того.

 , ,

Вот закончил The Swapper проходить (по совету анона взял очень не пожалел странно что раньше не слышал про неё и не видел нигде), до этого прошёл Alien Isolation. До этого прошёл две части Dead Space. До этого прошёл SOMA. Между делом другие были, но эти отражают то чего хоца. В них всех есть некий антураж общий. Ну так вот. Кто чего посоветует, на подобе или около того?

LINUX-ORG-RU
()

В KDE планируют в 2022 году достичь паритета сеансов X.Org и Wayland

 , , ,

Группа KDE

Нейт Грэм (Nate Graham), ответственный за контроль качества в проекте KDE, поделился своими мыслями о том, в каком направлении проект будет развиваться в 2022 году. Ключевой план на 2022 год: сеанс на базе Wayland должен быть в состоянии полностью заменить сеанс с X11. Проблемы, блокирующие данный переход, всё менее существенны.

Среди других планов:

  • Объединение настроек языков и форматов в конфигураторе.

  • Переработка набора пиктограмм Breeze. Цветные пиктограммы будут визуально обновлены, смягчены, скруглены и избавлены от устаревших элементов, таких как длинные тени. Монохромные пиктограммы также будут модернизированы и адаптированы для лучшего сочетания с разными цветовыми схемами.

  • Решение всех проблем с многомониторными конфигурациями.

  • Поддержка инерционной прокрутки в программах на базе QtQuick.

  • Инициатива по исправлению как можно большего числа ошибок в KDE Plasma и связанных компонентах (KWin, конфигураторе, Discover и т. п.), которые всплывают в первые 15 минут работы в KDE. По мнению Нейта, подобные ошибки являются основной причиной формирования негативного мнения о KDE у пользователей.

>>> Источник (opennet.ru) (opennet.ru)

ipkirill21x
()

Новый формат изображений быстрее PNG в десятки раз

 , , , qoi

Новый формат изображений быстрее PNG в десятки раз
Группа Мультимедиа

Доминик Саблевски представил новый и невероятно простой в реализации формат изображений QOI (Quite OK Image). По представленным тестам, при сжатии изображений QOI производительнее PNG в 20–30 раз, а при распаковке — в 3–4 раза.

Доминик признаётся, что не является экспертом в области сжатия изображений. Идея создать новый простой и эффективный формат изображений пришла к нему во времена работы с MPEG-1. Его целью была скорость и простота.

Файлы QOI больше по размеру, чем PNG на 10–50 % в зависимости от картинки, поэтому QOI стоит применять, когда необходима скорость.

Исходный код на C, состоящий из одного универсального файла, доступен на GitHub.

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

Также доступны реализации на Zig (github.com), Rust, Go (github.com), TypeScript, Python, C# (github.com). Поддержка QOI добавлена в библиотеку SAIL.

Для пользователей Arch Linux в AUR доступен пакет qoi-git.

>>> Замеры скорости и размеров изображений

>>> Подробности (phoboslab.org)

former_anonymous
()