LINUX.ORG.RU

Сообщения snizovtsev

 

Major Linux Problems on the Desktop, 2018 edition

Форум — Talks

Вышла новая редакция простыни, почему Linux не готов для десктопа: https://itvision.altervista.org/why.linux.is.not.ready.for.the.desktop.curren...
Список проблем был написан автором ещё в 2012 году перед уходом на macos, и с тех пор большая часть пунктов не потеряла актуальности.
TLDR:

  • NVIDIA Optimus и ATI dynamic GPU не работают из коробки;
  • С NVIDIA всё совсем плохо, а тиринг есть у всех;
  • Нет подавления эха в микрофоне из коробки, как в windows/mac;
  • В ядре постоянно что нибудь ломают;
  • В X.org куча старых багов и проблем, висящих десятилетиями;
  • В Wayland невозможен эффективный RDP, а также полная вакханалия между тулкитами;
  • ШГ ещё актуально, но тут есть подвижки;
  • Коммерческого софта нет, как и условий для его рождения;
  • LTS дистрибутивы непригодны для использования, т.к. не поддерживают актуальное железо;
  • Ошибки в systemd, графических и аудио драйверах накрывают всю систему целиком, тогда как винда уже научилась перезагружать их бесшовно;
  • Разработчики ядра любят замалчивать новости об уязвимостях, и в 2017 году в одном только ядре было найдено 453 уязвимости против 286 во всем стеке Windows 10;
  • Большинство дистрибутивов не проводят аудит кода пакетов, поэтому ничто не мешает включить туда бэкдор;

 ,

snizovtsev ()

Обратный индекс HTTP заколовков веба

Форум — Security

Например, чтобы быстро посмотреть по Server популярные edge proxy.
Или по известной/найденной уязвимости в опенсорс продукте, опознающимся по заколовкам, быстро найти все bug bounty программы, которые он может аффектить.
Или найти все (популярные) хосты, которые ставят определённую куку.

Ведь наверняка такой сервис уже придумали, да?

 ,

snizovtsev ()

История интерактивных команд в Emacs

Форум — General

Переезжаю потихоньку с Vim на Emacs (+evil), в целом доволен - фич больше и работают они лучше, хотя конфигурировать его кратно сложнее для меня пока. В качестве starter kit взял Doom (develop branch) и доволен - он намного понятнее и легче Spacemacs.

Но появилась заноза. В emacs часто работа с интерактивной командой выглядит как M-x набор команды с Helm <RET> параметр в Helm <RET>, например:

M-x man <RET> bash <RET>
M-x customize-variable <RET> fill-column <RET>
M-x cd <RET> path <RET>

И это неудобно. Хочется иметь возможность:
1. Вернуться из второго интерактивного уровня в первый, т.е. отредатировать команду man, cd, etc.
2. «Перемещаться по истории команд» как в виме с ":<c-p>" - вернёт старую команду и даст мне её отредактировать. В случае с emacs я вижу это так:
M-x cd <RET> /some/long/path/to/dir <C-g>
M-x "жму волшебный хоткей" - емакс переключает меня в "cd" и подставляет /some/long/path/to/dir в Helm. 

Желательно чтобы работало в общем случае, а не отдельно для каждой интерактивной команды. Есть такое в природе?

UPD: в doom/evil есть какая-то эмуляция ":" в minibuffer, но аргументы там не работают. ":man bash" открывает просто «M-x man <RET>» и даже bash туда не подставляет.

 ,

snizovtsev ()

Почему конторы вроде outreachy не поддерживают левшей?

Форум — Talks

[Ночной тред-упорин]

Сейчас все крупные конторы очень любят заявлять, что они все такие хорошие, не дискриминируют по полу, расе и предпочтениям. Постойте, а что там с левшами?

Берём Microsoft - все ассиметричные мышки исключительно для правшей.
Берём Ikea - все ножницы для правшей.
Берём Apple - iPad держит негр правой рукой.
Берём любую клавиатуру - стрелки всегда справа.

Я не левша, но считаю что левшей дискриминируют и обижают.
Дискасс.

 ,

snizovtsev ()

ООО «Элтекс» и нарушения GPL. Куда сообщать?

Форум — Talks

Сабж, вышла на хабре статья про то, какие они молодцы. В комментариях заявление от их корпоративного аккаунта:

https://habr.com/ru/post/435990/#comment_19615796

В компании работает около 200 программистов, которые пишут софт для оборудования. Все исходные коды принадлежат ЭЛТЕКС.

По факту на сайте лежит образ ФС их промышленного роутера с Linux, Busybox, GDB, OpenJDK и ещё кучи всего. Исходников, конечно, нет и, видимо, не предоставят - на их форуме гуглится много таких вопросов, всех послали.

Куда писать об GPL Violation, чтобы они на них натравили свору юристов? FSF/EFF, они же деньги от всяких handshake получали на это? Есть у кого подобный опыт?

 ,

snizovtsev ()

Перевод выделенного слова в тултипе

Форум — Desktop

На macos с незапамятных времен есть встроенная фича, когда можно навести курсор на слово в любом приложении (умеющем копипасту), нажать глобальный хоткей и получить красивый тултип со значением слова из словаря. Помню совсем давно такое было в Lingvo.

Выглядит так: https://media.giphy.com/media/oHxWcCPfrlUjY8gRmx/giphy.gif

Возможно ли такое настроить или написать самому в Gnome/Wayland? Т.е. понятно, что можно заскриптовать отправку clipboard selection в окно словаря или уведомление, но хочется именно чтобы создавалось такое временное окно, спозиционированное рядом с выделенным текстом.

Возможно ли вообще, в теории, вычислить абсолютные координаты выделенного текста в X11/Wayland?

P.S. Подумал, что как костыль можно было бы эмулировать двойной клик (выделить слово), получить selection и показать тултип под курсором. Не будет работать с гиперссылками, ну и хрен с ними. Может уже кто написал такое?

 , ,

snizovtsev ()

Не работайте в Oracle

Форум — Talks

Наткнулся тут на интересный тред HackerNews, странно что на ЛОР ещё не приносили:

Q: What's the largest amount of bad code you have ever seen work?
A: Oracle Database 12.2.

Here is how the life of an Oracle Database developer is:

  • Start working on a new bug.
  • Spend two weeks trying to understand the 20 different flags that interact in mysterious ways to cause this bag.
  • Add one more flag to handle the new special scenario. Add a few more lines of code that checks this flag and works around the problematic situation and avoids the bug.
  • Submit the changes to a test farm consisting of about 100 to 200 servers that would compile the code, build a new Oracle DB, and run the millions of tests in a distributed fashion.
  • Go home. Come the next day and work on something else. The tests can take 20 hours to 30 hours to complete.
  • Go home. Come the next day and check your farm test results. On a good day, there would be about 100 failing tests. On a bad day, there would be about 1000 failing tests. Pick some of these tests randomly and try to understand what went wrong with your assumptions. Maybe there are some 10 more flags to consider to truly understand the nature of the bug.
  • Add a few more flags in an attempt to fix the issue. Submit the changes again for testing. Wait another 20 to 30 hours.
  • Rinse and repeat for another two weeks until you get the mysterious incantation of the combination of flags right.
  • Finally one fine day you would succeed with 0 tests failing.
  • Add a hundred more tests for your new change to ensure that the next developer who has the misfortune of touching this new piece of code never ends up breaking your fix.
  • Submit the work for one final round of testing. Then submit it for review. The review itself may take another 2 weeks to 2 months. So now move on to the next bug to work on.
  • After 2 weeks to 2 months, when everything is complete, the code would be finally merged into the main branch.


А с каким говнокодом приходилось работать вам?

 ,

snizovtsev ()

Project Mu — реализация UEFI на базе TianoCore

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

Microsoft анонсировала Project Mu — адаптацию TianoCore edk2, распространяемую под лицензией 2-clause BSD.

Project Mu представляет собой набор из репозиториев, предназначенных для сборки UEFI. Project Mu использует TianoCore edk2 в качестве upstream, но при этом имеет значительные изменения и улучшения для использования в крупных проектах.

Проект учитывает реалии вендоров, которым требуется интегрировать аппаратно-специфичные части под NDA. Структура кода организована таким образом, чтобы вендор мог изолировать проприетарные части в отдельный репозиторий.

Особенности проекта:

  • Структура репозиториев и процесс разработки адаптирован для распространения «Firmware as a Service».
  • Экранная клавиатура.
  • Безопасное управление настройками UEFI.
  • Улучшение безопасности за счет удаления неиспользуемого устаревшего кода (практика, известная как уменьшение поверхности атаки).
  • Ускорение загрузки.
  • Редизайн меню.
  • Множество тестов и утилит для оптимизации и анализа качества.

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

 ,

snizovtsev ()

Криптовалютные стартапы

Форум — Talks

В последнее время лезут со своими вакансиями со всех утюгов. В среднем предлагают ЗП выше рынка, нескучный стек из всяких Rust и Go и хайлоад.

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

Кто сталкивался?

 ,

snizovtsev ()

Возможно ли поставить 100HD на WAN порт OpenWrt @ Xiaomi R3G

Форум — Admin

Ситуация такая. Подключаюсь к интернету через 4-жильную пару провайдера (Москва Ростелеком Онлайм), но примерно полгода назад линк стал нестабильным. Опытным путём выяснилось, что:

  • На старом роутере Linksys EA2700 родной прошивки полная тыква: вечный бесконечный цикл link up/link down, настроек link layer нет;
  • При прямом соединении к ноутбуку линк прекрасно работает в 100FD;
  • Если накатить на EA2700 DD-WRT и выставить 100HD вручную через procfs, то линк стабильно работает и на роутере, но там глючит Wi-Fi;
  • Наконец руки добрались до установки OpenWrt на легендарный Xiaomi R3G. Он выбрал 100FD, даже подсеть IPv6-PD подхватил. Работает, но линк стабильно падает через ~10 секунд под нагрузкой вроде speedtest. Просто с фоновым использованием не падает;
  • Если воткнуть Xiaomi через Linksys, а на последнем порт выставить в 100HD - всё работает (т.е. винован не openwrt).

    Вопрос, собственно, возможно ли на Xiaomi и OpenWrt выставить 100 Half Duplex? Пробовал:
  • Luci - ничего на нашёл;
  • /proc/switch как на DD-WRT нет;
  • swconfig dev switch0 port 1 set link "duplex full" выдаёт Failed to set attribute: Operation not supported

    Ещё варианты:
  • Пнуть саппорт - попробую, но сложно будет добиться от них адекватной реакции на технические детали, особенно когда с ноутбуком напрямую всё работает;
  • Переобжать - не помогает, хотя у меня руки кривые. Как проверить качество обжимки?
  • Cable tester стоит космических денег, у меня есть только мультиметр;
  • Перейти к другому провайдеру - техсуппорт Билайн написал, что IPv6 не предоставляют.

 , ,

snizovtsev ()

Трактор без корочки

Форум — Talks

3 года назад я должен был закончить один известный всем московский вуз по своей специальности (говнокодер), но так получилось, что диплом у меня не пошёл и я просто забил болт на защиту и выпуск на 5м курсе. Забрал аттестат из канцелярии и ушёл. В РФ мне это не мешает, работодателям пофиг - его спрашивают только в HR на правах анкетирования.

Но вопрос по трактору. Для большинства стран, насколько я понимаю, для легального получения разрешение на работу требуется формальная корочка. В ЕС это общее условие для получения Blue Card, хотя страны могут на своё усмотрение сделать исключение кандидатам с 5 лет опыта по специальности (у меня есть в трудовой). Но, например, как я проверил - Чехия такое исключение не делает. И однозначный ответ на этот вопрос достаточно трудно найти на гос. сайтах стран.

Есть ли кого такой опыт (легального) переезда неучем в IT? Понятно, что США и западная европа в пролёте, но как к этому относится восточная европа (Польша, Венгрия, Эстония, Латвия, Словения)? Есть ли смысл отвечать на предложения рекрутеров с релокейтом?

P.S. О себе: белый гетеросексуальный мужчина, женат, 1 кот.

 , ,

snizovtsev ()

Как осуществить мягкий переход с vim на emacs/evil

Форум — General

После очередного dotfiles bankcruptcy (когда решил перенастроить всё как надо с нуля) кинул взгляд в стан Emacs. Посмотрел гифки, скриншоты, плагины и возникло ощущение, что я многое недополучаю в (neo)vim:

  • Emacs as daemon или «буферы отдельно, окна отдельно» - очень нужно для мультимониторной конфигурации и внешнего тайлинга;
  • Semantic и его производные произвели вау-эффект: stickyfunc, semantic-refactor;
  • Кажется TRAMP удобнее vim+tmux over ssh для разработки в больших долголинкующихся проектах на толстых разработческих серверах, плюс не нужно синхронизировать конфиг на несколко хостов;
  • В целом поддержка языков выглядит вкуснее аналогов vim даже в диапазоне одного проекта (cquery);
  • Интересная идея использовать dired для массового редактирования и (условно) атомарного коммита изменений метаданных ФС;
  • Интересная идея с minor-mode вроде follow-mode и disaster.

    Но на деле всё вышло не так просто. Сначала хотел настроить всё своими руками, чтобы лучше понимать происходящее под капотом. Столкнулся с недопониманием Emacs Lisp. В vim хоть и свой недоязычок, но можно быстро проверить однострочник в minibuffer с автодополнением, а затем прописать его в vimrc. Попутно почитать документацию в :help. В Emacs так не получилось, да и Lisp это не про однострочники. Вообщем - не пошло.

    Забил, поставил Spacemacs по рекоммендациям «как vim только лучше», прописал нужные layers - и вроде всё относительно сразу завелось с полпинка, но криво/непонятно/не-так-как-я-хочу и совсем неясно как научиться его кастомизировать. В Emacs Manual всё примеры основаны на key chords, а я принципиально считаю модальный режим лучше и не хочу тратить мышечную память на ещё один набор хоткеев. Возникла жуткая ломка по vim:

  • dired-mode и evil-mode пересекаются, поведение непредсказуемо как выход из vim для новичка;
  • регулярки всё равно не как в vim, например неполучилось использовать «context \zsXXX\ze context» в substitute;
  • :cd ~/some/dir, man something игнорируют параметр, заставляя меня вводить отдельно каждый уровень иерархии в Helm, когда мне проще ~/src/project набрать в стиле readline с tab и C-W;
  • FZF мне нравился больше Helm, опять же - нигде не работают привычные байндинги readline;
  • логично было бы заменить имаксом tmux и эмулятор терминала для удобной копипасты, но опять проблема с привычными хоткеями и интеграцией в evil. Ещё их 3 вида, все написаны на лиспе и есть проблема с тормознутостью и неправильной обработкой escape кодов и цветов;
  • Тут, похоже, не практикуется хорошо структурированный :help plugin-name как в vim. Авторы плагинов, видимо, предлагают мне сразу изучать их код на emacs lisp;
  • taskwarrior + vimwiki + taskwiki для меня понятнее и прощё чем монстр org-mode. У последнего нет API к списку задач, непонятно как их создавать/изменять из хуков мониторинга, например? Нормальной интеграции taskwarrior в заметки org-mode как делает taskwiki я не нашёл.

    Получилась простыня. Вопрос - как всё же правильно готовить Emacs? Как вы пересели с Vim на Evil Mode, как перестали бояться Emacs Lisp? Используете отдельный эмулятор и мультиплексор терминала или встроенные в Emacs? Или консольный Emacs внутрь tmux проинтегрировали аля kakoune?

 , ,

snizovtsev ()

Сосуществование nftables и iptables

Форум — Admin

Хочу тут наконец настроить прозначное перенаправление некоторых особенных IP адресов через локальную SOCKS прокси, заодно освоить netfilter на уровнь хорошего понимания, а не копипасты готовых решений.

Пишут, что iptables отныне legacy и лучше использовать nftables. Но, с другой стороны, от iptables в Arch зависят куча софта, даже systemd, не говоря о docker и подобных. Судя по выводу lsmod и различиям в дизайне они и в ядре разными модулями обрабатываются.

Вопрос, не будут ли мои правила nftables конфликтовать с динамически генерируемыми правилами от разного софта? Как вообще в ядре разруливается сосуществование двух фаерволов? Или ну его нафиг и писать правила iptables?

 , ,

snizovtsev ()

MacBook и iMac 2018 года теперь самоокирпичиваются при ремонте

Форум — Talks

https://vc.ru/tech/47205-apple-stala-blokirovat-remont-imac-pro-i-macbook-pro...

Ъ: Apple, используя хранилище Secure Enclave нового ARM чипа на материнке, сохраняет серийники всех компонентов ноутбука (включая батарею) и блокирует загрузку в случае неавторизованного ремонта. Разблокировать кирпич можно только с помощью Apple Service Toolkit 2, распространяемой только авторизованным сервисным центрам. Учитывая то, что зонд встроен в железо, просто так украсть тулзу от ремонтников, скорее всего, не выйдет.

Дискасс.

 ,

snizovtsev ()

Релиз libinput 1.12

Новости — Hardware and Drivers
Группа Hardware and Drivers

Состоялся новый значительный релиз библиотеки управления устройствами ввода, развиваемой в рамках проекта Freedesktop Wayland, но также используемой в X.org через драйвер xf86-input-libinput.

Библиотека получает и мультиплексирует сырые события различных устройств ввода от ядра (/dev/input), и преобразует их в стандартные примитивы событий ввода для использования приложениями. Поддерживаются почти все классы устройств ввода (кроме джойстиков), включая такие нетривиальные функции как мульти-тач-жесты, сила нажатия, виброотклик, ускорение trackpoint и многое другое.

В новой версии:

  • Поддержка device quirks, т.е. ручное конфигурирование аттрибутов устройств пользователем или дистрибутивом через ini-файлы в /etc/libinput или /usr/share/libinput (Документация).
  • Перевод документации на движок Sphinx, её переориентация на пользователя, а не разработчика.
  • Значительно улучшенная поддержка тачпадов, например фильтрация ладони на некоторых устройствах с полной поддержкой multitouch (Apple).
  • Улучшена поддержка прокрутки (scrolling) двумя пальцами: теперь при продолжительной прокрутке вычисляется направление движения (горизонтальное или вертикальное), а события ортогональных направлений гасятся.
  • Новый метод расcчёта ускорения при использовании trackpoint (aka красная точка thinkpad).
  • Больше не используется усреднение скорости, чтобы не терять точность на качественных устройствах.
  • Официальная поддержка FreeBSD.

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

 , ,

snizovtsev ()

NixOS на ноутбуке, стоит ли?

Форум — Desktop

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

Раньше долго пользовался Ubuntu, сейчас установил Arch. Но полностью ими не остался доволен. В Ubuntu запутанная схема пересборки пакетов, в Arch проще, но pacman кажется мне слишком примитивным. С Nix уже работал, но не как с дистрибутивом, а как средой сборки зависимостей к проекту и остался очень доволен. Т.е. как в менеджере пакетов я в нём уверен, а вот как в базовой системе - не очень.

Хочется иметь возмоность быстро разворачивать работающую _воспроизводимую_ среду сборки пакета, пилить кастомные патчи, а затем быстро деплоить в систему как override мейнстримного сборочного рецепта (чтобы не терять обновлений). Также идея rolling release иногда заставляет разбираться с проблемами апдейтов сейчас, а хочется просто откатить и решать потом.

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

 , ,

snizovtsev ()

Как пофиксить неверный DisplaySize в EDID внешнего монитора

Форум — Desktop

Имеется 27" 2560x1440 монитор, который работает прекрасно в wayland с mutter (gnome) композитором с одним НО. Криворукие корейцы зашили в его EDID неверную геометрию, а именно 23" вместо 27":

$ weston-info
...
        physical_width: 510mm, physical_height: 290mm
...
$ parse-edid < /sys/class/drm/card0-HDMI-A-1/edid
...
        DisplaySize 510 290


Верный geometry здесь должен быть 600mm x 336mm.

Поскольку Wayland и тулкиты под ним, видимо, умные и умеют скейлить интерфейс в зависиомсти от текущего PPI (видно по разнице между переключением Qt5/xcb и Qt5/wayland одного приложения), то сабж хочется пофиксить.

Вопрос: как переопределить заводские параметры EDID для Wayland? Если в X11 это делается строчкой в xorg.conf, то где аналог тут? Логично было бы настроить это правилом udev, но я нигде не нашёл спецификации аттрибутов для монитора. В udev я вообще не нашёл зацепки на ID монитора, а использовать ID выхода HDMI не совсем корректно (хоть и сгодится как хак).

 , , ,

snizovtsev ()

Роскомнадзор блокирует 36 подсетей, включая AWS

Форум — Talks

https://republic.ru/posts/90169
https://geektimes.ru/post/299341/

Ъ: Роскомнадзор выдал операторам связи рекомендации о блокировке интернет-рации Zello. Ведомство назвало подсети, которые нужно заблокировать «для эффективной деградации сервиса». Всего в список попали 36 подсетей, из них 26 принадлежат Amazon. Эти сети содержат 15 млн IP-адресов.

Ну что, у кого тут хата скраю и vpn/ssh на ламповом сервачке?

 , ,

snizovtsev ()

Visual C++ for Linux Development

Форум — Talks

Microsoft выпустила дополнение, позволяющее разрабатывать приложения для Linux в Visual C++ (нужен удаленный Linux). Имеется поддержка GDB, ARM, Raspberry Pi и десктопных приложений.

Пруф: https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-develop...

 , ,

snizovtsev ()

Транспорт в городе

Форум — Talks

В треде про курение возникло много оффтопика на автотему, поэтому предлагаю обсудить её отдельно.

Жители крупных городов (дс-1, дс-2) страдают от пробок, выхлопных газов, шума с дорог, неудобства передвижения пешком (обходить припаркованные автомобили, ждать светофоров по 3 минуты, подниматься по лестницам в переходы, делать крюк до перехода).

Какие, по вашему мнению, меры помогут разрешить ситуацию лучше всего (можно комбинацию нескольких вариантов):

1. Строить больше дорог и развязок.
2. Развивать общественный транспорт (уменьшать цену, развивать маршруты, выделять полосы).
3. [В будущем] Переходить на электромобили (повышать налог на двс).
4. Переходить на мотоциклы, миникары (повышать налог на габаритный транспорт).
5. [В будущем] Переходить на беспилотные такси с централизованным городским управлением.
6. Развивать велосипедную инфраструктуру, в.т.ч. с возможностью нормально совмещать её с другими видами транспорта.
7. Снижать необходимость в транспорте, децентрализовывать поселения: поощрять работу по удалёнке, строить всё необходимое по близости от дома.
8. Другой вариант (опишите в комментариях).

snizovtsev ()

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