LINUX.ORG.RU

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

Убунтята, не проходите мимо: le9 patch добавлен в linux-xanmod и ваш OOM killer будет вылечен

Форум — General

Тред https://forum.xanmod.org/thread-4102-post-7572.html

Патч https://github.com/hakavlad/le9-patch

В чем дело?

Линуксы зависают при нехватке памяти: Линукс ядро не может мягко обрабатывать ситуации с нехваткой памяти

Решение: запрет на вытеснение определенного объема файловых страниц. Это обеспечивает этот самый патч, и киллер приходит быстро, система не виснет.

Патч принят в pf-kernel и linux-xanmod. linux-xanmod предоставляет бинарные сборки для deb-дистрибутивов.

Скачать бесплатно https://xanmod.org/

 , , ,

hakavlad
()

i3. Не отображаются пиктограммы в заголовке окна

Форум — Desktop

С обновлением версии до 4.20 появилась наконец возможность отображать пиктограммы приложений в заголовках окон.

Включается просто:

# отображать пиктограммы приложения в заголовке окна <yes|no>
title_window_icon yes

# отступ от пиктограммы <px>
title_window_icon padding 10px

# показывать пиктограмму приложения для всех окон
for_window [all] title_window_icon on

# enable window icons for all windows with extra horizontal padding
for_window [all] title_window_icon padding 3px

# показать пиктограмму окна для окна в фокусе, чтобы выделить его
bindsym $mod+p title_window_icon on

Но у меня, почему-то, не отрисовывает.

У кого работает?

 

Dreamdrawer
()

Первое ознакомительное видео про ноутбук на Арм64 из андроид-тв приставки.

Галерея — Рабочие места

http://sega007.ddns.net:7021/files/noute.mp4

https://youtu.be/MCzPjtTRyMk

Как работает загрузчик в следующих сериях.

>>> Просмотр (4032x2780, 1762 Kb)

 

burato
()

Жизнь после Emacs

Форум — Talks

Краткое содержание предыдущих серий: 12 лет на Emacs.

Нынешняя ситуация: использовал Emacs для работы со Scala (через lsp-сервер Metals). Проблема известная - подвисание UI. Большую часть lsp-ui я уже отключил, стало возможно как-то работать, но все же буквы появляются из-под клавиш весьма не спеша… Частично решается только апгрейдом железа.

Есть попытки как-то решить проблему - прикрутить Webrender использующий GPU, но пока в очень экспериментальном виде:

А посему решил наконец вылезти из бочки и попробовать VSCode. Пока я на нем всего пару дней, надеюсь, дальше дело пойдет лучше.

Сразу ремарка по поводу Neovim: насколько я понял, реактивный UI они сделали, но я не люблю режимы. Идея повесить все хоткеи на один режим и расширять редактор в Lua была, но насколько это будет натурально: использование Vim-а без режимов?

Light Table, насколько я понял, более-менее заброшен. Впрочем, с их подходом Data-driven configuration, они могли использовать для конфигурации условный FortranJS вместо ClojureScript (надеюсь, понятно почему :)).

Собственно к VSCode. В продолжении тем:

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

Да, конечно, проблемы рендеринга UI там нет как класса. V8 js engine сам по себе демонстрирует шикарную производительность, уже только он шустрее движка Elisp, UI в своем потоке, а главное он наконец-то рендерится GPU, а не CPU. Ок, замечательно, я переместился в будущее: из середины 70-х в наши дни.

Но проблема в том, что в нем нет… Emacs, нет REPL (и я сейчас не про этакую интерактивную командную строку говорю, а про то, что в Emacs все есть REPL - встаешь курсором (точкой) на любом куске кода, выполняешь его, получаешь результат и мгновенно меняешь поведение редактора). И нет s-выражений.

Взять конфигурацию. Вот я редактирую свою тему. Что-то поменял. В Emacs я просто исполняю файл с темой и все - все изменения мгновенно отображаются. Тут у нас что: https://stackoverflow.com/questions/44390765/vscode-how-to-reload-theme-after-editing-its-style Нужно перезагружать редактор? Да ладно? Вообще-то после Reload Window lsp-server тоже перезапускается, ага заново частично компилирует, индексирует.

Далее, хочу M-x function-name. Ну казалось бы, в VSCode такое точно есть. А вот и нет. Хочешь вызвать функцию - назначь ей или алиас или кейбиндинг: https://stackoverflow.com/questions/58382100/triggering-commands-by-their-command-id-or-a-custom-string-alias

Теперь что до файла конфига. Да, изменения в конфиге подхватываются на лету, но для случая симлинков (вот хочется мне конфигурацию в одном месте держать) это работает только если открыт симлинк, а не файл, а не на который он ссылается, а значит гитовый плагин не видит диффа. Ну ладно, допустим. А если у тебя открыто несколько… фреймов, хорошо, окон редактора, например для случая 2-х мониторов, то нужно в каждом открывать конфиг, типа «изменять» его и сохранять, чтобы изменения подхватились. Ну ладно, хоть что-то. Аналогично с темой.

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

К слову, пример плагина на ClojureScript внушает некоторый оптимизм на тему дальнейших возможностей расширений и кастомизаций «как в Emacs»: https://github.com/Saikyun/cljs-vscode-extension-hello-world Правда, насколько я понимаю, ClojureScript по-прежнему не может обойтись без Java, т.к. компиляция макросов происходит в JVM. Проект Lumo выглядит заброшенным. Альтернативы есть?

Вообще, я не сильно люблю статическое созерцание кода. Гораздо удобнее, когда код можно изменять на лету, вылепливая из него что-то как из пластилина и тут же получая результат. И речь не только о собственно конфигурации Emacs. На самом деле, в Emacs, я мог, например, в текстовом выхлопе какого-то генератора вертикально выделить столбик, скопировать его, поставить вверху и внизу скобочку, нажать C-x C-e и получить сумму:

(+ 23,32
-7,04
135,7
-15,22
8) => 144,76

Все. Никуда не выходя из Emacs. В VSCode что? Есть некий плагин eval. Судя по времени выполнения, он запускает nodejs всякий раз. Словом, к возможности тут же вычислить любой объект как код на Elisp привыкаешь очень сильно.

Смотрим на расширения. О культуре разработки, сложившейся в Emacs комьюнити я ужи писал на лоре, но на этот вопрос по прежнему не обращают внимания. Пакет Emacs для того попасть с MELPA проходит код ревью. В итоге, мы имеем докстринги к большинству функций, подробные readme. Да и даже без код ревью люди просто привыкли так писать, это уже стало хорошей традицией. Что в VSCode? Даже у некоторых более-менее популярных пакетов нет ни одного комментария, ни одной докстроки к функции в исходном коде. В менее популярныйх пакетах - спасибо, если есть readame, а от бывает и его нет.

P.S. Пока складывается впечатление, что я снял свой старенький экзоскелет и взял вместо него каменный топор. Да, экзоскелет был старенький, ржавый, и краска облезла, и скрипел весь, и гидравлика протекала, и проводка искрила и коротила, местами была обильно замотана изолентой, некоторые болты были жевачкой прилеплены, чтобы не отвалились и потерялись, некоторые вообще приварены. Там что-то приходилось периодически чинить, подкручивать, приклеивать ;). Но в нем можно было и дом перепрыгнуть и машину поднять и нашествие пришельцев, при необходимости, остановить. А каменный топор, да из обсидиана, да со стразиками, да с удобной сенсорной панелью на рукоятке, да с авианосцем в комплекте, но все же не то. Вот теперь сижу и думаю как его доработать напильником до звездолета.

P.P.S. Да, я понимаю, что весь мир не обязан быть Emacs-ом, но ведь люди уже переходили из Emacs и не вчера, наверняка эти проблемы уже как-то решились. Какие-то сушествуют решения, рекоммендации, комьюнити?

P.P.P.S Вот так и представляю себе группу психологической поддержки, тех кто ушел из Emacs. Захожу в комнату, там в форме круга расставлены стулья, на них сидят такие же бывшие емаксеры. Я говорю: «Привет, меня зовут Костя и я перестал пользоваться Emacs.» и все такие: «Привет, Костя». :))))))))

 , , , ,

Kostafey
()

Первый релиз юзерспейсного OOM-киллера - oomd 0.1.0

Новости — Open Source
Группа Open Source

Разработка Facebook нацелена на более оперативное и выборочное завершение работы процессов, потребляющих слишком много памяти, на стадии до срабатывания OOM-обработчика ядра Linux. Код oomd написан на языке C++ и поставляется под лицензией GPLv2. Oomd уже используется в инфраструктуре Facebook и хорошо зарекомендовал себя при промышленных нагрузках (в частности, проект позволил почти полностью избавиться от возникновения на серверах длительных livelock-блокировок). Подробнее о работе oomd: https://facebookmicrosites.github.io/oomd/

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

 , ,

hakavlad
()

Русские буквы в GNU Emacs 27.1

Форум — Development

Добрался обновить Emacs на Винде. Результат - некорректное отображение русских букв.

Картинка: https://drive.google.com/file/d/1LLSfQfQPNds5hgj3wf9OXgeFcwbX-JmC/view?usp=sharing

С emacs -q аналогично. В 26.x все было ок. Шрифты юникод поддерживают, но на всякий случай попробовал разные - аналогично.

Кто сталкивался, как чинить?

 ,

Kostafey
()

Анимешный дефолт

Галерея — Скриншоты

Жил я себе на арче, наслаждался терминальным ЮИ, потому-то ГУИ в XWayland выглядит как последний Uncharted на ванильной плойке. Но в один день случайно снес себе пол / и было как-то лень все восстанавливать. На арче сидел сколько себя помню, поэтому решил посмотреть, как там дела в других легковесных дистрибутивов. Глаз зацепился за Void, потому что это тот же самый арч, но без systemd. Заодно решил осилить HiDPI на Х и пересесть на него, чего раньше не очень удавалось. Ибо емакс в терминале это как корочки от хлеба.

В общем, пришлось менять весь стек: sway + waybar + bemenu на bspwm + polybar + rofi. Ну и плюсом picom, чтобы спецэффекты были, но только чуть-чуть. А это означает переписывание конфигов и wal темплейтов. Более того, так как ручки то у меня кривые, хотелось автоматизировать все, начиная от бутстрапа системы и заканчивая расстановкой конфигов в нужные места.

В общем, после трёх недель кряхтений, получилось набросать минимум всего, что нужно для полноценной работы на десктопе. Включая вот этот вот бутстрап, который поднимет базовую систему с full disk encryption и ещё парочку скриптов, которые поставят все зависимости и настроят Х с HiDPI и WM со всеми перделками. Написано все это, конечно же, на fish shell. Потому что а на чем ещё. Теперь то можно удалять и двигать все, что не приколочено (а ничего не приколочено) и не бояться, что все сломается и придётся настраивать все ручками заново.

Если по софту, который использую, то это:

  • Kitty в качестве терминала, потому что GPU рендеринг и лигатуры.
  • BSPWM как WM. Не уверен, почему не i3. Вроде как он давно заброшен и не пилится. Даже отступы от краев экрана настроить нельзя, только если i3-gaps ставить.
  • Fish, конечно же. Всеми любимый.
  • Doom Emacs, где я пишу в основном весь код. И Neovim, если нужно что-то быстренько в файлике поделать.
  • Polybar для вот этих вот штучек сверху. Выглядит прикольно, пол дня настраивал.
  • Ну и rofi, чтобы запускать всякое разное. Тоже wal шаблон писал кучу времени, но я без понятия, как его зафоткать. Потому что он горячие клавиши перехватывает.
  • Tdrop ещё, чтобы эмулировать scratchpad’ы из Sway (на первом скрине он).

Все это, как и подобает, лежит на гитхабе:

  • Дотфайлы тут. Там же и бутстрап для зависимостей и конфигов.
  • Бутстрап базовой системы тут, если кому интересно.

Мой прошлый сетап я тут не кидал, но его можно найти в /r/unixporn. Там тоже аниме, но только Хомура.

>>> Просмотр (3840x4320, 2062 Kb)

 , , , ,

rbbtnspc
()

Быстрый запуск сессии emacs desktop

Форум — Desktop

Давно уже не трогал свой конфиг, но вдруг приспичило решить давнюю проблему: долгий старт emacs desktop.

У меня сессия фактически вечная, и в ней ~500 файл-буферов.
Это и на современном ПК требует минуты две, чтобы завести emacs --daemon, а на Atom Z520 все пятнадцать.

Покурил код desktop, оказывается у него есть донельзя полезная функция отложенной загрузки desktop-idle-create-buffers.

(setq desktop-restore-eager 30)  ;; restore first (last used) 30 buffers
(setq desktop-lazy-idle-delay 5)  ;; lazily restore the rest

Казалось бы, отлично: сервер подрывается с готовыми 30ю последними буферами, и тихонько грузит остаток в фоне.
Но нет, на подгружаемые таким образом буферы срабатывают все хуки и тянется это тоже вечность.

После профайла оказалось, что дохрена времени тратится на flycheck новых буферов.
Отключил его в конфиге, но оказалось у desktop нет хука по завершению desktop-idle-create-buffers.
Попробовал завернуть в defadvice, но почему-то after не срабатывает.

В результате набыдлокодил вот это:

(defvar post-init-timer nil
  "Timer used to track desktop lazy load progress")

(defun check-lazy-load-complete ()
  "Check if desktop finished resurrecting all buffers"
  (if (not desktop-buffer-args-list) (desktop-full-lazy-load-complete)))

(defun desktop-full-lazy-load-complete ()
  "Hook function executed after desktop lazy load is completed"
  (cancel-timer post-init-timer)  ;; stop timer
  (message "Emacs ready in %s with %d garbage collections."
           (format "%.2f seconds"
                   (float-time
                    (time-subtract (current-time) before-init-time)))
           gcs-done)
  ;; Return to defaults after startup
  (setq gc-cons-threshold gc-cons-threshold-original)
  (setq gc-cons-percentage gc-cons-percentage-original)
  ;; Don’t compact font caches during GC.
  (setq inhibit-compacting-font-caches t)  ;; Emacs 25.2 or later
  (global-flycheck-mode t)
  (garbage-collect))

(setq post-init-timer (run-with-timer 60 5 'check-lazy-load-complete))


В начале конфига, соответственно:
;;; Call GC only once per 500M words (500Mb on x86 and 1000Mb on amd64) of allocations
(setq gc-cons-threshold-original gc-cons-threshold)  ;; save defaults
(setq gc-cons-percentage-original gc-cons-percentage)  ;; save defaults
(setq gc-cons-threshold 524288000)
(setq gc-cons-percentage 10)


Что имеем: за несколько секунд подрывается сервер с 30ю последними буферами и сразу доступен.
Дальше без перерывов на сборку мусора и флайчек подсасываем остальные полтыщи.
После чего включается флайчек и возвращаются стандартные настройки сборщика.

В сухом остатке многострадальный Atom Z520 заливает в себя полную сессию всего за 4 минуты, а доступен практически сразу, вместо 15и минут медитации.

Успех.

P.S. как истинный емаксер елиспа я до сих пор не знаю.

 ,

aidaho
()

Немного ЖЖ. Как полностью сменить сферу деятельности?

Форум — Talks

В сторону ИТ. Хочу поныть.
Многие тут знают, что я конструктор. У меня 11,5 лет опыта в этой области, знания всяких ескд и прочей мути, сопромата, расчетов, опыт руководства проектом, направлением и группой.
Сменить работу в этой сфере мне не сложно. Когда в 2016 году уходил со своего нии, меня взяли в 4 места, в три из которых я не пошел сам. Но.. Я не хочу.
Чувствую, что надоело. Хочу в то, чему учился, чем живет душа и куда тянет сердце.
Но опыта в этой области нет, ведь ночи задротства не считаются за опыт. Не, я работал админом в нии первое время, но там было как-то все слишком поверзностно, скорее эникей.

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

В общем, буду рад волшебному пенделю в нужную сторону или просто истории узбека.

З.Ы. Никому в Питере не нужен админ/пргограммист стажер? Готов учиться и вспоминать ночи с кодом, или прокачивать свои знания этих наших лянупсов в плане админства.

trex6, ты, помнится звал меня к вам в контору, но это было давно, и ты вроде уже переехал...

 

Zhbert
()

Годный открытый софт для Android

Форум — Mobile

Зачем эта тема?

  • Не хотелось бы скатывать предыдущую тему в подборку софта
  • Годнота есть не только в F-Droid

Может быть эта тема окажется для кого-нибудь полезной.

Софт

Частично перенесён из темы по ссылке выше

  • MAPS.ME - навигация, использует OpenStreetMap. Maps - форк с вырезанной рекламой и трекерами.
  • Aegis - 2FA аутентификатор. Поддерживает импорт из других аутентификаторов (нужен root), установку пароля на вход (он же будет ключом к расшифровке), вход по отпечатку пальца. Бонусом гайд по подключению сторонних аутентификаторов к Battle.net.
  • ConnectBot - SSH клиент. Поддерживает SSH и Telnet.
  • oandbackup - открытый аналог TitaniumBackup
  • Scarlet Notes FD - замена Google Keep. Есть синхронизация (как я понял, для включения облачной синхронизации нужно установить версию из Google Play).
  • K-9 Mail - почтовый клиент, поддерживает шифрование OpenPGP (требуется OpenKeychain)
  • Nextcloud - клиент для Nextcloud
  • DAVx⁵ - синхронизация (вместо гуглокалендаря)
  • KDE Connect - интеграция телефона с Plasma (в какой-то момент ещё и с Gnome)
  • OsmAnd~ - навигация, использует OpenStreetMap, и насколько я помню, может использовать и другие источники карт. Приложение платное, полная версия находится в магазинах, ссылки на сайте. Переход на MicroG и немного свободного софта (комментарий)
  • andOTP - простой аутентификатор с возможностью экспорта/импорта и шифрования бэкапов
  • EDS Lite - клиент для работы с криптоконтейнерами VeraCrypt, TrueCrypt, LUKS. Полная версия находится здесь.
  • Password Store - клиент для pass
  • Shelter - песочница для изоляции приложений. Некоторые пишут, что приложение может окирпичить телефон, так что будьте аккуратнее.
  • Forecastie - прогноз погоды, использует OSM, есть погодная карта
  • Gadgetbridge - подключение умных часов и браслетов
  • Scrambled Exif - удаление EXIF из фотографий
  • Kiwix - выкачивание Википедии и некоторых других вики-сайтов и чтение их оффлайн
  • Vanilla Music - музыкальный плеер. Насколько я знаю, единственный поддерживающий теги в OGG Opus. По запросу «vanilla» в F-Droid находятся полезные дополнения.
  • Simple Mobile Tools - простые открытые реализации галереи, календаря, файлового менеджера, контактов, заметок, музыкального плеера, фонарика, калькулятора и других приложений
  • GameDealz - неофициальный клиент для сайта IsThereAnyDeal. Вкратце - поиск скидок на игры.
  • Phoenix for VK - открытый клиент для ВКонтакте. Полная версия платная, но можно собрать её самому. Есть опциональное e2e шифрование сообщений.
  • ClassyShark3xodus - сканирование всех приложений в системе на предмет трекеров. Использует базу Exodus Privacy.
  • Revolution IRC - клиент для IRC с неплохим интерфейсом
  • Bromite - форк хромиума, нацеленный на приватность и блокировку рекламы. Синхронизация, экономия данных и прочее - вырезано. Репозиторий для F-Droid - здесь. Имеет свой WebView с автоматической блокировкой рекламы.
  • Carnet - заметки. Поддержка синхронизации через Nextcloud.
  • Aurora Store - альтернативный клиент для Google Play. Имеет возможность установки приложений без аккаунта Google.
  • Aurora Droid - клиент для F-Droid. Интерфейс похож на Aurora Store. Имеет список из большого количества репозиториев, которые включаются по желанию.
  • Silence - обмен зашифрованными СМС
  • Pix-Art Messenger - форк Conversations. Клиент для XMPP. Имеет некоторые улучшения по сравнению с Conversations.

Предлагаю дополнить список в комментариях.

 , ,

Deleted
()

Опасные мониторы

Форум — Desktop

Начал углубляться в тему болезнености глаз. Хотел поделиться со всеми, кто пересобирает мир юзает африканский линупс. Причины усталости глаз:
— неродное разрешение монитора;
— ШИМ подсветки;
— излишняя или недостаточная яркость;
— кристаллический эффект (матовые дисплеи);
— блики (глянцевый дисплей);
— неправильное питание пикселей;
— шревты;
— растояние от дисплея;
— неправильная планировка времепровождения;
линупс
— ктулху.

Разбираем детально и ищем способы решения проблем.

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

ШИМ подсветки — беда и чума большинства современных мониторов. Яркость дисплеев регулируется путём изменения скважности импульсного питания подсветки. Регулировать яркость изменением тока невозможно, ибо кристал светодиода деградирует при незначительном уменьшении или превышении рабочего значения тока. По сути, светодиоды мерцают. Всегда.

Помните как нам вбивали в головы, что светодиоды это будущее? Мы ведь можем сэкономить 10Вт электроэнергии, что положительно скажется на выживании вымирающих видов африканских пони. Помните, да? Реальность обманчива — светодиоды просто дешевле, чем каноничные газоразрядные лампы. Несмотря на то, что яркость газоразрядных ламп тоже регулируется ШИМ — они не могут тухнуть моментально, таким образом уменьшая нагрузку на глаза. Светодиоды же, прекрасно и моментально тухнут.

Так что, разбираем монитор, выкидываем светодиоды и ставим лампочку Ильича. Берегите свои CRT и CCFL для детей — их глаза скажут вам спасибо. Да-да, CRT тоже. Никакого радиоактивного, альфа-, гамма-, бета-, тау-, лямбда- и прочего эзотерически-атсрального излучения у них нет. А те нещасные электроны, которые атакуют внутреннюю пов-сть дисплея не могут навредить на растоянии 20 и более см.

Яркость дисплея. Правило гласит: 100-200 Нт(Кд/м^2). Кроме того, разница между освещённостью окружающих пов-стей не должна превышать 200Лк (тут точно не помню, курим СанПин). Переводим взгляд на стену и затем, на монитор — уменьшаем яркость, если чувствуем напряжение в глазах. А у тебя продуманное общее освещение в помещении?

Кристаллический эффект. Зависит исключительно от типа покрытия дисплея. Такое ощущение, что мониторы тестируют свиборги, но не люди. Используем матовые дисплеи только в крайних случаях — в полевых условиях. В условиях нормальной и продуктивной работы в помещении — глянцевые дисплеи. А если пов-сть экрана бликует, то виноват в этом не дисплей, а твои кривые руки и бездарность в планировке рабочего места.

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

Ещё немного по дешёвым матрицам. Часто применяют низкокачественные поляризаторы, что приводит к цветовой инверсии и муару, но косвенно влияет на зрение.

Шревты. Ещё Татьяныч об этом говорил. Юзаем нормальные ttf-шрифты и будет счастье. Желательно использовать полный хинтинг, чтобы глифы выглядели отчётливо, без гламура и красоты. Береги глаза, гентушник.

И ещё — юзаем человеческие темы, которые обеспечивают хорошую контрастность между текстом и фоном. Помнишь тот обоссаный фон в старых форточках? Он всяко оптимальнее белого фона. Стандартная тема в Gnome 3 — сущий ад, ибо в ней меняется контрастность окон в зависимости от фокуса. Только индусы без глаз могли такое придумать. Ну и белые литеры со слабым хинтингом на чёрном фоне всяко способствуют улучшению зоркости.

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

По теме:
http://techmind.org/lcd/dotinv.html
http://techmind.org/lcd/dotinvrgb.html
http://techmind.org/lcd/dotinv2l.html
http://techmind.org/lcd/dotinv2lb.html
http://techmind.org/lcd/dotinvrgb2l.html
http://techmind.org/lcd/dotinvrgb2lb.html

Если у тебя хотя бы на одном видно мерцание — выкинь монитор в окно. Береги глаза — они всяко дороже твоего говномонитора.

P.S. У меня мерцает на 3 и 5. При этом, если изменить контрастность с 50 на 49 и обратно, то мерцание исчезает. Исчезает до первого изменения фона на экране. Диагноз — брак в микроконтроллере монитора (или в его ПО, что не суть, ибо дома не решается). Печально, что при покупке монитора об этом обо всём не знал. Сейчас же глаза на лоб лезут. Монитор — Philips IPS 237E. Не покупайте этот и похожий на него шлак.

P.P.S. Приношу извинения линупсоидам, которых обвинял в кривых шрифтах. Действительно, ранее полагал, что глаза болят из-за кривых шрифтов в линукс. Хотел лично подвергнуть карам Столлмана, честное слово. На самом деле, пусть и не все, но часть шрифтов вполне годная. Те же liberation, droid.

sailter
()

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

Форум — Mobile

Нужен для программ из F-Droid, интернета (e-mail, ssh, web), GSM-звонков. Можно без камеры.

Критерии выбора:

1) До 140$ (9к руб.). Можно чуть выйти за пределы бюджета, но не желательно.

2) Новый (не б. у., не восстановленный, не уцененный) с самовывозом в СПб.

3) Не Huawei и не ZTE.

 , ,

Deleted
()

оповещение через telegram

Форум — Development

Есть у меня скажем build машина которая что-то собирает и когда соберет было бы круто дернуть какой-то скрипт который напишет «я собрал» в telegram группу. кто нибудь знает как это сделать?

 

quester
()

А есть нормальная и адекватная литература по структурам данных и алгоритмам

Форум — Development

Собственно потребовалось ручками реализовывать разные деревья, решил книжки посмотреть, а там непотребство пишут - даже на простых вещах обсираются по полной, как пример путают Tree Sort с поиском по BST дереву, хотя Tree Sort в общем случае вполне себе работает с данными, которые дублируются, т.к. работает с частично-упорядоченными бинарными деревьями, а не с BST деревьями, которые по определению полностью упорядоченные.

 , ,

peregrine
()

Смена деятельности на физику в 30+

Форум — Talks

Привет ЛОР. Такая штука - в свои тридцать с небольшим хочу сменить сферу деятельности на сабж. Из относящегося к делу опыта немножко знаю школьный курс (Ландсберг прочитан), совсем чуть - ОТО. Теоретически, на текущем месте есть возможность читать любую литературу. Подскажи, в какую сторону смотреть (платформы/технологии/етц)? Что изучать востребованное, и не самым космическим входным порогом?

 ,

Deleted
()

Что происходит с людьми после 30+?

Форум — Talks

Открываю трекер и вижу такую картину: https://imgur.com/a/SSTvLrf

Это что, выгорание? Если да, то как этого избежать?

Я не хочу через десяток лет начать постить темы про «Смена деятельности на балет и керамику в 30+».

 ,

Octagon
()

Не могу найти работу джуном в бэкенд разработке.

Форум — Web-development

Есть небольшой опыт разработки сайтов. Верстка, фронтенд, посадка на cms. В общей сложно сверстал и посадил на cms 7 сайтов. Один из которых интернет-магаз на OpenCart 2. Остальные на WP & MODX Revo. Есть сайт-портфолио с блогом на Yii2. Последняя работа - сайт-портфолио с блогом, тегами, категориями, раздельной авторизацией и аутентификацией (полностью раздельная, с двумя разными таблицами юзера и админа которым можно назначать разные роли) и системой комментирования с премодерацией из админки на Laravel 5.5. Так же есть работы на vue js, создал блог с помощью WP REST API и прикрутил его к интернет-магазину на OpenCart2. Работаю в Ubuntu. Git, Sass, Vanilla js, Gulp, Composer - все эти технологии активно применяю в разработке. Да опыт небольшой, но неужели его слишком мало для того чтобы работать джуном в бэкенде? Ожидаемую з.п выставил 200 баксов. Были пару откликов на мое резюме, но там совсем уж неадекваты. Первый работодатель начал рассказывать про какую-ту структуру напоминающую сетевой маркетинг и обещал через три месяца бесплатного испытательного срока увезти в США но для этого первые три месяца я должен буду вкалывать без выходных-проходных, удаленно, на своей старенькой машине, плюс какие-то психотесты и сканы своих документов должен выслать. Второй работодатель предлагал тоже работать бесплатно, уже пол года и не в команде, а как только чему-то научусь то будет платить, правда старый комп с гигом оперативы и хр виндой на борту которую нельзя менять обещал предоставить)) Вобщем хз что делать. А на сайте поиска работы одни и теже объявления болтаються месяцами.

 

Jopokrut
()

pygtk and threadы

Форум — Development

есть TreeView на раскрытие узла в отдельном треде пытаюсь добавить дочерние

class UpdateTV(threading.Thread):
    def __init__(self, tv, iter):
        super(UpdateTV, self).__init__()
        self.tv = tv
        self.iter = iter
        self.status_run = False

    def run(self):
        #
        self.status_run = True

        model = self.tv.get_model()
        for i in range(10):
            if not self.status_run:
                break

            model.append(self.iter, ["Added_node#", str(i)])

высыпается в Gtk-CRITICAL **: gtk_tree_store_insert_with_valuesv: assertion `VALID_ITER (parent, tree_store)' failed

весь example http://bpaste.net/show/162777/

 ,

deity
()

Профили AppArmor для Viber и Telegram

Форум — Security

Приветствую! Переполненный желанием принести сообществу красноглазых хоть какую-то пользу, решил выложить для всеобщего пользования профили безопасности AppArmor для постоянно сидящих в сети неугодных Столлману мессенджеров Viber и Telegram. Профили созданы на Kubuntu 16.04 и минимально тестировались (вроде запускаются, то есть) только на ней же. За основу был взят найденный где-то в сети профиль для скайпа. Часть правил осталась от скайпа, и, возможно, не нужна. В тексте профиля следует заменить /raid/downloads/ на нужную папку для загрузки\выгрузки файлов. Предполагается, что Viber ставился deb-пакетом с официального сайта, а Telegram - из ppa, оба в /opt. Мои исходные тексты выкладываются под свободной лицензией PIZZA-WARE. Дальнейшее совершенствование всемерно приветствуется, особенно в части доступа к оборудованию.

Viber:

#include <tunables/global>
/opt/viber/Viber {
  #include <abstractions/audio>
  #include <abstractions/consoles>
  #include <abstractions/dbus>
  #include <abstractions/gnome>
  #include <abstractions/kde>
  #include <abstractions/nameservice>
  #include <abstractions/video>

  # Executables
  /opt/viber/Viber ixmr,
  /usr/bin/xdg-open PUxmr,

  # Configuration files
  owner @{HOME}/.ViberPC/ rw,
  owner @{HOME}/.ViberPC/** krw,

  # Downloads/uploads directory
  /raid/downloads/** krw,
  
  # Libraries and other data
  /opt/viber/** mr,

  # Shared data
  /usr/share/viber/ r,
  /usr/share/viber/** r,

  # Devices
  /dev/ r,
  /dev/video[0-9]* mrw,
  /dev/nvidia* rw,

  # System information
  /etc/machine-id r,
  @{PROC}/sys/kernel/{ostype,osrelease} r,
  @{PROC}/sys/vm/overcommit_memory r,
  @{PROC}/[0-9]*/net/arp r,
  owner @{PROC}/[0-9]*/cmdline r,
  owner @{PROC}/[0-9]*/status r,
  owner @{PROC}/[0-9]*/task/ r,
  owner @{PROC}/[0-9]*/task/[0-9]*/stat r,
  /sys/devices/system/cpu/ r,
  /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_{cur_freq,max_freq} r,
  /sys/devices/pci*/*/** r,
  /sys/bus/pci/** r,

  # This probably should go to appropriate abstractions
  owner @{HOME}/.config/fontconfig/fonts.conf r,
  owner @{HOME}/.config/gtk-3.0/bookmarks r,
  owner @{HOME}/.config/pulse/cookie krw,
  owner @{HOME}/.icons/** r,
  owner @{HOME}/.kde/share/config/kioslaverc r,

  # Denials
  deny owner @{HOME}/.mozilla/ r,
  deny owner @{HOME}/.mozilla/** r,
  deny /sys/devices/virtual/dmi/** r,
}

Telegram:

#include <tunables/global>
/opt/telegram/Telegram {
  #include <abstractions/audio>
  #include <abstractions/consoles>
  #include <abstractions/dbus>
  #include <abstractions/gnome>
  #include <abstractions/kde>
  #include <abstractions/nameservice>
  #include <abstractions/video>

  # Executables
  /opt/telegram/Telegram ixmr,
  /usr/bin/xdg-open PUxmr,

  # Configuration files
  owner @{HOME}/.TelegramDesktop/ rw,
  owner @{HOME}/.TelegramDesktop/** krw,

  # Downloads/uploads directory
  /raid/downloads/** krw,
  
  # Libraries and other data
  /opt/telegram/** mr,

  # Devices
  /dev/ r,
  /dev/video[0-9]* mrw,
  /dev/nvidia* rw,

  # System information
  /etc/machine-id r,
  @{PROC}/sys/kernel/{ostype,osrelease} r,
  @{PROC}/sys/vm/overcommit_memory r,
  @{PROC}/[0-9]*/net/arp r,
  owner @{PROC}/[0-9]*/cmdline r,
  owner @{PROC}/[0-9]*/status r,
  owner @{PROC}/[0-9]*/task/ r,
  owner @{PROC}/[0-9]*/task/[0-9]*/stat r,
  /sys/devices/system/cpu/ r,
  /sys/devices/system/cpu/cpu[0-9]*/cpufreq/scaling_{cur_freq,max_freq} r,
  /sys/devices/pci*/*/** r,
  /sys/bus/pci/** r,

  # This probably should go to appropriate abstractions
  owner @{HOME}/.config/fontconfig/fonts.conf r,
  owner @{HOME}/.config/gtk-3.0/bookmarks r,
  owner @{HOME}/.config/pulse/cookie krw,
  owner @{HOME}/.icons/** r,
  owner @{HOME}/.kde/share/config/kioslaverc r,

  # Denials
  deny owner @{HOME}/.mozilla/ r,
  deny owner @{HOME}/.mozilla/** r,
  deny /sys/devices/virtual/dmi/** r,
}

PS Так же починил профиль для работы openjdk icedtea 8 в Firefox. Если кого интересует - готов выложить.

 , ,

Doge
()

CloudCross — новая версия 1.2.0

Новости — Open Source
Группа Open Source

CloudCross — консольный клиент для синхронизации локальных файлов с различными облачными хранилищами. В новой версии, к существующей поддержке Dropbox и Google Drive, добавлена поддержка Яндекс.Диск.

Возможности:

  • Поддержка Яндекс.Диск, Dropbox и Google Drive.
  • Конвертация «на лету» из офисных форматов в формат Google Docs и обратно.
  • Возможность определения приоритета синхронизации локальных файлов над удаленными или наоборот.
  • Поддержка черных и белых списков файлов для синхронизации.

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

 , ,

CreepingDeath
()