LINUX.ORG.RU

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

Visual Studio Code : Remote - Containers, Remote - WSL, Remote - SSH

 ,

Группа Разработка

Microsoft выпускает 3 превью расширений для своего редактора кода VSCode.

  • Remote WSL - Откройте любую папку в подсистеме Windows для Linux (WSL),
  • Remote Containers - позволяет использовать контейнер Docker,
  • Remote SSH - Откройте любую папку на удаленном компьютере с помощью SSH.

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

>>> Подробности (techrepublic.com)

mx__
()

Какое ARM-железо выбрать для сервера?

 , , ,

На али много дешёвых плат с распаянным интеловским процессором и пассивным охлаждением. Найти можно, например, по запросу "pfsense" Довольно дёшево для того, чем оно является, но довольно дорого для китайского ноунейм говна. Из плюсов: должна быть относительно беспроблемная установка почти любой ОС и большинстве случаев наличие более одного гигабитного Ethernet.
А какой выбор подобного оборудования на ARM?

  • Wi-Fi роутеры, например (обычно довольно мало ROM и RAM)
  • Одноплатники, например (часто отсутствие ROM и использование SD-карты под систему, отсутствие корпуса или очень примитивный корпус из плексигласа)
  • Медиаприставки и HDMI-свистки, например (скорее всего, будет трудно поставить туда что-то кроме родной прошивки)
  • Тонкие клиенты, например (дороговато для таких спеков)

Что из этого стоит взять для организации сети? Хочу взять несколько максимально дешёвых и простых подобных компьютеров, чтобы на каждом из них крутился какой-нибудь полезный сервер — DHCP, DNS, веб-сервер, сервер баз данных, redis. Что подойдёт?
Какие процессоры лучше всего поддерживаются ядром? MediaTek, RockChip, AMLogic, AllWinner, HiSilicon?

CYB3R
()

Сайт со сравнением тарифов ОПСОСов из РФ

 ,

Есть такие в природе?

NobleWolf
()

программа для учета финансов

 

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

Xwo
()

Zhabogram 0.1 — Транспорт из Telegram в Jabber

 , ,

Группа Open Source

Zhabogram — транспорт (мост, шлюз) из сети Jabber (XMPP) в сеть Telegram, написанный на Ruby, преемник tg4xmpp.
Данный релиз посвящается команде Telegram, которая решила, что третьи лица имеют право затрагивать историю переписки, находящуюся на моих устройствах.

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

>>> Mercurial-репозиторий (narayana.im)

annerleen
()

Proxmox на десктопе

 , ,

На скриншоте самый обычный проксмокс в кластере с двумя узлами, который развернут у меня дома. KDE установлен на этот же proxmox, в нем запущен firefox, а в firefox открыта веб-морда proxmox. Такая вот рекурсия.

Предыстория

Не так давно собрал себе бюджетный сервер на Xeon e5 2660v2 под хранилище виртуалок и контейнеров. К сожалению, так как потребности в вычислительных мощностях серьезно выросли за последний год, обходится парочкой Odroid-X2, как в старые добрые времена уже не могу, да и старенький HTPC на хасвелле с пассивным охлаждением с нагрузкой не всегда справляется, особенно летом.

Изначально думал собирать на TR4 1950x, но проконсультировавшись с жабой решил собрать бюджетную конфигурацию на LGA2011 и дополнить ее AMD RX580 в виде видео.

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

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

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

Конфигурация десктопа:

  • i7-4560U
  • 16 GB RAM
  • 128GB + 256GB + 256GB SSD

Конфигурация сервера:

  • Материнка X79 PlexHD ~100$
  • Xeon e5 2660v2 ~100$
  • 64GB DDR3 ECC RAM 1866 ~200$
  • 2U корпус от Etegra (подарили, 1U БП с резервированием, бэкплейн и прочее пришлось выкинуть, а сам корпус доработать напильником и 3д-принтером.)
  • 2U тихий блок питания 500W (~6.5к рублей)
  • 16Gb Optane M.2 (~2.8k рублей)

Жесткие диски переместил из NAS’а и старых компов, докупать пришлось только оптанчик.

Хотя по количеству вышел (имхо) небольшой перебор:

1x1 Tb SSD для системы 2x6 Tb зеркальный рейд для данных 2х1 Tb полосатый рейд с bcache на оптане - площадка для сборки разного софта. Только при сборке на нем проектов типа OpenWRT/linux, удается выгрузить все ядра на 100%. Без кеша на оптане все упирается в I/O и больше 30-40% загрузить не выходит.

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

На тесте было тупо главное меню subnautica:

  1. Софтварный энкод в 6 тредов + софтовый же декод на хасвелле: 59fps@1920x1080 задержка видео 33 мс.

  2. Софтварный энкод в 6 тредов + декодирование через QSV - 22 мс, те же 59 fps.

  3. Аппаратный AMF энкод + декодирование через QSV - 29(!) мс.

Соединение - гигабитный линк по меди через роутер.

По количеству потоков программного кодирования: 1 поток - неиграбельно 2 потока - 50 мс и 19 fps 3 потока - 30 fps, 35 ms лаг 4 потока - 30 fps, 30 ms лаг 6 потоков - 60 fps и 21 ms лаг

Вывод: программное кодирование в большое (6+) количество потоков даст лучше и по задержкам и по качеству, чем аппаратное.

В общем как-то так. Ядра выжираются почти полностью 67% от 10 ядер судя по веб-морде проксмокса. Дополнительная погрешность от VNC и самой субнаутики.

TODO:

  • Замеры энергопотребления
  • Прикрутить vagrant к контейнерам proxmox
  • Осилить chef
  • Мигрировать все веб-приложения из виртуалок в контейнеры, попутно переписав все развертывание на chef, вместо ручной настройки. Это должно сделать автообновления всего этого добра намного проще в теории. (Сейчас там все в основном на debian stable с автоапдейтами и большей частью живет на автопилоте не требуя вмешательства, кроме ритуального обновления iredmail)
ncrmnt
()

git и бакгфикс релизы

 

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

Очевидный ответ - git-flow. Но он больно сложный, особенно для простых репозиториев и маленькой команды.

Альтернативное решение - stable ветка. То есть master - это у нас develop (в терминологии git-flow), а stable содержит сами релизы.

Соответственно, когда нам нужно сделать хотфикс - мы создаем ветку от stable, фиксим баг, а затем сливаем её со stable и master.

Когда в master набирается достаточно изменений - сливаем их со stable и ставим тег/публикуем релиз.

Какие подводные камни у данного метода? Некоторые советуют по-прежнему использовать merge --no-ff, но я так и не понял какой от него толк, только коммиты засоряет. А хотелось бы, чтобы stable был зеркальной копией master, только «старой».

PS: использую git уже нацать лет, а он по прежнему как чёрный ящик.

RazrFalcon
()

Красноглазое решение автоносности

 , , , ,

как обеспечить ноуту максимальную автономность когда он дома и нет света?
Можно купить какой-то power bank до 100$ с выходом на 19v 2a, но всё, что я видел не даёт больше 4-6 часов автономности - как выжать больше? Что можно купить за 100$, чтобы брать из этого энергию на 8 - 12 часов?

Я думаю купить аккум от авто или что-то ешё более лютое, вроде 6СТ-190 и сделать что-то DIY из него на много часов, но это не очень практично и это немного сложнее, чем купить готовую банку.

Кто что посоветует?)

видел такие штуки
https://market.yandex.ru/product--akkumuliator-dell-power-companion-18000-mah...

и
https://diykitsblog.com/obzory-i-testy/mega-moshhnyj-poverbank-pod-12x18650-q...

но может есть что-то лучшее?)

smilessss
()

Усилитель 4G на дачу.

 , ,

Друзья, разъясните. Дачный посёлок в 5 км от города, в котором есть БС всех операторов с 4G). Вокруг дач густой лес. На втором этаже дома мобила как-то ловит связь и неспешный интернет. На первом ж..па. Порекомендовали приемник-усилитель 3G/4G. Вроде как на трубу пришпандорил, по витой паре в роутер и все довольны, вроде как. Бюджет 10-12 килорублей. Очень много девайсов. Много противоречивой инфы. В общем, кто реально юзает в похожих условиях, посоветуйте.

Deleted
()

Как изучать математику?

 ,

Вот есть желание научиться нейроночкам. Знания по матану на уровне 2-ой четверти 9 класса, а сами знаете, теория там вся на математике. Вот где есть возможность подтянуть школьный матан до уровня 11 класса?

Deleted
()

Посоветуйте учебник по матану для идиотов

 

Сабж.

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

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

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

Если есть некий «путь вдоль учебников», «from loh to master», и не лень его описать - было бы неплохо.

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

stevejobs
()

Удалённый инстанс VSCode в браузере

 ,

Так можно на конец 2018ого года то?

pon4ik
()

Realtime раздел у XFS. Файлы отдельно, inode'ы отдельно.

 , , , ,

Уважаемый pon4ik, поднял недавно тут тему как сделать так, чтобы «ФС ... хранила бы метаданные на одном диске, а сами данные на втором. Т.е. пока происходят всякие listdir и fstat не было обращений к харду и он мог сладко спать.»

Я вспомнил, что об XFS слышал подобное, быстро нагуглил пару ссылок про realtime раздел и кинул в коментариях. Но так-как я XFS-boy, то полез смотреть как оно реализовано. Рапортую). Realtime раздел у XFS — это дополнительный раздел на который пишутся только данные (не inode'ы и не лог — первые пишутся на основной раздел, вторые или на него же или на отдельный раздел, если указать). Соответственно можно вынести данные в больших файлах с последовательным доступом на один раздел, а все IOPS'затратные операции на другой раздел на SSD или даже в оперативке (если сохранность данных нужна только до перезагрузки, бывает такое).

Как реализовать:

mkfs.xfs -r rtdev=/dev/sdb /dev/sdc
или
mkfs.xfs -l logdev=/dev/sdd -r rtdev=/dev/sdb /dev/sdc

Где:
/dev/sdb — realtime раздел (только файлы и только если об этом «попросить», об этом ниже)
/dev/sdc — основной раздел (файлы, inode'ы, log)
/dev/sdd — раздел для log'а ФС

Лог раздел имеет ограничение по размерам. Поэтому легче его не выносить, учитывая что мы и так выносим от «главного» раздела файлы.

Далее монтируем:

mount -o rtdev=/dev/sdb /dev/sdc /mnt
или
mount -o logdev=/dev/sdd,rtdev=/dev/sdb /dev/sdc /mnt

Как заставить систему писать файлы на realtime раздел? Есть 3 варианта:

  • 1. Опция
    mkfs.xfs -d rtinherit=1
     — это недокументированная опция, которая говорит, что на созданной ФС все файлы будут писаться на Realtime раздел.
  • 2. Команда
    xfs_io -c "chattr +t" /mnt/
     — ставит на директорию атрибут «realtime inheritance». Все файлы созданные после этого в директории будут записаны в rt раздел. Атрибут можно ставить на директорию в которую примантирована ФС (и даже на ней атрибут сохраняется после перемонтирования).
  • 3. Команда
    xfs_io -c "chattr +r" /mnt/file_name
     — ставит на файл атрибут «the realtime». Файл должен быть создан пустым для этого (touch /mnt/file_name подходит).

Какова стабильность решения? После обсуждения год назад патчей для realtime разделов (подробнее тут: https://patchwork.kernel.org/patch/9933237/ ), началось активное тестирования этого функционала в XFS, были исправлены несколько багов, а в xfstests добавлен функционал по тестированию ФС с realtime разделом.

chaos_dremel
()

Медитация

 , , ,

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

Если вы сядете и просто понаблюдаете за собой, то обнаружите, насколько беспокоен ваш ум. А когда вы попробуете его успокоить, ситуация только ухудшится. Если же спустя какое-то время ум все же успокоится, вам откроются тончайшие вещи. Обострится интуиция, прояснится видение, вы сможете ощутить себя в настоящем моменте времени – здесь и сейчас. Ваши мысли замедлятся, сознание расширится, и вы увидите неизмеримо больше, чем прежде». Так описывал эффект от медитации Стив Джобс своему биографу Уолтеру Айзексону.


P.S. Linux тут при том что нужно отдыхать иногда и от него.

Promusik
()

Актуальная версия статьи «Что каждый программист должен знать о памяти»?

 

Доброго времени суток!

Народ, подскажите, есть статья What every programmer should know about memory, Part 1 и тред Что каждый программист должен знать о памяти, всё это от 2007-ого года. В предисловии статьи рекомендуют уделить большое внимание актуальности, т.к. технологии и подходы меняются. Вопрос: актуальная ли данная статья сейчас? И вопрос вдогонку: что можно почитать (обзорный + средний уровень) по вопросу о том, что программисты должны знать о памяти сейчас?

omegatype
()

Курс по криптографии и типовым реализациям

 , stepic,

Посоветуйте курс на платформе типа stepic.org, что бы с максимумом практических заданий.

Основная задача - понимать как работают попсовые аутентификации и распределения ключей.

Помимо указанных в ответах ресурсов, лично мне понравился вот такой вот курс от Khan Academy.

pon4ik
()

Как ставить задачи мозгу?

 

Есть ли какая-нибудь книжка о том, как правильно формулировать задчи для мозга?

Да, я в курсе об НЛП, не надо меня посылать читать Гриндера, пожалуйста. Если есть что-нибудь более конкретное, что зашло лично вам — вот это было бы неплохо.

Желательно, сформулированное максимально механистично, людьми которые знали как работают нейросети, работали с пакетными менеджерами в линуксе, и соответственно не несут голимую гуманитарную чушь

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

У меня есть друган, который себя само-осознает как некую пакетную систему. Набор фичей. Он постоянно рассказывает, как «вчера инсталлировал в себя вот такой пакет». И пакеты вида «курс по физике такой-то». Но у меня это вот прямо в таком виде не работает, мозг отказывается выполнять задачу «установи пакет». Тут должна быть какая-то хитрость

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

Если кто-то тоже думает о своей личности как о луче сознания, продуцируемом мозгом, и имеет отлаженную пакетную систему, расскажите

stevejobs
()

Задание тестовое по сям

 

Есть вот такое задание:

Тестовое задание №2

Разработать консольное серверное приложение работающее в среде ОС LINUX на пользовательском уровне. Приложение должно 
генерировать последовательность целых чисел, состоящую из 3-х
 подпоследовательностей, каждая из которых представляет собой 
целочисленный неотрицательный 64-х битный счетчик. Для каждой 
такой подпоследовательности начальное значение и шаг между двумя
 соседними значениями задается пользователем произвольно. 

Формат задания параметров – простой текст в tcp/ip сокет (для проверки используется telnet-клиент). 
  
Перечень команд 
  
1.	seq1 xxxx yyyy (задать начальное значение = xxxx и шаг = yyyy для первой подпоследовательности); 
2.	seq2 xxxx yyyy (задать начальное значение = xxxx и шаг = yyyy для второй подпоследовательности); 
3.	seq3 xxxx yyyy (задать начальное значение = xxxx и шаг = yyyy для третьей подпоследовательности); 
4.	export seq - выдавать в сокет каждому клиенту сгенерированную последовательность. 
  
Примечания 
  
1.	Если в командах 1, 2, 3 любой из параметров (начальное значение и/или шаг) будет указан как = 0, 
то программа не должна учитывать данную подпоследовательность; 
2.	При переполнении счетчика подпоследовательность должна начинаться сначала; 
3.	Формат передаваемых по сети данных – 64-х битные целые числа (binary data); 
4.	Программа не должна аварийно завершать работу в случаях некорректно введенных параметров, 
аварийного завершения работы клиента и т.д; 
5.	Язык для разработки – C, компилятор GCC, в проекте должен присутствовать Makefile; 
6.	Для создания/управления потоками, списками, примитивами синхронизации и т. п. можно использовать сторонние библиотеки. 
  
Примеры входных и выходных данных 
  
1.	seq1 1 2 – задает подпоследовательность 1, 3, 5 и т.д; 
2.	seq2 2 3 – задает подпоследовательность 2, 5, 8 и т.д; 
3.	seq3 3 4 – задает подпоследовательность 3, 7, 11 и т.д; 
4.	export seq – в сокет передается последовательность 1, 2, 3, 3, 5, 7, 5, 8, 11 и т.д. 


Мне вроде понятно все кроме проверки сокета телнетом? и вывода под номером 4


[i]Перемещено jollheef из general[/i]
Gremlin_
()

Где среднестатистически лоровец берёт музло?

 ,

pon4ik
()

Archlinux + Openbox

 , , , ,

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

Ещё парочка скриншотов.

kve1989
()