LINUX.ORG.RU

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

Создание загрузочных образов boobstrap v1.0

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

Хочу представить вашему вниманию фреймворк под названием boobstrap, написаный на POSIX shell, для создания загрузочных образов с дистрибутивами GNU/Linux. Фреймворк позволяет пройти весь пусть в три простых шага: от развёртывания системы в chroot, создания initramfs-образа включающего в себя систему из chroot, и в конечном счёте загрузочного ISO-образа. boobstrap включает в себя три утилиты mkbootstrap, mkinitramfs и mkbootisofs соответсвенно.

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

>>> Получить исходный код

 

Spoofing ()

Релиз читалки Foliate 2.2.0

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

Вышла новая версия Foliate — читалки электронных книг на GTK.

В этой версии добавлена поддержка следующих форматов:

  • FictionBook (.fb2, .fb2.zip);
  • Comic book archive (.cbr, .cbz, .cbt, .cb7);
  • Plain text (.txt);
  • Unpacked EPUB files.

Кроме этого:

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

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

 , , , ,

anonymous ()

Transmission 3.0

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

22 мая 2020 года состоялся выпуск популярного кроссплатформенного свободного BitTorrent-клиента Transmission, поддерживающего, помимо стандартного графического интерфейса, управление через cli и веб и отличающегося скоростью работы и низким потреблением ресурсов.

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

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

 , ,

SM5T001 ()

Iosevka 3.0.0

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

Выпущена версия 3.0.0 лучшего шрифта для эмуляторов терминалов и текстовых редакторов с графическим пользовательским интерфейсом.

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

Кроме того, начиная с этой версии изменено наименование пакетов:

  • Iosevka Term → Iosevka Fixed.
  • Iosevka TermLig → Iosevka Term.
  • Iosevka Type → Удалён.
  • Iosevka CC → Удалён.

>>> Подробности (англ.)

 ,

anonymous ()

Нашёл алгоритмического видео дядьку - палю годноту

Форум — Development

Залипателям на картинки, таким как я, зайдёт норм. Рассказывает про базовые, но тем не менее фундаментальные вещи. (Хотя я только 4 ролика глянул , может я не прав).

Вот ещё от @xaizek ваще крутые визуализации

 ,

LINUX-ORG-RU ()

Web-разработка на C

Форум — Web-development

99% веб-сервисов я пишу на Go, поскольку для этого он очень удобен, особенно вместе с https://www.gorillatoolkit.org/. Сейчас с целью эксперимента и повышения навыка в C хочу сделать небольшой сервис (выйдет около 500-1000 строк). Изучил как люди делают и, кажется, все делают совершенно по-разному. Кто-то использует socket’ы напрямую, кто-то работает через либы с http, кто-то через fastCGI, кто-то вообще делает приложение как модуль для nginx’а.

Поделитесь опытом и библиотеками, которые используете в работе. В идеале хотелось бы получить список либ для http сервера, роутинга, темплейтов

 , , , ,

brualan ()

ALSA запись звука

Форум — Desktop

Помогите понять как захватывать с помощью ALSA звук тот что идёт в наушники. C pulseaudio проблем нет, звук захватывается так

$ ffmpeg -y -f pulse -i alsa_output.pci-0000_00_1f.5.analog-stereo.monitor -c:a copy out.wav
Отключаю pulseaudio:
$ pulseaudio -k
$ cat /etc/pulse/client.conf
...
autospawn = no
...
Пытаюсь записать звук с alsa:
$ ffmpeg -y -f alsa -i hw:0 -c:a copy out2.wav
звук не захватывается (в out2.wav тишина)
$ aplay -l
**** Список PLAYBACK устройств ****
карта 0: PCH [HDA Intel PCH], устройство 0: ALC887-VD Analog [ALC887-VD Analog]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 0: PCH [HDA Intel PCH], устройство 1: ALC887-VD Digital [ALC887-VD Digital]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 0: PCH [HDA Intel PCH], устройство 3: HDMI 0 [HDMI 0]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 0: PCH [HDA Intel PCH], устройство 7: HDMI 1 [HDMI 1]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 0: PCH [HDA Intel PCH], устройство 8: HDMI 2 [HDMI 2]
  Подустройства: 1/1
  Подустройство №0: subdevice #0

$ arecord -l
**** Список CAPTURE устройств ****
карта 0: PCH [HDA Intel PCH], устройство 0: ALC887-VD Analog [ALC887-VD Analog]
  Подустройства: 1/1
  Подустройство №0: subdevice #0
карта 0: PCH [HDA Intel PCH], устройство 2: ALC887-VD Alt Analog [ALC887-VD Alt Analog]
  Подустройства: 1/1
  Подустройство №0: subdevice #0

 , ,

superuser ()

Vim: русская раскладка. Три способа

Форум — Development

Как я понимаю, есть три способа работать с русской раскладкой.

Первый способ: использовать langmap. Этот способ, вроде бы, устарел, никаких профитов не приносит.

Там 100500 реализаций, у каждого пользователя своя, но вот официальная:

set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ,фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz

Второй способ: использовать keymap. Вроде самый нормальный на сегодня (переключается через Ctrl-^).

set keymap=russian-jcukenwin
set iminsert=0 " Чтобы при старте ввод был на английском, а не русском (start > i)
set imsearch=0 " Чтобы при старте поиск был на английском, а не русском (start > /)
" Дополнительно можно добавить:
inoremap <C-l> <C-^> " Чтобы вместо Ctrl-^ нажимать Ctrl-L
highlight lCursor guifg=NONE guibg=Cyan " Смена цвета курсора

Третий способ: использовать плагин https://github.com/lyokha/vim-xkbswitch. Есть ли там профиты? Не знаю. Про него было несколько тредов, вот один из: Vim. Назначение горячих клавиш кириллицей.

Вопросы:

[*] Правильно я понял, что первый способ использовать вообще смысла нет?
[*] Есть ли смысл использовать плагин вместо второго варианта?
[*] Есть ли недостатки у второго варианта?

 , ,

Deleted ()

PeerTube 2.1 — свободная децентрализованная система видеовещания

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

12 февраля состоялся релиз системы децентрализованного видеовещания PeerTube 2.1, развиваемой как альтернатива централизованным платформам (таким как YouTube, Vimeo), работающая по принципу «peer-to-peer» — контент хранится непосредственно на машинах пользователей. Исходный код проекта разрабатывается на условиях лицензии AGPLv3.

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

В настоящее время в федеративной сети видеовещания PeerTube насчитываются около 300 серверов, основанных и поддерживаемых добровольцами.

>>> Обсуждение на OpenNET

>>> Обсуждение на HN

>>> Обсуждение на Reddit

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

 ,

Zhbert ()

Релиз PhotoFlare 1.6.2

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

PhotoFlare — относительно новый кроссплатформенный редактор изображений, который предлагает баланс между тяжелым функционалом и удобным интерфейсом. Он подходит для самых разных задач, и включает в себя все основные функции редактирования изображений, кисти, фильтры, настройки цвета и т.п. PhotoFlare не является полноценной заменой GIMP, Photoshop и подобных «комбайнов», но содержит в себе самые популярные возможности редактирования фото. Написан на С++ и Qt.

Главные особенности:

  • Создание изображений.
  • Обрезка изображений.
  • Отражение и поворот изображений.
  • Изменение размеров изображения.
  • Изменение размеров холста.
  • Палитры инструментов.
  • Поддержка фильтров.
  • Вариация оттенка.
  • Градиенты.
  • Добавление и редактирование текста.
  • Инструменты автоматизации.
  • Пакетная обработка изображений.
  • Множество настроек.

Что нового в версии 1.6.2:

  • Исправление билда для OpenMandriva Cooker.
  • Несколько исправлений инструмента Zoom.

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

 , , , ,

fail2ban ()

Wireguard включен в ядро Linux

Новости — Ядро Linux
Группа Ядро Linux

Wireguard – это простой и безопасный VPN-протокол, основным разработчиком которого является Jason A. Donenfeld. Долгое время модуль ядра, реализующий этот протокол, не принимали в основную ветку ядра Linux, так как использовалась своя реализация криптографических примитивов (Zinc) вместо стандартного crypto API. Недавно это препятствие было устранено, в том числе за счет доработок, принятых в crypto API.

Сейчас wireguard принят в основную ветку ядра Linux и будет доступен в релизе 5.6.

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

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

 ,

AEP ()

Machine Learning.

Форум — General

Здравствуйте! Скажите, пожалуйста, что нужно для того, чтобы влиться в ML? Что нужно изучать последовательно,по порядку, чтобы ввалиться в эту сферу (или попытаться)?

 

Alexandrietz ()

Фонд Свободного ПО собирает подписи на открытие исходных кодов Windows 7

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

Microsoft, как известно, хочет поддерживать свободное ПО. Microsoft окончательно прекратила поддержку Windows 7. Почему бы не открыть исходный код системы?

Фонд свободного ПО хочет собрать 7 777 подписей в петиции «Upcycle Windows 7». Жизнь старой операционной системы не обязательно должна заканчиваться. Microsoft может подтвердить действиями то, что компания действительно уважает своих пользователей и их свободу.

https://www.fsf.org/windows/upcycle-windows-7

>>> Петиция

 , , , ,

Oreolek ()

Вышел симулятор электронных схем Qucs-S 0.0.22

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

Сегодня, 19 января вышел очередной релиз Qucs-S-0.0.22. Qucs-S является форком проекта Qucs и в отличие от оригинала позволяет использовать не только встроенный движок моделирования, но и внешние Ngspice и XYCE. Это позволяет использовать готовые SPICE-модели электронных компонентов минуя слои совместимости и достичь лучшей скорости и стабильности симулятора. Проект написан на C++ с использованием набора библиотек Qt4.

Список изменений:

  • Добавлен компонент SPICEINIT, который позволяет задавать дополнительные настройки для Ngspice;
  • Исправлены баги;

Подробности и ссылки на пакеты для Debian, Ubuntu и CentOS есть на странице релиза.

>>> Страница релиза на Github

 , , ,

DarthVadimius ()

Вышел PinePhone — защищенный Linux-смартфон

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

Компания Pine64 сообщила о начале продаж свободного защищенного смартфона PinePhone. Смартфон нацелен на тех, кто считает, что человек должен иметь полный контроль над технологиями и своей жизнью. Все, кто ценит приватность и ненавидит телеметрию Android и iOS, являются потенциальными покупателями PinePhone. Пришло время послать большого брата в /dev/null!

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

Стоимость PinePhone всего $150. Железо смартфона полностью заменяемое — каждый модуль можно вытащить и заменить, или обновить на более мощный с помощью отсоединяемых шлейфов.

PinePhone поддерживает множество ОС:

  • Postmarket OS (KDE Plasma Mobile предустановлена);
  • UBPorts (Ubuntu Touch);
  • Maemo Leste;
  • Nemo Mobile;
  • Manjaro;
  • LuneOS;
  • SailfishOS;
  • В ближайшее время появится поддержка NixOS.

Все эти образы можно скачать и поставить на смартфон прямо с SD-карты.

Технические характеристики:

Allwinner A64 Quad Core SoC with Mali 400 MP2 GPU
2GB of LPDDR3 RAM
5.95″ LCD 1440×720, 18:9 aspect ratio (hardened glass)
Bootable Micro SD
16GB eMMC
HD Digital Video Out
USB Type C (Power, Data and Video Out)
Quectel EG-25G with worldwide bands
WiFi: 802.11 b/g/n, single-band, hotspot capable
Bluetooth: 4.0, A2DP
GNSS: GPS, GPS-A, GLONASS
Vibrator
RGB status LED
Selfie and Main camera (2/5Mpx respectively)
Main Camera: Single OV6540, 5MP, 1/4″, LED Flash
Selfie Camera: Single GC2035, 2MP, f/2.8, 1/5″
Sensors: accelerator, gyro, proximity, compass, barometer, ambient light
3 External Switches: up down and power
HW switches: LTE/GNSS, WiFi, Microphone, Speaker, Cameras
Samsung J7 form-factor 3000mAh battery
Case is matte black finished plastic
Headphone Jack

Видео: запуск 4х ОС на PinePhone

Бонус: обзор ноутбука Pinebook Pro

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

 , , , ,

fail2ban ()

Сочетания клавиш (выжимка из руководства)

Форум — General

Приветствую.
Осваиваю vim, проштудировал справку, образовалась таблица с командами/сочетаниями клавиш. С высокой долей вероятности - они самые ходовые. Сделаю бумажную версию, буду пытаться прирости. Оставляю здесь, надеюсь, будет полезно.

#----------------- Перемещение ------------------------------------------------
* h j k l
* 0 ^
* $
* gM                     Середина строки.
* [N]|                   Переход к столбцу с номером N, 1 по умолчанию.
* [N]f{char} [N]F{char}  К N'му символу char справа/слева.
* [N]t{char} [N]T{char}  До символа.
* [N]; [N],              Повтор f F t T в прямом/обратном напр-ии.
* g0 g^ g$ gm gk gj      Оперируют с экранными линиями.
* gg [line num]G
* {N}%                   На строку, являющуюся N % файла.
* w e b ge
  W E B gE               Границы слов - только пробелы.
* [N][* [N]]*            К /* или к */.
* gd gD                  К локальному/глобальному объявлению.
* {N}go                  К N байту буфера.
* CTRL-{U|Y|B}           Прокрутка назад на половину/строку/экран.
* CTRL-{D|E|F}           Прокрутка вперёд на половину/строку/экран.
* zz zt zb               Сдвиг окна так, что курсор в центре/в верху/в низу.
* [# ]# %                Перемещение по препроцессорным директивам.
* [[ ][                  К внешней {/};
  [{ ]}                  К текущей {/};
  [m ]m                  К предыдущей/следующей старту функции-члену;
  [] ]]                  Переход между функциями.
* [( ])                  К текущей (/).
* [/ ]/                  К /* /  */.
#----------------- Модификация, копирование -----------------------------------
* i I                    Добавление перед курсором/в начало строки.
* a A                    Добавление за курсором/в начале строки.
* x X                    Удалить под курсором/слева.
* i_CTRL-A i_CTRL-@      Вставить текст введённый в предыдущем insert режиме/
                         с выходом из insert режима.
* i_CTRL-Y i_CTRL-E      Скопировать символ со строки выше/ниже.
* ["x]d{pos} dd [N]D     Удалить до pos/всю строку/до конца строки;
                         Регистр X - добавить в x.
* i_CTRL-R[_CTRL-R]{reg} Вставка из регистра; [не вып-ть команды, <BS> и т.п.].
* ["x]y[pos] yy          Копирование объекта/всей строки.
* ["x]p P                Вставка после/перед курсором.
* o O                    Вставка пустой строки выше/ниже курсора.
* J gJ                   Удалить \n. В vis режиме - у всех выд-ых строк;
                         gJ - без пробелов.  
* r gr R gR              Замена одного/нескольких символов, с g - виртуальная;
                         В виз-ом ре-ме заменит блок символом.
* c{pos} cc C s          Замена объекта/строки/до конца строки/одного сивола.
* ~ v_{~|u|U}            Изменение регистра;
  {g~|gu|gU}{pos}        Всю строку - g~~, guu, ...
* i_CTRL-V{int|kstroke}  Вставить символ литерально.
* [N]CTRL-A [N]CTRL-X    Увеличить/уменьшить число под курсором на N.
#----------------- Поиск, поиск с заменой -------------------------------------
* %                      Поиск парных скобок.
* # *                    Поиск слова под курсором назад/вперёд.
  g# g*                  Находить и частичные совпадения.
* /txt[\c] ?txt[\c]      Поиск верёд/назад; n N продолжить вперёд/назад;
                         CTRL-I CTRL-O переходы вперёд/назад; \c иг-ть рег-тр.
* [range][%]s/было/стало/[g|c|e]  % - во всём файле; g не только первое;
                                  с - с запросом; e - отсут-ие совпад-ий не
                                  ошибка.
* :[range]g/{ptrn}/{cmd} Выполнить cmd на строках, подходящих под ptrn.
* :grep x *.cc
  :cnext :cprev :clist
* :set ic hls is         Нечувствительность к регистру/подсветка/инкр-ый поиск;
  :wrapscan               Для отключения префикс no (noic, ...).
* gf :find nm :sfind     Найти и открыть файл под курсором/nm в текущей
  CTRL-W f               директории и в path директориях.
  :set path+=
#----------------- Метки ------------------------------------------------------
* CTRL-{O|I}             Перемещение по меткам.
* ``                     Переход на последюю, тек-ая позиция - последняя метка.
* :jumps :clearjumps
* m{a-z} {`|'}{a-z}      Именованные метки; Создать/перейти/список;
  :marks [abc]           a-z локальные, A-Z глобальные.
* `" `.                  Поз-ия при выходе из файла/модификация перед выходом.
#----------------- Кодинг, фолдинг, отступы -----------------------------------
* zf zo zc               Фолдинг, создать/развернуть/свернуть;
  zr zm                  Уровень свёрнутости меньше/больше;
  zR zM                  Развернуть/свернуть всё;
  zn zN zt               Убарать фолдинг/вернуть/переключение между ними;
  zO zC                  Развернуть/свенруть всё под курсором;
  zd zD                  Удалить фол-г под курсором/весь;
  :set foldmethod=syntax
  :set foldopen=all      Автофолдинг.
       foldclose=all
* CTRL-X_CTRL-O          omni completion, CTRL-{P|N} для перемещения.
* set makeprg            Задать команду, выполняемую при :make;
  :c{next|previous|
     first|last}
  :cc[n] :clist[!]       Описание ошибок/список ошибок;
  :colder :cnewer        К старому/к новому списку ошибок;
  :compiler              Выбрать формат ошибок (set errorformat).
* set shiftwidth=4
  set softtabstop=4
  =                      Форм-вать текст (отступы); ==, v_=, gg=G весь файл;
  CTRL-T CTRL-D          Добавить/удалить один shiftwidth в строке;
  > <  << >>             Добавить/удалить отступ в норм-ом или виз-ом реж-ме;
  :set cinoptions        Настройка отступов.
#----------------- Файлы ------------------------------------------------------
* :w                     Сохранение части файла в виз-ом режиме/всего в об-ом.
* :e!                    Переоткрыть файл.
* ZZ                     Выход с сохранением или из справ-го окна.
* [range]r{file | !cmd}  Вставка файла/вывода cmd.
* :w :wa :w>>name
  :saveas :file :edit
  :hide edit
  :args [other*.txt]
  :[N]next :prev :last
  :first 
* CTRL-^                 Переход между последними файлами;
  CTRL-w CTRL-^          Переход с разделением окна.
* $ view file            Открыть read-only.
* :oldfiles :e #<2       История файлов/ссылка на второй.
* :buffers :ls
  :[s]buffer 3
  :bnext :bprevious
  :bdelete 3
#----------------- Окна, вкладки ----------------------------------------------
* :close :only :[v]new
* :[sz][v]split {name}
  :[vertical]all
* [sz]CTRL-W _           Изменить размер окна.
  CTRL-W +
  CTRL-W -
* CTRL-W {H|J|K}L}       Переход между окнами.
  CTRL-W w
* tab split [file]
  tabedit {file}
* gt :tabonly            Переход по вкладкам/закрыть кроме текущей.
#----------------- vimdiff ----------------------------------------------------
* zo zc                  Фолдинг в vimdiff.
* [vertical] diffsplit
* ]c [c                  Переход по изменениям.
* dp do                  Прменить изменение в/из другой/го файла.
* :diffupdate            Обновить подсветку.
#----------------- Командная строка -------------------------------------------
* <S-Right> <S-Left>     Перемещение
  CTRL-B CTRL-E
* CTRL-W CTRL-U CTRL-C   Удалить слово/всю строку/выйти.
* <Tab> CTRL-{P|N}       ctrl комбинации после Tab;
  CTRL-D                 Список совпадений;
  CTRL-L                 Дополнить слово длиннейшим однозначным вар-то.
* history [/] 
  <Up> <Down>
  CTRL-{P|N}             В отличие от up down, не учитывает префикс.
* :q                     Command line window.
* gQ                     Ex mode, похож на cmd mode, но многокомандный.
* :!{cmd}                Выполнить внешнюю команду.
* :shell
#----------------- Отмена изменений -------------------------------------------
* u U                    Отмена посл-го/всех изм-ий в пос-ей редакт-мой строке;
  CTRL-R                 Отмена отмены; Проходят по активной ветке.
* g- g+                  К более ранней/поздней версии текста, активность ветки
                         неважна.
* :undolist              Показать листья в дереве изменений.
* :undo 2                Перейти на ветку с номером 2.
* :earlier 1f            Переход к версиям файла, которые были на момент
  :later 1f              сохранения; Необязательно на 1 шаг.
* :earlier 10{s|m|h|d}   Переход к версии файла в указанный момент.
* :later 1m  
#----------------- Разное -----------------------------------------------------
* q{reg} ... q           Записать макрос в reg (REG - добавить);
  @reg @@                Выполнить макрос/повторить.
* .                      Повторить последюю редактирующую команду.
* :{range}!cmd           Выполнить внешнюю команду над диапазоном.
  !{motion}cmd
* {vis block} {A|I|c|C|  + выделение строк блока через $.
  ~|u|U|r|<|>}
* text-objects           На месте {pos} и виз-ом реж-ме. :h text-objects.
* !{motion}{program}     Пропустить блок через внешнюю команду.
* v V CTRL-V             Визуальный режим/визуальная строка/виз-ый блок;
  v_o v_O                Смена угла;
  gv                     Перевыделить.
* CTRL-G                 Инфа о местоположении.
  g CTRL-G
* gq                     Форматировать текст (ширина строк, set textwidt).
* i_CTRL-{U|W}           Удалить слово слева/всё слева кроме отступа.
* i_CTRL-O               insert normal mode.
* CTRL-H                 Backspace.
* CTRL-I                 Tab.
* CTRL-[                 Esc.
* "* "+                  Primary selection/clipboard.
* :options
* :set {option}&         Вернуть значение по умолчанию.
* :set [no]number        Номера строк.
* :set [no]ruler
* :set textwidth
* :set viminfo
  :wviminfo! fnm         Перекинуть инфу между разными
  :rviminfo! fnm         vim экземплярами.
* :set sessionoptions
  :mksession f.vim       Сохранить/
  :source f.vim          загрузить сессию.
* :mkview :loadview      Как сессия, но для одного окна.
* Modelines              Установка опций для файла (спец строка в файле).
* :edit .                Открыть netrw file browser.
* :pwd :cd :cd -
  :lcd :tcd              Локальная директория окна/вкладки.
* vim -b datafile        Hex редактор; -b запрещает потенциальные
  :%!xxd :%!xxd -r       автокорректировки.
* :{i|c}abbrev           Создание аббревиатур.
  :abbreviate
* :argdo :windo :bufdo   Выполнить cmd на всех файлах-аргумента/окнах/буферах.
#----------------- Справка ----------------------------------------------------
* K                      Найти man для слова под курсором.
* :helgrep               Поиск по справке.
  :cnext :copen
* :help langmap
* :help ft-<filetype>-<functionality>    Пример: help ft-c-syntax.

 

pavlick ()

Управление моментом разрушения объекта

Форум — Development

Привет. Нужно - задать необходимый порядок вызова деструкторов. Рабочий ли вариант:

struct S {
   const char *c;
   S(const char *c): c{c} {}
   ~S() {cout << c << endl;}
};

S &g1() {
   static S s{"g1"};
   return s;
}
S &g2() {
   static S s{"g2"};
   return s;
}
int main() {
   g1(); // создаём g1::S
   g2(); // создаём g2::S
   return 0;
}
Т.е создаю g1::S раньше g2::S, деструкторы в обратном порядке. Что смущает: может ли компилятор при каких-нибудь (не запрещено ли ему в принципе?) условиях заооптимизировать бесполезный на его взгляд вызов g1()/g2()?

 

pavlick ()

OpenVSP 3.19.1 — свободная САПР для проектирования и анализа геометрии летательных аппаратов

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

OpenVSP — свободная параметрическая САПР для проектирования и анализа геометрии летательных аппаратов (CFD, FEM). Программа разрабатывается сотрудниками NASA Langley Research Center и включена в список ПО NASA Software Catalog.

17-19 сентября 2019 состоялся «OpenVSP Workshop 2019» на котором были представлены наработки и планы разработки ветки 3.19.x. 9 ноября состоялся релиз OpenVSP 3.19.0, а спустя чуть более недели был выпущен корректирующий релиз 3.19.1.

Ветка разработки OpenVSP 3.19.x включает три наиболее ожидаемых новшества: VSPAERO 6.0.0, Generic XSec Editor и автогенерируемую документацию к API с помощью Doxygen. Кроме того была проведена масштабная работа по улучшению и исправлению ошибок. Значительная часть данной работы была проведена командой ESAero, проспонсирована за счёт U.S. Air Force Research Laboratory.

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

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

 , , ,

atsym ()

Релиз Coreboot 4.11

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

Состоялся релиз Coreboot 4.11 - свободной замены проприетарным прошивкам UEFI/BIOS, используемой для начальной инициализации железа перед передачей управления дополнению «payload», например SeaBIOS или GRUB2. Coreboot очень минималистичен, к тому же он предоставляет широкие возможности встраивания различных дополнений вроде утилиты вывода подробной системной информации coreinfo и тетриса tint, а также дискетных ОС: Kolibri, FreeDOS, MichalOS, Memtest, Snowdrop, FloppyBird и др.

В новой версии:

  • Почищен и унифицирован код многих платформ

  • Значительно улучшена поддержка чипсетов Mediatek 8173 и AMD Picasso 17h (Ryzen), а также RISC-V

  • Расширена поддержка vboot (свободного аналога проприетарному SecureBoot) — изначально он был только на хромбуках, но теперь появился и на другом железе

  • Добавлены 25 новых плат:

    AMD Padmelon, ASUS P5QL-EM, Emulation QEMU-AARCH64, Google Akemi / Arcada CML / Damu / Dood / Drallion / Dratini / Jacuzzi / Juniper / Kakadu / Kappa / Puff / Sarien CML / Treeya / Trogdor, Lenovo R60, Lenovo T410, Lenovo Thinkpad T440P, Lenovo X301, Razer Blade-Stealth KBL, Siemens MC-APL6, Supermicro X11SSH-TF / X11SSM-F.

  • Удалена поддержка единственной поддерживаемой платы MIPS (Google Urara) и архитектуры MIPS вообще, а также платы AMD Torpedo и кода AMD AGESA 12h

  • Улучшена нативная инициализация Intel-овских видеокарт в библиотеке libgfxinit

  • Исправлен спящий режим на некоторых AMD-шных платах, включая Lenovo G505S

В ближайшее после релиза время планируется удаление многих плат, не поддерживающих «relocatable ramstage», «C bootblock» и платформ использующих «Cache as RAM» без стадии postcar. Это ставит под, угрозу множество важных плат на базе AMD, в том числе сервер ASUS KGPE-D16 — самый мощный поддерживаемый coreboot-ом сервер, к тому же способный работать без блобов (libreboot). О серьёзности намерений свидетельствует ряд свежих изменений на review.coreboot.org, в особенности https://review.coreboot.org/c/coreboot/+/36961

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

 , , , ,

SakuraKun ()

GIMP 2.10.14

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

Выпущена новая версия графического редактора GIMP.

Основные изменения:

  • появилась возможность просмотра и редактирования пикселей за пределами холста (пока без поддержки инструментов выделения);
  • добавлено опциональное редактирование слоёв с отключенной видимостью;
  • добавлен экспериментальный фильтр генерирования карты нормалей из карты высот и ещё несколько фильтров на базе GEGL (Bayer Matrix, Linear Sinusoid, Newsprint, Mean Curvature Blur);
  • ещё 27 старых фильтров теперь используют буферы GEGL (пока в режиме 8 разрядов на канал, не портированы в операции GEGL);
  • улучшена поддержка HEIF, TIFF и PDF;
  • улучшена загрузка поврежденных файлов XCF;
  • многократно ускорена работа с изображениями в градациях серого;
  • добавлена поддержка macOS Catalina.

В ближайшие пару месяцев планируется выпустить версию 2.99.2. Это будет первый релиз на базе GTK3 (ветка master в Git), с минимальным функциональным отличием от 2.10.x и объемным рефакторингом кода (удаление костылей, подготовка к запланированным на версию 3.2 новшествам).

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

 

AP ()