Как кушать вилкой. ... или о fork() в двух словах
Статья о создании процессов в Linux
( читать дальше... )
Статья о создании процессов в Linux
( читать дальше... )
Чо, как у кого прошло новейшее обновление с новым интерфейсом? В интернетах-то вон, вой стоит, что не запускается.
Как было у меня — обновление прошло, Стим сам перезапустился в первый раз нормально(!). Поглядел на новый интерфейс, вышел. И после этого — всё, халява кончилась, запускаться отказывался. Иконка в трее есть, окна нет. В логах куча подобного дерьма:
Jun 16 07:22:52 **** kernel: [ 1924.346637] traps: Composite Threa[4742] trap invalid opcode ip:7ff19dbdb794 sp:7ff18ae8a7f0 error:0 in libcef.so[7ff19b2ef000+7770000]
В интернетах советуют проверить, что установлены 32-битные библиотеки OpenGL/Mesa. Но у меня последний блоб с нвидиевского сайта, естественно, 32-битные либы тоже.
Что помогло лично мне: запустил стим с ключом -vgui, при этом загрузился старый интерфейс. Включил в настройках «use GPU acceleration» (много советов его выключать, но, похоже, новому интерфейсу он, наоборот, как раз таки нужен). Стим захотел перезапуститься, перезапустился сам нормально. После штатного выхода теперь вроде бы запускается без проблем с новым интерфейсом. Ну, ещё Big Picture почему-то оказался в оконном режиме вместо полноэкранного, хотя соответствующий пункт был выключен — помогло его включить/выключить.
Не факт, что переживёт перезагрузку, правда, не пробовал ещё…
Разрабатывал одну програмку на js. И где-то ошибся в определении финала цикла )
Ну и… ( Во первых Chrome перестал вообще на что-либо реагировать.
Ранее он корректно сообщал, что не работают такие-то вкладки и предл. их закрыть.
Но теперь даже если выключить Веб-сервер, Не восстанавливать пред. вкладки И еще я напрочь выключил JavaScript то все равно открытие МЕНЮ … три точки занимает около 1 минуты (
Ну что еще можно сделать ? Оно видимо из кеша кушает этот js менее 1кб
Могу подогнать такой код кому надо ) В нем нем умышленно вредоносных действий )
Хочется собирать на мощной amd64 машине. Желательно с использованием archbuild, чтоб в дальнейшем автоматизировать. Пока что получилось канпелять под qemu, но это бред и тормоза.
Всем привет, подскажите что нужно сделать, чтобы отладчик не обрубал вывод содержимого длинной строки?
Допустим во время отладки я хочу вызвать метод node->toString().
Я пишу в интерактивной строке отладчика: call node->toString().
В ответе получаю:
$1 = "<тут строка 256 символов>"...
т.е. в выводе значения результата я получил только первые 256 символов, а дальше ...
Как заставить отладчик показывать всю строку?
Компания Сollabora представила open-source драйвер Vulkan для видеокарт NVIDIA под кодовым названием «NVK».
Что такое NVK?
NVK — новый видеодрайвер Vulkan API с открытым исходным кодом для видеокарт NVIDIA в Mesa. Драйвер был полностью написан с нуля с использованием официальных заголовков «NVIDIA Open GPU Kernel Driver» от самой компании NVIDIA.
( читать дальше... )
Источники:
https://www.collabora.com/news-and-blog/news-and-events/introducing-nvk.html
https://www.phoronix.com/news/NVK-Running-Talos-Game
https://www.phoronix.com/news/NVK-Running-Talos-13-FPS
>>> Подробности
Тэвис Орманди (Tavis Ormandy) выпустил бинарный патч, который модифицирует Lotus 1-2-3 для ОС UNIX System V 386, обеспечивая его работу под современным линуксом.
Началось всё с того, что Орманди из любопытства изучал дистрибутив Lotus 1-2-3 (предположительно 1990 года) под коммерческий юникс и обнаружил, необычный способ линковки исполняемого файла в формате COFF — partial linking. Как ему объяснили, такой способ позволял при желании слинковать исполняемый файл с плагинами, которые нельзя было подключить иначе, если в ОС не было dlopen().
В итоге Орманди смог написать утилиты для правки системных вызовов Unix и обёртку для их замены на вызовы Linux и слинковать всё в 32-битный ELF. Одной из крупных проблем оказалась адаптация termios. Интересно, что на старых версиях Линукса, с поддержкой callgate и lcall7/lcall27 такая адаптация прошла бы легче.
Ещё одной из проблем оказалась защита от копирования. Орманди считает себя вправе изготовить файл-ключ, обеспечивающий работу программы, так как он владеет легальной копией Lotus 1-2-3 под MS-DOS. Для остальных он приводит скриншот дизассемблера IDA и расплывчатые рекомендации, как делать такой файл. Программа не продаётся уже почти 20 лет. Да и легальных владельцев Lotus 1-2-3 в мире немало.
Тэвис Орманди — специалист по безопасности («white hat») из Гугла и энтузиаст Lotus 1-2-3. Ранее написал драйвер для MS-DOS версии Lotus, обеспечивающий её работу в окне терминала DOSEMU2 произвольного размера.
Lotus 1-2-3 — одна из первых программ электронных таблиц, отличавшаяся от конкурентов скоростью, надёжностью и удобством. Её нередко называют одной из причин коммерческого успеха платформы IBM PC в 1980-х. Поддержка Lotus долго была критерием совместимости для клонов. В 1990-х Lotus проиграла MS Excel-ю, так как GUI-версия появилась слишком поздно, и в 1995 году компанию купила IBM.
Добрый день. Кто нибудь сможет объяснить, как это работает?
алгоритм нахождения цифры n-значного числа:
(num % 10 ** 1) // 10 ** 0
последняя цифра
(num % 10 ** 2) // 10 **1
предпоследняя цифра
(num % 10 ** 3) // 10 **2
предпредпоследняя цифра
…
(num % 10 ** n) // 10 ** n-1
первая цифра
(num % 10 ** n-1) // 10 ** n-2
вторая цифра
Прохожу курс программирования. Все, чем пользуюсь из инструкции выше не работает в заданиях и даже в VScode. Я в целом не понимаю, как работает (или как должен работать) алгоритм нахождения цифры n-значного числа.
кто подскажет можно ли позиционировать диалог gtk? На тайловой вм окно float, т.е в принципе не отличается от обычного, но позиция не меняется
Использовал этот пример https://stackoverflow.com/questions/64711588/position-of-gtk-dialog
Перемещено hobbit из general
Всем добра!
Подскажите, пожалуйста, кто сведующ в react : есть web-сервис (проект на react) у которого есть форма для загрузки картинки на сервер. К серверу доступа нет, кроме как по web. Собственно из элементов формы только кнопка для загрузки файла. Возможно ли загрузить файл скриптом с другой машины? Т.е. по тому, что видно в браузере («Посмотреть код») нет ни названия формы ни названия поля, которым грузиться файл.
Хотелось бы услышать мнение лоровцев и подвести итоги. Может есть какая игра хорошая, которая прошла мимо меня и я о ней не слышал. Предлагаю запостить ваш личный топ-10 (или меньше, если не наберется, можно и больше)
Мой список:
Всем доброго дня! Помогите, пожалуйста, разобраться в проблеме! Периодически отваливается сервер БД.
Сервер с 16Гб оперативки
Debian 11
MariaDB 10.5.18
Все таблицы InnoDB
.mycnf
[mysqld]
log-error=/var/log/mysql/mysql-errors.log
innodb_buffer_pool_size = 10G
В Логах такое:
2023-03-24 15:43:49 0 [Note] InnoDB: Uses event mutexes
2023-03-24 15:43:49 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2023-03-24 15:43:49 0 [Note] InnoDB: Number of pools: 1
2023-03-24 15:43:49 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
2023-03-24 15:43:49 0 [Note] InnoDB: Using Linux native AIO
2023-03-24 15:43:49 0 [Note] InnoDB: Initializing buffer pool, total size = 10737418240, chunk size = 134217728
2023-03-24 15:43:49 0 [Note] InnoDB: Completed initialization of buffer pool
2023-03-24 15:43:49 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=510990515215,510992943381
2023-03-24 15:43:49 0 [Note] InnoDB: Starting final batch to recover 2116 pages from redo log.
2023-03-24 15:43:50 0 [Note] InnoDB: 128 rollback segments are active.
2023-03-24 15:43:50 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2023-03-24 15:43:50 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2023-03-24 15:43:50 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2023-03-24 15:43:50 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
2023-03-24 15:43:50 0 [Note] InnoDB: 10.5.18 started; log sequence number 511012950843; transaction id 293489669
2023-03-24 15:43:50 0 [Note] InnoDB: Loading buffer pool(s) from /var/lib/mysql/ib_buffer_pool
2023-03-24 15:43:50 0 [Note] Plugin 'FEEDBACK' is disabled.
2023-03-24 15:43:50 0 [Note] Server socket created on IP: '127.0.0.1'.
2023-03-24 15:43:50 0 [Note] Reading of all Master_info entries succeeded
2023-03-24 15:43:50 0 [Note] Added new Master_info '' to hash table
2023-03-24 15:43:50 0 [Note] /usr/sbin/mariadbd: ready for connections.
Version: '10.5.18-MariaDB-0+deb11u1' socket: '/run/mysqld/mysqld.sock' port: 3306 Debian 11
2023-03-24 15:43:50 3 [Warning] Access denied for user 'root'@'localhost' (using password: NO)
2023-03-24 15:43:50 4 [Warning] Access denied for user 'root'@'localhost' (using password: NO)
2023-03-24 15:44:10 0 [Note] InnoDB: Buffer pool(s) load completed at 230324 15:44:10
При перезагрузке (service mysqld restart) - сервер стартует нормально. Но судя по графикам, после перезагрузки использование оперативной памяти постоянно растет и в какой-то момент опять срабатывает OOM Killed
[Fri Mar 24 15:41:03 2023] Out of memory: Killed process 953944 (mariadbd) total-vm:15435712kB, anon-rss:11604836kB, file-rss:0kB, shmem-rss:0kB, UID:111 pgtables:23380kB oom_score_adj:0
Менял настройки innodb_buffer_pool_size, не помогает Что еще можно покрутить?
Заранее спасибо! )
Я использую arch linux и у меня есть 2 способа установки библиотек python, то есть я могу поставить pygame через sudo pacman -S python-pygame и pip install pygame. Так какой способ лучше ? Просто я слышал, что если ставить библиотеки через pip, то при обновлении могут возникнуть проблемы.
Вот сидишь ты такой, приходит в голову классная идея или проект. Заказываешь железки или начинаешь под это дело учить новый язык. Довольно урчишь предвкушая результат… И тут бац!
А оно мне надо вообще?
А кому-то оно вообще надо будет?
Да зачем я это делаю, у меня и без этого все хорошо вроде
Да оно нинужно вообще
И все… Руки опускаются, железки отправляются на полку собирать пыль, иконка доты 2 уже озаряет рабочий стол. Занавес.
Пацаны, у одного меня такое бывает?
По утверждению автора, прирост производительности 8-40% по сравнению с ванильным Chromium.
Скомпилирован clang с опциями SSE4.2, AVX, AES, thinLTO, import_instr_limit, PGO, LLVM-оптимизацией циклов и другими.
Пользуюсь им некоторое время, а сегодня как раз обновление вышло (110.0.5481.178). Решил поделиться. Есть deb.
Оптимизации (страница с фоновыми звуками!).
Сравнение производительности (тоже со звуками!).
Собираю для сабжа на ББ кастомное ядро со своими патчами по официальной документации https://www.raspberrypi.com/documentation/computers/linux_kernel.html#cross-compiling-the-kernel Ядро успешно компилируется, дальше предлагается руками установить всё это на диск с системой. Работать так оно будет, но без заголовков ядра и исходного кода которые остались на хосте. Собственно вопрос: а можно ли как-то всё это дело как-то собрать в стандартные .deb чтобы потом установить на малине? И как это в данном случае правильно сделать с учётом всяких .dtbs которые там копируются на отдельную boot-партицию?
Приветствую! Поставил я пару дней назад i2pd и столкнулся с проблемой, что у меня куда то отваливается http proxy сервис при автозапуске i2pd во время старта компа. В веб консоли написано, что прокси запущен, но браузер отказывается с ним соединяться. Лечится все простым перезапуском i2pd. В конфиге я поменял адрес прокси с дефолтного localhost на адрес своего компа. Если вернуть значение адреса по умолчанию, то после автозапуска с прокси нет никаких проблем. Собственно как это лечить?
Дистрибутив - archlinux
Посоветуйте во что можно поиграть (нативно или через wine), на что не нужно тратить кучу времени. То есть не всякие рпг с погружением в лор и кучей квестов, нет на это времени) И чтоб с низким порогом вхождения, а то мне кажется, что быстрее какой-нибудь фреймворк изучить, чем осилить доту (не играл). Вот L4D2 — идеальный вариант, запустил, прошёл какую-нибудь кампанию за час и всё)
Комп у меня нищебродский, новые игры не тянет. Нормально идут игры на source. Самое тяжёлое, что тянет — bioshock infinite через wine на минималках и с низким разрешением. Так что наверное подойдёт что-то с 2004 по 2010 год. Более раннее не хочу, ибо графон.
Ещё хотелось бы чтоб работал мультиплеер на пиратке) Думаю поиграть по сети во flatout 2 (там можно), но пока руки не дошли.
Со средствами разработки под промышленное железо для онтопика традиционно всё было плохо. Проприетарные программы, типа TIA Portal от Siemens, непонятно каким чудом под родной Виндой криво-косо работали, не то, что в условном Wine. По сути, было 2 пути: сидеть на Винде или держать виртуалку со всем необходимым софтом.
Однако, сейчас почти все мажорные производители от нас убежали, и их оборудование стало доступно только контрабандой. Заказчики стали интересоваться альтернативами, в чью сторону раньше особо не смотрели. Часть из них используют разные самопальные IDE для языков МЭК 6-1131/3, часть – CODESYS. CODESYS – широко известная в узких кругах проприетарщина, имеющая нативный линуксовый рантайм, но, разумеется, не имеющая нативной версии среды разработки. Я давно слышал, что CODESYS таки работает в Wine, пусть и с многочисленными оговорками. Не так давно решил попробовать и – о чудо, почти никаких пятен!
На скриншоте и фотке:
По сути, в Wine сейчас работают все нужные мне функции CODESYS. Небольшой проектик удалось сделать без особых проблем. Позывов плюнуть на эту дурацкую затею и запустить виртуалку с Виндой почти не было.
Хотелось бы, конечно, иметь открытый софт для МЭК 6-1131/3. Он даже есть в лице Beremiz и, вроде бы, работает. Но железа для него практически нет. Какое-то программируемое реле, хтонический ужас для автоматизации атомных станций и фигня для умного дома.
Часто забываю всякие забугорные слова, написал скриптик прототип, который берёт текст из буфера обмена шлёт на сервера гугла и показывает ответ всплывающим окошечком, удобно тем что переводить можно всё подряд из любого мета и не нужно теледвижений, можно навесить на горячую клавишу. Написал для себя, мож кому будет полезно.
Зависимости apt install lua xclip xsel xdotool aosd_cat translate-shell
Вопщем таксь.
Порой, нужно не просто выделить текст где угодно и увидеть его по перевод по горячей клавише,
но и получить его перевод в виде текста. К счастью в x11 есть аж три буфера обмена.
Поэтому добавил опцию copy_translated=true/false.
Суть проста:
F7F7 иF7 ещё раз покажет перевод, без повторного выделения#! /bin/env lua
local poptrans =
{
-- select language from lang to lang
lang_from = "auto", --auto,en,fr,de or other
lang_to = "ru",
-- copy translated text to clipboard
-- if you select text (no use context menu textcopy)
-- - middle mouse button paste translated text
-- - right mouse button context menu paste original text
-- - script used 2 levels X11 clipboard buffest of 3 levels :)
copy_translated = true,
-- how more seconds show you translated text
show_timer = 3,
-- popup translated text under mouse position
follow_mouse = true,
-- if follow_moise is false, set translated
-- text position static coords
popup_pose_x = 0,
popup_pose_y = 0,
-- max width message in screen, zero is auto
popup_width = 0,
-- get text from system clipboard
app_clipboard = "xclip -o 2> /dev/null",
-- set text to system clipboard
app_set_clipb = "xsel -b -i ",
-- get mouse systemd coords
app_mousepose = "xdotool getmouselocation 2> /dev/null",
-- show text popup with translated text
app_popup_msg = "aosd_cat -x %d -y %d -B white -R white -t 0 -p 0 -u %d -w %d"
}
function poptrans:run()
local translated = '';
self.previos_text = '';
-- read clipboard
local exec = io.popen(self.app_clipboard);
local text = exec:read('*all');exec:close();
-- get cursor position
exec = io.popen(self.app_mousepose);
if self.follow_mouse then
self.popup_pose_x,self.popup_pose_y = exec:read("*all"):match("x:(%d+) y:(%d+)");
self.popup_pose_x = self.popup_pose_x+3; exec:close();
end
-- do not translate previos text or empty or translated text
if text ~= previos_text and text ~= '' and text ~= translated then
local from = ''
if self.lang_from ~= "auto" then
from = self.lang_from;
end
exec = io.popen('trans '..from..':'..self.lang_to.." -b '"..text.."'");
translated = exec:read("*all"); exec:close();
if self.copy_translated then
exec = io.popen(self.app_set_clipb,'w')
exec:write(translated:sub(1,#translated-1));
exec:flush();
exec:close();
end
previos_text = text;
exec = io.popen(
self.app_popup_msg:format(
self.popup_pose_x,self.popup_pose_y,self.show_timer*1000,self.popup_width),"w");
exec:write(translated);exec:close();
end
end
poptrans:run()
Не используйте версию из истории правок!. Там опасный баг с кавычками, (спасибо
maxcom исправить дал)
Единственное что там полезно это пример как делать перевод через гугл API по токену.
Но раз появилась возможность правки то ::)
- ИСПОЛЬЗОВАТЬ НА СВОЙ СТРАХ И РИСК, Я НЕ НЕСУ НИКАКОЙ ОТВЕТСТВЕННОСТИ
- ВСЁ ПРЕДОСТАВЛЯЕТСЯ КАК ЕСТЬ, ЛЮБЫЕ СОМНЕНИЯ ДОЛЖНЫ ВЕСТИ
- К ОТКАЗУ ОТ ИСПОЛЬЗОВАНИЯ
| ← назад | следующие → |