tail нескольких файлов?
Есть необходимость периодически посматривать 100500 логов расчёта задач. Заводить под это дело множество фреймов в screen как-то не с руки. Можно ли как то сделать это средствами самого tail c переключением логов по хоткеям?
Есть необходимость периодически посматривать 100500 логов расчёта задач. Заводить под это дело множество фреймов в screen как-то не с руки. Можно ли как то сделать это средствами самого tail c переключением логов по хоткеям?
Хочу сделать динамически загружаемую библиотеку, содержащую много вариантов инстанцирований ряда шаблонных функций. Часть функций отличается сигнатурами в зависимости от параметров шаблона, часть — только реализацией. Как такое правильно провернуть? Делать макросами обертки для каждого варианта или можно менее костыльно?
Как его заставить использовать системную тему или хотя бы настроить нормальный размер шрифта в интерфейсе? Потратил наверное около часа на гуугление и копание в настройках (ломая глаза вплотную к монитору) — не вижу ничго похожего. Единственная настройка что нашлась, это размер шрифта в редакторе и глиф (причём последний нельзя выбрать, только ввести руками).
Пытаюсь сделать дифф ревизий статей, столкнулся с ошибками вида:
line 342: Argument of \@quantity has an extra }. ...in\theta_{1}\dd{\theta_{1}}\dd{\varphi}$}
line 342: Paragraph ended before \@quantity was complete. ...in\theta_{1}\dd{\theta_{1}}\dd{\varphi}$}
line 342: Missing $ inserted. ...in\theta_{1}\dd{\theta_{1}}\dd{\varphi}$}
line 342: Missing } inserted. ...in\theta_{1}\dd{\theta_{1}}\dd{\varphi}$}
\DIFaddbegin \DIFadd{:
$
S = \iint \qty( {f^*F^*} - fF )
\cdot
\qty|\vb{v}-\vb{V}| \sigma_{\rm diff}\qty(\qty|\vb{v}-\vb{V}|,\,\theta_{1})
\dd{\Omega_{1}}\dd{\vb{V}}
$.
Here $F$ represents another (or the same) VDF to interact through the collisions,
star marker denotes resulting VDFs after the collision;
$\sigma_{\rm diff}$ denotes differential cross-section, which depends on the relative velocity and scattering angle;
$\dd{\Omega_{1}}=\sin\theta_{1}\dd{\theta_{1}}\dd{\varphi}$}\DIFaddend ,
UPD: Итого, вопрос остаётся в том, какой командой зачеркнуть произвольный блок текста, с параграфами, уравнениями и пр.:? uelm, soul, cancel не канают.
в dmesg:
[ 106.077841] sd 1:0:0:0: [sdb] tag#23 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK cmd_age=0s
[ 106.077857] sd 1:0:0:0: [sdb] tag#23 CDB: Write(10) 2a 00 3a 04 08 00 00 00 08 00
[ 106.077858] print_req_error: 1308 callbacks suppressed
[ 106.077859] blk_update_request: I/O error, dev sdb, sector 973342720 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
[ 106.077863] Buffer I/O error on dev sdb1, logical block 121667584, lost sync page write
[ 106.077896] JBD2: Error -5 detected when updating journal superblock for sdb1-8.
[ 106.077899] Aborting journal on device sdb1-8.
[ 106.077926] sd 1:0:0:0: [sdb] tag#14 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK cmd_age=0s
[ 106.077929] sd 1:0:0:0: [sdb] tag#14 CDB: Write(10) 2a 00 3a 04 08 00 00 00 08 00
[ 106.077930] blk_update_request: I/O error, dev sdb, sector 973342720 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
[ 106.077933] blk_update_request: I/O error, dev sdb, sector 973342720 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 0
[ 106.077935] Buffer I/O error on dev sdb1, logical block 121667584, lost sync page write
[ 106.077965] JBD2: Error -5 detected when updating journal superblock for sdb1-8.
Помогите людидобрые — опять sci-hub не берёт:
https://doi.org/10.1063/5.0095019
https://doi.org/10.1088/1361-6595/aaa86d
https://doi.org/10.1063/5.0083274
https://doi.org/10.1134/S0965542522110045
-- Заранее благодарен.
subj. Идёт расчёт, хочется визуализировать 2d-массив по мере эволюции системы. Рисую через imshow. Нашёл такое решение https://stackoverflow.com/questions/17835302/how-to-update-matplotlibs-imshow..., но если в явном виде задавать фигуры и оси (fig,ax=plt.subplots()), то оно вместо апдейта окна спавнит множество окон. Может кто ни будь поделиться минимальным рабочим примером?
Несвободная свобода, или как потерять всё используя Linux в качестве операционной системы.
Избранное:
А что же в среде Linux? А ничего в среде Linux нет, Linux даже Windows 98 не догнал, невозможно просто взять и скопировать софт/игру куда угодно, чтобы использовать где угодно.
А как же Appimage? А никак, абсолютно недееспособный контейнер, настройки лезет записывать в систему, т.е. это уже нельзя назвать портативным софтом, куча косяков и багов на которые абсолютно никак не повлиять ибо все запаковано в контейнер неразборный.
я прекрасно понимаю что пользователь не сможет скопировать моё творение и распространить, а если пользователь не может распространить мой софт, значит мой софт не сможет в принципе стать популярным
Даже маленькое приложение без графического интерфейса я не могу просто взять и запустить в среде Linux, мне нужно открывать терминал и запускать из терминала.
У этого исполняемого файла даже нет расширения никакого, которое бы однозначно сказало что это исполняемый файл, а не просто какой-то мусор, даже DOS имел специально отведенное расширение для исполняемых файлов (".exe")...
Например, есть что-то такое.
constexpr int n{4};
int shape[n];
for (int j0=0; j0<shape[0]; ++j0) {
for (int j1=0; j1<shape[1]; ++j1) {
for (int j2=0; j2<shape[2]; ++j2) {
for (int j3=0; j3<shape[3]; ++j3) {
/* return iterator to do external stuff ? */
}
}
}
}
template<n>flatten (int *shape, ...) -> iterator
int shape[4];
for (auto entry : flatten<4>(shape)) {
/* do external stuff */
}
subj. Последний раз когда щупал 20.04 — она вываливалась в login loop при попытке зайти в сеанс mate. Как с этим у 22.04? Пригодна она уже для повседневного использования, или по-прежнему слишком сырая при малейшем отклонении от дефолта?
Мне нужно хранить записи вида int tag; float vec[n] причём n может быть любым, но константным для всего хранилища.
Соответственно, есть функции для чтения и записи сигнатурой: read/write(int index, int n, int& tag, float*vec): index — номер элемента, n — размер хранимых векторов. Хранилище может быть настроено или в row-major или в column-major order, т.е. данные хранятся или как «tag1, vec1[..n], tag2, vec2[..n], ..., tagN, vecN[..n]» или как «tag1, tag2, .., tagN, vec1[..n], vec2[..n], ..., vecN[..n]»
Т.е. при наивной имплементации, я бы вроде как мог хранить всё это в std::byte*, вызывать reinterpret_cast и высчитывать нужные смещения через sizeof элементов, но что-то мне подсказывает что тут можно легко нарушить strict aliasing rule и получить UB. Как такие вещи полагается делать кошерно и переносимо?
sibj. Например, есть много больших файлов, для удобства, лежащих в несжатом виде в zip-архиве. Делать read для содержимого долго и неудобно. Есть ли способ mmapнуть такой 'архив'?
Скиньте, люди добрые, кто может [10.1109/ICOPS36761.2021.9588527].
В связи со словом на букву «в», что кроме репозиториев сейчас актуально отзеркалировать пока не отрубили магнистральные каналы?
Этим летом умер мой руководитель, мне достался его рабочий моноблок imac, на который я (естественно) хочу поставить линакс. Но, там могут храниться какие-то важные файлы, которые хочется положить в архив. Тратить место на системные файлы и данные программ, естественно не хочется. Где там искать пользовательские файлы? Подмонтировал эппловский раздел через apfs-fuse, и вижу следующую структуру:
root@ubuntu-mate:/tmp/sda2# ls
private-dir root
root@ubuntu-mate:/tmp/sda2# ls private-dir/
0x31d83cb05-dead 0x31d83cc04-dead 0x31d83cc91-dead 0x31d83cd38-dead 0x31d83cdab-dead 0x31d83cfcb-dead 0x31d83d30c-dead 0x31d83d5e0-dead 0x31d83d666-dead 0x31d83d79d-dead
0x31d83cb10-dead 0x31d83cc18-dead 0x31d83cca3-dead 0x31d83cd40-dead 0x31d83cdb1-dead 0x31d83d013-dead 0x31d83d440-dead 0x31d83d5e2-dead 0x31d83d667-dead 0x31d83d79f-dead
0x31d83cb27-dead 0x31d83cc24-dead 0x31d83ccb3-dead 0x31d83cd46-dead 0x31d83cdb4-dead 0x31d83d028-dead 0x31d83d5ad-dead 0x31d83d5f7-dead 0x31d83d6c6-dead 0x31d83d7a1-dead
0x31d83cb40-dead 0x31d83cc32-dead 0x31d83ccd2-dead 0x31d83cd57-dead 0x31d83ce16-dead 0x31d83d046-dead 0x31d83d5af-dead 0x31d83d5fb-dead 0x31d83d721-dead 0x31d83d7a3-dead
0x31d83cb41-dead 0x31d83cc37-dead 0x31d83ccd5-dead 0x31d83cd5d-dead 0x31d83ce73-dead 0x31d83d089-dead 0x31d83d5ba-dead 0x31d83d622-dead 0x31d83d726-dead 0x31d83d7a5-dead
0x31d83cbe8-dead 0x31d83cc3e-dead 0x31d83cce1-dead 0x31d83cd94-dead 0x31d83ce7d-dead 0x31d83d08a-dead 0x31d83d5cc-dead 0x31d83d624-dead 0x31d83d749-dead 0x31d83d7cb-dead
0x31d83cbea-dead 0x31d83cc44-dead 0x31d83cce8-dead 0x31d83cd98-dead 0x31d83cf4f-dead 0x31d83d092-dead 0x31d83d5ce-dead 0x31d83d64c-dead 0x31d83d751-dead 0x31d83d7e5-dead
0x31d83cbed-dead 0x31d83cc57-dead 0x31d83cd23-dead 0x31d83cd99-dead 0x31d83cf83-dead 0x31d83d093-dead 0x31d83d5d0-dead 0x31d83d64e-dead 0x31d83d766-dead 0x31d83d7f4-dead
0x31d83cbee-dead 0x31d83cc74-dead 0x31d83cd28-dead 0x31d83cd9e-dead 0x31d83cfaf-dead 0x31d83d111-dead 0x31d83d5d2-dead 0x31d83d65c-dead 0x31d83d76f-dead 0x31d83d82d-dead
0x31d83cbfe-dead 0x31d83cc88-dead 0x31d83cd35-dead 0x31d83cdaa-dead 0x31d83cfba-dead 0x31d83d2ee-dead 0x31d83d5dd-dead 0x31d83d660-dead 0x31d83d779-dead 0x31d83d83e-dead
root@ubuntu-mate:/tmp/sda2# ls root/
Applications Library System Users Volumes cores home mnt opt private sw usr 'Сведения о пользователе'
root@ubuntu-mate:/tmp/sda2# du -hcs root/*
0 root/Applications
0 root/Library
0 root/System
0 root/Users
0 root/Volumes
0 root/cores
0 root/home
0 root/mnt
0 root/opt
0 root/private
0 root/sw
Собственно, куда смотреть? Я так понимаю, что там что-то вроде виртуальной фс с версионированием?
Постепенно, использование нескольких редакторов под каждую задачу начинает тяготить, таки прихожу к тому что придётся асиливать емакс, т.к. там судя по всему всё необходимое мне есть. Но с чего начать и как это сделать? Стоковые настройки у него ещё кошмарней чем у старых блендеров, и таким образом совершенно неюзабельны. Например, я так и не смог найти как просто выделить участок текста. Но смущает прежде всего обилие неочевидных хоткеев, которые ещё и пересекаются с системными. Мне эти хоткеи неудобны и тяжелы для запоминания, гораздо более удобным оказывается управление с помощью команд с автодополнением, ala blenderовское [space]-меню. Но, насколько я понял, всё это настраиваемо, посему вопрос, есть ли в природе адекватные пресеты и мануалы как всё это запилить с нуля в более-менее юзабельное состояние?
Есть величина «y», отображаемая в логарифмическом масштабе, которая иногда становится меньше нуля. Соответственно, «+y» рисую сплошной линией, а "-y" пунктиром. Хочется что бы в легенде для них была общая подпись, «±y», а сплошная и пунктир отображались друг над другом. Как такое замутить?
Захотелось сделать видео, но понадобилась пара плагинов. Устанавливаю по этому мануалу, но возник вопрос.
Now you can start OBS and check the plugins list
А где, собственно, этот самый «plugins list»? Быстрый гуглёж ответа не дал, адекватной справки по интерфейсу я тоже не нашёл — вместо документации сабж отправляет на онлайн-форум. Залез, наверное, в каждую менюшку — ничего похожего нет. Версия 27.1.3 из флатпака. (Такое впечатление, что UI-дизайнеры руководствовались гномовским HIGом..)
Например, у меня есть объект с методом buffer(), возвращающим py::buffer_info. Морда к объекту
py::class_<_type>(m, "obj_t", py::buffer_protocol())
...
.def_buffer( [] (_type &arg) -> py::buffer_info {
return arg.buffer();
})
...
data = npumpy.array(obj, copy=0)
For creating a memoryview from objects that support buffer protocol, use memoryview(const object& obj) instead of this constructor.
Во что и как правильно скастовать аргумент?
← предыдущие | следующие → |