Таймаутная шизофрения набирает обороты
Следующее сообщение может быть записано не менее чем через 300 секунд после предыдущего
Поцоны, это безумие.
Следующее сообщение может быть записано не менее чем через 300 секунд после предыдущего
Поцоны, это безумие.
Кажется мы прошли какую-то важную веху – KIO уделал GVFS. Я воткнул свой iPhone в ляптоп, открыл iPhone в Dolphin (который стартует меньше секунды) и увидел DCIM, музычку и книжки. Открыл тот же iPhone в Nautilus (который стартует секунды две) – увидел данные шести приложений (Dolphin говорит что это содержимое директории Apps).
И это не только AFC. Nautilus не то что в iPhone зайти не может, он даже в архив зайти без распаковки уже не может. И исошник не может примонтировать. И файл в KDE Connect послать невозможно без костыля на питоне. Зато стартует по три секунды.
Короче, гном окончательно превратился в запускалку для firefox. Такие дела.
Если у тебя скор меньше 50 – ты не можешь редактировать сообщения. Это странно, ломает UX и не совсем понятно для чего нужно.
Можно как-то заставить ядро самостоятельно определять размер терминала и конфигурировать исходя из этого размер консоли? Запуская qemu с -nographic приходится каждый раз руками говорить stty cols X rows Y и это слегка надоело уже.
В KDE6 есть настройка для GTK приложений: какую тему выбрать. Независимо от этой настройки KDE почему-то меняет кнопощки и иконощки на общесистемные (Breeze). Выглядит это не очень и я хочу чтобы GTK приложения выглядели как Adwaita, а Qt – как Breeze. Как донести это хотение до плазмы?
Привет, мои дорогие любители сишки!
Если вам начало казаться, что разработчики стандарата языка C стали предсказуемыми и больше не могут удивлять вас новыми идеями, то вы ошибались. В новом стандарте C23, комитет постановил:
— zero-sized reallocations with realloc are undefined behavior;
То есть вот это валидный код:
void *ptr = malloc(0);
free(ptr);
А вот это – UB:
void *ptr = malloc(4096);
ptr = realloc(ptr, 0); <-- хаха UB
И это несмотря на то, что в манах уже давно написано следующее:
If size is equal to zero, and ptr is not NULL, then the call is equivalent to free(ptr)
Изменение вносится задним числом, наделяя кучу корректного (согласно документации glibc) кода способностью полностью изменить логику работы программы. Ведь это то, чего нам так не хватало!
В тред призываются известные эксперты по C: Stanson и alex1101, возможно они смогут нам объяснить, зачем разработчики стандарта C постоянно пытаются отстрелить себе обе ноги самыми нелепыми способами.
Я не хочу общаться с Astra Linux и хочу чтобы кто-то сделал это за меня. Да, вот такой я нехороший.
В Astra Linux CE Orel Python 3.5. Выход ansible-core 2.16 выкидывает CE за борт и это грустно. В составе дистрибутива есть python3.7, но для успешной работы ansible нужен так же пакет python3.7-apt. Есть тут есть кто-то из девелоперов – принесите, пожалуйста.
В openzfs v2.2 был найден дата коррапшен. Ничего, бывает, со всеми случается, выпустили v2.2.1 с исправлением. Вот только это не помогло и zfs все еще данные портит. То есть по уровню надежности zfs начинает приближается к эпической xfs, где обнуление открытых файлов не могли лет десять починить.
В лялексовом мире для remote desktop обычно используется VNC. Для wlroots есть сервер wayvnc и он умеет h264, что годно, потому что позволяет мне валяться в постели и играть в Pathfinder с ляптопа в 4k@60fps, наслаждаясь десктопными мощностями.
Но есть нюанс: звук. С одной стороны, сейчас я просто подключаю PA, но хочется полноценной интеграции, чтобы подключился к компу и все сразу хорошо. Парни из qemu почти десять лет назад сделали QEMU Audio, расширение для RFB, которое позволяет встроить звуковую дорогу в VNC сессию. Это работает, и вроде даже работает хорошо: я попробовал в VM, звук не рассинхровывается даже в случае лютого статеринга видео.
Собственно, я хочу добавить QEMU Audio в wayvnc чтобы получить полноценный remote desktop со всеми плюшками из коробки (картинка + буфер обмена + PAM + audio).
Но есть ещё нюанс: я никогда не работал со звуком. Быстрый набросок пайплайна:
Насколько этот пайплайн отражает реальность? Каким алгоритмом лучше жать? Как правильные парни синхронизируют звук и аудио из разных источников?
Пока все шутили про нового лидера GNOME Foundation, она умудрилась выбить грант на миллион евро. Это чуть меньше, чем FreeBSD получает от всех своих спонсоров за год. Возможно, это поможет гному реализовать новые классные идеи.
Деньги планируют потратить на:
В общем, в 2024 будет весело.
Релиз Linux 6.6 принес следующее новшество:
Внесены изменения в обработку внутренних символов категории «GPL-only», нацеленные на усложнение использования проприетарными модулями GPL-прослоек для обхода ограничений доступа к подсистемам ядра, допускающим обращение только кода под лицензией GPL. В функции symbol_get() для проприетарных модулей запрещён поиск символов, помеченных как GPL-only, и наоборот, GPL-модули не смогут находить символы, экспортируемые проприетарными модулями.
Теперь проприетарные модули больше не смогут обращаться к GPL-only символам через symbol_get(). Поэтому проприетарщики (привет, nvidia) будут вынуждены либо открыть свои драйверы, либо страдать.
Накидайте своих годных вариаций форшмака. Я его сто лет не готовил и хочу что-то прикольное.
Есть такая компания, genua GmbhH, которая производит всякий appliance типа VPN и роутеров, внезапно, под управлением OpenBSD. И там же работает один из ведущих разработчиков OpenBSD, bluhm@. И все был ничего, но genua обслуживает почти все федеральное правительство Германии и ещё кучу разных правительств ЕС.
И лулз в том, что в отличии от роутеров под управлением лялекса, дыр в продукции genua как-то не видно в публичном пространстве: за все время существования у них одна CVE. Так что есть мнение, что чуваки из OpenBSD оказались правы и все их годы упорного программирования на сишке из подвала дали свои плоды.
Я захотел сделать фичу опциональной, и тут внезапно выяснилось, что голанг не может в нормальную условную конпиляцию. Есть build tags, но они позволяют выбрать конпилировать весь модуль целиком или нет. Если ты хочешь в одном месте сделать что-то похожее на cfg!()
макрос из rust, то нет, так нельзя, это слишком сложно.
Как вы вообще на этом убогом недоязычке что-то пишете?
Ущербная конструкция вида:
_Generic((e), type1: expr1, type2: expr2)
Кто-нибудь когда-нибудь смог найти этому применение кроме sqrt для разных типов?
Dia убогая и слегка умерла. Через браузер не хочу. Есть что-нибудь поприятнее? Хочу рисовать всякие архитектуры приложений, схемы работы протоколов и прочее, чтобы делиться ими со своими друзьями.
У NetworkManager есть такая фича: запускать туннель после запуска интерфейса. В случае статической конфигурации в этом не очень много смысла, но в моем случае адрес WG Peer задан как hostname, а не как IP адрес.
И вроде бы все хорошо, добавляем два туннеля в connection.secondaries и погнали.
Но:
$ nmcli connection modify $wifi_uuid connection.secondaries "$vpn1_uuid $vpn2_uuid"
Error: failed to modify connection.secondaries: '$vpn1_uuid' is not a VPN connection profile.
Я искренне не хочу лезть читать код NetworkManager, может быть все-таки есть какая-то опция, о которой я не знаю?
Теперь, мальчики и девочки, в ядре можно писать вот такое вот:
scoped_guard(raw_spinlock_irqsave, &foo->lock) {
[...]
}
и вот такое:
struct device *dev __free(put_device) = kzalloc(sizeof(*dev), GFP_KERNEL);
И никаких больше протекших ресурсов!
Ссылка на merge: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=04f2933d375e3f90d4435b7b518d3065afd1fa25
Как вы наверное знаете, существует такое приложение для быстрых знакомств: Pure. Оно классное и удобное, но проприетарное. Кто-нибудь знает опенсурсный аналог (желательно Android)?
Последние месяца три мой ляптоп периодически издает кошмарные звуки из ада во время проигрывания аудио: сэмпл. Чтобы воспроизвести достаточно либо нагрузить CPU, либо поскроллить видео туда-сюда. Воспроизводится в mpv, в firefox, в cmus. Воспроизводится и через pipewire, и через чистую ALSA с выключенным pipewire. В dmesg ничего нет. В pw-top задержки в пределах нормы. Симптомы убираются если поставить видео на паузу и подождать пока буфер pipewire обнулится (с ALSA тоже помогает, понятное дело, но с pipewire проще мониторить что происходит).
Кто-нибудь сталкивался?
Причастные:
Вывод lspci:
$ doas lspci -vvvks 00:1f.3
00:1f.3 Multimedia audio controller: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01)
Subsystem: Huawei Technologies Co., Ltd. Alder Lake PCH-P High Definition Audio Controller
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 32, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 199
IOMMU group: 15
Region 0: Memory at 601d1b8000 (64-bit, non-prefetchable) [size=16K]
Region 4: Memory at 601d000000 (64-bit, non-prefetchable) [size=1M]
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0-,D1-,D2-,D3hot+,D3cold+)
Status: D3 NoSoftRst+ PME-Enable+ DSel=0 DScale=0 PME-
Capabilities: [80] Vendor Specific Information: Len=14 <?>
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
Address: 00000000fee00bf8 Data: 0000
Kernel driver in use: sof-audio-pci-intel-tgl
Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl
Выключал энергосбережение, не помогает:
$ echo 0 | doas tee /sys/module/snd_hda_intel/parameters/power_save
$ echo N | doas tee /sys/module/snd_hda_intel/parameters/power_save_controller
следующие → |