И это всё МОЁ

Когда ноутов в конторе становится чуть меньше чем 100%, дефективным менеджерам стукает моча в голову: отрубить эзернет. Пускай, типа, на вифи все сидят. Все садятся, скорость становится никакая. Ставят рутер помощнее. Потом ещё мощнее, потом 12 антенн и 100 ватт.

Подавать иск за рак кожи конечно весело, но нет ли историй успеха о предотвращении превращения офиса в микроволновку?








 , ,








И это всё МОЁ

Здравствуйте!

Коллеги и не очень), я в замешательстве.
Есть вот такой вот скрипт:

echo stat | nc localhost 2320 > output.txt
SIP="10.21.5.25"
FIND=`grep ${SIP} output.txt`
ALARM="\033[1;31m"
OK="\033[0;32m"
NORMAL="\033[0m"
res(){
while read response; do
echo
case $response in
y|Y)
echo "Continue the sсript..."
break
;;
n|N)
echo "sсript closed. Exit."
exit 0
;;
*)
echo "Please, enter (y/n)!"
esac
done
}
echo "This is SIP: ${SIP}"
echo "This is FIND: ${FIND}"
if [ ${FIND} != ${SIP} ] 2>/dev/null
then
echo -e "${ALARM}ERROR! Server $SIP not connecting. Please chek it manually.${NORMAL}"
echo "Want to continue running the sсript (y/n)?"
res
else
echo -e "${OK}Server ${SIP} is connected.${NORMAL}"
fi
echo "Done"

Он работает, хотя непонятно почему, ведь если в переменной "FIND" будет "пусто", то возникнет ошибка в условии сравнения
(на сколько мне известно поправьте, если это не так), но скрипт отрабатывает без ошибок.
Есть второй скрипт (целиком приводить не буду, очень большой), в который входит первый скрипт (см. выше),
в адаптированном варианте, вот его кусок:
log "Checking Server: Name: $AI1 IP: $AI1IP"
echo "$AI1 Zookeeper: "$AI1GR""
# Checking the presence of server ${AI1} ih the list ${ZCFILE}
if [ ${AI1GR} != ${AI1IP} ]; # 2>/dev/null
# If not there ask user what to do
then
echo -e "${ALARM}ERROR! Server ${AI1} not connecting. Please chek it manually.${NORMAL}"
echo "Want to continue running the sсript (y/n)?"
# Checking response
res
# If the server in the list continues the sсript
else
echo -e "${OK}Server ${AI1} is connected.${NORMAL}"
log "AI-Siebel Server is now start on ${AI1}."
fi
echo ""

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







 , ,








И это всё МОЁ

Какая программа выдаст мне нормальный более менее понятный код вместо миллионов инструкций процессора, в которых может разобраться только самый начитанный?

Для android такое уже есть, baksmali переводит код виртуальной машины dalvik в более понятные выражения. А здесь что мне делать? Даже отредактировать по нормальному не могу, никакого текстового вида, тупо непонятные наборы букв и ограниченные опции (ни один дизассемблер ничем кроме редактирования чисел и строк мне не помог).

Нужен конвертер как для arm так и для x86 инструкций, или привести к нормальному понятному виду определённый кусок кода, и чтобы я мог изменять этот «нормальный» вид, а не груду инструкций, и не какими-то там кнопками, а текстовым редактором.

Я всего лишь хотел исправить баг в unity игре для android, оказывается для .so файлов нет таких удобств (почему-то), как для .dex и .dll (.net).








 , , , ,








И это всё МОЁ

Всем здравствуйте! У меня есть самописанная программа для расчета кое-какой дифракции, смысл которой состоит в многократном взятии FFT от 2Д-массивов. Необходимо, чтобы массивы были размером 4k x 4k (или больше) и комплексные. Сейчас я использую fftw и MPI-параллелизацию, при разбрасывании на 100 процессоров на кластере выходит минут 20 на одну конфигурацию.

Конечно же, хочется это дело ускорить и упростить, и поговаривают что cuda поможет. Процесс переписывания может оказаться долгий и мучительный (у меня это всё на фортране пока что) и вовсе не обязательно, что он увенчается успехом ввиду больших массивов. Вот здесь в разделе 2.8.4 вообще написано что только до 2k при комплексных 2Д.

Может кто-нибудь подсказать, правильно ли я понимаю там по ссылке, что при 2Д и комплексных числах оно только до 2k x 2k? У меня комплексные вообще двойной точности. Не будет ли возня с cudo-й слишком долгой, из-за копирования туда-сюда больших массивов?








 , ,








И это всё МОЁ

Сабж ?
интернет предлагает вручную пилить systemd скрипты для wpa_supplicant и удалять network manager. А есть ли более правильный способ ?








 








И это всё МОЁ

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

Есть libreoffice calc. Нужно подсветить те ячейки в ряду, значение которых меньше 1. Но те ячейки, в которых не число, подсвечивать не надо.

По сути тупо 2 условия: ячейка содержит число и это число меньше 1.

В Conditional formating я не вижу, как мне сделать такое. Там есть formula, но она вычисляет результат и применяет его ко всем ячейкам из range, а не для каждой ячейки. Пробовал выделить 1 ячейку, для нее сделать стиль, а затем «растянуть» на весь ряд, что-то тоже не выходит.

Как все это сделать?








 








И это всё МОЁ

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








 , ,








И это всё МОЁ

привет!

нужно сделать такую штуку: использовать несколько 3G/4G модемов чтоб повысить скорость/надежность канала.

т.е. к примеру мы в поле и снимаем на видео на камеру с разрешением Full-HD. мы хотим в ремльном времени передавать видеопоток куда-то.

т.е. эти несколько 3G/4G модемов нужно каким-то образом заставить работать как единое на одной стороне, ну и что-то другое(программно-аппаратное - на другой).

что гуглить?








 








И это всё МОЁ


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

PS. Извините, но я сломал лор: поиск по словосочетанию «последнее сообщение» вываливает ошибку.








 ,








И это всё МОЁ

www.linux.org.ru/people/a1batross/profile

Последнее посещение: 27.10.19 21:01:55

ИЗВИНИТЕ, ДЕЙСТВИЙ БОЛЬШЕ НЕ ТРЕБУЕТСЯ, УДАЛИТЕ ТЕМУ (комментарий)

27.10.19 22:05:26

И этот человек развлекается тут целый день. У него что там, модератор в заложниках?








 








И это всё МОЁ

Всем доброго времени суток! Не подскажете, пожалуйста, комбайн аля StaffCop для линукса, желательно опенсорсный. Ну или может быть у кого-нибудь есть набор утилит/ПО, который помогает облегчить мониторинг на свой машине (для начала).








 , , ,








И это всё МОЁ

Использую https://github.com/tiangolo/fastapi для построения api и документации openapi (он умеет из коробки это делать и выводить в swagger ui) Есть роут с кодом:

@router.post('/auth')
def create_user(user: UserSchemas.UserBase, db: Session = Depends(get_db)):
# check user for waiting sms
user_waiting_sms = \
user_crud.get_user_sms_wait(db, number=user.number, is_active=False)
if user_waiting_sms is not None and user_waiting_sms.sms_id is not None:
# if we waiting sms
if user_waiting_sms.expire_sms > int(time()):
return {'status': 1, 'msg': 'Wait for sms code'}
else:
user_crud.reset_expire_sms(db, number=user.number)
r = alphasms(user.number, 'test1', 'privet test1')
if 'id' in r:
user_crud.update_user_sms_expire(
db, number=user.number, sms_id=r['id'], expire_sms=(int(time())+300))
return {'status': 2, 'msg': 'Sms code is resend'}
else:
raise HTTPException(status_code=202, detail="Error send message";)

После запуска сервера имеем в сгенеренной документации https://i.imgur.com/ABEhOd7.png


видно что response и validation error по дефолту установлены, окей.


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








 , ,








И это всё МОЁ

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






Ношу кварцевые со стрелками4
Ношу только телефон4
Ориентируюсь во времени по солнышку4
Ношу электронные с дисплеем2
Ношу механические1
Ношу умные часы0
Свой вариант (в комментариях)0
Всего голосов: 15




 ,








И это всё МОЁ

Хочу сделать что-то вроде

#define $enable(COND, ARGS...) \
template<ARGS, typename std::enable_if<(COND), int>::type* = nullptr>

Причём, хочется что бы оно работало и при нулевом числе параметров ARGS. Но вылезает ненужная запятая. Нашёл единственный вариант с использованием __VA_OPT__(,) — но это не стандартное расширение.
Вообще, в идеале, хотелось бы опциальыне параметры запихнуть в начало макроса, а условие — последним аргументом. Позволяет ли препроцессор провернуть такой финт?








 , , ,








И это всё МОЁ

нужно отключить auto black screen и auto screen lock из консоли в убунту 16.04 (скрипт разворачивает окружение на голой убунте)


не работает:


DISPLAY=:0.0 gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'
DISPLAY=:0.0 gsettings set org.gnome.desktop.screensaver idle-activation-enabled false
DISPLAY=:0.0 gsettings set org.gnome.settings-daemon.plugins.power idle-dim false
DISPLAY=:0.0 gsettings set org.gnome.desktop.session idle-delay 0
DISPLAY=:0.0 gsettings set org.gnome.desktop.screensaver lock-enabled false
DISPLAY=:0.0 xset -dpms s off









 , ,








И это всё МОЁ

Привет.
Вот не знаю как лучше сделать это в qt4,7,8.
Имею вот такие данные:

:102000003009002001280000F9270000F92700000E
:1020100000000000000000000000000000000000C0
:10202000000000000000000000000000F927000090

Нужно разложить их на int.
Должно получится 10,2000,00,30,09 и т.д.

Как правильно эта сделать ?








 ,








И это всё МОЁ

У важаемые ЛОРовцы кто может внятно пояснить последние тенденции в ноутах когда АКБ вмазана в корпус настолько что поменять ее можно только в условиях сервиса. Что плохого в том что АКБ сьемная и может быть заменена самим пользователем?

ЗЫ. Пост созда по результатам ночного штудированич всевозможных магазинов продажи элетроники в поисках нового ноута. 0_о








 ,








И это всё МОЁ
op@vm12:~$ sudo crontab -l
* * * * * /usr/bin/python3 /home/op/pycron/test1.py > test1.txt


Что-то у меня нет результата. Демон крона запущен.








 , ,








И это всё МОЁ

Навеяло вот этой новостью

Согласно китайским источникам, компания Lenovo готовится продавать в Китае резервные аккумуляторы ThinkPlus с возможностью заряжать аккумуляторы ноутбуков. Зарядка происходит через порт USB Type-C в том случае, если ноутбуки с подобным портом допускают питание от этого порта. Данная технология, кстати, дарит возможность уйти от традиционных блоков бесперебойного питания на кислотно-свинцовых аккумуляторах тем, у которых часто случаются аварийные отключения электричества или необходима длительная автономная работа.

Подумалось: а почему, собственно, только ноутбук? Допустим, маложрущий десктоп на том же атоме. Ему хватит 40-60 Вт. Поместить в 5" отсек ups, дабы он не вырубился сразу при отключении питания, а при отключении электричества - подпитать через вышеупомянутый PowerBank.
UPS для 5" существуют. Отсюда второй вопрос: как перевести ёмкость из ВА в Вт*ч?








 , , , ,








И это всё МОЁ

maxcom, может, имеет смысл отключить эту странную фичу? Как-то нелепо применять санкции к человеку, который, видя, например, вызывающе неверную информацию или глупый наброс, захотел это опровергнуть и написал ответ. Особенно плоха эта фича в отношении новичков. Старожил, допустим, ещё может как-то понять, что вот это вот сообщение некорректно и будет удалено (хотя, судя по всему, не очень-то может), но новичку откуда об этом знать? В итоге получается некрасиво.

Бить нужно по провокаторам, а не по тем, кто им отвечает.








 ,