Давным давно, когда локализация в линуксе настраивалась через ж.пу, настроил на рабочем десктопе переключатель раскладки клавиатуры так, что лампочка scroll lock работает как индикатор, т.к. нормального индикатора раскладки в линуксе в то время не было. Прошли годы. Многое в этом мире изменилось. Венда в ж.пе, линукс десктоп рулит в галактике. В гноме теперь есть нормальный индикатор раскладки, scroll lock больше не нужен. Недавно, дай, думаю, верну скрол локу его нормальную функцию. Не то, чтобы сильно нужно, просто для порядку. И в упор не помню, как это сделать. В gnome settings такой опции нет. setxkbmap -option
вроде возвращает всё взад, но только на одну сессию. В каком конфиге этот grp_led запрятан в гноме?
Редкий случай суда не из-за прав на использование (копирование, распространение), а из-за признания кого-то автором. Кто прав, кто виноват - хз, но вот описание https://habr.com/ru/news/t/469069/
Ъ: Дело в РФ. Из одной фирмы внезапно уволился гендир с сотрудниками и основали другую фирму и код типа их. В первой с этим не согласен.
Пикантно, что вроде код при этом Open Source (не проверял)
24 сентября 2019г. на сайте разработчика появилась запись о релизе DNS-сервера KnotDNS 2.8.4. Разработчик проекта — чешский регистратор доменных имён CZ.NIC. KnotDNS является высокопроизводительным DNS-сервером, поддерживающим все возможности DNS. Написан на языке C и распространяется под лицензией GPLv3.
Для обеспечения высокой производительности обработки запросов применяется многопоточная, и, по большей части, неблокирующая реализация, хорошо масштабируемая на SMP-системах.
Среди возможностей сервера:
- добавление и удаление зон на лету;
- передача зон между серверами;
- DDNS (динамические обновления);
- NSID (RFC 5001);
- расширения EDNS0 и DNSSEC (включая NSEC3);
- ограничения интенсивности ответов (RRL)
Новшества версии 2.8.4:
- автоматическая загрузка записей DS (Delegation of Signing) в родительскую DNS-зону при помощи DDNS;
- в случае проблем с сетевым соединением входящие запросы IXFR больше не преобразуются в AXFR;
- улучшенная проверка отсутствующих записей GR (Glue Record) с адресами DNS-серверов, определённых на стороне регистратора.
В связи с недавней новостью (Bitbucket прекращает поддержку mercurial) стало интересно, какими системами контроля версий пользуются пользователи LOR. Скорее всего первое место по популярности займёт git, но это не снижает ценности других систем в зависимости от потребностей в рамках работы над каким-либо проектом.
Постарался внести в список наиболее часто упоминаемые, как мне кажется, VCS. Доступен мультивыбор.
p.s.
Вариант «храню архивы, не пользуюсь VCS» включает в себя и просто создание копий директорий и/или файлов без архивирования.
Git | 2 |
Azure DevOps (Team Foundation) Server | 0 |
Bazaar | 0 |
CVS | 0 |
Darcs | 0 |
Dat | 0 |
Fossil | 0 |
Mercurial (Hg) | 0 |
Monotone | 0 |
Perforce | 0 |
Subversion (SVN) | 0 |
другая VCS (в комментариях) | 0 |
храню архивы, не пользуюсь VCS | 0 |
не храню промежуточные состояния проекта | 0 |
Всего голосов: 2 | |
Всего проголосовавших: 2 |
Привет всем!
Есть, значит, у меня картинка и матрица аффинных преобразований для неё. Нужно исказить картинку и обрезать под требуемый размер. Сейчас это делается так:
result = cv2.warpAffine(img, affine_matrix, (target_w, target_h), borderValue=0.0)
grid = mx.ndarray.GridGenerator(data=affine_matrix, transform_type='affine', target_shape=(original_h, original_w))
img_nchw = mx.ndarray.array(img)
img_nchw = img_nchw.transpose((2, 0, 1))
img_nchw = mx.ndarray.expand_dims(img_nchw, 0)
result = mx.ndarray.BilinearSampler(img_nchw, grid)
Но есть большая проблема: GridGenerator надо передавать совсем не такую матрицу, как в warpAffine. Некоторые элементы матрицы достаточно понятно преобразуются в вид для GridGenerator. Например, в warpAffine увеличение в два раза задаётся как 2, а для GridGenerator - 0.5. А вот с коэффициентами для искажений не понятно совсем, подобрать их не получается.
Может быть кому-то попадалась внятная документация по mx.ndarray.GridGenerator с примерами?
P.S.: Да, можно найти другие варианты, вместо MXNet для издевательств над картинками силами GPU. Но не хочется увеличивать количество зависимостей. Кроме того, MXNet используется много для чего и важно сохранить контекст размещения данных, т.е. чтобы массивы не надо было пересоздавать.
YADRO - продуктовая IT-компания (250+ чел.), мы разрабатываем и производим серверы и системы хранения данных.
Мы продолжаем расти и сейчас расширяем команду системной разработки, которая занимается обеспечением менеджмента компонентов СХД, спроектированной в нашей компании.
О некоторых компонентах данной системы можно почитать в блоге YADRO на Хабре - https://habr.com/ru/company/yadro/. ПО работает на storage контроллере под управлением GNU/Linux и активно взаимодействует как с аппаратными компонентами системы, так и системами менеджмента высокого уровня. Особый интерес вызывает наличие опыта написания системных демонов GNU/Linux и модулей ядра и/или большое желание развиваться в этом направлении. Обещаем работу в классной профессиональной команде и вал интересных задач!
Примеры задач, которые придется решать:
— Настройка и доработка различных подсистем ядра Linux;
— Разработка драйверов для работы с аппаратными компонентами;
— Написание, доработка и портирование компонентов под архитектуру ppc64;
— Продвижение наработок в «upstream»;
Мы точно найдем общий язык, если вы:
— Уверенно знаете С (C++ у нас не используется) и используете его более 2-х лет;
— Разбираетесь в устройстве ядра Linux и имеете опыт написания драйверов;
— Умеете писать системные приложения и демоны под GNU/Linux;
— Имеете хорошее представление об аппаратном обеспечении современного сервера (Организация памяти, шин данных, систем ввода-вывода);
— Знаете английский на уровне чтения и написания технической документации;
— Знакомы с Python для быстрого прототипирования;
Мы предлагаем:
— Красивый и удобный лофт-офис в БЦ «Трехгорная мануфактура», 10-15 мин. пешком от м.1905 года/ Краснопресненская;
— ЗП 100 000р. - 200 000р., фикс (конечно же полностью «белый» + бывают премии по результатам mailstone'ов проекта;
— ДМС, включающая стоматологию, госпитализации, страхование во время путешествий;
— Традиция «Лекторий», в рамках которой приглашенные эксперты и наши специалисты на регулярной основе делятся профессиональным опытом из различных областей науки;
— Внутренняя программа поддержки инноваций: cистема премирования за научные достижения, публикацию статей и регистрацию патентов;
Вопросы и резюме можно и нужно направлять HR Yadro Алине Кочетовой любым удобным способом:
TG: @IT_All_in_a
[email protected]
+7-915-21-21-798 (whatsapp/ звонки)
Можете человеческим языком объяснить дурачку? Как вообще работает этот прекрасное ключевое слово ORDER BY
в SQL? Читаю книгу по SQL, и не могу отдуплять. В нем пишется следующее:
По «остальным» сортировка работает, если предыдущие поля в списке
ORDER BY
равны.
Шо значит предыдущие поля в списке ORDER BY
равны? К чему равны? К чему это сравнивается? Допустим есть такая таблица:
-- Таблица "Persons"
first_name | last_name | year_of_birth
----------------------------------------
иван | валуев | 1989
александр | глыбин | 1975
максим | тарский | 1982
владимир | пагубин | 1976
Я хочу отсортировать по last_name
и year_of_birth
. Отправляю такой запрос:
SELECT first_name, last_name,
FROM Persons
ORDER BY first_name, last_name;
И я вижу такое:
first_name | last_name | year_of_birth
----------------------------------------
александр | глыбин | 1975
владимир | пагубин | 1976
иван | валуев | 1989
максим | тарский | 1982
А че? Второй критерий last_name
не будет действовать шо ли? Только по first_name
отсортировал? Вопрос тогда, когда и в каких обстоятельствах может действовать сортировка по второму критерию last_name
вот это я не понимаю?
Привет!
Смартфон сошел с ума, и картинка в видео при ярком солнечном свете меняется с нормальной на тусклую, и так - каждые несколько секунд. Как мне с помощью ПК с Linux избавиться от недостаточной выдержки (недодержки, underexposure) на уже отснятом видео и какие настройки изменить на смартфоне? Пробовал извлечь картинки из видео:
ffmpeg -i video.3gp vid%04d.jpg -hide_banner
и сделать
sudo apt install graphicsmagick
gm convert in.jpg -normalize out.jpg
ffmpeg -framerate 25 -i vid%04d_out.jpg -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p out.mp4
но недодержка осталась (поскольку все изображения были изменены с -normalize, а не только нужные), а видео получилось рваным и видны кубики.
Создал окно graphwindow
Добавил в него:
QwtPlot *d_plot = new QwtPlot( this );
setCentralWidget(d_plot); // привязать поле к границам окна
d_plot->setTitle( "Qwt demonstration" ); // заголовок
d_plot->setCanvasBackground( Qt::white ); // цвет фона
// Параметры осей координат
d_plot->setAxisTitle(QwtPlot::yLeft, "Y"
;
d_plot->setAxisTitle(QwtPlot::xBottom, "X"
;
d_plot->insertLegend( new QwtLegend() );
// Включить сетку
// #include <qwt_plot_grid.h>
QwtPlotGrid *grid = new QwtPlotGrid(); //
grid->setMajorPen(QPen( Qt::gray, 2 )); // цвет линий и толщина
grid->attach( d_plot ); // добавить сетку к полю графика
// Кривая
//#include <qwt_plot_curve.h>
QwtPlotCurve *curve = new QwtPlotCurve();
curve->setTitle( "Demo Curve" );
curve->setPen( Qt::blue, 6 ); // цвет и толщина кривой
curve->setRenderHint
( QwtPlotItem::RenderAntialiased, true ); // сглаживание
// Маркеры кривой
// #include <qwt_symbol.h>
QwtSymbol *symbol = new QwtSymbol( QwtSymbol::Ellipse,
QBrush( Qt::yellow ), QPen( Qt::red, 2 ), QSize( 8, 8 ) );
curve->setSymbol( symbol );
// Добавить точки на ранее созданную кривую
QPolygonF points;
points << QPointF( 1.0, 1.0 ) // координаты x, y
<< QPointF( 1.5, 2.0 ) << QPointF( 3.0, 2.0 )
<< QPointF( 3.5, 3.0 ) << QPointF( 5.0, 3.0 );
curve->setSamples( points ); // ассоциировать набор точек с кривой
curve->attach( d_plot ); // отобразить кривую на графике
// Включить возможность приближения/удаления графика
// #include <qwt_plot_magnifier.h>
QwtPlotMagnifier *magnifier = new QwtPlotMagnifier(d_plot->canvas());
// клавиша, активирующая приближение/удаление
magnifier->setMouseButton(Qt::MidButton);
// Включить возможность перемещения по графику
// #include <qwt_plot_panner.h>
QwtPlotPanner *d_panner = new QwtPlotPanner( d_plot->canvas() );
// клавиша, активирующая перемещение
d_panner->setMouseButton( Qt::RightButton );
// Включить отображение координат курсора и двух перпендикулярных
// линий в месте его отображения
// #include <qwt_plot_picker.h>
// настройка функций
QwtPlotPicker *d_picker =
new QwtPlotPicker(
QwtPlot::xBottom, QwtPlot::yLeft, // ассоциация с осями
QwtPlotPicker::CrossRubberBand, // стиль перпендикулярных линий
QwtPicker::ActiveOnly, // включение/выключение
d_plot->canvas() ); // ассоциация с полем
// Цвет перпендикулярных линий
d_picker->setRubberBandPen( QColor( Qt::red ) );
// цвет координат положения указателя
d_picker->setTrackerPen( QColor( Qt::black ) );
// непосредственное включение вышеописанных функций
d_picker->setStateMachine( new QwtPickerDragPointMachine() );
получил ошибку
/home/alexey/tion28-pro/graphwindow.cpp:27: error: ‘setCentralWidget’ was not declared in this scope
setCentralWidget(d_plot); // привязать поле к границам окна
^~~~~~~~~~~~~~~~
В чем дело?
Что нужно прописать в graphwindow.h?
Здравствуйте, на хосте есть 2 SSD (512GBx2), как я понял объединенных в RAID-1. Как правильно отключить RAID и сделать общее пространство (1TB), не потеряв текущие данные?
А сколько стоит такой мальчик и где их искать? И как проверить хороший он репетитор или нет?
Сабж. Какой процессор взять? amd или intel? Поделитесь опытом.
Мне нужен условно бюджетный вариант, т.е. супермикро с ксеоном или топовые камни я не потяну.
Давно не видел на ЛОРе кулсторей в стиле IT Happens. Есть у кого?
О симбиозе жабыдла с доцкером (и женкинсом, ага) вообще озуительные истории имеются
rebforce, го, я создал.
Уважаемые.
Прошу Вашего совета.
Подскажите, как хорошо и верно зашифровать пароль в Ansible.
Что имееем?
ansible 2.8.4
config file = /etc/ansible/ansible.cfg
configured module search path = [u'/home/deb/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /usr/bin/ansible
python version = 2.7.5 (default, Aug 7 2019, 00:51:29) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
Что нужно?
Нужно сказать пароль в зашифрованом виде, желательно чтобы клиент понял.
В чём загвоздка?
При использовании ansible-vault encrypt_string
- переменная в команде, для примера mysql -u user -p ` password_mysql `
Если данная строка содержит ошибку или завершается с ошибкой - пароль в открытом виде выводится в консоль вместе с командой.
Хранить пароль в password_file - лучше сразу пароль отдать.
И в любом случае нужно вводить --ask-vault-pass
.
А как сделать без --ask-vault-pass
если я хочу дать права пользователю запустить task
с помощью Jenkins
?
Что почитать по данной теме?
tl;dr При установке манжары в legacy boot (не uefi) установщик не ставит флаг «загружаемый» на раздел с /
Вообще, это целая история о моих граблях и как я их решал.
Несколько месяцев сидел на KDE Neon. Полностью устраивал, но пару раз при sudo apt upgrade
система ломалась. Я хз как решать кроме переустановки. К счастью, у меня корень и хомяк на разных разделах - можно не тратить много часов на бэкапы.
Знакомый виндузятник однажды посоветовал манжару. Я решил попробовать. Конечно же KDE Edition. Боялся, что некоторые deb only программы (skype, teamviewer...) не смогу поставить и вернусь на дериватив убунты. К счастью, легко освоил установку из аура. Правда не нравится, что усатновка некоторого софта идёт через компиляцию С++ (долго на моём ноутбучном core i5 3xxx).
Позже KTorrent начал каждый раз при запуске системы спамить типа «geoip не работает». Раздражало, выключил модуль «Сведения» в KTorrent. Но после для удобного отслеживания прогресса скачивания сериалов этот модуль must have. Через где-то 20 переключений модуль сломался - перестал включаться. sudo pacman -Rns ktorrent
и установка заново ничего не изменила. Стёр все конфиги кторрента из хомяка - то же самое. Забил.
Позже кровь из носу понадобились nuitrack (проприетарщина) и intel realsense sdk. Первое поставил через debtap. Второе нашёл в ауре, но вместо распаковки файлов он собирает из исходников. Адок. Более того, во время компиляции система виснет намертво. Проверил несколько раз - это не oom. Было так сильно надо, что снёс манжару и поставил неон. Там установка intel realsense sdk свелась к «добавить ключи, репозиторий, установить через распаковку файлов». Красота.
Однако я уже привык к KMail, для меня удобнее, чем Thunderbird и тем более, чем веб клиенты. Однако akonadi не запускается ни с mysql, ни с sqlite. Проблема с KTorrent решилась. Глюки на ровном месте про эффекты через xrender или opengl (надо ручками при каждом запуске менять настройки). Я так привык к небольшой прозрачности окон в плазме (делается мышью, в дефолтных конфигах выключено), что плазма без прозрачности вызывает чувство, будто стоит WinXP. Что это за когнитивное искажение?
По моим субъективным впечатлениям плазму в манжаре готовят лучше, чем разрабы кде в кде неон. Как так возможно???
Возвращаюсь на манжару. После установки «Operating system not found». Переустанавливаю несколько раз. То же самое.
Нагуглил https://forum.manjaro.org/t/using-livecd-v17-0-1-and-above-as-grub-to-boot-os...
Выполнил инструкцию из Simple First Start. После configfile ... сразу началась грузиться система.
Заметил, что хомяк частично удалён. А именно все обычные директории и файлы остались, но все скрытые (начинаются на "." удалены. Кто (что) это сделал?
grub-isntall и update-grub ничего не изменили. Однако в livecd открыл KDE Partitions Manager и увидел, что в корневом разделе нету флага «загрузочный». Wtf? В установщике убунты флаг ставится автоматически где надо, в установщике манжары я явно выбрал этот флаг! Как и сказано в tl;dr - При установке манжары в legacy boot (не uefi) установщик не ставит флаг «загружаемый» на раздел с /
Как зарепортить этот баг? В багтрекер манжары? Никто же не будет работать над этим багом с модулем кторрента сведения из-за «хрен воспроизведёшь», да? И что вы думаете про (не)глючность кде неона и манжары?
И ещё, в прошлой установке манжары было ядро 4.19. В неоне было ядро 5.0 В новой установке манжары уже ядро 5.2, хотя 4.19 до сих пор отмечено как рекомендуемое. От чего зависит «рекомендуемое» ядро в манжаре? Что дают новые ядра кроме поддержки нового железа? Читал changelog крупных релизов ядра, не понял влияния на userspace.
Дистрибутив новый, и сторонние репозитории пусты ещё. Есть ли возможность установки кодеков без использования сторонних репозиториев?
Приветствую!
Купил себе недавно HPE Microserver Gen10, поставил 2 диска по 4ТБ в массив RAID 1 встроенным контроллером, накатил систему, софт. Всё работало нормально до вчерашнего вечера - скорость срезало до 200-300Кб/с. Перезагрузился - в статусе контроллера массив помечен как Degraded. При попытке собрать массив заново он разваливается на 1% rebuild'a. Диски новые, Seagate NAS серии. За потерю данных особо не беспокоюсь, есть бэкапы. Но что делать с дисками? Бежать за нормальным контроллером? Или mdadm? Или смотреть диски? По смарту оба диска проходят.
SMART:
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 071 064 044 Pre-fail Always - 12607411
3 Spin_Up_Time 0x0003 095 093 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 23
5 Reallocated_Sector_Ct 0x0033 100 100 010 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 078 060 045 Pre-fail Always - 66659907
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 457 (121 65 0)
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 23
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 071 066 040 Old_age Always - 29 (Min/Max 27/30)
191 G-Sense_Error_Rate 0x0032 100 100 000 Old_age Always - 0
192 Power-Off_Retract_Count 0x0032 100 100 000 Old_age Always - 6
193 Load_Cycle_Count 0x0032 100 100 000 Old_age Always - 361
194 Temperature_Celsius 0x0022 029 040 000 Old_age Always - 29 (0 25 0 0 0)
197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 354 (42 28 0)
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 7104828078
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 2207875253