LINUX.ORG.RU

Сообщения Xintrea

 

Знающим английский язык - не могу перевести «parameter locked» и «parameter locks».

 ,

Перевожу сейчас документацию на музыкальную жалезячку:

https://www.elektron.se/wp-content/uploads/2025/07/Digitakt-2-User-Manual_ENG...

В пункте 10.8.1 написано:

Turn a DATA ENTRY knob, or play the [TRIG] keys in KEYBOARD mode, to add parameter locks to the active track. Note trigs are placed, and parameter locked accordingly, and it also places lock trigs that contains the parameter locks on the sequencer steps that do not already have any trigs.

Здесь под глаголом lock, видимо, понимается не «блокировка», а «закрепление». Но я не могу адекватно перевести разницу между «parameter locked» и «parameter locks», и составить все предложение целиком. Понятно, что «parameter locked» - это, видимо, уже совершенное действие. Но как уложить это в перевод фразы - не могу сообразить.

Нейросети несут пургу, и просто жонглируют словами, не добавляя смысла.

Xintrea
()

Вспомнить книгу про летающую тарелку

 , книга,

Товарищ тут замучал ChatGPT и другие нейронки, но они ничего внятного не дают. Нужно коллективное бесознательное ЛОРа.

* * *

Короч ищу рассказ/повесть/роман из журнала Техника-Молодёжи. Или похожего. Сюжет там типично Крапивинский.

Там дети нашли летающую тарелку на окраине деревни. Вроде даже невидимую. Ну или это они потом научились ее невидимой делать. Внутри, по моему, гравитация отсутствовала. А попадали они в нее подлазия снизу через какую-то мембрану.

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

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

Кто-то помнит такую книгу?

Xintrea
()

А что, форум crossplatform.ru уже того?

 , ,

Что-то недоступен форум, да и весь сайт на домене crossplatform.ru.

Лучшее что может ответить: «Not Found»

То есть, еще один большой технический форум исчез из Рунета?
На него куча ссылок в поисковиках, а он не работает уже непонятно сколько времени.

Xintrea
()

Механические клавиатуры Panteon T24 Pro и Machenike K520 самопроизвольно переключают раскладку в моем Debian 12!

 , , , ,

Привет, народ!

Имею Linux Debian 12.9, ядро 6.1.0-31-amd64, LXDE, стандартный setxkbmap, и старенькую пленочную клавиатуру A4TECH KR-85. Она нормально работает, никаких проблем с ней нет.

Домашние меня решили порадовать, и подарили на ДР механическую клавиатуру Panteon T24 Pro RS HL Premium. В /dev/input/by-id она видится как

usb-Evision_RGB_Keyboard-event-if01 -> ../event8
usb-Evision_RGB_Keyboard-event-kbd -> ../event6


Через пару минут моих тестов сразу же вылезла проблема:

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

Причем индикатор раскладки остается как RU, а печатаются английские символы.



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

цукгoh
гнщsgf
ецыihj
щзуfrh
лдуdth
кгеghs
дафdes
дшлjuh


Каково же было мое удивление, когда вместо этой новой клавиатуры я подключил другую механическую клавиатуру Machenike K520 трехлетней давности, которая видится в системе как:

usb-SEMICO_USB_Gaming_Keyboard-event-if01
usb-SEMICO_USB_Gaming_Keyboard-event-kbd


И у нее оказалась точно такая же проблема! Вот какие моменты переключения:

к вуsgj
клд;yers
рынjdl
шуаоrpi
лдouge


То есть, явно проблема не в клавиатуре, а в Linux.

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

В общем, даже не знаю куда в какую сторону копать.
Это проблема USB?
Проблема ядра?
На другом компьютере с Linux Mint и ядром 5.12 этой проблемы нет.
То есть, регрессия в ядре?
Или какой-то из слоев DE по контролю переключения раскладки тупит?


PS: Оформил баг на KDE.org. Добавьте себя в наблюдатели, чтоб баг по important поднялся повыше.

https://bugs.kde.org/show_bug.cgi?id=517991

Xintrea
()

А чем пользуются линуксоиды для хранения и перевода Tether (USDT)? Работает ли TronLink?

 , , , usdt,

Имею небольшую сумму USDT, которую хочу вывести в свой кошелек. Проблема в том, что кошелька-то у меня и нету.

Начал разбираться в вопросе. Мне нужен некастодиальный кошелек с открытым исходным кодом. Стал искать, оказалось что весь интернет забит «сервисами хранения» USDT, типа храните ваши ключи у нас. Ну уж нет, нам нужно проверенное и безопасное решение.

В конце концов накопал TronLink Wallet на https://tronlink.org. Нашел видео с объяснениями, там товарищ ставит как расширение Firefox. Попытался установить, и оказалось что на этом официальном сайте расширения для Firefox и нету. Стал разбираться куда оно делось. В процессе копаний перекидывает на сайт:

https://app-tronscan.pages.dev/

Который помечен Firefox как поддельный. Вроде как расширение для Firefox удалили где-то 2022 году, причины удаления найти не удалось.

Решил посмотреть что там с расширением для Chrome. Оно вроде есть:

https://chromewebstore.google.com/detail/TronLink/ibnejdfjmmkpcnlpebklmnkoeoi...

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

Нашел страницу на GitHub:

https://github.com/TronLink

На нем видно, что проект tronlink-extension был заброшен в 2024 году. Нигде не нашел новостей, что TronLink как расширение браузера уже больше не разрабатывается. При этом на странице расширения Chrome написана версия 4.7.4 и дата 28 февраля 2026 г.

Фишка в том, что последний коммит в официальном репозитарии выглядит так:

https://github.com/TronLink/tronlink-version/commit/9a1f10aa4452856127db1f093...

И там версия 4.7.3 и дата 24 февраля 2026 г. Как такое может быть? На странице расширений Google Chrome версия выше, чем в официальном репозитарии. Что за дичь?

В общем, мне нужен совет: можно ли пользоваться этим самым TronLink Wallet в виде Crome Extention? Будет ли он работать в Chromium? Почему такой бардак?

Xintrea
()

Зачем стандарт C++ 2003 года спрятали на официальном сайте open-std.org ?

 , ,

Читаем статью:
https://webhamster.ru/mytetrashare/index/mtb0/16272556495cc7p2ixec

Переходим на официальную страницу стандартов:
https://www.open-std.org/JTC1/SC22/WG21/docs/standards

Нажимаем на N1316 в надежде получить стандарт 2003.

А нам вместо стандарта требуют ввести логин/пароль. Зачем? Другие стандарты доступны, а этот - нет. Это что за? Для чего?

Xintrea
()

Баг в QColorDialog на Qt 5.15.8 ?

 , , , ,

Имеется следующий код, который вызывает окно диалога выбора цвета:

QColor selectedColor;
QColor currentColor(Qt::white);

selectedColor = QColorDialog::getColor(currentColor,
                                       this,
                                       tr("Select color"),
                                       QColorDialog::ShowAlphaChannel );

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

Крестик выбора цвета, который перемещается вместе с курсором мышки, по-хорошему должен остаться на том месте, где кликнули мышкой. Но этого не происходит: он все время привязан к мышке. И поэтому когда пользователь кликает на нужный цвет, потом двигает мышку к кнопке Ok, то выбранный цвет меняется вместе с движением мышки.

Что за дичь? Это у меня одного так?

Система: Debian GNU/Linux 12.12, Qt 5.15.8.

UPD1: Минимально работающий пример (14 дней на хранение): https://dropmefiles.com/HDZaX

UPD2: Минимально работающий пример с CSS-стилем, который вызывает баг: https://dropmefiles.com/EiFba

Xintrea
()

А чем нынче соединяются с Linux по SSH из-под Windows 10?

 , , , ,

Вчера потребовалось зайти на Debian Linux хост из-под Windows.

1. По старой памяти скачал Putty, запустил, открыл соединение, увидел приглашение логина. При нажатии любой клавиши - вылет. Стал искать причину, посмотрел журнал, искал в интернете по тексту ошибки в журнале. Ничего не нашел. Только жалобные всхлипы, что Putty сегфолтится на логине, никто не знает почему. И все предлагают переходить на Kitty, типа Putty устарел.

2. Поставил Kitty. При логине виден только быстро мигающий курсор. Даже текста приглашения ввода логина не видно - ни одного символа не приходит. Найти причину неработы не смог.

3. Поставил mRemoteNG. Приглашение логина видно, после ввода логина запрашивается пароль. И как бы не вводил пароль, пароль не проходит и пишется Access denied.

4. Для проверки пароля зашел на Android-телефоне через Termux: «ssh myhost.com» - все работает, пароль проходит, SSH-соединение устанавливается.

Может, что-то с виндой не то (винда не моя, как ее мучали - я не знаю). Не помогает отключение виндового брандмауера. В системе нет антивируса. Как понять что не так - мне не ведомо.

Вопрос: чем опенсорчным нынче открывают SSH-терминал под Windows 10?



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

Xintrea
()

Три года не мог увидеть иконки в Debian под LXDE. Наконец, я это сделал.

 , , , ,

Предыдущая тема ушла в архив:

Нет иконок в стабильном Debian 11 - KolourPaint, Kwrite и другие

По результатам этого обсуждения, было выработано не самое правильное решение, которое влияло на форматирование и отступы во всем DE-интерфейсе:

Как в Debian Linux настроить иконки в LXDE, если они отсуствуют

Сегодня, наконец, разобрался в этом вопросе.

Если кому интересно, то решение находится в статье:

Как заставить отображаться иконки в Debian 11, Debian 12 в программах KolourPaint, KWrite, Kate и других KDE приложениях?




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

Xintrea
()

Чего у меня GitHub стал доступен раз-через-десять?

 , , ,

Пытаюсь с VPS на ihor.online получить что-нибудь с GitHub:

> wget "https://raw.github.com/xintrea/mytetra_syncro/master/base/1334038461klkfqycs96/text.html"
--2025-09-18 12:06:09--  https://raw.github.com/xintrea/mytetra_syncro/master/base/1334038461klkfqycs96/text.html
Распознаётся raw.github.com (raw.github.com)… 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
Подключение к raw.github.com (raw.github.com)|185.199.108.133|:443... ошибка: Время ожидания соединения истекло.
Подключение к raw.github.com (raw.github.com)|185.199.109.133|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 503 hostname doesn't match against certificate
2025-09-18 12:08:19 ОШИБКА 503: hostname doesn't match against certificate.

Раза с десятого файл скачивается. Но чаще не скачивается.

На локальном провайдере тоже невозможно получить файлик:
> wget "https://raw.github.com/xintrea/mytetra_syncro/master/base/1334038461klkfqycs96/text.html"
--2025-09-18 12:05:59--  https://raw.github.com/xintrea/mytetra_syncro/master/base/1334038461klkfqycs96/text.html
Распознаётся raw.github.com (raw.github.com)… 185.199.108.133, 185.199.110.133, 185.199.109.133, ...
Подключение к raw.github.com (raw.github.com)|185.199.108.133|:443... ошибка: Время ожидания соединения истекло.
Подключение к raw.github.com (raw.github.com)|185.199.110.133|:443... ошибка: Время ожидания соединения истекло.
Подключение к raw.github.com (raw.github.com)|185.199.109.133|:443... ошибка: Время ожидания соединения истекло.
Подключение к raw.github.com (raw.github.com)|185.199.111.133|:443... ошибка: Время ожидания соединения истекло.
Подключение к raw.github.com (raw.github.com)|2606:50c0:8002::154|:443... ошибка: Сеть недоступна.

Что вообще происходит? Проблема на чьей стороне?


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

Xintrea
()

Через 20 минут после загрузки системы, PulseAudio само перенастраивается (Debian 12 без PipeWire)

 , , ,

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

Имеется Debian 12 с удаленным PipeWire (ведь все знают что в Debian 12 по-дефолту зачем-то ставится и PulseAudio и PipeWire, и они дерутся друг с другом за устройства). Debian запущен на ноуте HP 450, карта только та которая на борту, никаких внешних звуковух нет.

После загрузки системы, через ~20 минут, если пользоваться приложениями которые воспроизводят звук, что-то происходит с PulseAudio. Например, VLC перестает воспроизводить звук и пишет ошибки:

[00007ff680c17bf0] avcodec decoder: Using OpenGL/VAAPI backend for VDPAU for hardware decoding
[00005624e12f8310] pulse audio output error: overflow, flushing
[00005624e12f8310] pulse audio output error: overflow, flushing

Я заморочился, и снял вывод утилит с общей информацией об звуковой системе до и после отвала звука:
alsa-info
pacmd list-sinks
pacmd list-sources

Вот ссылки на консольный вывод.

До: https://webhamster.ru/mytetrashare/index/mtb0/1755634406ol8t7ca9if
После: https://webhamster.ru/mytetrashare/index/mtb0/1755637817tjfk5n8hov

Можно сравнить через Meld или чем там удобнее.

И отличия таки есть:
437c437
<   Converter: stream=0, channel=0
---
>   Converter: stream=5, channel=0

448c448
<   Converter: stream=0, channel=0
---
>   Converter: stream=5, channel=0

454c454
<   Converter: stream=0, channel=0
---
>   Converter: stream=1, channel=0

673,674c673,674
< crw-rw----+ 1 root audio 116,  3 Aug 19 23:02 /dev/snd/pcmC0D0c
< crw-rw----+ 1 root audio 116,  2 Aug 19 23:09 /dev/snd/pcmC0D0p
---
> crw-rw----+ 1 root audio 116,  3 Aug 20 00:05 /dev/snd/pcmC0D0c
> crw-rw----+ 1 root audio 116,  2 Aug 20 00:01 /dev/snd/pcmC0D0p

693c693
<   Subdevices: 1/1
---
>   Subdevices: 0/1

975,976c975,976
<                 value.0 0
<                 value.1 0
---
>                 value.0 3
>                 value.1 4

1309c1309
<         suspend cause: IDLE
---
>         suspend cause: (none)

1320c1320
<         sample spec: s16le 2-канальный 4410
---
>         sample spec: s16le 2-канальный 4800

1324,1325c1324,1325
<         linked by: 0
<         configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
---
>         linked by: 1
>         configured latency: 0.00 ms; range is 0.50 .. 1837.50 ms

1381c1380
<         suspend cause: IDLE
---
>         suspend cause: (none)

1390c1389
<         sample spec: s16le 2-канальный 4410
---
>         sample spec: s16le 2-канальный 4800

1395c1394
<         configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
---
>         configured latency: 0.00 ms; range is 0.50 .. 1837.50 ms

Сверху - было, снизу - стало.

Вот. Что и где надо крутить, чтобы звук нормально работал? Как понять, из-за чего происходит перенастройка? И почему после этой перенастройки звук отваливается?



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

Xintrea
()

Банк ВТБ заставил меня начать параноить

 банк,

https://webhamster.ru/site/page/index/main/news/792

Оказывается, с некоторых пор процедура входа через десктопный браузер изменилась. Пользователю предлагается задать 4-6 значный код для удобного доступа к системе. Отказаться от этого нельзя.

Теперь мои параноидальные пароли over 25 символов не нужны. Все гораздо проще. Зашибись.

Пока что вместо задания этого кода я отказался от услуг ВТБ: код не задал, соответственно пользоваться сервисом не могу. Правильно ли я сделал?

Xintrea
()

Качество книжек по Rust

 

Решил посмотреть что есть на русском языке по Rust для старта, и каково качество оригинала и перевода. Нашел книжку https://doc.rust-lang.ru/book/, решил посмотреть, хватит ли моих утомленных мозгов чтобы осилить введение в язык. Споткнулся в самом начале на элементарном примере:

io::stdin().read_line(&mut guess)
Вот что там написано:

Главная задача read_line — принять все, что пользователь вводит в стандартный ввод, и сложить это в строку (не переписывая её содержимое), поэтому мы передаём эту строку в качестве аргумента. Строковый аргумент должен быть изменяемым, чтобы метод мог изменить содержимое строки.

У меня когнитивный диссонанс. В одном предложении автор пишет что ввод надо сложить в строку, не переписывая ее содержимое. Окей. В следующем предложении написано, что аргумент должен быть изменяемым, чтобы метод мог изменить содержимое строки. Так будет переписываться строка или не будет?

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

Далее:

одним из главных преимуществ Rust является безопасность и простота использования ссылок. Чтобы дописать эту программу, вам не понадобится знать много таких подробностей. Пока вам достаточно знать, что ссылки, как и переменные, по умолчанию неизменяемы. Соответственно, чтобы сделать её изменяемой, нужно написать &mut guess, а не &guess. (В главе 4 ссылки будут описаны более подробно)

Что значит, что по умолчанию ссылки неизменяемы? Ведь мне только это достаточно знать. Неизменяем «адрес», хранимый в ссылке, или неизменяемы данные, на которые указывает ссылка? Что делает синтаксис «&mut guess» ? Он дает меняться «адресу», чтобы ссылка могла указываеть на другую область памяти, или дает меняться данным, на которые указывает ссылка? Почему, блин, с самого начала людей оставляют в неизвестности, не объясняя что конкретно происходит? Концепция владения в гл. 4 тут вообще не при чем.

Почему я пишу слово «адрес» в кавычках? Потому что я не смог понять, что такое ссылка. Поэтому я не понимаю механизм работы ссылки:

  • Ссылка Rust хранит адрес в памяти, где хранятся данные?
  • Ссылка Rust хранит адрес в памяти, где находится внутреннее описание переменной, на которую указывает ссылка? Через которое уже будет доступ к памяти, где хранятся данные?
  • Ссылка Rust вообще не хранит адрес в памяти, а хранит некий номер/дескриптор из какой-то таблицы доступных переменных, по которой получается адрес в памяти? Но тогда это адрес чего - самих данных или внутреннего описания переменной, по которой доступен адрес самих данных?
  • Может быть, конструкция вообще другая?
Xintrea
()

Как указать DPI при удаленном запуске графических приложений по ssh -X?

 , , , ,

Поменяли мне на работе монитор на разрешение 2К. Все бы ничего, но когда я пытаюсь удаленно запустить GUI-приложения на удаленом сервере, они показываются с малюсенькими шрифтами.

Например, мне часто нужно удаленно запускать gitk и git gui, которые используют библиотеку Tk для интерфейса. И я не могу разобраться как изменить шрифт или рендеринг всего окна удаленной программы.

Я пытался сделать так:

export XFT_DPI=250
gitk

export XFT_DPI=96
gitk

Никакого эффекта.

Пытался запускать так:
export XRESOURCES="Xft.dpi: 250"
xrdb -merge <<< "$XRESOURCES"
gitk

export XRESOURCES="Xft.dpi: 96"
xrdb -merge <<< "$XRESOURCES"
gitk

Тоже никакого эффекта.

Вопрос: как для удаленной сессии по ssh -X изменить DPI или размер шрифта?

Xintrea
()

Почему в Git один и тот же комммит показывает разные изменения?

 ,

Что-то я затупил. Имею репозитарий:

git clone https://invent.kde.org/utilities/konsole.git

Нахожу в нем следующий коммит, который содержит изменение для файла /src/Profile.cpp:
commit 9ea9d62785193ec06a8f37090dd6e7940626e1b8
Author: Jekyll Wu <adaptee@gmail.com>
Date:   Mon Oct 10 16:23:22 2011 +0800

    Reimplement the feature of "show/hide the size widget after resising"
    
    This is a follow up of commit b40a006d which closees BUG 169054.
    It turns out the old code already has most parts of similar logic.
    So remove duplicated logic in the code.

diff --git a/src/Profile.cpp b/src/Profile.cpp
index 06ef51960..d9706d17b 100644
--- a/src/Profile.cpp
+++ b/src/Profile.cpp
@@ -76,7 +76,7 @@ const Profile::PropertyInfo Profile::DefaultPropertyNames[] =
...skipping...
+    , { BoldIntense, "BoldIntense", APPEARANCE_GROUP, QVariant::Bool }

     // Keyboard
     , { KeyBindings , "KeyBindings" , KEYBOARD_GROUP , QVariant::String }
@@ -179,6 +180,7 @@ FallbackProfile::FallbackProfile()

     setProperty(DefaultEncoding,QString(QTextCodec::codecForLocale()->name()));
     setProperty(AntiAliasFonts,true);
+    setProperty(BoldIntense,true);

     // default taken from KDE 3
     setProperty(WordCharacters,":@-./_~?&=%+#");

Я переключаюсь на него:
git checkout 9ea9d62785193ec06a8f37090dd6e7940626e1b8

И снова смотрю изменения файла /src/Profile.cpp для этого же коммита:
commit 9ea9d62785193ec06a8f37090dd6e7940626e1b8 (HEAD)
Author: Jekyll Wu <adaptee@gmail.com>
Date:   Mon Oct 10 16:23:22 2011 +0800

    Reimplement the feature of "show/hide the size widget after resising"

    This is a follow up of commit b40a006d which closees BUG 169054.
    It turns out the old code already has most parts of similar logic.
    So remove duplicated logic in the code.

diff --git a/src/Profile.cpp b/src/Profile.cpp
index 06ef51960..d9706d17b 100644
--- a/src/Profile.cpp
+++ b/src/Profile.cpp
@@ -76,7 +76,7 @@ const Profile::PropertyInfo Profile::DefaultPropertyNames[] =
     , { LocalTabTitleFormat , "tabtitle" , 0 , QVariant::String }
     , { RemoteTabTitleFormat , "RemoteTabTitleFormat" , GENERAL_GROUP , QVariant::String }
     , { ShowMenuBar , "ShowMenuBar" , GENERAL_GROUP , QVariant::Bool }
-    , { ShowSizeWidget , "ShowSizeWidget" , GENERAL_GROUP , QVariant::Bool }
+    , { ShowTerminalSizeHint , "ShowTerminalSizeHint" , GENERAL_GROUP , QVariant::Bool }
     , { SaveGeometryOnExit , "SaveGeometryOnExit" , GENERAL_GROUP , QVariant::Bool }
     , { TabBarMode , "TabBarMode" , GENERAL_GROUP , QVariant::Int }
     , { TabBarPosition , "TabBarPosition" , GENERAL_GROUP , QVariant::Int }
@@ -161,7 +161,7 @@ FallbackProfile::FallbackProfile()
     setProperty(TabBarPosition,TabBarBottom);
     setProperty(NewTabBehavior,PutNewTabAtTheEnd);
     setProperty(ShowMenuBar,true);
-    setProperty(ShowSizeWidget,true);
+    setProperty(ShowTerminalSizeHint,true);
     setProperty(SaveGeometryOnExit,true);
     setProperty(StartInCurrentSessionDir,true);
     setProperty(ShowNewAndCloseTabButtons,false);

И эти изменения совершенно другие. Хотя хеш и описание коммита - те же самые. Как так то? Какие изменения на самом деле были то?

Xintrea
()

Почему в константном методе невозможно вернуть указатель?

 , ,

Имеется следующий старенький код, в котором необходимо метод getTableData() сделать константным:

class TreeItem
{
 public:

    // Взятие ссылки на данные конечных записей
    RecordTableData *getTableData(void) const;
 
 private:
     RecordTableData recordsTable;
}

...

RecordTableData *TreeItem::getTableData(void) const
{
  return &recordsTable;
}

Насколько я понимаю, модификатор метода const должен следить за тем, чтобы в методе не происходило изменения объекта класса. И никакого изменения не происходит: берется адрес мембера и возвращается как указатель. Все. Что там будет происходить с переданными данными - будут они меняться по указателю, не будут - это не забота метода getTableData(). Он данные не изменил, а значит метод константный.

Но компилятор почему-то показывает ошибку:
TreeItem.cpp:632:10: error: binding reference of type 'RecordTableData' to value of type 'const RecordTableData' drops 'const' qualifier

Вопрос: как заставить компилироваться этот код, в котором метод должен быть помечен как константный? Если модификатор const убрать, то эта ошибка исчезает. Но мне нужно, чтобы данный метод был константный, потому что он используется в другом константном методе.

Xintrea
()

Не пойму, заблокирован ли мой сайт Роскомнадзором

 , , ,

На днях, 6 дек. 2024  г. Роскомнадзор прислал требование на блокировку информации, размещенную на странице сайта:

https://webhamster.ru/mytetrashare/index/mtb0/1705912840ptzochzjmi

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

Проблема в том, что браузеры и Firefox и Chromium теперь не могут показать сайт напрямую без VPN. Показывают ошибку: PR_CONNECT_RESET_ERROR или ERR_CONNECTION_RESET соответственно. Куки удалял, даже Firefox обновил, толку никакого.

Сертификат на сайте действителен до January 30, 2025.

Пинги до сайта проходят.

Полез искать свой сайт на https://eais.rkn.gov.ru . По строкам поиска webhamster.ru и https://webhamster.ru ничего не находится. Зато по полному вышеприведенному URL-у показывается такая информация:

Номер и дата основания для внесения в реестр: 2024-02-27-3849-СОБ от 04.03.2024
Орган, принявший решение о внесении в реестр: Роскомнадзор
Статус сайта: доступ ограничивается к странице


Как-то это странно: дата внесения в реестр 04.03.2024, а требование мне приходит 06.12.2024.  Сайт волшебным образом работал все эти месяцы, причем за это время приходило еще несколько штук абуз от Роскомнадзора, их я удалял, никаких проблем не возникало кроме временного простоя сайта.

В общем, я не пойму кто меня заблокировал на каком уровне. У меня нет доступа к сайту с рабочего компа и с мобильника (МТС).

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

Xintrea
()

Ogg-файл с музыкой из SuperTuxKart управляет системной громкостью?

 , , , ,

Я сейчас наткнулся на такую дичь в Debian GNU/Linux 11 (LXDE, pulseaudio 14.2-2).

Качаю архив с игрой: https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/0.4/supertux...

Вытаскиваю из него файл: oggs/kart_grand_prix.ogg

Системная громкость стоит на ~50%. Запускаю файл на проигрывание в mpv. После 33-й секунды системная громкость вырубается в 0. То же самое происходит и где-то на 43-й секунде, если ее снова поднять. Что за дичь? Проверил несколько раз - реально, громкость в системе вырубается.

Думал, может какая-то проблема с mpv. Запустил в audacious. И наблюдаю то же самое!

Единственное что еще заметил - если исходная системная громкость небольшая - 10-20%, то она изменяться не будет. А если 50-80%, то вырубится в ноль.

Да как такое может быть? Как звук может управлять системной громкостью?



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

Xintrea
()

Предсказатель переходов на Эльбрусе (v7)

 ,

Появились материалы доклада на форуме Встраиваемые системы реального времени 2024. (Было видео докладчика из МЦСТ, но утонуло в грубинах Telegram, найти не могу).

https://files.kpda.ru/upload/iblock/310/f2tgak1k9clukvwr0peykst9oh01vcyj.pdf

Так вот, смотрим 13-ю страницу. В 7-й версии архитектуры появился предсказатель переходов. Но как-то он вяленько добавляет производительности (около ~5%). Вопрос - почему?

Мои варианты:

1. На нативном коде предсказатель переходов много не прибавит, потому что и без него все оптимизировано, и FDO/PGO (Profile Guided Optimizations) дает свои плоды.

2. Этот предсказатель впихнули чтобы разогнать интерпретируемые/jit языки, а на нативном коде от него будет толку немного.

3. Это первая итерация предсказателя, странно было бы ожидать хороших результатов. Главное, что эффект от присутствия предсказателя на лицо, в следующих итерациях его надо развивать.

Ваши варианты.

Xintrea
()

Странная ошибка при создании функции в PostgreSQL

 , , , транзакция,

Имеется следующий короткий код на Python. В основе кода используется библиотека psycopg2. Весь код работает в одной транзакции.

Что делает код? Он должен просто создать функцию с именем update_change_time_column(). После создания, функция, естественно, существует одна на всю схему.

# Рекомендательная блокировка на момент создания функции
self.exec( "SELECT pg_advisory_lock(12345);" )

# Проверка что функция уже есть в БД
resultCursor = self.exec( """SELECT EXISTS (
                          SELECT 1
                          FROM information_schema.routines
                          WHERE routine_name = 'update_change_time_column'
                            AND routine_schema = current_schema()
                          );""" )
isFunctionExists = resultCursor.fetchone()[0]

# Если функции нет, она создается
if not isFunctionExists:
    self.exec( """
               CREATE OR REPLACE FUNCTION update_change_time_column()
               RETURNS TRIGGER AS $$
               BEGIN
                 IF current_setting('custom.disable_change_time_trigger', true) IS NOT NULL THEN
                   RETURN NEW;
                 END IF;

                 NEW.change_time = now();
                 RETURN NEW;
               END;
               $$ language 'plpgsql';
               """ )

# Рекомендательная блокировка снимается
self.exec( "SELECT pg_advisory_unlock(12345);" )

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

И при работе иногда возникает ошибка:
Ошибка при выполнении SQL-запроса
CREATE OR REPLACE FUNCTION update_change_time_column()
RETURNS TRIGGER AS $$
BEGIN
  IF current_setting('custom.disable_change_time_trigger', true) IS NOT NULL THEN
    RETURN NEW;
  END IF;

  NEW.change_time = now();
  RETURN NEW;
END;

ОШИБКА:  повторяющееся значение ключа нарушает ограничение уникальности "pg_proc_proname_args_nsp_index"

DETAIL:  Ключ "(proname, proargtypes, pronamespace)=(update_change_time_column, , 2200)" уже существует.

Вопрос: почему возникает такая ошибка?

Вроде как предприняты меры по блокировке на время создания функции. Функция создается только в случае, если ее нет. Все обернуто в транзакцию. Что еще надо учитывать чтобы ошибки не возникало?

Xintrea
()

RSS подписка на новые темы