LINUX.ORG.RU

Сообщения AntonI

 

Регулярная автоматическая перерисовка (анимация?) в PyQt5?

Форум — Development

Сабж.

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

Картинка строится через QPainter.

Как это сделать Ъ? Qt и PyQt знаю очень плохо.

 ,

AntonI ()

Охлаждение мощного ноутбука как жертва маркетинга, или нет в жизни совершенства

Форум — Science & Engineering

Озаботился я тут выбором нового ноутбука и решил немножко посчитать. Пардонте, будет много букв;-(

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

Кроме вопросов питания, в ноутбуке есть еще проблема охлаждения. И вот тут все очень грустно. Ноутбук (при весе меньше 2кг) это агрегат который ШТАТНО должен работать в режиме на коленках пользователя/животе пользователя/на покрывале (диване) - вентиляция снизу оказывается перекрытой. Вариант работы на столе прекрасен, но для носимого ноутбука в дороге он скорее экзотичен. При работе от внешнего источника питания на максимальной нагрузке ноутбук не должен орать как бешеный слон и не должен поджаривать пользователю коленки.

Я не инженер, я физик, давайте немножко посчитаем. Сначала оценим возможности пассивного охлаждения. Будем полагать, что тепло может уходить только от верхней части ноута (снизу покрывало), температура окружающей среды 290-300K (17-27C), температура верхней части 310-320К (37-47С), то есть разница 20 градусов. При нагреве верха больше 47С наверное работать будет уже совсем некомфортно. Будем считать, что площадь теплоотводящей поверхности 5дм.кв.

За счет излучения можно отвести (закон Закон Стефана — Больцмана, при условии что корпус черный)

W1 = 5.76e-8*(310**4-290**4)*5e-2 = 6.2Вт.

Конвекцию считать сложнее, я нашел вот такое. Думаю что излучение в этой оценке не учитывается. Для заданных параметров получается

W2 = 20/(50/sqrt(500)) = 9Вт.

Итого, за счет пассивного охлаждения можно сбросить 15Вт, причем треть (!!!) сбрасывается за счет излучения. Это плохая новость для владельцев понтовых ноутов со светлыми корпусами и пассивным охлаждением - коэффициент черноты даже для сильно окисленного алюминия 0.31, то есть 4Вт теплоотвода из 15ти у вас слямзили маркетологи и дизайнеры.

Теперь давайте посмотрим что может дать воздушное охлаждение. Тут все просто. Теплоемкость воздуха ~1Дж/(дм.куб * град). То есть при сечении воздуховода в корпусе 10см.кв. и скорости потока 1м/c можно снимать 1Вт на каждый градус перегрева. При перегреве 50градусов (внутри корпуса это нормально) можно спокойно снять 50Вт. И вот тут наступает самая печаль.

Уменьшение сечения воздуховода вдвое требует увеличения скорости потока вдвое. Увеличение скорости потока вдвое требует увеличения разности давлений вчетверо (v^2, бабушка, никуда не деться), а мощность вентиляторов при этом должна вырасти в восемь раз (потому что мощность это P*v). Казалось бы, увеличили сечение воздуховода вдвое, мощность системы охлаждения упала на порядок и ее на максималках вообще не слышно, но тут приходят маркетологи и говорят - юзеры хочут тонких ноутбуков! И начинается форменный треш.

Как человек носивший ноут в самые странные места, включая горные походы с ночевками в ледниковой зоне (вот такой я извращенец), могу ответственно заявить - толщина ноута это последнее что влияет на удобство его переноски. На удобство переноски влияют (в порядке убывания), вес, диагональ и надежность корпуса. +/- 5мм роли не играют вообще никакой. Казалось бы, увеличиваем толщину на 5мм что бы увеличить сечение воздуховодов (как раз вдвое), делаем глухое дно с теплоизоляцией, забор воздуха с дальнего торца выброс по бокам (или наоборот) - профит! Имеем ноут который тих и прохладен даже при самой большой нагрузке. Сверху воздух тоже лучше не брать, крышка может быть закрыта а ноут молотит на полную катушку.

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

Кто в теме - покритикуйте оценки расчетов теплоотвода. Остальные могут разделить мою печаль;-(

Cast @hateyoufeel как счастливого обладателя такого девайса.

ЗЫ неожиданно глянул обзор https://www.ixbt.com/mobilepc/apple-macbook-pro-16-2021-m1-max-review.html - там как раз ноут чуть толще с дырками по бокам. Но по тестам на максималках орет как бешеный слон.

 , ,

AntonI ()

Lenovo ThinkPad X1 Extreme Gen 4 - поделитесь опытом/посоветуйте аналоги?

Форум — Talks

Задумался тут о новом ноуте. Старый неплох но лагает на внешнем мониторе 4К, кроме того хорошо бы карточку nvidia для разработки. Я как то подсел на леново, нравятся они мне, привык к клаве, аппаратные кнопки над тачпадом опять таки…

Требования такие:

  1. монитор до 16 дюймов, разрешение fullHD или чуть больше.

  2. вес до 2кг

  3. надежная конструкция корпуса, подсветка клавы

  4. памяти от 48Гб, лучше больше.

  5. проц как можно толще (основные задачи - числодробилки, не все удобно кидать на кластер).

  6. карточка nvidia, скорее для разработки, но если будет че то приличное то почему бы и нет?

  7. Порты тандерболт - у меня сейчас такого нет, но вроде годная штука.

По совокупности мне нравится Lenovo ThinkPad X1 Extreme Gen 4 https://shop.lenovo.ru/product/20Y5001RRT/spec/

Минусов (кроме цены, но это вторично) - не 12й интель (но их пока и нет вроде) и памяти маловато влезает. Поделитесь опытом как оно, у кого такая штука есть? Мб у леново есть че то поприличнее - я в их зоопарке путаюсь;-(

 , ,

AntonI ()

Нет ли у кого нить стиля под литературу для «писем в жэтф»?

Форум — Science & Engineering

Сабж. На сайте у них не выложено, нагуглить не удалось:-( Подходящего я че то не нашел, там странные хотелки - скажем указывать всех авторов, тире ненужны.

 ,

AntonI ()

Программа телеперадач (канал Культура) на неделю в виде таблички для печати?

Форум — General

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

Можно конечно самом колхозить копи-пастом с сайтов, но мб есть готовое решение?

Перемещено maxcom из linux-org-ru

 

AntonI ()

А как при работе с bibtex сделать ссылки в виде [7--12] вместо [7, 8, 9, 10, 11, 12]?

Форум — Science & Engineering

Сабж. Сейчас (подключен hypeprref, стиль ugost2008.bst) получается вот так

Наиболее популярными являются  модели сплошной среды на основе уравнения ... [7, 8, 9, 10, 11, 12]. В настоящий момент ...

а хочется вот так

Наиболее популярными являются  модели сплошной среды на основе уравнения ... [7--12]. В настоящий момент ...

но что бы ссылки были кликабельны.

 ,

AntonI ()

Подсветить элемент на котором находится фокус ввода?

Форум — Development

Есть форма с кучей чекбоксов, полей ввода, ползунков, выпадающих списков и пр. Как Ъ подсветить/показать элемент на котором находится фокус ввода? И поярче, поярче:-) А то непонятно что именно будет меняться если начнешь нажимать стрелочки и пр.

Интересен не столько дизайн сколько техническая сторона вопроса - за какой флажок дернуть и пр. Форма нарисована в дизайнере. Мне кажется это стандартная фича, но я что то туплю, не могу найти:-(

@EXL

 ,

AntonI ()

Как создать в константной памяти CUDA объект с нетривиальным конструктором?

Форум — Development

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

При создании в константной памяти карты эти конструкторы можно не вызывать - все равно объект создается на CPU и потом копируется на карту байт в байт.

Единственное что в голову приходит - выделить на карте константный массив char нужного размера, скопировать в него объект с хоста и потом на карте каждый раз кастовать указатель. Выглядит костыльно, м.б. есть какой то более Ъ вариант?

 

AntonI ()

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

Форум — General

Когда в Big Blue Button общаешься, можно показывать или одно окно или весь рабочий стол. Ни то ни то неудобно, хочется показывать несколько выбранных окон, для этого их надо как то разместить (сгруппировать) в одном суперокне. Причем в этом окне должен быть редактор и терминал, в котором можно было бы запускать приложения которые должны создавать свои окна в этом суперокне.

Мне посоветовали Xephyr, это почти то что надо:

Xephyr -ac -host-cursor -query localhost -screen 1920x1080 :1 &
DISPLAY=:1 ssh -X localhost emacs

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

Я в этих вопросах почти не разбираюсь. Можно как то c минимальными телодвижениями прикрутить туда еще и оконный менеджер? Гуглятся только решения с докером, с ними не хочецца связываться;-( Хорошо было бы что бы это все работало в рамках текущего хоста и текущей ОС (mint 20.2 xfce).


Вдруг кому понадобиться, решение такое

(Xephyr -ac -host-cursor -screen 1340x760 :1 & DISPLAY=:1 openbox)

размеры подобраны для окна bbb в FullHD разрешении, за высоту я точно не уверен - мб 730.

Для захвата/отдачи курсора в Xephyr Ctrl-Shift, приложения запускаются по правой кнопке мыши из меню.

 , ,

AntonI ()

Куда катится индустрия этого вашего программиирования?!

Форум — Talks

Преамбула - работаю я обычно с ноута, дома раб место с док станцией, 4К монитором и пр свистелками. Но понадобился мне тут для разработки одной фиговины домашний комп с картой от NVidia. Собрал комп, купил KVM сплиттер… Сплиттер оказался глючный, видео по нему идет а USB почти нет. В процессе плясок с бубном (увидел что мышь и клава отвалились, решил что ноут завис и нажал на док станции кнопку выключения) у ноута на уровне ОС отвалились мышь и клава. Вообще. Наглухо. Выглядит как чудо… После тщетных попыток реанимировать это все пришлось переставлять ОС. До того стоял linux mint 19 Xfce.

Теперь будет амбула. Сразу замечу - я не программист, не сисадмин, я просто физик которому иногда приходится писать под линукс всякие числодробилки. Я очень плохо знаю как надо админить все эти линуксы, у меня голова совсем другим забита. Понятно что /home у меня лежит отдельно, ОС я переставляют раз в неск лет и чем меньше я потрачу времени на настройку новой ОС тем лучше. Я просто хочу что бы оно работало из коробки, мне кажется это нормальным. Конец года, мне не до возни с ОС, мне хвосты подбирать надо. Беру linux mint 20.2 Xfce.

  1. Установка под uefi не работает. Вообще. Никак. После красивых презентаций оно пишет что не может записать grub на диск и это фатальная ошибка.

  2. В легаси моде оно встает, но не пускает в графическую систему. В tty войти могу. Мне присылают ссылку - 18 дистре был баг с коротким паролем, инсталлятор его делал (местами) более секьюрным но не говорил каким именно. Лечится только переустановкой. Переставляюсь с длинным паролем - то же самое. В три часа ночи я вспоминаю что был такой файлик ~/.Xauthority — видать когда ОС вставала на старые настройки че то пошло не так. Сношу ~/.Xauthority - бинго! Работает.

  3. Новый firefox при запуске пишет - создай новый профиль, а то ты сидел под старой версией, сейчас потеряешь все закладки и сохраненные пароли. Я создаю новый профиль и теряю все закладки и пароли. Ладно, фигня.

  4. В новой версии из дистра убрали кучу нужных мне пакетов для python2. Ладно, беру pip и ставлю локально.

  5. Вишенка на торте. Собираю в новой версии pdflatex-ом документ с которым работал на старой версии - часть рисунков пропала, вместо них стоят одинокие буковки «ы,ы» в нижнем правом углу. Фигею, собираю на другой машине - все ОК. Рисунки в pdf.

У меня возникает закономерный вопрос - ребята которые это все пилят, вам не кажется что вы очень неправы? Я не знаю что и как вы делаете, но я вижу что «самый популярный» (вроде как) последний LTS дистр превратился в черти че, сплошной глюкодром прямо вот начиная с инсталлятора. Где отваливаются вещи которые вообще не должны отваливаться. Если с глюками при установке еще как то можно смириться (нет), то глюки pdflatex-а не лезут ни в какие ворота…

 ,

AntonI ()

В mint20.02 не встает grub

Форум — Linux-install

Сабж. Установка идет себе, потом говорит - не могу поставить grub и отваливается.

Ноут с uefi, до этого минт19 вставал без проблем. Раздел под uefi выделил. Граб пытался ставить и на сам ssd, и в отдельный раздел /boot 300Мб ехт4

 , ,

AntonI ()

После попытки подключения KVM у ноута отвалились мышь и клава.

Форум — Desktop

Трындец какой то. Перезагрузка не помогает, внешние мышь с клавой тоже не видит. С live-CD грузился - все работает.

Linux mint 19. Я могу на него зайти в терминале. Переставлять систему сейчас ну совсем не с руки…

 

AntonI ()

А есть ли штатная возможность добавить своих метаданных в заголовок .npy файла?

Форум — Development

В заголовке .npy файла лежит словарь вида

{'descr': '<f8', 'fortran_order': False, 'shape': (15, 15), }

раз там есть словарь, наверное я могу туда положить еще че то от себя? Тем более что аж стандарт v2.0 придумали, что бы можно было заголовки длиннее чем 2^16 делать (насколько я понял) - такими тремя записями 2^16 ИМНО фиг забьешь…

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

ValueError: Header does not contain the correct keys: ['descr', 'fortran_order', 'q', 'shape']

Да и интерфейса стандартного для того что бы что то от себя в этот словарь положить/получить я не вижу.

Это вообще возможно?

 , ,

AntonI ()

OpenGL без привязки к окну?

Форум — Development

Сабж. Нужно нарисовать картинку (по пикселям), средствами OpenGL, но не привязываясь к окну. То есть рисовать надо в память и потом эту память отдать (записать в файл скажем).

Не привязываясь к окну - потому что X-сервера может не быть (зашли по ssh без -X).

Это вообще возможно? Все что нагуглилось, вроде вот такого,

http://renderingpipeline.com/2012/05/windowless-opengl/

все таки подразумевает что какой то X-сервер есть, насколько я понял, просто окно не отображается.

PS в этих вопросах я нуб, сорри;-(

 , , ,

AntonI ()

Как все таки Ъ понять что fseek вылетел за пределы файла открытого на чтение?

Форум — Development

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

Как это сделать Ъ? Попытаться прочитать маленький кусочек? Заранее определить размер файла через fstat? Какие еще варианты?

 

AntonI ()

Внешний бокс для видеокарты - поделитесь опытом?

Форум — Talks

Понятно что штука нишевая, но мне бы как раз зашла.

Появились они вроде недавно, в РФ сейчас таких четыре модели

https://www.razer.ru/news/198 Razer Core X

https://virtualnyeochki.ru/aksessuary/vneshnij-boks-dlya-videokartyi-mantiz-mz-03-saturn-pro-ii-space-gray Mantiz MZ-03 Saturn Pro II Space Gray

https://shop.lenovo.ru/product/82CA000CRU/

Ну и монстр GIGABYTE AORUS RTX 3080 GAMING BOX (стоит как самолет, мне неактуально).

Как оно вообще работает под linux, расскажите, кто пользовался? Понятно что речь идет о работе с ноутом;-)

 

AntonI ()

«Новаторы» --- истории о людях, создавших компьютер, основанные на реальных событиях (театр Маяковского)

Форум — Talks

https://www.mayakovsky.ru/m/performance/novatory/

Мне понравилось. Это один из лучших театров Москвы, труппа очень сильная. Получилась такая серия новелл, от Ады Лавлейс до Линуса и Гейтса. Конечно по терминологии они немного лажают, и то как показывают озарения и творческие порывы может вызывать вопросы - но это вообще тема очень сложная для постановки.

Здорово что такие спектакли ставят, здорово что это новая вещь а не перепев Кармен где она пляшет на мусорном баке в Гарлеме. Актеры даже по внешности подобраны замечательно, очень похожи на прототипов, я уж не знаю как они это делают - грим что ли такой…

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

 

AntonI ()

Какова точность нынешних прогнозов погоды?

Форум — Science & Engineering

Особенно интересна точность локальных прогнозов в горах, например на Эльбрусе. Как по времени так и по пространству.

Скажем давеча (23-го сентября) группа альпинистов пошла на Эльбрус в рамках коммерческого тура. По прогнозу в 9.00 должно было быть солнечно + сильный ветер (60км/ч), в 12.00 легкая облачность + ветер (75км/ч), в 15.00 снегопад и ветер 85 км/ч (что уже полный трындец в тех условиях). Они надеялись успеть до непогоды, но пурга началось несколько раньше обещанного (в 10 с небольшим), как результат 5 трупов.

Оставляя за кадром ошибки организаторов этого тура, с какой погрешностью вообще даются такие прогнозы на сутки вперед? Если прогноз обновляется раз в три часа, значит ли это что погрешность по времени 3 часа? Что с погрешностью по пространству и как вообще считают такие вещи?

Cast @yvv

 ,

AntonI ()

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

Форум — Development

Сабж

#include <iostream>

template <typename T> struct A{
	T x;

	T f(double y) const { return x*y; }

	// альтерантивная реализация, если T*double не определен
	// T f(double y) const { return x; } 
};

struct B{ int z; };

int main(){
	A<double> a;  std::cout<<a.f(1.)<<'\n';
	A<B> b;       std::cout<<b.f(1.)<<'\n';
}

как включать ту или иную реализацию A::f в зависимости от того есть или нету операции T*double ?

 ,

AntonI ()

кроссплатформенное клиент-серверное приложение поверх ssh?

Форум — Development

Необходимо малой кровью сделать клиент-серверное приложение, немного нестандартной (наверное) архитектуры:

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

  2. Вход должен осуществляться по ssh с настроенным открытым ключем, что бы не возиться с вопросами безопасности. До сих пор у меня клиент с сервером тупо общались через stdin/out, это было не очень удобно отлаживать но зато очень просто делать, но тут возникло новое требование:

  3. Клиент должен быть кроссплатформенным и работать в т.ч. под виндой. Поскольку клиент на питоне с кроссплатформенностью проблем нет, но под виндой есть проблемы с ssh - оно там через PuTTY и вообще кривое какое то.

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

Пока что единственная мысля - сделать все том же духе, но как то разобраться с PuTTY что бы и на винде поднимать коннект через popen(…)

 , , ,

AntonI ()

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