На досуге курил сборку библиотеки наткнулся на информацию, что библиотеку можно сделать исполняемой, прописав в ней функцию main() и дописав несколько опций в компилятор. Теперь сижу и чешу репу. В чём суть вообще такого? В моём понимании в библиотеку выносится такой код, который может использоваться разными программами. Какой практический смысл делать из самой библиотеки программу?
Например, на сайте есть картинка, которую я открываю в новой вкладке и увеличиваю её с помощью Ctrl+колёсико мыши. После возврата на предыдущую вкладку (на ту, с которой я открывал картинку), выясняется, что тот масштаб, который я накрутил на картинке, применился ко всему сайту.
Вопрос: как настроить поведение таким образом, чтоб масштаб применялся только к содержимому той вкладки, где он изменялся, а не ко всему сайту?
Хочу запустить из своего си кода другую программу с помощью execve() и передать ей часть тех аргументов, что передали моему коду. В документации по execve() сказано, что массив argv должен завершаться NULL. На практике argv[argc] действительно NULL.
Допустим, я хочу передать все аргументы, начиная с третьего. Руки чешутся написать что-то вроде такого:
Насколько такое корректно и могу ли я полагаться на тот NULL-терминатор, который должен быть в конце массива argv? Может ли быть ситуация, что его там попросту не будет?
Там есть пара интересных настроек, которые у меня не получается задействовать: mac_addr и mac_value. Указал в глобальной части конфига mac_addr=3 и в конфиге самой сети указал mac_value=<mac>. Перезапускаю демона и он мне пишет unknown network field 'mac_value'. Поиск в сети вообще ничего путного не выдаёт. Версия суппликанта 2.10.
Подключаю диск к системе, размечаю его как GPT. Первый раздел для граба на 4 метра, выставляю ему флаг bios_grub. Второй раздел на 32 гига под систему.
Монтирую диск, скачиваю rootfs tarball(пробовал void и gentoo), распаковываю, копирую resolv.conf, монитрую /dev, /proc, /sys и чрутаюсь.
Ставлю сам граб в чруте. Пытаюсь записать его на диск:
И такая петрушка происходит только в чруте если файловая система xfs. Если выбрать, например, ext4, то ставится без проблем. Причём на работающей системе граб ставится без проблем, даже на xfs. Проблема только внутри чрута.
В идеале при исчерпании ресурса SSD должен переходить в режим «только чтение»(RO), позволяя при этом прочитать все данные с него. Да, в сети есть результаты тестов, но интересует ситуация на практике.
Если помните, то напишите в комментариях модель, видно ли было в SMART приближающуюся поломку и отработал ли SSD заявленный ресурс.
Вопрос владельцам «пластиковых» 3д-принтеров.
Вроде в сети мелькала информация о том, что пластик можно переплавить и использовать повторно. Даже есть проекты устройств для переплавки. Ещё мелькала информация, что мол есть специальные заводы, которые занимаются переплавкой, но конкретных я не нашёл. Читал также, что после переплавки качество пластика значительно падает. А как дела обстоят на самом деле?
Интересуюсь потому, что собираюсь купить себе 3д-принтер и подозреваю, что косяков и ошибок у меня будет много в виду отсутствия опыта.
Древняя проблема. Периодически ищу решения, но пока решения нет.
С нативным софтом под линукс проблем нет - значки в трее работают исправно.
Если программа запущена через вайн, то в трее появляется пустое место, но сама иконка не прорисовывается. То есть просто пустое место там, где должна быть иконка. При наведении курсора мыши на неё, курсор мыши исчезает и взаимодействовать с иконкой приложения не получается. Такое поведение наблюдаю для всех программ, которые запускаются через вайн и должны рисовать иконки в трее.
Речь пойдёт о контактах в различных разъёмах, например, USB-C. В частности на смартфонах.
Со временем контакты в разъёмах окисляются и контакт перестаёт быть нормальным. Например, можно поставить смартфон на зарядку и он даже пишет, что зарядка пошла, а через пару часов, когда его нужно брать и уходить, выясняется, что как сколько % зарядка было, столько и осталось. Причём визуально разъём чистый. Или когда подключаешь смартфон к ПК, то достаточно просто шевельнуть кабель и соединение сбрасывается - для передачи файлов фатально.
Ещё в кейсе для наушников TWS такая же проблема - если убрать в чехол-зарядку, то из-за плохого контакта они могут не встать на зарядку, а продолжать работать со всеми вытекающими.
Самый смак в том, что не всегда получается понять, насколько надёжен контакт и о необходимости их почистить уже узнаёшь после того, как дерьмо случилось.
Для очистки пользуюсь обычным изопропиловым спиртом. Достаточно залить разъём спиртом, несколько раз переподключить и потом продуть. Контакты на наушниках достаточно просто протереть.
А как вы решаете такого рода проблемы? Может есть идеи получше?
P.S. Линукс тут при том, всё это железо работает на нём.