LINUX.ORG.RU

Сообщения Fizzika

 

Ивенты о логине/логауте

Делаю программу для родительского контроля на Python

Хотел бы узнать, есть ли способ как-то получать (может через dbus) ивенты о логине и логауте пользователей.

Сейчас у меня на этом месте костыль с 15секундным опросом и парсингом вывода users, в принципе всё работает, но есть идея довести программу до нормального состояния и выложить в открытый доступ, потому что нормальных для себя аналогов я так и не нашел.

 ,

Fizzika ()

Посоветуйте книг для армейки

Скоро осенний призыв, и я с большой вероятностью отправляюсь мести ломом асфальт.

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

О себе: закончил в этом году 4 года профильной вышки, пишу на работе на джава/спринг. Знания алгоритмов базовые (чому в универе научили), МЛ не знаю, кроме джавы ориентируюсь в c/c++

Интересно разобраться в программировании, близкому к железу, хочу подтянуть знания алгоритмов.

Сам пока думаю взять «Грохаем алгоритмы», но одной книжки наверное будет мало. Всякую классику вроде банды четырех пока трогать не хочется, у меня пока просто нет соответствующего опыта.

Фундаментальные штуки по CS в универе читал (того же Танненбаума)

 ,

Fizzika ()

Интересные особенности при вводе пароля

Не первый раз уже замечаю, и в разных операционных системах (linux, mac os)

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

Когда же я ввожу неверный пароль, система думает около секунды (а то и две), и только тогда сообщает, что пароль неверный.

Кто знает, с чем это может быть связано?

 , ,

Fizzika ()

Выбора смартфона тред

Привет, ЛОР! В данный момент являюсь счастливым обладателем Redmi 4 Prime, но понимаю, что 3GB оперативы и 625 снап уже не тянут в новом 2021, поэтому хочу взять новый смартфон.

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

Итак, мои основные требования:

  • 4/64 и выше, 4k mah и выше, Snap 665 и выше
  • Металл корпус (чехол я носить не собираюсь)
  • Телефон должен нормально помещаться в руке (чем меньше лопата, тем лучше)
  • Наличие коммунити, которое будет пилить кастомные прошивки на основе AOSP. Нормальная работа этих самых кастомных прошивок.
  • Камера: чем хуже - тем лучше. В идеале должна быть затычка, которая не будет выпирать из корпуса. В крайнем случае должна быть расположена по центру, чтобы телефон хотя бы на стол можно было положить и пользоваться
  • Сканер отпечатка

Линукс тут притом, что андроид это он самый и есть %)

 ,

Fizzika ()

Java джун познаёт мир

Работаю больше 4 месяцев джуном на джаве (spring-boot, hibernate), познаю кровавый интерпрайз. Пока легаси поддерживать не кидали, пилю новый функционал на проектах.

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

Getters/Setters

Постоянно в дтошках вижу одну и туже картину. Куча private полей, и к каждому из них геттер и сеттер. Больше ничего в классе нету. Я не понимаю, нафига строить тут типа «инкапсуляцию», если класс ничего семантически не инкапсулирует? Почему бы не сделать просто public филды?

Lombok

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

Любовь к старым технологиям

Во всех трёх проектах (и это не легаси говно, с нуля все написаны в 2020) используется java 8. Почему не 9, где для optional подвезли нормальные методы? Почему вообще у чуваков такая тяга к старым технологиям? В новой джаве вот уже рекорды добавили, чтобы без ломбока и прочего жить нормально, так не, мы продолжим сидеть на 8, в худше случае и без ломбока.

И это не только с версией джавы, на проектах (новых!) используется версия querydsl 3.x, поддержка которой давно закончилась. Понятно, что в 4.x поломали совместимость, но неужели разобраться с этим это прям такое запарное дело?

Ехал singleton через singleton или процедурное программирование

По сути в архитектуре веб-приложухи на джаве нету никакого ООП. Все Service-компоненты с бизнес-логикой это по сути просто набор процедур. Все объекты service-классов существуют в единственном виде как синглтон. По крайней мере, я так это понял. Dtoшки это вообще не класс, это просто классический record в виде си. Всё в итоге сводится к процедурному программированию, когда дтошки (читай - записи) суются в методы сервисов (читай - в процедуры), откуда вызываются другие методы (по сути те же процедуры).

Код и данные максимально разделены. Это как-то не сходится с моими представлениями о ооп и тому, чего я ожидал от «ооп-языка»

Непонятные решения в БД и около её.

В лабах я привык использовать idшники в качестве PK, однако в реальном интерпрайзе везде uuidшники. Я погуглил, понял, что всё как-то связано с масштабированием и немного с безопастностью (если неавторизованные юзеры работают с сущностями), но в одном проекте у нас были и idшники, и uuidшники! Зочем?

Чейнджсеты ведутся в liquibase, причём все они хранятся в одном каталоги и инклюдятся в мастер-чейнджсет через includeAll. Нумеруются по принципу дата-айдишник-описание.xml. НО. Это же костыль! Если у меня в один день будет changeset в id=9 и с id=10, то 10ка попросту выполнится перед девяткой! Если уж использовать только числовые айди, то почему бы liquibase Не выполнять их по очереди?

Также не пишутся никакие sql-триггеры, вся логика прописывается в коде. Хотя в некоторых местах триггеры выглядели бы прям как образцовый пример из методички, на мой взгляд.

 , ,

Fizzika ()

iwlwifi постоянно крашится при свитче gpu через nvidia-xrun

Hi. Возникла непонятная проблема, и самое интересное, что я не помню, когда она возникла.

ОС - Arch, обновлено по состоянии на 21.08.2020. Проблема была и на старой версии, это я обновился, чтобы проверить, не исправили ли.

  • 00:14.3 Network controller: Intel Corporation Cannon Point-LP CNVi [Wireless-AC] (rev 30) [02a4]

  • Linux 5.8.2-arch1-1.

  • Nvidia 450.57-11

  • Nvidia-xrun 0.3-0 (из аура)

При работе на интеловской графе всё отлично. Как только я логинюсь, переключаюсь через nvidia-xrun на дискретный гпу, пробую открыть любой урл, iwlwifi ломается.

[  493.417572] iwlwifi 0000:00:14.3: Queue 11 is active on fifo 1 and stuck for 10000 ms. SW [241, 27] HW [241, 27] FH TRB=0x0c010b000
[  493.417688] iwlwifi 0000:00:14.3: Microcode SW error detected. Restarting 0x0.
[  493.417775] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[  493.417779] iwlwifi 0000:00:14.3: Status: 0x00000040, count: 6
[  493.417782] iwlwifi 0000:00:14.3: Loaded firmware version: 46.8902351f.0 9000-pu-b0-jf-b0-46.ucode
[  493.417786] iwlwifi 0000:00:14.3: 0x00000084 | NMI_INTERRUPT_UNKNOWN       
[  493.417788] iwlwifi 0000:00:14.3: 0x008026F0 | trm_hw_status0
[  493.417791] iwlwifi 0000:00:14.3: 0x00000000 | trm_hw_status1
[  493.417793] iwlwifi 0000:00:14.3: 0x0048865E | branchlink2
[  493.417796] iwlwifi 0000:00:14.3: 0x00478C5A | interruptlink1
[  493.417798] iwlwifi 0000:00:14.3: 0x0000C3FE | interruptlink2
[  493.417800] iwlwifi 0000:00:14.3: 0x0001B20E | data1
[  493.417803] iwlwifi 0000:00:14.3: 0xFF000000 | data2
[  493.417805] iwlwifi 0000:00:14.3: 0xF0000008 | data3
[  493.417807] iwlwifi 0000:00:14.3: 0x4F01719E | beacon time
[  493.417809] iwlwifi 0000:00:14.3: 0xF6A9EE64 | tsf low
[  493.417812] iwlwifi 0000:00:14.3: 0x00000395 | tsf hi
[  493.417814] iwlwifi 0000:00:14.3: 0x00000000 | time gp1
[  493.417817] iwlwifi 0000:00:14.3: 0x01EE0D04 | time gp2
[  493.417819] iwlwifi 0000:00:14.3: 0x00000001 | uCode revision type
[  493.417821] iwlwifi 0000:00:14.3: 0x0000002E | uCode version major
[  493.417824] iwlwifi 0000:00:14.3: 0x8902351F | uCode version minor
[  493.417827] iwlwifi 0000:00:14.3: 0x00000312 | hw version
[  493.417829] iwlwifi 0000:00:14.3: 0x18C89008 | board version
[  493.417832] iwlwifi 0000:00:14.3: 0x0BF1001C | hcmd
[  493.417837] iwlwifi 0000:00:14.3: 0x80022002 | isr0
[  493.417839] iwlwifi 0000:00:14.3: 0x01000000 | isr1
[  493.417841] iwlwifi 0000:00:14.3: 0x08001802 | isr2
[  493.417844] iwlwifi 0000:00:14.3: 0x0041FCC5 | isr3
[  493.417846] iwlwifi 0000:00:14.3: 0x00000000 | isr4
[  493.417848] iwlwifi 0000:00:14.3: 0x00B6019C | last cmd Id
[  493.417850] iwlwifi 0000:00:14.3: 0x0001B20E | wait_event
[  493.417853] iwlwifi 0000:00:14.3: 0x00000080 | l2p_control
[  493.417855] iwlwifi 0000:00:14.3: 0x00002020 | l2p_duration
[  493.417857] iwlwifi 0000:00:14.3: 0x0000003F | l2p_mhvalid
[  493.417860] iwlwifi 0000:00:14.3: 0x000000CE | l2p_addr_match
[  493.417862] iwlwifi 0000:00:14.3: 0x0000000D | lmpm_pmg_sel
[  493.417864] iwlwifi 0000:00:14.3: 0x02052033 | timestamp
[  493.417867] iwlwifi 0000:00:14.3: 0x00004040 | flow_handler
[  493.417912] iwlwifi 0000:00:14.3: Start IWL Error Log Dump:
[  493.417915] iwlwifi 0000:00:14.3: Status: 0x00000040, count: 7
[  493.417917] iwlwifi 0000:00:14.3: 0x20000066 | NMI_INTERRUPT_HOST
[  493.417920] iwlwifi 0000:00:14.3: 0x00000000 | umac branchlink1
[  493.417922] iwlwifi 0000:00:14.3: 0xC0088BAA | umac branchlink2
[  493.417924] iwlwifi 0000:00:14.3: 0xC0084448 | umac interruptlink1
[  493.417927] iwlwifi 0000:00:14.3: 0xC0084448 | umac interruptlink2
[  493.417929] iwlwifi 0000:00:14.3: 0x01000000 | umac data1
[  493.417931] iwlwifi 0000:00:14.3: 0xC0084448 | umac data2
[  493.417933] iwlwifi 0000:00:14.3: 0xDEADBEEF | umac data3
[  493.417936] iwlwifi 0000:00:14.3: 0x0000002E | umac major
[  493.417938] iwlwifi 0000:00:14.3: 0x8902351F | umac minor
[  493.417940] iwlwifi 0000:00:14.3: 0x01EE0CF2 | frame pointer
[  493.417943] iwlwifi 0000:00:14.3: 0xC088627C | stack pointer
[  493.417945] iwlwifi 0000:00:14.3: 0x00B6019C | last host cmd
[  493.417947] iwlwifi 0000:00:14.3: 0x00000000 | isr status reg
[  493.417966] iwlwifi 0000:00:14.3: Fseq Registers:
[  493.417975] iwlwifi 0000:00:14.3: 0x1210FDD5 | FSEQ_ERROR_CODE
[  493.417983] iwlwifi 0000:00:14.3: 0x00000000 | FSEQ_TOP_INIT_VERSION
[  493.417991] iwlwifi 0000:00:14.3: 0x5B5C82B4 | FSEQ_CNVIO_INIT_VERSION
[  493.417999] iwlwifi 0000:00:14.3: 0x0000A384 | FSEQ_OTP_VERSION
[  493.418008] iwlwifi 0000:00:14.3: 0x6674B4A0 | FSEQ_TOP_CONTENT_VERSION
[  493.418016] iwlwifi 0000:00:14.3: 0xCBDDF1FE | FSEQ_ALIVE_TOKEN
[  493.418024] iwlwifi 0000:00:14.3: 0x479810E8 | FSEQ_CNVI_ID
[  493.418033] iwlwifi 0000:00:14.3: 0x4FF3AFAA | FSEQ_CNVR_ID
[  493.418041] iwlwifi 0000:00:14.3: 0x01000100 | CNVI_AUX_MISC_CHIP
[  493.418052] iwlwifi 0000:00:14.3: 0x00000201 | CNVR_AUX_MISC_CHIP
[  493.418063] iwlwifi 0000:00:14.3: 0x0000485B | CNVR_SCU_SD_REGS_SD_REG_DIG_DCDC_VTRIM
[  493.418103] iwlwifi 0000:00:14.3: 0xA5A5A5A2 | CNVR_SCU_SD_REGS_SD_REG_ACTIVE_VDIG_MIRROR
[  493.418115] iwlwifi 0000:00:14.3: WRT: Collecting data: ini trigger 4 fired.
[  493.418124] ieee80211 phy0: Hardware restart was requested
[  493.919579] iwlwifi 0000:00:14.3: Conflict between TLV & NVM regarding enabling LAR (TLV = enabled NVM =disabled)

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

Если я с загруженными модулями нвидии переключусь на первый tty (где запущен Xorg на интеловских дровах), то всё магическим образом работает.

Быстрый гуглинг по теме ничего не дал.

 , ,

Fizzika ()

NVIDIA PRIME :: Чёрная рамка

Добрый день, лор. Перешёл с nvidia-xrun на официальный поддерживаемый метод https://wiki.archlinux.org/index.php/PRIME#PRIME_render_offload

Всё работает замечательно, за исключением следующей проблемы: иногда проскакивает чёрная рамка вокруг контента, вот пример из браузера: https://i.imgur.com/pC0dLlZ.png

Можно ли это как-то исправить?

 , , ,

Fizzika ()

GP108 — Are you ofigely tam, NVIDIA?

Являюсь счастливым обладателем ноутбука с MX250 (она же GP108M)

Поигрывая в очередную онлайн-игрушку, хотел записать свой геймплей, но проклятый OBS всё никак не хотел дружить с NVENC (Хотя на прошлом ноуте с гораздно более старой и слабом 940MX всё работало).

Полез на сайт нвидии, и вижу такую прекрасную табличку. Сие чудо фактически единственное на архитектуре Pascal, которое имеет «no» по всем пунктам и не могёт в аппаратное кодирование видео.

Собственно, вопрос к ЛОРовским знатокам, там физически выпилен аппаратный блок, или это нвидия в своих блобах программно ограничивает возможности железа?

Если последнее, то можно ли с этим что-то сделать

 ,

Fizzika ()

Redmibook 14 + Linux

Собрался покупать сабж, но он поставляется только с 10 виндой, и в интернетах я не нашел никакой информации касательно его совместимости с линукс Может есть на форуме пользователи этого ноута

Заодно еще вопрос, я ниочень шарю в железе, и у сабжа проц i5-8265U, тактовая 1600, турбо 3900, смущает низкая тактовая частота. У меня на ноуте 2хлетней давности стоит i5 7200U с 2700 тактовой. Сильно просед по производительности почувствую?

Также может кто-то накидает альтернатив этому ноуту, требования: ссд, 8 оперативы, дискретная на уровне 150MX, вес не больше 2 кг (небольшой плюс-минус допустим), цена до 800 долларов

 , ,

Fizzika ()

Некоторые шрифты сломались

Обновил рачик, вместе с ним обновился и terminus, который юзаю как шрифт терминала и бара

Собственно, результат: https://i.imgur.com/tYK8GVb.png

Пробовал:

  • Откатываться на старую версию через кеш пакмана
  • Ставить terminusmod из aur
  • Ставить terminus-cyrllic из aur

Ничего не помогает

Попробовал поиграться с другими шрифтами, adobe source code pro работает, так же как и anonymous, но вот с scientifica такие же проблемы, как и с terminus

 , ,

Fizzika ()

Глючат темы в moc

Использую moc как плеер, все нравится, но вот такая дичь с временем присутствует при любой теме и не хочет убираться.

Скрин с темой darkdot: https://i.imgur.com/uiU5I07.jpg

Такое выделение у времени происходит только на проигрывающей песне.

 , ,

Fizzika ()

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