LINUX.ORG.RU

Избранные сообщения TomBOY

Несколько вопросов по screen

Форум — General

Так как в tmux у меня не отобрахаются некоторые строчки в терминале, например 'ls -1 --color=always /proc' — пропадают некоторые строки (без цвета не пропадают), решил перейти на screen (с ним строчки не пропадают).

Возникло несколько вопросов:

  1. как нормально запускать bash, как в tmux? Потому что он у меня при запуске не читает rcfile: не применяется мой PS1 и всё остальное. Пробовал разные ключи — без толку.
  2. как сделать escape комбинацию клавишь на CTRL+TAB? Как сделать комбинации CTRL+SHIFT+Left и CTRL+SHIFT+Right для переключения на предыдущую/следущую вкладку?
  3. как включить показ нижней панели и настроить цвета и показ элементов, примерно как в tmux? Потому что, на сколько я помню, когда я последний раз пробовал screen много лет назад, там были дурацкие цвета и я не знал как настроить отображение элементов. Нужно что-то наподобие того, что в tmux по-умолчанию: список открытых вкладок и часы в правом нижнем углу. Как сделать 24-х часовой формат часов?

Из мана мало что понятно. Подскажите пожалуйста.

 , , ,

teod0r
()

Поставил macos x 10.6 на виртуалку qemu

Галерея — Скриншоты
  1. Загрузить образ https://archive.org/download/mac-os-x-snow-leopard-10.6-10a-432/Mac_OS_X_Snow_Leopard_10.6_10a432.dmg

Length: 6586892984 (6.1G) [application/x-apple-diskimage]

  1. Загрузчик UEFI

OpenCore for Legacy EFI - bootloader https://khronokernel.com/apple/silicon/2021/01/17/QEMU-AS.html

прямая ссылка https://github.com/khronokernel/khronokernel.github.io/blob/master/Binaries/OpenCore/EFI-LEGACY.img.zip?raw=true

1.5 mb но распкаковывается почти на 200 mb

  1. Грузим(ся) в qemu 9.0+
qemu-system-x86_64 -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -usb -M pc-q35-6.1 -device usb-kbd -device usb-tablet -m 2047  -hda EFI-LEGACY.img -hdb osx.qcow2  -cpu Penryn,vendor=GenuineIntel,+ssse3,+sse4.1  -boot d -bios /usr/share/edk2-ovmf-x64/OVMF_CODE.fd -display sdl,gl=on -accel kvm

Для установки с образа dmg просто добавьте ‘-cdrom some.dmg’

Мне диска на 12 Гб хватило. Звука правда нет, и сети что-то не видно .. потом ещё поковыряю.

>>> Просмотр (1440x900, 847 Kb)

 ,

Andrew-R
()

Управление файлами конфигурации при помощи GNU Stow

Статьи — Администрирование

GNU Stow — это менеджер символьных ссылок. Он позволяет управлять файлами конфигурации и установкой программ из исходников. При помощи Stow можно устанавливать программы из исходных кодов в обход менеджера пакетов, не боясь сломать систему. Также им удобно управлять файлами конфигурации (далее дот-файлами) в домашнем каталоге пользователя.

( читать дальше... )

 ,

den-jc
()

Выпуск CudaText 1.214.0

Новости — Open Source
Выпуск CudaText 1.214.0
Группа Open Source

Тихо и незаметно обновился текстовый редактор CudaText.

За 7 месяцев с предыдущего анонса реализовано много улучшений, они кратко перечислены на англоязычном форуме: Перечисление. Самое заметное изменение - ускорение массовых замен, теперь замена RegEx ‘\w’ например на одну букву происходит в разы быстрее, чем в Sublime Text. Новые плагины: Hotspots; в Markdown Editing добавили функционал VSCode’s Markdown-Index. Новые лексеры: Pkl, Roc, ReScript, Heta, Structured Text.

( читать дальше... )

>>> Страница программы

 , , ,

Alexey_Tor_
()

Развалился soft raid 1

Форум — Admin

Как получилось. Делай раз: цепляю к WD RED новый WD GREEN того же размера. Делай два: размечаю WD GREEN как /dev/sdb1 типа RAID auto detect Делай три: делаю mdadm /dev/md0 --add /dev/sdb1 на что получаю, что размер слишком мало, хотя по факту тот же. Делаю mdadm /dev/md0 --add /dev/sdb, ок, начинает синкаться, я в недоумении. Делай четыре: не дождавшись конца синка, выключаю машину, типа завтра до соберётся. Делай пять: включил машину, получил неработающий массив. При чем исходный раздел жив, просто массив не стартует. Если сделать mdadm --examine /dev/sdb1: No md superblock detected on /dev/sdb1. На /dev/sda1 всё в порядке. Что в таком случае делать, господа? mdadm --create заново с одним диском и надеяться, что соберёт правильно, а потом добавить второй? Что посоветуете?

 ,

LongLiveUbuntu
()

Обучающие курсы по нейросетям от физтех-школы при МФТИ

Форум — Talks

Слегка порекламирую, потому что сам только что прошёл 1-ю часть (компьютерное зрение) и остался весьма доволен. Бесплатные! Там правда есть Premium часть за деньги, но поверьте (я заплатил), это не уловка, основное всё-таки действительно бесплатное и Premium совсем не обязателен, это скорее способ поддержать создателей.

https://dls.samcs.ru/regform

На 1-ю часть (CV) весеннего семестра регистрация до 10 февраля. Курсы абсолютно онлайн и записываются на них все и отовсюду из любой страны. Совсем из любой, лишь бы русский язык знали, так как они на русском языке.

Школа глубокого обучения — это образовательный проект Физтех-школы прикладной математики и информатики МФТИ. Мы учим работе с нейросетями с самых основ до продвинутого уровня. Занятия ведут выпускники ФПМИ МФТИ, имеющие опыт разработки и исследований в области AI.

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

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

Насчёт вообще нужности обучения нейросетям. Мне кажется, что нужно и многим. Нейросети - это наверное самое значительное, что вообще произошло и продолжает происходить в мире программирования, ИТ за последние лет 10.

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

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

 , ,

anonymous_incognito
()

Toxic-0.13.1

Новости — Безопасность
Toxic-0.13.1
Группа Безопасность

Toxic — это клиентское приложение для безопасного протокола обмена сообщениями Tox.

Toxic предоставляет текстовый интерфейс, текстовый чат, аудио- и видеозвонки, передачу и приём файлов, несколько простых игр.

( читать дальше... )

>>> Подробности

 ,

zombi_pony
()

Для тех, кто думает перейти на Gentoo

Форум — General

Привет

Достаточно часто создаются темы, где люди думают переходить на Gentoo и хотят уточнить некоторые моменты. Чтобы сэкономить время себе и другим, решил создать этот топик, в котором буду собирать ответы на частые вопросы.

TL; DR: Для тех, кто думает перейти на Gentoo (комментарий)

Преимущества
#1 Gentoo очень гибкая и всенастраиваема
Пример того что в Gentoo делается просто:
- Использовать openrc вместо systemd или наоборот; pulseaudio или без него
- Наложить кастомный патч; пример когда это нужно
- Подключить или отключить такие вещи как vaapi, vdpau, opencv и т. п.
- Иметь несколько веток софта; уточню, что это работает только для определённых пакетов; например можно одновременно установить python 2.7, 3.4, 3.5 или qt4 и qt5, но нельзя одновременно установить qt 5.7 и 5.8

#2 Очень удобный и функциональный пакетный менеджер
Примеры удобных фич:
- Прервать установку (вплоть до перегрузки компьютера), а потом ее продолжить. Можно продолжить с последнего пакета (emerge --resume), продолжить но пропустить последний пакет, например, если его установка прервалась с ошибкой (emerge --resume --skipfirst, некоторые нюансы); для больших пакетов можно продолжить саму компиляцию (ebuild <полный путь и имя файла>.ebuild merge).
- Когда при установке обновляется конфиг приложения, определяется редактировался ли предыдущий конфиг пользователем. Если да, конфиг не перезаписывается, а кладётся радом, и выводится сообщение пользователю с предложением обновить конфиг.
- Обновить всю систему, но исключить некоторые пакеты (удобно для исключения больших пакетов из ежедневного обновления)
- Почистить зависимости - удалить те пакеты, которые больше никому не нужны.
- Поскольку ebuild - текстовый файл, то можно пропарсить на предмет требований к количеству ресурсов для установки:

$ for F in $(find /usr/portage -name "*.ebuild") ; do REQ=$(grep "CHECKREQS" "$F") ; if [[ -n "$REQ" ]]; then echo -e "\n$F\n$REQ" ; fi; done
- Вынести компиляцию на другой компьютер (поддержка distcc на уровне пакетного менеджера). Важно когда Gentoo устанавливается на слабый компьютер.


#3 Хорошая документация, по крайней мере на английском. Более того, поскольку Gentoo-специфичные утилиты являются лишь надстройкой на generic механизмами, документация от других дистрибутивов (например от Arch) в большинстве случаев тоже подходит.
Опрос 2014: У какого дистрибутива лучшая документация

#4 Достаточно свежий софт, много сторонних репозиториев.
Список сторонних репозиториев
Gentoo - rolling release, а значит как только новая версия конкретного софта появилась в репозитории, её можно установить. Но здесь не имеется ввиду, что как только новая версия зарелизилась, она моментально становится доступна в основном дереве; лаг есть, но он как правило не большой, хотя зависит от пакета. В тестинг ветке новые версии появляются раньше. Кроме того мейнтейнеры Gentoo могут маскировать некоторые версии, если в них обнаруживаются серьезные баги. Однако всегда можно размаскировать нужную версию. Кроме того для некоторых пакетов есть -live версии, когда исходники скачиваются напрямую из github или аналога.
Пример когда «у меня не самый свежий софт в Gentoo»

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

#6 В процессе установки и эксплуатации получаешь полное понимание как работает система, а значит возникающие проблемы решаются быстро. На самом деле без должного знания Линукса (или желания его узнать в процессе) Gentoo нормально не установить.

Недостатки
#1 Сложная и долгая первичная установка. Если устанавливать в первый раз, нужно готовиться потратить несколько дней. Для опытных - несколько часов + компиляция.
Время установки (компиляции) Gentoo, еще немного цифр по большим пакетам

#2 Пакетный менеджер хоть и удобный, но очень медленный

#3 Если не обновлять систему долго (полгода и более), то сложность обновления сопоставима с установкой новой системы. Есть мнение, что emerge-webrsync --revert=yyyymmdd должен помочь (лично я не проверял).

Особенности
#1 Высокий порог входа; дистрибутив не для новичков. Если человек не комфортно чувствует себя в командной строке, никогда не компилировал ядро, не разбивал диски на разделы, не привык изучать докуменацию, вчитываться в сообщения и анализировать логи, то Gentoo покажется сложной в обслуживании, а возникающие проблемы будут списываться на дистрибутив.

#2 Обновляться нужно часто.

#3 Основные фичи - в командной строке. Для тех, кто не привык работать в командной строке, это будет минусом. А для тех, кто комфортно чувствует себя в командной строке, это будет плюсом, так как работа в командной строке более эффективна, а типовые сценарии можно обернуть в скрипты и еще больше сократить время на обслуживание системы.

#4 Есть две ветки: stable и testing. В stable меньше шансов встретить проблему, но в testing более свежий софт. Ветки можно комбинировать.

Мифы
Миф #1 Gentoo даст прирост производительности за счет того, что весь софт компилируется под конкретное железо.
Краткий ответ: В 99% случаев при смене дистрибутива X на Gentoo вы не заметите какого-либо улучшения в плане скорости работы. Если вы зададитесь целью сравнить свежеустановленный дистрибутив X с свежеустановленной Gentoo, то в 90% вы не увидите значительной разницы.

Детальный ответ.
Не следует ожидать что просто скомпилировав систему из исходников вы получите сколько-нибудь заметное улучшение перформанса.
Для большинства приложений компиляции под конкретное железо даст прирост производительности в районе 1-2%.
Ложка дегтя: в некоторых случаях даже может быть замедление. Например Firefox, можно ускорить с помощью PGO. В Gentoo по умолчанию это отключено, так как PGO увеличивает время компиляции почти в два раза. В бинарных дистрибутивах соотв. софт может быть скомпилирован с PGO.
Так как добиться улучшения производительности? Узкий круг приложений может быть значительно ускорен при компиляции под конкретную платформу - на 30%-50% и больше. В основном это приложения которые активно занимаются вычислениями. Но для этого требуется соотв. настройки. Например, активация SIMD инструкций, даст прирост производительности в мультимедиа приложениях. Некоторые процессоры имеют аппаратную поддержку шифрования AES. В бинарных дистрибутивах подобные фичи будут отключены, так как не все процессоры это поддерживают, а бинарные дистрибутивы в первую очередь заботятся о совместимости.
Небольшое улучшения перформанса возможно если убрать из системы всё лишнее (мнение 1, мнение 2).
Еще интересный случай

Миф #2 Обновления занимают много времени
Краткий ответ: 5-10 минут на фоне, не мешая основной работе.

Детальный ответ.
Обновления не занимают много времени, но опять же, при правильном подходе.
Во-первых, как было сказано выше, обновляться нужно часто. Для testing ветки это каждый день, или по крайней мере не реже чем в раз 2-3 недели. Для стабильной ветки - раз в неделю достаточно (на стабильной ветке намного реже выпускаются обновления)
Во-вторых, есть пакеты которые правда очень долго компилятся: libreoffice, firefox, chromium... Их всего 10-15. Я их исключаю из ежедневного обновления, а обновляю раз в несколько месяцев.
Еще нужно сказать, что на этом вопросе часто заостряют неоправданно много внимания. Обычно обновления происходят на фоне, и не сильно влияют на работу; так какая разница как долго они выполняются?
В итоге, у меня обновления занимают примерно 5-10 мин ежедневно (у меня тестинг-ветка).
К тому же всё происходит на фоне, в любой момент можно поставить на паузу (Ctrl+Z, fg), продолжить после прерывания (умышленного или случайного).
Мой скрипт ежедневного обновления

Миф #3 Gentoo требует много времени на обслуживание
Краткий ответ: Может быть больше, может быть меньше по сравнению с другими дистрибутивами. Очень зависит от того, насколько вы будете вчитываться в то, что пишет вам пакетный менеджер, и разбираться первопричинах.

Детальный ответ.
Обслуживание Gentoo занимает меньше времени по сравнению с другими дистрибутивами, но только при грамотном обращении, конечно. Достигается это за счет следующего:
- хороший пакетный менеджер: маскировки, глобальные и индивидуальные установки для пакетов (USE флаги, опции компиляции, каталоги), хуки, приоритеты (чтобы компиляция происходила на фоне и можно было работать), много опций для установки и анализа, подсказки после установки.
- всё происходит в CLI, а значит типовые операции можно обернуть в скрипты/алиасы.
- уже существуют много утилит для облегчения обслуживания: eselect, equery, eix, eclean, euse, genlop и др.
Грамотное обращение означает, что вы правильно и регулярно обновляете систему, исполняете предписания emerge, которые он выдает после установки, держите в порядке конфигурационные файлы, а если таки возникает проблема, которую решить вы не можете, то вы обращаетесь в форумы, а не просто жалуетесь на жизнь.
Что до проблем с обновлениями - см. следующий пункт «Миф #4 Установка, обновление постоянно падают; частые блокировки»

Миф #4 Установка, обновление постоянно падают; частые блокировки
Краткий ответ: Не чаще чем в других дистрибутивах

Детальный ответ.
Если говорить про «часто» и «постоянно», то проблемы с обновлением/установкой могут быть если:
- система давно не обновлялась
- система неправильно обслуживается (см. выше про Грамотное обращение)

В редких случаях пакет просто не компилируется. На самом деле это проблема не Gentoo, а тех, кто писал этот софт. И в подавляющим большинстве случаев это не является проблемой, и вот почему. Если это обновление, то можно продолжить процесс запустив emerge с параметрами --resume --skipfirst - он обойдет проблемный пакет, пересчитает зависимости чтобы система осталась консистентной, и продолжит обновление (а можно изначально передать параметр --keep-going, тогда это будет происходить автоматически, прерываний вообще не будет). Если пакет критичен, можно установить предыдущую версию, которая компилировалась (а проблемную замаскировать чтобы пакетный менеджер ее не видел).

Что может заблокировать обновление полностью:
- просьба пакетного менеджера поменять флаги пакета. При этом emerge предлагает сделать это автоматически, но лично я предпочитаю делать вручную. Для ручного способа, решается добавлением строчки в package.use
- просьба пакетного менеджера задать лицензию. Это валидно только для не-свободных лицензий, например EULA, Skype, Adobe Flash и т. п. Если мы говорим имено про обновление, то такое бывает только когда лицензия обновляется, что бывает очень редко (как много у вас пакетов под не-свободной лицензией, и как часто они меняют лицензию?). Решается добавлением одного слова в make.conf
- просьба пакетного менеджера размаскировать пакет. По моему опыту нужно не размаскировывать, а наоборот замаскировывать пакеты, которые тянут замаскированные зависимости. Это, да, требует минут 5-10 на разобраться. Но, если только у вас нет смешения веток и live пакетов, такой вариант случается раз в пятилетку.
- сложные блокировки. Большинство блокировок пакетный менеджер разрешает сам; по моим наблюдениям, качество данного механизма значительно улучшилось пару лет назад. Из своего опыты скажу, что (учитывая частые обновления) блокировок, которые бы совсем останавливали обновление я уже не видел года 1.5. Но если они есть, то это действительно сложный кейс.

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

Миф #5 В Gentoo нет бинарных пакетов
Краткий ответ: Есть там, где это действительно нужно.

Детальный ответ
Во-первых есть Calculate Linux - полностью бинарный форк Gentoo.
Во-вторых даже в самом Gentoo в основном репозитории есть несколько бинарных пакетов: libreoffice-bin, firefox-bin, некоторые другие. Связано это с тем, что из исходников они очень долго компилируются, и иногда проще поставить бинарник.
Бинарный пакет можно сделать самому командой quickpkg --include-config y <установленный пакет> - удобно для бекапов.

FAQ

#1 Установка на слабый компьютер
Смотря что есть слабый компьютер.
Из собственного опыта: Intel Core2 Duo 6600 @ 2.40GHz, 2Gb RAM + 4Gb swap хватало для комфортной работы в Gentoo.
Зачастую ebuld'ы содержат информацию о том, сколько нужно памяти для компиляции пакета. TOP 5:
16G - chromium
8G - ledger, isabelle
7G - ceph
6G - firefox x64 (для x32 нужно 3G), pypy x64 (для x32 нужно 3G)
5G - electron
Если компьютер и вправду слабый, то лучше выбрать не Gentoo (точнее не-source-based дистрибутив). Альтернатива - можно вынести компиляцию на другой «не-слабый» компьютер с помощью distcc.


Опрос 2021: Какую операционную систему и/или дистрибутив GNU/Linux вы используете на ПК?
Опрос 2018: Какой ОС вы пользуетесь на основном ПК?
Опрос 2017: Какую ОС вы используете на основном ПК?
Опрос 2014: Какой дистрибутив вы используете на десктопе?
W3Tech стастика дистрибутивов на серверах
Отличия дистрибутивов, время работы ноутбука
Чем удобны USE флаги
Сколько памяти нужно для РАБОТЫ Gentoo (сколько нужно для компиляции было указано выше)
Сколько места на диске нужно для Gentoo
Правильное полное обновление Gentoo, Мой скрипт ежедневного обновления, Еще вариант
Gentoo для девелоперов
Практика инсталляции Gentoo: в двух словах простым языком
Небольшой скрипт - сборка livecd

 

Kroz
()

Как правильно установить GRUB efi?

Форум — Linux-install

Слетела загрузка свежеустановленной и настроенной системы. Очень не хочется переставлять снова. Помогите пож-та починить загрузку. Изначально проблема обнаружилась в том, что загрузчик поставился вроде не на новый ssd, а на старый. И когда я его вынул, (он был подключён для переноса конфигов и хомяка) система перстала грузиться. Ну я вставил его обратно,загрузился и переставил grub2 как мне казалось правильно. И теперь система никак не грузится вообще. У меня голая консоль root без гуёв. Как правильно поставить загрузчик?

# Установка загрузчика для EFI:
# grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=grub

ругается, что не похоже на раздел efi.

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

 , ,

hikikomori
()

Осваиваем STM32 снизу: часть 1 - подключаем и исследуем плату

Статьи — Разработка

Часть 1 Часть 2 Часть 3 Часть 4 Часть 5 Часть 6 Часть 7 Часть 8 Часть 9

Все файлы можно взять тут.

В данной серии статей мы попробуем поработать с процессором STM32 с помощью GNU утилит, немного познакомимся с ассемблером и отладкой.

Примеры написаны для популярной платы blue pill, построенной на микроконтроллере STM32F103C8T6.

( читать дальше... )

 ,

vbr
()

Осваиваем STM32 снизу: часть 9 - подключаем libc

Статьи — Разработка

Часть 1 Часть 2 Часть 3 Часть 4 Часть 5 Часть 6 Часть 7 Часть 8 Часть 9

Часть 9: подключаем libc

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

( читать дальше... )

 ,

vbr
()

Линковка extern вместо передачи указателя в C и С++?

Форум — Development

Приветствую.

Вынес кусок кода в отдельный hpp, который использую в разных проектах. Из этого куска передаю указатель на метод в методы разного функционала скомпилированные в разных объектниках как на Сях, так и на С++

Все работает, НО можно ли сделать внешнее связывание одновременно как для Си, так и для С++ в одном проекте???

Например, я объявляю метод в разном функционале

для С++ в hpp просто как

extern void func(void * ptr)

для Си в секции

#ifdef __cplusplus
extern "C" {
#endif

extern void func(void * ptr)

#ifdef __cplusplus
}
#endif

Куски конечно компилируются, но при попытке собрать все это дело

MQTT.h:12:13: error: conflicting declaration of ‘void func(void*)’ with ‘C’ linkage
 extern void func(void * ptr);
             ^~~~~~~~~~~
In file included from IntercomIP.cpp:24:0:
SIP.hpp:36:13: note: previous declaration with ‘C++’ linkage
 extern void func(void * ptr);

По всякому уже попробовал ) Собирается только если будет как объектник выделенного кода, так и сам код включен в компиляцию бинарника, выглядит конечно это бредово.

 , , ,

wolverin
()

Обучение ребенка работе с клавиатурой

Форум — Talks

Увидел мой мелкий мою новую клаву и вцепился.

Нужен не тренажер, не обучалка печати, а именно на тривиальном уровне, обучение «работе с клавиатурой». Как я это вижу - на экране показывают букву/цифру/слово/число, в зависимости от сложности. Мелкий ищет, нажимает. Если правильно - как-то сигнализировать, сделать этот символ зеленым, например. Если ошибка - красным. Ну и звук соответствующий издавать. Есесно надо на русском.

Можно расширить, добавив простые арифметические операции. Или показывать предметы (фрукты и тп), а ребенок должен ввести, сколько их на картинке.

Есть ли что готовое, более менее подходящее? Все что находил - либо слишком сложное (соло, или, не дай бог, typing of the dead), либо на английском. Под онтопик - отлично. Но подойдет и вебовское.

если в игровой форме - вот это огонь (https://zty.pe/), но опять же, слишком сложно, нужно проще.

 , ,

vvviperrr
()

Упорно не обновлять железо как вид специальной олимпиады

Форум — Talks

Заметил что на лоре вообще не любят обновляться в плане железа и считают новое железо каким-то хтоническим злом. Я то в целом не против, но это маразм какой-то. Может пора признаться что эпоха феномов, core 2 duo и nvidia 710 ушла?

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

Но вот с пеной у рта доказывать что core 2 duo сейчас еще хоть куда, что затычка найденая у бомжей в шалаше вполне себе видеокарта, что ddr2 ничем не хуже ddr4 и вообще это все происки маркетологов которые какают мне на колени - это маразм. Есть все таки тонкая грань между данью уважения к ретро и просто отсутствием денег которое прикрывается всемирным заговором рептилоидов-программистов которые видите ли назло «пишут жирные программы»

Может все таки стоит присмотреться хотя бы к ryzen и rx580? Можно конечно сказать что денег у народа нет но даже если собираться совсем по бичу то:

Материнка + ЦПУ + Видюха + Оператива + БП + m2 ssd получается 37696р. Что в целом могут позволить себе все.

P.S. Я не говорю что ретро это плохо, я сам люблю старые консоли, просто я не понимаю ретроградов.

 , ,

Unixson
()

Перегревается процессор, что делать

Форум — Linux-hardware

Купил материнку, которую на ЛОР советовали:
https://ru.msi.com/Motherboard/PRO-Z690-A-DDR4

Купил вентилятор, который советовали:
http://www.thermalright.com/product/silver-arrow-ib-e-extreme-rev-b/
к вентилятору купил крепление под процессор LGA 1700:
http://www.thermalright.com/product/lga1700-b2-2/

Намазал процессор пастой Zalman Thermal Grease ZM-STG1 (другой не было)
Всё привинтил, запускаю, а оно мне пишет:
«Процессор перегревается, проверьте что вентиляторы работают, установите радиатор крепко» (ну, всё так, вроде бы)
точнее: «CPU overheat alert! Please check CPU cooler is firmly attached for working properly. [ok] [Don't Remind]»
Частоту процессора устанавливает 0.4 GHz
температуру процессора показывает 99 градусов (температура сокета - 61 градус)

Всё раскрутил, паста с процессора переползла на «пятку» радиатора, то есть вообще какой-то контакт есть, скрутил всё ещё раз, никаких изменений. Что делать?

 , ,

Shushundr
()

Регулярное выражение

Форум — Development

Приветствую. Как правильно написать регулярку чтобы находило 1Z3P-X137-M4BA-EAFP-F7K2 вот такое. Причем буквы и цифры меняются. Не меняется регистр, кол-во и дефисы между ними.

 

lovelas
()

Инструкция получения более-менее шустрого ThinkPad 16g ram/IPS/ssd ноута в 2021 году за 20-30 тыр - вариант на базе T440p

Форум — Linux-hardware
  1. Покупаем на авито thinkpad T440p с отстойной TN-матрицей, HDD и 4gb RAM, CDROM. Проц любой, они меняются, но i5 4300m хватит с избытком, у него же не U на конце. На конце «T440p» буква p - это важно - туда ставят съёмные 47-ваттные процы, а не припаивают на мять 15-ваттные U-модели процов. Данный ноут ещё хорош тем, что закупался мегакорпорациями и мог остаться на складах, их списывали вагонами. Если вы живёте в богатой Швейцарии, то может посто достаточно по помойкам вечером пройтись. ~13000 руб.

  2. Важно найти модель T440p без дискретной Nvidia. В названии «T440p» не отражается, есть там нвидиа или нет, просто T440p бывает с двумя вариантами матери - на одну из матерей припаяна NVidia, на другую нет и стоит система охлаждения полегче (без одной трубки-площадки до чипа нвидии). Толку от nvidia нет, ускорение в игрунях 0.0000001% а зря греется и жрёт питалово. А без неё надёжнее, экономичнее. Это важный пункт выбора породистого девайса - nvidia быть не должно. Авито завален в основном T440p + Nvidia, поэтому нужно тщательно отбирать.

  3. Покупаем на aliexpress правильную матрицу LP140WF3-SPD1 (можете погуглить варианты вокруг неё, но там то цветопередача не та, то яркость), старую выдёргиваем, эту втыкаем (там 1 разьём воткнуть - паять не надо - там такой 40-пиновый разьём - ноут просто находит монитор новой модели) - получаем немерцающий кошерный IPS экран FullHD. Не 4K и хорошо, тормозов поменьше и всё предсказуемее. В матрице официально 262K цветов, но по исследованиям каких-то чуваков из ссылки ниже, цветопередача там лучше, чем в тех про которые написано, что там 16.2M цветов. 4700 руб.

  4. Покупаем на aliexpress touchpad для T450. Родной T440p слишком модный и без физических кнопок, а на T450 физические нормальные кнопки вернули обратно. T450-touchpad физически совместим с T440p - 1500 руб.

  5. Втыкаем SSD любимой модели, я ставил samsung evo pro 860 256G (фильмы не качаю, в игруни не играю, фотки и музло не храню, мне с избытком). В этом ноуте вы упираетесь в скорость SATA. В этом ноуте есть M.2, в который втыкают LTE-модемы, но с SSD там то-ли места не хватает, то-ли не все поддерживаются, то-ли надо что-то мутить в BIOS и непонятно что там будет за скорость. Возможно это самое дорогое, скажем 6-12 тыр.

  6. Воткнуть 16 гигов оперативы. 2 sodimm DDR3L (1.35v), макс 16GB 2133Mhz DDR3 (например Corsair Vengeance 2133Mhz DDR3 Sodimm). 2 планки по 8 гигов: 3500 + 3500 руб

  7. Клавиатура. Если повезло, у вас она американская (а не европейская с большим enter) и сразу с 2-уровневой подсветкой. Можно фильтровать на этапе покупки, если не повезло - аликспресс, но точную модель не знаю. possible 1500 rur

  8. CD-ROM: выдёргиваем, покупаем на Ali sata caddy кейс для второго SSD: 600 руб. Может быть будет пустовать, зато сидюк не будет жрать питалово. Там можно спрятать немного бабла в свёрнутом виде! Потенциально в ноут втыкается до 3 физических дисков - рай файлового плюшкиниста или RAID-маньяка.

  9. M.2 слот: можно втыкать наверное много чего, гипотетически 3-й диск или модем или второй wi-fi, но я не трогал.

Личный опыт - T440p + дефолтная убунта (16.04, 18.04, 20.04) - работает всё, режим сна прекрасен (закрыл крышку, кинул в рюкзак, через неделю открыл - работает), wi-fi 5ghz есть, BT есть, SD-карты читает (фотографам надо), LAN-гигабитка есть (HFT-трейдерам запускать low-latency торговых роботов). Ну ещё в выключенном состоянии работает как power bank через USB-порт, правда без fast charge.

В чём может быть печаль: 2 кг вместо 1 кг (lenovo carbon X1, macbook m1 и т.п. - я не страдаю, но есть капризные слабаки с лимитом в 1 кг), отсутствует задротский способ подключения внешних видюх (как на x230), нет USB-C. Клавиатура не классическая thinkpad, а «новая thinkpad», но старую клавиатуру официально похоронили решением ЦК КПСС навсегда, а её чертежами выстрелили из пушки на солнце, поэтому уже проще один раз перестроить мозговой движок слепой печати под эту новую клаву, чем вечно грустить о былом. Я страдал, я изменился, я полюбил 4++-серию клав.

Итого где-то вокруг 30 тыр получаем железяку с достаточно нормальным кол-вом оперативы и процом для агрессивного компиления и этой железки похоже хватит ещё надолго. Из породистых магазинных ноутов эту железку начинают рвать по производительности девайсы только подбираясь к 150-200 тырам, да и то на какие-то величины процентов в синтетических тестах, которые вам скорее всего похрен. Хотя конечно thinkpad P15 с 128 гигами ОЗУ будет интереснее, но это в 10 раз дороже)

Мегаинструкия на ту же тему с бОльшим колвом деталей и пояснений: https://octoperf.com/blog/2018/11/07/thinkpad-t440p-buyers-guide/#cpu

Бложик и личная история

Как я понял, развитие процов тормознуло к настоящему моменту. Всмысле, в руки попадают всякие thinkpad carbon X1 gen7 или Dell XPS и я не вижу преимуществ в них, относительно старой шарманки T440p i5 4300m. Единственное, что было заметно: T440p на каком-то Dell 27" через displayport на разрешении НИЖЕ 4K, но больше FullHD тянул на полный экран одну WebGL-игрушку в гуглхроме с микроподлагиваниями, а Dell XPS 13" с процом i7 7550U и какой-то новой интегрированной видяхой тянул БЕЗ подлагиваний и с меньшим поеданием электричества.

То есть, если нам нужна переносимость железки, компактность, но работаем мы всё равно от розетки и нам не важна разница между 3 часами и 10 часами от батарейки, то этот тред для вас. На практике при офисно-домашней жизни всё равно надо думать где у тебя зарядник. Какая разница когда об этом думат - через 3 часа или через 8: (хотя при компилении ядра 8 не будет никогда) - всё равно думать надо, а значит зарядник всегда где-то есть и это не нокия 3310 с неделей работы от зарядки.

 

igloev
()

python прерывание работы программы

Форум — Development

Допустим мы имеем очень примитивный код, вроде:

#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import signal
import sys
from time import sleep


def signal_handler(sig, frame):
    print('You pressed Ctrl+C!')
    print(a)
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)
print('Press Ctrl+C')
a = 0
while True:
    a += 1
    sleep(2)
    a += 1
    print(a)
Теперь я хочу в signal_handler сохранять состояние программы, для того чтобы не усложнять пример буду просто печатать a (хотя я не уверен что то как это сделано правильно). Понятно, что состояние когда a - нечётное число некорректно. Т.е. цикл надо досчитывать до конца. Вопрос в том, как это сделать наименее уродски. Да, отлавливать в цикле Ctrl+C нельзя, так как убивать может и мой скрипт на выключение компа, который гарантированно дождётся корректного завершения программы, работающей в фоне.

Конечно можно обмазаться каким-нибудь atomicloop, но боюсь это быдлокод будет в общем случае. Надо понять как это делать правильнее.

 ,

peregrine
()

Как включить BTклавиатуру до логина при boot-е openSuSE на RPi3

Форум — Linux-hardware

Сообществу моё почтение…

С ’17 пользуюсь я RPi3 под Raspbian-ом и решил посмотреть есть ли жизнь в aarch64, ибо 4 ядра Cortex-A53 это оно самое. В конце-концов остановился на образе openSUSE-Leap-15.2-ARM-XFCE-raspberrypi3.aarch64-2020.05.12-Build1.54.raw: грузится нормально, но… управлять bluetooth-ом «по-человечески» невозможно (в Raspbian-е управление BT висит в панели в трее: вкл\выкл, видимость, добавить\удалить устройство), до этого, всё время с RPi3 используется BT-клавиатура BKB50 (запаривается без проблем).

В книжках у мну про openSuSE (не самых свежих, честно говоря, v12) за BT речи нет вообще. Нашёл в SLES12SP3-rpiquick_color_en.pdf («Introduction to SLES for ARM on the RPi») «заветные» команды, но пришлось победить:

  • ttyAMA0 - нет: «гении» организовали ttyAMA1 (в отсутствие AMA0 - зачем, чтоб документацией «веселее» пользовалось?);
  • «Patch not found for BCM43430A1, continue anyway»: нашёл и положил куда следует BCM43430A1.hcd, BDAddress стал совпадать с адресом в Raspbian-е;
  • hcitool scan не находил клавиатуру: bluetoothctl - решение: BKB50 запарилась нормально.

НО! Вопрос\задача: как включать BT (для клавиатуры) на этапе загрузки до login-экрана? Тут моего соображения не хватает, прошу совета-помощи, куда-что прописать?

 , ,

Genoantroposs
()

Нашёл алгоритмического видео дядьку - палю годноту

Форум — Development

Залипателям на картинки, таким как я, зайдёт норм. Рассказывает про базовые, но тем не менее фундаментальные вещи. (Хотя я только 4 ролика глянул , может я не прав).

Вот ещё от @xaizek ваще крутые визуализации

 ,

LINUX-ORG-RU
()