LINUX.ORG.RU

Сообщения vertexua

 

Для чего вы бы согласились пользоваться приложением на Electron?

Голосования — Голосования

Для тех, кто не знает что это такое - https://electronjs.org/. Фреймворк построения десктопных приложений на NodeJS+JavaScript.

Критикуется за потребление 150 МБ памяти на базовом Hello World, потому что именно столько потребляет одна вкладка с Webkit в браузерах, и несоответствие системному стилю Gtk+/Qt.

Примеры приложений на Electron - Atom, VSCode, Skype, Discord, Slack, Google Music Desktop, Etcher, hyper.is и даже эмулятор Windows 95.

  1. Только если нету альтернатив 390 (52%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Для любых целей, меня не волнует технология внутри 196 (26%)

    ****************************************************************************************************************************************************************

  3. Принципиально избегаю 190 (25%)

    ***********************************************************************************************************************************************************

  4. Только для больших приложений, когда потребление памяти самого Electron незначительно по сравнению с потреблением приложения 77 (10%)

    ***************************************************************

  5. Для любых целей, я предпочитаю Electron 10 (1%)

    ********

Всего голосов: 863, всего проголосовавших: 748

 , ,

vertexua
()

Твиттер на ЛОРе: кто по чему сейчас угорает?

Форум — Talks

Коротко пишем кто что интересное сейчас изучает, технологии, языки или что-то не связанное с IT. Попытайтесь вместить в классические 140 символов.

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

 , ,

vertexua
()

Вышел Rust 1.37.0

Новости — Разработка
Группа Разработка

Среди нововедений:

  • Разрешено ссылаться на варианты enum через псевдонимы типов (type aliases), например через Self.
  • cargo vendor теперь входит в стандартную поставку.
    • С помощью cargo vendor можно явно скачивать и использовать полную копию всех исходных кодов всех зависимостей. Это полезно для компаний с монорепозиториями, которые хотели бы хранить и анализировать весь исходный код, используемый в их ПО.
  • Поддержка const _:.
  • Поддержка Profile Guided Optimization.
  • Поддержка #[repr(align(N))] для лучшего контроля над выравниванием в Enum.
  • Изменения в стандартной библиотеке.
  • Изменения в Clippy
  • Microsoft и Amazon стали спонсорами Rust, предоставив облачную инфраструктуру для сборки и тестирования Rust.

>>> Анонс

 ,

vertexua
()

topgrade - фронтенд к полному обновлению системы

Форум — Admin

Утилиту писал не я и не кто-то из знакомых, просто очень хорошая штука, решил попиарить. Обновляет всю систему, дергает ваш пакетный менеджер, потому всякие пакетные менеджеры в хомяке, npm, vundle, и так далее. Полный список на гитхабе.

https://github.com/r-darwish/topgrade

Установите Rust через rustup.rs

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Потом (утилиту установит в ~/.cargo/bin):

$ cargo install topgrade
$ topgrade -n

Ключ -n чтобы оно вхолостую только показало что оно планировало сделать. Убираем ключ и запускаем еще раз для обновления.

 ,

vertexua
()

Печальное положение вещей с библиотеками для графиков в GTK

Форум — Talks

Чтобы никто не сказал что я не умею искать, вот эти ребята похоже тоже не умеют:

https://github.com/GNOME/gnome-system-monitor/blob/master/src/load-graph.cpp

По ссылке гора Cairo-лапши чтобы нарисовать графички в Gnome System Monitor.

https://cairographics.org/examples/ - в группе «Charting» тонна мертвечины или либ написаных сразу для Python.

Если вы даже откопаете либу из 90-х со странным интерфейсом, то упаси Бг вы желаете странного - хотите байндинг к вашему языку программирования.

Тема непосредственно связана с: Для чего вы бы согласились пользоваться приложением на Electron?, потому что я планирую сдаться.

Я все сказал.

 , ,

vertexua
()

Оценка потребления памяти

Форум — Development

Каждый из нас может запустить локально htop и он покажет RSS, VSS и остальные метрики, ни одна из которых не скажет конкретно сколько памяти потребляет Хром. Но если закрыть Хром, то free покажет большее число чем раньше и вот именно это один из лучших показателей который у нас есть, учитывая чрезвычайно сложную архитектуру памяти Linux.

Есть две идеи как написать более полезный софт для оценки потребления памяти, чем htop.

Сначала каким-то образом, пусть хоть регексами по именам процессов разбить все процессы на группы, например родительский процесс и дочерные процессы Chrome или Firefox будут считаться группами «Chrome»/«Firefox». По определенным правилам выделить процессы DE, например «Gnome», «KDE» и так далее.

Потом есть два способа оценки потребления памяти со своими недостатками.

1) Просто показывать сумму по группе от rssanon в /proc/<pid>/status всех процессов и считать что именно этот показатель будет доминировать в больших приложениях. Придется игнорировать shared memory, data, code, что в принципе нормально для оценки. Главное что rssanon исключает rssfile, который не критичен и эти страницы легко будут сброшены в сам файл назад. Конечно для некоторых групп можно включать в сумму другие показатели, но в редких случаях.

2) Смотреть исключительно на суммарную занятую память на уровне всей системы и на количество процессов в группах на протяжении времени. После достаточного времени сборки статистики к этим данным можно примерить что-то вроде линейной регрессии или подобный метод. Мы получим среднюю по больнице стоимость процесса внутри группы. Плюсом этого подхода есть то, что мы не ввязываемся в выбор что мерять на уровне процесса, а оцениваем эффект на суммарное потребление. Например это будет хорошо работать для браузеров, выделяющих по процессу на вкладку и это количество часто меняется во время использования. Это даже будет работать для групп с одним процессом, который запущен или нет, например «Music Player». Недостатком есть то, что группы, в которых количество процессов неизменно со старта системы скорее всего будут отнесены к коэффициенту-константе. Конечно можно обозвать это группой «Система» и забыть, но тогда мы скорее всего смешаем Init System + X + DE.

Что скажете? Идея сыровата, но может быть может развита. Посоветуйте что и как можно к этом добавить, у кого какие идеи.

 , ,

vertexua
()

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

Форум — Admin

Интересная идея появилась, я вроде бы о таком в обычных десктопных системах на основе Linux не слышал.

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

Пример - мой телефон находится в той же сети WiFi.

Есть ли протоколы, которые можно было бы покопать, где продуманы нюансы с безопасностью? Даже если не реализовано для Linux, мог бы написать PAM модуль на коленке.

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

Способ просто вставлять и вытягивать U2F в систему мне известен, но хотелось бы что-то что не требует никаких явных действий

 , ,

vertexua
()

Подскажите книку о современном Linux

Форум — Admin

Вот есть всем известная Pirate Book

https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0131480057/

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

Пишут ли современные книги где описывается современный Linux. Например чтобы много внимания уделялось подсистеме cgroups, настройками изоляции и безопасности, подсистемы systemd. Чтобы описывались дистрибутивы для контенеризированого софта - CoreOS, Atomic Host, Clear Linux. Всякие системы обьединения этого в кластера.

Причем меня не интересует мануал по Docker/Kubernetes. Пишут ли книги вроде Pirate Book о всем про все, но сейчас?

 , ,

vertexua
()

Вы доверяете сервисам хранения паролей?

Форум — Talks

Chrome Autofill, Firefox Sync, KeePass, LastPass? Что-то от Microsoft? Даже с лучшими намерениями самих сервисом, они как минимум могут быть взломаны.

Я знаю все практики - двухфакторная авторизация (кто-то за счет нее ставит password как пароль), сложные случайные пароли и т.д. Но хотелось бы узнать кто что делает, почему? Доверяете ли вы одним из сервисов выше, но не другим из того же списка? Доверяете ли вы им для хранения номеров карточек (учитывая распространение Visa3D Secure)?

 ,

vertexua
()

Кто-то пользовался rkt?

Форум — Admin

Вместо docker например. Какие истории успеха и неуспеха? Что стоит знать?

https://coreos.com/rkt/

 , rkt,

vertexua
()

Архиерейский собор - филиал gnu.org

Форум — Talks

http://www.patriarchia.ru/db/text/2775107.html

Статья 2013го, но я уверен что мало кто это видел. Это еще не просто статья, а как бы официальная позиция церкви

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

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

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

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

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

Надо спросить, рекомендует ли Архиерейский собор пользоваться Tor и I2P

 , , , ,

vertexua
()

Cloud-разработка в Chrome OS на ASUS Chromebit и Kubernetes+CoreOS

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

У меня давно настроен Kubernetes+CoreOS на одной машине и это позволяет мне экспериментировать с разработкой распределенных приложений дома и запускать разные сервисы вроде торрентов и транскодинга в условиях жесткой изоляции среды и ресурсов.

Я решил попробовать устроить себе среду разработки, которая будет соответствовать определенным критериям

  • Будет глобально доступна с любой машины в мире без установки софта кроме браузера.
  • При работе с другого континента не будет ощущаться задержка при печати как было бы в vim+tmux. mosh скорее всего бы не решил проблему с vim.
  • Глобально доступны по HTTPS веб-приложения запущеные в этой среде
  • В Linux среде где запускается разрабатываемое приложение можно заменить дистрибутив на другой за несколько минут, но сохранить home.

Чтобы эксперимент был чистым все это тестируется на ASUS Chromebit со стоковой ChromeOS, 2 ГБ памяти и ARM Rockchip Quad-Core RK3288C, которая размером с большую флешку и воткнута в телевизор LG 49LB550V. Потому шрифты могут быть чуть больше чем обычно, чтобы было лучше видно на телевизоре. Устройство очень маломощное, но работает быстро потому что в ChromeOS нету дискового swap, только RAM+zRAM и если что-то не влезает, то выгружается.

Скриншоты

  • Редактор Codiad в полноекранном режиме. В принципе можно установить любой другой, но для обычного редактирование текста он подходит. Если найду такой, который потребляет мало памяти и умеет режим vim, поставлю его.
  • tmux. Вот так выглядит контейнер для разработки. Он совершенно отдельный от Codiad и я могу менять в нем дистры простым редактированием Dockerfile. В него и в Codiad примонтирован один и тот-же каталог с исходным кодом. При смене контейнера home тоже сохраняется. В данном случае в контейнере последняя версия Ubuntu, но ядро как всегда остается хостовым от CoreOS. В контейнер заранее установлены средства разработки на C++, Go, Python, NodeJS.
  • Caddy, который вы видели запущеным в контейнере. Интересная часть заключается в том, что для него создается виртуальный хост, создается Let's Encrypt сертификат и производится авторизация. Это умеет делать и сам Caddy, но он тут просто для демо. Суть в том, что в данном случае это будет делаться на уровне nginx фронтенда для любого приложения открывшего порт 8080 в контейнере
  • tmux+vim. Если работать не издалека, то вполне можно просто пользоваться tmux+vim. Плагины на него устанавливаются в home и в основном продолжают работу при смене дистра, кроме тех, которым нужна перекомпиляция.
  • Внутренности. Это Kubernetes Dashboard. В ней вы видите некоторые из упомянутых выше контейнеров и еще много чего. Для временных изменений некоторые параментры контейнеров можно менять прямо в UI, но лучше конечно через файл конфигурации.

Изначально CoreOS машина разворачивается сама по iPXE на голый диск. Если система уже была установлена, то она просто загружается. После этого по SSH необходимо загрузить ключи и некоторый набор базовых сервисов Kubernetes. Теперь кластером можно пользоваться удаленно через kubectl. Я запустил там локальный docker реестр, потому вы видите localhost в названии некоторых контейнеров. На моей машине различные сервисы работают на Alpine Linux, Ubuntu или CentOS в зависимости от того, на чем было проще настроить конкретное приложение. Если разницы нету, то я использую Alpine, так как тогда контейнеры наиболее компактны.

Цепочка загрузки такая

  • BIOS
  • PXE
  • iPXE
  • Ядро CoreOS
  • systemd
  • Docker
  • Kubernetes
  • Сервисы из публичных образов и локальный Docker реестр
  • Сервисы из локального Docker реестра

В качестве сервера использую старый Dell ноутбук с Core i7-2630QM, 8GB RAM и сломаной батареей, ибо нечего ему пылиться с таким процессором.

Если я захочу подключить второй сервер, то мне нужно сделать два действия: сделать для второго сервера облегченный конфиг без части Kubernetes демонов и придумать как монтировать диски удаленно. Пока что персистентные каталоги монтируются в хост систему, что не будет работать если сервисы будут случайно мигрировать между машинами. Но если я это сделаю, то полностью програмная виртуальная сеть на flannel будет работать полностью прозрачно и контейнеры на разных будут общаться друг с другом так же просто как и раньше. Из того что можно настроить дома поддерживаются GlusterFS+Heketi, Ceph и NFS

Среди дополнительных удобств на сервере есть связка Transmission+Plex, интерфейсы которых тоже доступны глобально. Потому я могу пойти в гости, поставить torrent дома с телефона, а потом транскодированый и оптимизированый фильм можно посмотреть на телевизоре например через Chromecast, AppleTV, PS4, XBox, Android, Windows Phone или другой способ отобразить браузер с компьютера на телевизор.

В качестве заключения скажу что мне понравился такой способ настройки домашнего сервера. Использование Docker контенеров позволяет уравнять в легкости настройки опакеченый софт из дистрибутивов и софт, который устанавливается скриптом сборки на github. Они оба могут быть завернуты в контейнер на любом дистрибутиве и потом когда более не нужны могут быть аккуратно удалены. Kubernetes очень облегчил работу с виртуальными хостами, шифрованием, перенаправлением портов, изоляцией ресурсов, перезапуском упавших сервисов и проверкой их здоровья.

 , , ,

vertexua
()

Rust приложение раздуло в 20 раз при запуске в Kubernetes/CoreOS

Форум — Development

Написал два Hello World вебприложения. Одно на Go - самое простое, другое на Rust - на Iron Framework. Оба возвращают одно и то же на любой HTTP запрос.

Запускаю оба сервера в docker.

Go жрет 4 МБ, Rust - 7 MB памяти. Rust по идее должен быть более экономным, но в данном случае в Go используется стандартный сервер, а в Rust - сторонний фреймворк. В любом случае разница - мелочь.

Запускаю все в Kubernetes, тоже в docker. Rust раздувает до 130 МБ (RSS), в Go ничего не поменялось. Думаю, ну наверное Go - статический бинарь без libc, а Rust - зависит на glibc. Ведь дейсвительно, Go запускается в образе Busybox, а Rust - в Ubuntu. Memory sharing показывает малый и там и там, и даже на локалке. Даже если запустить 3 процесса с Rust - все жрут 130 MB. Rust бинарь собирал в Gentoo, запускал на Ubuntu. Оно запороло какую-то оптимизацию?

И тут я сделал третий эксперимент. Я сделал такой-же сервер на Python. Он благополучно выжрал 13 MB в Kubernetes. D 10 раз меньше Rust

Я смотрю Rust готов к продакшну по полной программе. У меня руки не доходят его собрать с Musl, посмотреть.

Идеи, предложения? Ведь Rust таки жрал 7 MB на локальном докере в Gentoo. Почему так раздуло с Ubuntu libc на ядре CoreOS, причем только его одного?

Update: Пересобрал в статический бинарь с Musl и засунул в голый Busybox образ в котором даже каталогов /lib и /usr/lib нету. Локально стало меньше жрать, жрет 1.5MB. В Kubernetes - 130MB все равно.

Solved: Rust cоздавал 64 потока, потому что у него количество потоков - num_cpu * 8. На локальной тачке тоже, но непонятно почему локально не использовалось так много памяти

Solved2: man overcommit

 , , , ,

vertexua
()

Десктопный дистр работающий в памяти

Форум — General

Делал ли кто-то такой дистр, чтобы он работал полностью в памяти. Речь не о банальном запуске read-only образа диска в read-write tmpfs, а о том, чтобы все работало из памяти, но когда речь заходит о обновлении, то обновление устанавливалось на диск и на лету обновляло копии соответствующих файлов в памяти. Таким образом при перезагрузке обновления остаются. Плюс пользователь всегда может редактировать файлы на диске напрямую через какую-то специальную точку монтирования, например /disk. Можно было бы все изменения ФС в памяти асинхронно повторять на диске, но не все файлы в этом нуждаются и как раз суть работы в памяти и заключается в том, чтобы меньше дергать диск, причем не только для чтения, но и для записи.

/home при этом может быть на физическом диске, HDD или SSD.

Среди недостатков вижу необходимость вычитывания достаточно большого количества данных в память при загрузке системы, причем желательно не лениво, иначе будем наблюдать мягкие тормоза по мере раскачки системы. Плюс возможно это все слишком радикально и обьектино таких же параметров быстродействия можно добиться выборочной настройкой кеширования ФС, каким-то read-ahead в определенных точках монтирования.

Жду обьяснение почему не нужно как принято в рунете, вместо предложение по улучшению как принятно не в рунете

 ,

vertexua
()

Google Allo

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

20 сентября состоялся релиз нового мессенджера от Google — Allo.

Основные особенности:

  • Идентификация с помощью номера телефона.
  • Уникальная возможность Allo заключается в доступе к ассистенту из чата (цитируя @google в сообщении), который может отвечать на вопросы, генерировать подсказки на основе карт, базы знаний, сторонних ресурсов. Все взаимодействие с ассистентом происходит прямо в чате, все участники которого видят вопросы и ответы.
  • Система искусственного интеллекта ассистента также может подсказывать ответы на частые вопросы с помощью одного клика, используя различные контекстуальные знания, например, геолокацию.
  • Присутствие режим инкогнито, которые переключает диалог в режим E2E-зашифрованного канала на основе протокола Signal от Open Whisper Systems. В данном режиме функциональность ассистента недоступна, так как ассистент не имеет доступа к таким чатам.
  • Режим инкогнито поддерживает автоматическое удаление сообщений с устройств через определённый промежуток времени.

>>> Видео с демонстрацией этих и многих других возможностей

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

 allo,

vertexua
()

Почему «application/приложение»?

Форум — Talks

Почему нельзя просто программа или что-то еще получше придумать. Этот срам тащится с венды еще

 ,

vertexua
()

Зачем нужны биткоины в физических магазинах?

Форум — Talks

Иногда вижу что в этих европках от магазинов электроники до кафе где берут биткоины. Это конечно славно, но нужно ли это?

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

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

- перевод денег между государствами без комиссий и контроля

Зачем покупать через биткоины телефон или кофе?

 

vertexua
()

Какие сейчас hype в IT?

Форум — Talks

Ну че там, Scala, Node уже отмучались?

Как поживает контейнерная виртуализация?

Что еще сейчас воспевают как панацею от всех проблем на всех IT конференциях?

Справочный материал по ссылке

 , ,

vertexua
()

Используете ли вы двухфакторную аутентификацию для облачных сервисов или своих машин?

Голосования — Голосования
  1. Не использую 498 (56%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. СМС 305 (34%)

    ***************************************************************************************************************************************************************************************************

  3. Приложение-генератор кодов 189 (21%)

    *************************************************************************************************************************

  4. Аппаратный ключ 33 (4%)

    *********************

  5. Другое 25 (3%)

    ****************

  6. Устройство-генератор кодов 23 (3%)

    **************

  7. Голосовой звонок 15 (2%)

    *********

Всего голосов: 1088, всего проголосовавших: 885

 ,

vertexua
()

История успеха

Форум — Talks

Gentoo, pf-sources, i3wm, 8 GB RAM

Включаем 4GB ZRAM Swap с 8 потоков к блочному устройству и потом...

  • Virtual Box с Ubuntu 4GB RAM (выделяется лениво)
  • Chrome и в нем
  • GMail
  • Google Drive+Music+Sheets+Docs
  • YouTube стрим 3 раза
  • Facebook
  • Bigpicture.Ru
  • Twitter
  • Firefox и в нем
  • Facebook
  • YouTube стрим
  • GMail
  • Steam
  • Counter Strike Global Offensive
  • парочку флеш игр
  • jconsole (гуй на жабе)
  • vim+ycm

Все работает

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7.7G        7.0G        101M        270M        680M        407M
Swap:          4.0G        885M        3.1G
$ sudo zramctl
Password: 
NAME       ALGORITHM DISKSIZE   DATA  COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram0 lz4             4G 762.3M 242.3M  254M       8 [SWAP]

Вот такие дела. Тем временем ЛОР обсуждает нехватку памяти

 ,

vertexua
()

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