LINUX.ORG.RU

Сообщения hobbit

 

Про монструозность

Привет, ЛОР.

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

Но и меня настигло возмездие! Вот только что набрал в уютненьком pacman -S pandoc и получил:

Пакеты (203) ghc-libs-9.0.2-1  haskell-aeson-2.1.0.0-4  haskell-aeson-pretty-0.8.9-99  haskell-ansi-terminal-0.11.3-35  haskell-ansi-wl-pprint-0.6.9-352  haskell-appar-0.1.8-13  haskell-asn1-encoding-0.9.6-195
             haskell-asn1-parse-0.9.5-195  haskell-asn1-types-0.3.4-174  haskell-assoc-1.0.2-167  haskell-async-2.2.4-126  haskell-attoparsec-0.14.4-41  haskell-attoparsec-iso8601-1.1.0.0-17
             haskell-auto-update-0.1.6-282  haskell-base-compat-0.12.2-1  haskell-base-compat-batteries-0.12.2-20  haskell-base-orphans-0.8.7-27  haskell-base16-bytestring-1.0.2.0-47  haskell-base64-0.4.2.4-33
             haskell-base64-bytestring-1.2.1.0-69  haskell-basement-0.0.15-1  haskell-bifunctors-5.5.13-9  haskell-bitvec-1.1.3.0-18  haskell-blaze-builder-0.4.2.2-2  haskell-blaze-html-0.9.1.2-191
             haskell-blaze-markup-0.8.2.8-97  haskell-boring-0.2-4  haskell-bsb-http-chunked-0.0.0.4-326  haskell-byteable-0.1.1-25  haskell-byteorder-1.0.4-24  haskell-call-stack-0.4.0-119
             haskell-case-insensitive-1.2.1.0-170  haskell-cereal-0.5.8.3-1  haskell-citeproc-0.8.0.2-7  haskell-cmdargs-0.10.21-4  haskell-colour-2.3.6-144  haskell-commonmark-0.2.2-23
             haskell-commonmark-extensions-0.2.3.3-6  haskell-commonmark-pandoc-0.2.1.2-92  haskell-comonad-5.0.8-169  haskell-conduit-1.3.4.3-8  haskell-conduit-extra-1.3.6-40  haskell-connection-0.3.1-223
             haskell-constraints-0.13.4-16  haskell-contravariant-1.5.5-3  haskell-cookie-0.4.5-12  haskell-cryptonite-0.30-38  haskell-data-default-0.7.1.1-257  haskell-data-default-class-0.1.2.0-24
             haskell-data-default-instances-containers-0.0.1-36  haskell-data-default-instances-dlist-0.0.1-270  haskell-data-default-instances-old-locale-0.0.1-36  haskell-data-fix-0.3.2-69  haskell-dec-0.0.5-1
             haskell-digest-0.0.1.3-2  haskell-distributive-0.6.2.1-172  haskell-dlist-1.0-192  haskell-doclayout-0.4-18  haskell-doctemplates-0.10.0.2-28  haskell-easy-file-0.2.2-19  haskell-emojis-0.1.2-41
             haskell-erf-2.0.0.0-24  haskell-fast-logger-3.1.1-60  haskell-file-embed-0.0.15.0-1  haskell-generically-0.1-1  haskell-ghc-bignum-orphans-0.1.1-1  haskell-glob-0.10.2-57  haskell-gridtables-0.1.0.0-5
             haskell-haddock-library-1.10.0-180  haskell-hashable-1.4.1.0-32  haskell-hourglass-0.2.12-213  haskell-hslua-2.2.1-14  haskell-hslua-aeson-2.2.1-15  haskell-hslua-classes-2.2.0-32
             haskell-hslua-core-2.2.1-26  haskell-hslua-marshalling-2.2.1-20  haskell-hslua-module-doclayout-1.0.4-64  haskell-hslua-module-path-1.0.3-23  haskell-hslua-module-system-1.0.2-20
             haskell-hslua-module-text-1.0.2-22  haskell-hslua-module-version-1.0.3-20  haskell-hslua-objectorientation-2.2.1-16  haskell-hslua-packaging-2.2.1-12  haskell-hsyaml-0.2.1.1-25
             haskell-http-api-data-0.5-6  haskell-http-client-0.7.13.1-21  haskell-http-client-tls-0.3.6.1-65  haskell-http-date-0.0.11-103  haskell-http-media-0.8.0.0-172  haskell-http-types-0.12.3-274
             haskell-http2-3.0.3-8  haskell-hunit-1.6.2.0-161  haskell-indexed-traversable-0.1.2-2  haskell-indexed-traversable-instances-0.1.1.1-20  haskell-integer-logarithms-1.0.3.1-6  haskell-iproute-1.7.12-45
             haskell-ipynb-0.2-60  haskell-jira-wiki-markup-1.4.0-80  haskell-juicypixels-3.3.7-37  haskell-lexer-1.1-11  haskell-libyaml-0.1.2-262  haskell-lpeg-1.0.3-16  haskell-lua-2.2.1-17
             haskell-memory-0.17.0-34  haskell-mime-types-0.1.1.0-1  haskell-mmorph-1.2.0-5  haskell-monad-control-1.0.3.1-69  haskell-mono-traversable-1.0.15.3-93  haskell-network-3.1.2.7-45
             haskell-network-byte-order-0.1.6-145  haskell-network-uri-2.6.4.1-103  haskell-old-locale-1.0.0.7-30  haskell-old-time-1.1.0.3-30  haskell-onetuple-0.3.1-42  haskell-optparse-applicative-0.17.0.0-17
             haskell-pandoc-lua-marshal-0.1.7-21  haskell-pandoc-types-1.22.2.1-19  haskell-pem-0.2.4-251  haskell-pretty-show-1.10-13  haskell-primitive-0.7.4.0-45  haskell-psqueues-0.2.7.3-49
             haskell-quickcheck-2.14.2-373  haskell-random-1.2.1.1-71  haskell-recv-0.0.0-6  haskell-resourcet-1.2.6-17  haskell-safe-0.3.19-8  haskell-safe-exceptions-0.1.7.3-25  haskell-scientific-0.3.7.0-80
             haskell-semialign-1.2.0.1-87  haskell-semigroupoids-5.3.7-71  haskell-servant-0.19.1-2  haskell-servant-server-0.19.2-3  haskell-sha-1.6.4.4-19  haskell-simple-sendfile-0.2.30-323
             haskell-singleton-bool-0.1.6-7  haskell-skylighting-0.13.1.1-3  haskell-skylighting-core-0.13.1.1-3  haskell-skylighting-format-ansi-0.1-17  haskell-skylighting-format-blaze-html-0.1.1-13
             haskell-skylighting-format-latex-0.1-17  haskell-socks-0.6.1-199  haskell-some-1.0.4.1-1  haskell-sop-core-0.5.0.2-1  haskell-split-0.2.3.5-13  haskell-splitmix-0.1.0.4-110  haskell-statevar-1.2.2-2
             haskell-streaming-commons-0.2.2.5-3  haskell-strict-0.4.0.1-141  haskell-string-conversions-0.4.0.1-138  haskell-syb-0.7.2.2-11  haskell-tagged-0.8.6.1-5  haskell-tagsoup-0.14.8-193
             haskell-temporary-1.3-482  haskell-texmath-0.12.5.4-6  haskell-text-conversions-0.3.1.1-28  haskell-text-icu-0.8.0.2-16  haskell-text-short-0.1.5-46  haskell-th-abstraction-0.4.5.0-1
             haskell-th-compat-0.1.4-10  haskell-th-lift-0.8.2-13  haskell-th-lift-instances-0.1.20-12  haskell-these-1.1.1.1-168  haskell-time-compat-1.9.6.1-64  haskell-time-manager-0.0.0-279  haskell-tls-1.6.0-21
             haskell-transformers-base-0.4.6-69  haskell-transformers-compat-0.7.2-1  haskell-type-equality-1-12  haskell-typed-process-0.2.10.1-21  haskell-unicode-collation-0.1.3.3-6  haskell-unicode-data-0.4.0-4
             haskell-unicode-transforms-0.4.0.1-36  haskell-uniplate-1.6.13-160  haskell-unix-compat-0.6-37  haskell-unix-time-0.4.8-9  haskell-unliftio-0.2.23.0-2  haskell-unliftio-core-0.2.0.1-9
             haskell-unordered-containers-0.2.19.1-44  haskell-utf8-string-1.0.2-117  haskell-uuid-types-1.0.5-84  haskell-vault-0.3.1.5-123  haskell-vector-0.13.0.0-12  haskell-vector-algorithms-0.9.0.1-18
             haskell-vector-stream-0.1.0.0-1  haskell-wai-3.2.3-160  haskell-wai-app-static-3.1.7.4-93  haskell-wai-extra-3.1.13.0-4  haskell-wai-logger-2.4.0-155  haskell-warp-3.3.23-12  haskell-witherable-0.4.2-28
             haskell-word8-0.1.3-22  haskell-x509-1.7.7-24  haskell-x509-store-1.6.9-49  haskell-x509-system-1.6.7-52  haskell-x509-validation-1.6.12-54  haskell-xml-1.3.14-30  haskell-xml-conduit-1.9.1.1-154
             haskell-xml-types-0.3.8-8  haskell-yaml-0.11.8.0-70  haskell-zip-archive-0.4.2.2-7  haskell-zlib-0.6.3.0-27  lua-lpeg-1.0.2-4  pandoc-2.19.2-29

Размер, правда, небольшой, поставилось довольно быстро. :)

 , ,

hobbit
()

Чем Proton лучше wine + DXVK?

На третий день индеец Соколиный Глаз заметил, что у тюремной камеры нет одной стены…

Привет, ЛОР.

Внезапно озадачился вопросом: а есть ли у Proton как цельного продукта преимущества перед wine, к которому руками прикручен DXVK? Я смотрю, что в репозитории @Kron4ek, например, есть сборки и wine, и proton. Есть шанс, что у Proton будет меньше проблем с некоторыми играми?

 

hobbit
()

Простой редактор кода или IDE для HTML/CSS с деплоем по кнопке

Привет, ЛОР.

А чего такого из работающего под линуксом есть, чтобы можно было редактировать HTML/CSS, периодически в том же редакторе нажимать кнопку «Сделать зашибись» «Опубликовать», и сам редактор/IDE это поместит в удалённый каталог?

Я-то могу и миднайтом по SSH скопировать, и rsync настроить, если надо, но вот сейчас хочу найти простое решение для человека, который тренируется в написании простых сайтов, не забивая ему до поры до времени голову лишними сущностями. Так-то я смотрю, народ аж плагины для Sublime пишет, то есть искоробочного даже в этом культовом редакторе нет?

Ну и кроме деплоя хотелось бы, чтобы редактор был удобен именно для HTML: панель инструментов и всё такое. 20 лет назад в линуксе были в ходу всякие BlueFish и Quanta Plus, но сейчас, как я понимаю, всё это померло?.. Вместо Кванты уже много лет назад рекомендовали kdevelop, но не слишком ли он универсальный монстр, он ведь всё-таки не для веб-разработки изначально делался…

 , , нубовопрос

hobbit
()

Ищу интерпретатор формул для C++ с предварительным парсингом

Добрый день, ЛОР.
Ищу класс/библиотеку для C++, которому можно сначала скармливать формулы с арифметическими действиями и общеупотребительными математическими функциями (тригонометрия, логарифмы, всё вот это вот), а потом прокачивать через него массив аргументов и получать результат обработки по этим формулам.
Давным-давно был неплохой класс Parser от Jos de Jong, у которого объём нужных функций был близок к идеалу. Но во-первых, в сохранившихся у меня файлах нет информации о лицензии, а актуальные файлы в интернете не находятся. Тот же автор потом написал программу SpeqMath и все открытые наработки, похоже, из Сети убрал (ну или я плохо искал). Во-вторых, оптимальность реализации у него была так себе: формула парсилась всякий раз при вычислении очередного значения.
А хотелось бы найти интерпретатор с предварительным парсингом — к примеру, в конструктор передаётся строка с формулой, тут же парсится и преобразуется в последовательность кодов операций, отдельными методами передаются дополнительные переменные, и наконец, аргумент (или даже массив аргументов) для собственно расчётов.
Есть такие библиотеки? Желательно под LGPL или вообще под пермиссивной лицензией, ибо будет использоваться в проприетарном коде (но если найду, что улучшить в самой библиотеке, патчи автору зашлю, разумеется).

P.S. Читерство в виде вызова компилятора из своей программы не предлагать.

 , , ,

hobbit
()

DeadBeef и FLAC

Привет, ЛОР.

Сегодня обнаружил, что после обновления манжары DeadBeef перестал проигрывать файлы FLAC. WavPack и всякие lossy играют нормально.

Описание проблемы нашлось на манжарофоруме: необновлённый по какой-то причине DeadBeef просит libFLAC.so.8, а в системе стоят уже 10 и 12.

Принудительно обновлять DeadBeef до актуальной версии мне в силу вектора его нынешнего развития мне не очень хотелось, поэтому я совершил в /usr/lib небольшое хулиганство:

ln -s libFLAC.so.12 libFLAC.so.8

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

Рекомендовать этот путь никому не буду, но вдруг кому-то пригодится. На будущее, возможно, всё-таки стоит смотреть альтернативы говядине, например, QMMP с simple ui (как минимум три человека на ЛОРе свидетельствуют, что полёт нормальный).

 , , ,

hobbit
()

Как нам оформить опрос про оперативную память

Привет, ЛОР.

Вот он, лежит в неподтверждённых. Пункты выглядят, как

4 ГиБ <= у меня < 8 ГиБ
8 ГиБ <= у меня < 16 ГиБ

Как выяснилось в комментариях, не меньше двух человек не увидели разницы между <= и <. Кроме того, неприятие вызвали сами наименования ГиБ и Миб, несмотря на то, что они приняты МЭК и являются частью IEC 80000-13:2008 (в России — ГОСТ Р МЭК 80000-13—2016, раздел 4).

Можно заменить формулировки на что-то вроде

от 4 ГБ (включительно) до 8 ГБ (исключительно)
от 8 ГБ (включительно) до 16 ГБ (исключительно)

Но хотелось бы собрать побольше мнений на эту тему. Я считаю первый вариант максимально точным.

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

Итак, спорных моментов два:

  1. какие наименования единиц использовать?
  2. как обозначать границы диапазонов, знаками или словами?

P.S. Третий вариант, компромиссный:

8 ГБ ≤ x < 16 ГБ
16 ГБ ≤ x < 32 ГБ

Сейчас склоняюсь к нему…

 

hobbit
()

Manjaro не обновляется

Добрый вечер, ЛОР.

Manjaro KDE. Спохватился я, что система, которая раньше запрашивала обновления раз в несколько дней, молчит как партизан.

Графическая обновлялка пишет «Ваша система актуальна» и говорит, что последнее обновление было 5 сентября.

Запускаю sudo pacman -Syu. Он предлагает заменить kwayland-server на extra/kwin, steam-manjaro на multilib/steam, wxgtk-common на extra/wxwidgets-common, wxgtk3 на extra/wxwidgets-gtk3. Я как Швейк на всё соглашаюсь, после чего он выкатывает список на 685 пакетов, соглашаюсь. Он качает по 1-2 пакета, после чего вываливается с криком:

ошибка: curl returned error 12 from transfer
предупреждение: не удалось получить некоторые файлы
ошибка: не удалось завершить транзакцию (непредвиденная ошибка)
Обнаружены ошибки, пакеты не обновлены.

И так несколько раз. Что это может быть?

 ,

hobbit
()

О дружбе инсталляторов и загрузчиков

Подумалось…

Дистрибутивов много. Программ их инсталляции тоже. А вот есть ли в каких-нибудь дистрибутивах такой инсталлятор, который при обнаружении уже установленного GRUB (или другого универсального загрузчика) предлагал бы как один из вариантов просто добавить себя туда?

Схожий вопрос по UEFI. Когда я давным-давно ставил Федору в дуалбут с виндой на UEFI-ноуте, она поставила туда свой UEFI-совместимый GRUB, уже из него вызываются и винда, и линукс. Но ведь можно, наверное, как-то просто добавиться в сам UEFI, если он не огорожен? Или нет?

Особенно это актуально, когда я хочу иметь на машине два-три разных линукса (не виртуалки, нативно).

 , ,

hobbit
()

Ищу утилиту сравнения для языков разметки

Привет, ЛОР.

А есть ли в природе утилита, позволяющая сравнивать два XML-файла с игнором различий элементов и атрибутов, которые некритичны для некоторого контекста?

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

Есть программа xml-diff, но она не про игнор, она про сортировку атрибутов перед сравнением (что тоже бывает важным, да).

Интересует также, есть ли такие программы для JSON или YAML, например.

 , , ,

hobbit
()

Благодарность за починенный Midnight Commander

День добрый.

Недавно в мои руки в очередной раз попал древний дистрибутив с легаси-системы, где в mc был поломан Shift+F6: вместо переименования файла с использованием старого имени в качестве образца mc просто предлагал его удалить. Я всегда думал, что это криворукость создателей дистрибутива, однако на сей раз решил погуглить, и оказалось, что в 2011 году (да-с, и с такими артефактами приходится работать) проблема была вполне известной, а работающее решение на ЛОРе опубликовал @ananas:

[история успеха?] shift+f5 и shift+f6

Я попробовал — заработало! И даже ссылка на pastebin за 11 лет не протухла. И автор решения до сих пор заглядывает на ЛОР, что тоже радует.

@ananas, огромное спасибо!

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

 ,

hobbit
()

Раздел со статьями: возрождение реально?

Добрый день.
Как помнят старожилы, когда-то на ЛОРе был целый раздел с русской документацией. Потом эта документация безвозвратно устарела и в конце концов раздел с сайта исчез.
А идея была хорошая. Но если её сейчас воскрешать — вопрос будет тот же. Есть среди ЛОРовцев в 2022 году люди, готовые писать статьи для сайта, и кому есть чем поделиться?

P.S. Если что, этот вопрос — пока что сугубо моя личная инициатива, с Макскомом и кем бы то ни было ещё не согласованная (но предполагаю, что если я с ним на эту тему заговорю, он первым делом спросит «А что выкладывать-то будем»?).

 

hobbit
()

Можно ли получить новый g++ с библиотекой на старой системе?

Привет, ЛОР.

Тут народ хочет писать, компилировать и использовать новейший плюсовый код (включая модули из C++20 и u32string) на двух сильно старых системах. Одна на базе Debian Wheezy, другая на CentOS 7.

Можно ли как-то собрать под эти системы (особенно под дебиан интересно, с центосом опционально, но тоже желательно) современный наисвежайший g++ с современной же плюсовой стандартной библиотекой? Ребята осознают, что задача нетривиальная, и готовы некоторое время потрахаться, главное, чтобы результат получить.

Нет, сертификации там никакой нет (это первое, что я у них спросил), сторонние исходники использовать можно. Единственное ограничение — не ломать и не удалять уже установленные пакеты. Т.е. новый gcc надо собрать так, чтобы он мог вызываться в качестве альтернативы к существующему (через /etc/alternatives, например).

Задача реальна и если да, то КАК?

 , ,

hobbit
()

SANE вешается на HP C4283

Добрый вечер, ЛОР.
Довольно долгое время я успешно сканировал на сабжевом МФУ из линукса, причём на разных дистрибутивах. Но с какого-то момента xsane plugin из gimp начал зависать, да так, что даже kill-ом снимается не сразу.

Та же картина при попытке вызова scanimage -L.

С целью исключить железячную проблему я подключил МФУ к ноутбуку с Windows 8… и всё прекрасно сканируется: и фирменной HPшной программой, и даже mspaint-ом.

Система: Manjaro KDE.
hplip-1:3.22.4-1
sane: 1.1.1-1
xsane-gimp: 0.999-5
gimp: 2.10.30-3

Куда копать?

 , ,

hobbit
()

С Днём Победы!

77 лет назад закончилась самая кровопролитная война в истории. Помянем тех, кто погиб, защищая мир от нацизма.

За мирное небо!

P.S. Пожалуйста, не забывайте, что День Победы — это историческое событие, память наших дедов и прадедов. Политические обсуждения будут удаляться. Не исключаю, что в течение дня комментирование будет несколько раз закрываться и открываться.

 

hobbit
()

Добыть RAW без дорогой фотовидеотехники

Добрый вечер, ЛОР.

Я хочу самостоятельно поэкспериментировать с разными видеокодеками (читать про чужие тесты хорошо, но свои получать интереснее). Вот только дорогой техники под рукой нет, а использовать в качестве «несжатого» видео то, что на самом деле разжато, например, из H.264, мне кажется, не совсем правильно.

Есть ли способ как-то снимать видео несжатое или сжатое в lossless, с камеры обычного андроид-смартфона? Я в понимаю, что оно будет офигенного объёма (придётся работать короткими кусками) и скорее всего так себе качества. Но в данном случае меня волнует не качество ради качества, волнует, чтобы разные кодеки были в равных стартовых условиях. Подсовывать кодеру на вход искусственно синтезированные картинки, которые обсуждают в соседней теме, в данном случае тоже не хочется, хочется, чтобы видео было реальным, пусть и коротким.

Есть такое? Может, какая-то программа, работающая с API камеры на низком уровне (или API камеры такой возможности в принципе не даёт)?

Линукс тут при том, что 1) в конечном счёте то, чего я хочу, это не более чем материал для работы с тем же ffmpeg и другим любимым линукс-софтом; 2) андроид таки линукс, хоть и не GNU.

 , , ,

hobbit
()

Совместимость формул LO->MSO

Привет, ЛОР.
У меня возникла необходимость оперативно сделать текст с формулами и передать по электронной почте другому человеку. Я помню, что раньше у либреофиса с майкрософтом по формулам была принципиальная несовместимость. Как обстоят дела сейчас?
Там, где я сейчас, MSO у меня нет, только либра (ещё латех, но в данном случае он исключён, ибо человеческий фактор на приёмном конце). Поэтому проверить заранее не могу, надеюсь только на помощь форума.
Конкретных вопросов три:

  1. Поймёт ли MS Word (скорее всего, 2013) формулы из LO Writer 7.1.1.2?
  2. Если нет — поможет ли мне обновление LO до последнего 7.3.1, или с формулами там осталось то же, что было в 7.1.1.2?
  3. Есть ли в разрезе этой совместимости принципиальная разница, сохранять ли в DOC или DOCX? А может, внезапно, ODT поможет, последние мсофисы же умеют его читать, хоть и весьма криво…

В тему призывается @Kompilainenn (особенно по второму пункту, но вообще по всем).

 ,

hobbit
()

Несколько таймеров из setitimer

Добрый день, ЛОР.

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

Я правильно понимаю, что таймер типа ITIMER_REAL в программе можно создать только один? Никаких хэндлов и прочих идентификаторов эта функция не возвращает.

То есть, если таймеров нужно несколько, надо:

  • написать один обработчик SIGALRM;
  • вызвать setitimer(), в качестве периода брать НОД периодов нужных таймеров;
  • нужные субобработчики дёргать из него в зависимости от номера тика;
  • по окончании работы вызвать setitimer() с нулевым интервалом.

Или я что-то не понимаю / усложняю?

 ,

hobbit
()

Как сохранять файл на прежнее место

Привет, ЛОР.

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

До сих пор я успешно решал задачу с помощью mcedit. Но вот сейчас я потихоньку осваиваю vim, и заинтересовался, а он так умеет?

Запускаю vim.

:set noswapfile
:set nobackup
:e this_huge_file.txt

Правлю (редактирую пару байт). Пытаюсь сохранить файл. Получаю ошибку E514. На большЕм разделе, естественно, всё работает.

Можно ещё что-то в настройках подкрутить?

Да, задача ненормальная, и вопрос я задаю, скорее, из «спортивного интереса». А также потому, что теоретически похожая задача может возникнуть, условно говоря, «в горящем танке». Если vim так не умеет — окей, буду иметь в виду, что в таких случаях нужны другие инструменты (mcedit, как я уже сказал, справляется).

P.S. Периодические бэкапы с файла делаются, поэтому за его физическую сохранность просьба не беспокоиться.

P.P.S. Вопрос «А что мы будем делать, когда и под сам файл места не хватит» — вопрос отдельный.

 , ,

hobbit
()

Связь ПК-смартфон в своей программе по Wi-Fi

Привет, ЛОР.

Некоторые разработчики делают пары программ ПК-Андроид, и учат их синхронизироваться по Wi-Fi. Примеры: MyPhoneExplorer, Домашняя Бухгалтерия. (К сожалению, в обеих программах, которые я вспомнил, под ПК подразумевается исключительно винда, но надеюсь, что и кроссплатформенные примеры есть.) В частности, MyPhoneExplorer может находить подключенные по Wi-Fi устройства, запрашивать PIN-код на обеих сторонах, и дальше уже работа идёт по IP-адресу.

Так вот. Интересует сам процесс поиска и «снюхивания», как можно реализовать это в своей программе.

  1. Какой протокол(ы) при этом используется?
  2. Какие API есть для реализации этих протоколов? Интересуют реализации для разных ОС: Windows, Linux, macOS. Если что-то изначально кроссплатформенное есть, вообще замечательно.

Не исключено, что мне нужны всего лишь «правильные слова» для гугления.

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

 , ,

hobbit
()

Длинный синтаксис std::sort

Добрый день, ЛОР.

Решил я тут сдуть пыль со старого кода и перевести его с кутешного qSort() на std::sort().

У кутешного было два варианта:

  • полный, сильно похожий на std::sort, с двумя итераторами и необязательной функцией сравнения;
  • короткий, которому передавалась ссылка на имя контейнера.

Аналогом первого является собственно std::sort.

Я правильно понимаю, что у второго аналогов нет?

 ,

hobbit
()

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