LINUX.ORG.RU

Сообщения AntonI

 

Организация типизированных (в т.ч. типы пользователя) данных с комментариями в json?

Сабж.

В python есть pickle который хранит в т.ч. типы пользователя и автоматически импортит модули при десериализации, но pickle какой то маргинальный стал (чехарда с форматами и невнятные перспективы), хочется уйти на json. Кроме того pickle все равно не умеет хранить комментарии из коробки.

Нужно сохранять и загружать вот такое:

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

  2. ключи в исходных данных гарантированно текстовые отвечающие требованиям к питоньим идентификаторам.

  3. Типы параметров — все что есть в json из коробки (числа, строки, списки, словари) + что то пользовательское, м.б. сложное и требующее импорта сторонних модулей при восстановлении.

  4. некоторые из параметров могут быть снабжены комментариями (комментарий это строка)

  5. желательно что бы комментарий лежал рядом с параметром для улучшения читабельности .json - файла глазами.

Интересна не техника записи/чтения в коде, интересна сама структура данных.

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

Можно сделать две параллельных структуры с типами и комментариями, но выглядит как извращение:

[{ 'a':1, 'b':2.5, 'c':[1,2,3]},
 {'c':'myvector.myvector3D'},
 {'a':'длина баскетбольной площадки', 'c':'куда бросать мяч'}
]

Можно загонять тип в имя параметра 'myvector3D c':[1,2,3], можно рядом с параметром класть какую то информацию '@c':['myvector3D', 'куда бросать мяч'] — но это все работает только если параметры лежат в словаре, скорее всего так и будет но что то может поменяться.

В общем много вариантов но хороших я не вижу;-(

@annulen

 ,

AntonI
()

Рефлексия в плюсах - обойти все поля структуры в рантайм?

Хочется объявить поля в структуре/классе так, что бы потом иметь возможность обойти их в рантайм/иметь возможность обращаться по имени в рантайм. Ограничения:

  1. стандарт не свежее с++-17

  2. всякие толстые сторонние либы а-ля буст не подходят

  3. задание полей должно быть максимально простым, желательно что бы каждое поле упоминалось не больше одного раза.

  4. необходимо иметь возможность довешивать к полям комментарии (можно статические) и потом иметь к ним доступ в рантайм.

Хочется че то такое:

struct A{
    BEGIN();  // некий макрос
    int PAR(x, 0, "число рыбов");
    std::array<double, 2> PAR(y, {0., 0.}, "координаты главрыбы");
    END();
};

но как это сделать фантазии не хватает (есть варианты, но они все ужасно костыльные).

Можно легко сделать что то вроде

struct A{
   double x = 0;
   std::array<double, 2> y = {0., 0.};
   A(){ TABLE(x, "число рыбов")(y, "координаты главрыбы"); }
};

но нарушается п.3.

Можно на худой конец сделать

struct A{
   int x = 0; ///< число рыбов
   std::array<double, 2> y = {0., 0.}; ///< координаты главрыбы
};

и перед сборкой обрабатывать это питоньей утилитой, генерить хидер с какой то оберткой и его инклюдить, но выглядит несколько радикально…

Как бы такое сделать Ъ? @annulen, @fsb4000, @monk, @bugfixer


UPD. Решил чуть подробнее расписать зачем это нужно и что должно выйти в итоге. Есть приложение (HPC) в котором есть вычислительное ядро на плюсах. В ядре есть класс Model со 100500 параметров (входных и выходных содержащих результаты расчета) которые имеют значения по умолчанию, но нужно мочь их менять через конфиги/аргументы командной строки, куда то записывать (в json) и т.д. Если забиндить ядро в питон (через SWIG) то это все делается довольно легко, но такой биндинг не всегда возможен. Хочется иметь аналогичную функциональность на чистых C++. Т.е. в C++ я изначально пишу:

class Model{
...
   double J = 1;      ///< exchange integral
   double T = 2;      ///< temperature
   double c = 0.1;    ///< concentration
   double dt = 1e-2;  ///< time step
   double t = 0;      ///< time
...
   
   void init();
   void calc();
};

Пускач в питоне

model = Model()
config(model)  # это функция из моей либы накатывающая параметры из командной строки
model.init()
while model.t<t_max: model.calc()

при запуске я могу писать что то вроде

./run.py T=4 dt=1e3

хочется мочь писать аналогичный пуска на плюсах.

Для этого необходимо и достаточно иметь в плюсах некую обертку для модели которая:

  1. может перечислить все параметры
  2. может вернуть значение любого параметра в виде строки
  3. может задать значение любого параметра из строки
  4. бонусом (то чего в питоне пока нет, но хочется и туда пробросить) - может вернуть комментарий к любому параметру

 ,

AntonI
()

«Он был одним из нас» – в Южной Корее впервые робот покончил с собой из-за тяжёлой работы

‌Робот, созданный компанией Bear Robotics, трудился в мэрии Сеула, выполняя обязанности государственного служащего с 9:00 до 18:00, и даже имел документы, удостоверяющие личность. Робот-трудяжка занимался документооборотом и сообщал местным жителям необходимую информацию.

Работники мэрии относились к роботу как к своему коллеге. Поэтому, когда с ним случилась беда, коллектив был опечален.

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

«Он официально был частью мэрии, он был одним из нас», – заявили скорбящие коллеги робота. Они настаивают на тщательном расследовании происшествия. По словам служащих, робот не выдержал и решил сломаться из-за слишком тяжёлой работы.

Это первый подобный случай в стране. Южная Корея считается одним из мировых лидеров в области робототехники. Здесь отмечается самая высокая плотность роботов в мире. Не все из них счастливы…

 

AntonI
()

Подобрать такую RGB палитру для .pdf, что бы при переводе в CMYK в издательстве не было вырвиглазия?

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

Вопрос - можно ли как то подобрать палитру (и как?) что бы электронная версия имела пристойный вид? На графиках цветом отображаются скалярные значение (скажем распределение температур). Под палитрой я понимаю ломаную в RGB кубе, вдоль которой откладываются значение температуры и получается цвет. Сейчас наиболее полная палитра у меня это радуга (от красного к фиолетовому, на краях дополнена черным и белым), для gnuplot задается вот так:

0 0 0 0, 1 1 0 0, 3 1 1 0, 4 0 1 0, 5 0 1 1, 6 0 0 1, 7 1 0 1, 8 1 1 1

Мб ее можно на что то заменить для CMYK?


Спасибо @Irma за идею - подобрал похожие цвета которые есть в CMYK, использовал ссылку https://rgb.to/ral/page/1

Вышло вот так:

0 0 0 0, 1 1 0 0, 3 1 1 0, 4 0 1 0,     5 0 1 1,        6 0 0 1,    7 1 0 1,  8 1 1 1
0 0 0 0, 1 1 0 0, 3 1 1 0, 4 0 .71 0.1, 5 0 .537 .714,  6 0 .22 .48, 7 0.737 .251 .467,  8 1 1 1

 , ,

AntonI
()

Оптимально создать словарь с суммами по ключам на основе списка пар ключ:значение?

На вход в функцию подаются пары ключ:значение

func('a', 1)
func('b', 2)
func('a', 5)

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

{'a':6, 'b':2}

Как это сделать оптимальным (с т.з. производительности) образом?

Мне всегда казалось что Ъ вариант такой

D = {}
...
D.setdedault(key, [0])[0] += value

потому что одно обращение к словарю. Можно еще вот так вот попроще

D[key] = D.get(key, 0)+value

М.б. есть еще какие то более феншуйные варианты?

 

AntonI
()

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

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

Итак, пингвины на южном полюсе узнали от полярников что когда у них день, на северному полюсе полярная ночь и вообще уныло. Что бы поддержать своих северных коллег, белых медведей, пингвины решают отправить медведям посылку с отборной антарктической сельдью. Что бы посылку в дороге не сожрали жадные людишки, пингвины решают отправлять посылку по баллистической траектории, из инопланетного рельсотрона обнаруженного в подледной пирамиде (см. чужой против хищника, ч.3 - Ковальски наносит ответный удар).

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

  1. рельсотрон находится на южном полюсе, а каспула корректно работает только при попадании в северный полюс, при промахе капсула сгорает в атмостфере (магнитные аномалии плохо влияют на инопланетные технологии).

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

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

Пояснение. Если бы Земля была плоской, то стрелять можно было бы под любым углом меньшем 90 градусов - но Земля круглая. Если выстрелить под углом 0 градусов с первой космической скоростью, то посылка пролетит над северным полюсом (допустим мы немного подняли рельсотрон над поверхностью). Если выстрелить под углом в 90 градусов, посылка упадет в точку старта (кривизной орбиты Земли пренебрегаем) или улетит в бесконечность. То есть искомый угол лежит где то между 0 и 90 градусами;-)

 ,

AntonI
()

f-строки или str.format - может ли одно полностью заменить другое, поделитесь опытом?

Сабж. Я много лет эти фичи игнорировал и вообще не любил третий питон - оператора % из py2 мне хватало. Но тут занялся одной штукой для преобразования аргументов командной строки, и понял что вещи в общем годные, правда опыта с ними у меня маловато.

В связи с этим нубвопрос - можно ли считать, что f-строки полностью заменяют str.format? Или это все таки разное, и str.format предпочтительнее и предсказуемее (требует меньше букв) в каких то случаях?

Речь о паттернах само собой (строке что форматируется), а не о способах вызова.

 ,

AntonI
()

Удаленный терминал (поверх ssh) с показом картинок?

Есть сервер который что то долго и много считает и генерит кучу данных. Я могу войти туда по ssh. Хочется из этих данных строить картинки (графики y(x), как правило гнуплотом), при этом сами данные к себе не выкачивать. И хочется эти картинки сразу видеть, без всяких scp/sshfs, прямо вот в терминале. Без какого то интерактива вроде выделения фрагментов, смены масштаба и пр - просто увидеть картинку глазами, эдакий предпросмотр данных.

Вход по ssh -X или vgl работает но лагает жутко, канал все таки хиленький. У gnuplot-а есть терминал dumb:

gnuplot> set term dumb
gnuplot> plot x**2

                                                                               
  100 +--------------------------------------------------------------------+   
      |*               +                 +                +               *|   
   90 |-+..............:.................:................:..............+-|   
      |  *             :                 :                :             *  |   
   80 |-+..............:.................:................:..............+-|   
      |    *           :                 :                :           *    |   
   70 |-+..............:.................:................:..............+-|   
      |      *         :                 :                :         *      |   
   60 |-+..............:.................:................:..............+-|   
   50 |-+..............:.................:................:..............+-|   
      |         **     :                 :                :     **         |   
   40 |-+..............:.................:................:..............+-|   
      |            **  :                 :                :  **            |   
   30 |-+..............:.................:................:..............+-|   
      |               *:                 :                :*               |   
   20 |-+..............:.................:................:..............+-|   
      |                :  ***            :           ***  :                |   
   10 |-+..............:.................:................:..............+-|   
      |                +       *****     +    *****       +                |   
    0 +--------------------------------------------------------------------+   
     -10              -5                 0                5                10  

вот что то такого плана, только конечно качеством повыше.

У кого какие идеи?

Можно конечно свою обертку поверх ssh написать что бы она умела и картинки отрисовывать, но неужто никто ничего такого не сделал?


Решается применением терминала sixelgd в гнуплоте. Его не всякий терминал поддерживает, я в итоге остановился на mlterm (konsole и xterm не взлетели).

https://www.arewesixelyet.com/#xterm

 , ,

AntonI
()

А есть легковесные фенечки умеющие конвертить формулы из LaTeX в растр/pdf?

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


UPD желательно что бы работало локально, не web-сервис.


UPD2 оказывается матлотлиб умеет такое, ну надо же… https://habr.com/ru/sandbox/79621/

UPD3 Библиотека mimeTeX - рендеринг математических уравнений из формата TeX (LaTeX) в картинку GIF - в 50 раз быстрее матплотлиба и гораздо более качественная картинка в смысле шрифтов. Всех исходников - два файла на сишечке. Спасибо @Xintrea за ссылку!

 ,

AntonI
()

Плохо параллелится код с std::unordered_map

Сабж. Есть плюсовый код, цикл параллелится при помощи OpenMP. Цикл по вектору, в процессе работы используется таблица std::unordered_map<int, T>, sizeof(T)=16 байт, в таблицу идет как запись так и чтение (изначально таблица пустая).

Что бы исключить гонку данных каждый тред работает со своей таблицей.

Число итераций в цикле до 4млн, каждая итерация занимает порядка 20мкс.

Эффективность распараллеливания около плинтуса, какие то десятки процентов на 2-4 тредах, дальше хуже.

Гонки данных нет (ну я не вижу, код специально писался так что бы ее исключать). Я бы понял если бы в std::unordered_map было какое то статическое поле, тогда OpenMP ведет себя похожим образом. Что просиходит вообще?

Проблема с плохой параллелизацией типичная, но по моему опыту такие достаточно нагруженные циклы параллелятся хорошо. Памяти задача ест относительно немного (1-2 Гб), правда адресуется она достаточно хаотично.

Основная разница в том что тут юзается std::unordered_map c которым я толком дела не имел в параллельных задачах.

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

cast @bugfixer

 ,

AntonI
()

Криво встает Ubuntu22.04.3 на ноут

Сабж. Стояла Ubuntu 22.04.2, пока я был в отпуске пришло какое то обновление и сломало драйвер видеокарты Nvidia. В итоге перестал подключаться второй монитор.

Установил проприентарный драйвер, что то пошло не так, вообще перестал загружаться (при переходе в X-ы черный экран и все).

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

Ладно, убрал ~/.config, переставил - все то же самое.

Задолбался, поставил Ubuntu23 - все заработало, старые настройки подхватились, только второй питон совсем пропал. Ну и традиционно новый фаерфокс пролюбил все закладки и сохраненные логины;-(

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

И я таки продолжаю утверждать, что линукс катится в гавно. Прошу простить за эмоциональность, был взволнован…

 ,

AntonI
()

Сгорела рация baofeng uv5r

И не включается. Вообще, наглухо. Даже при замене аккумулятора.

Скорее всего произошло сие когда я ее после связи спрятал в клапан рюкзака без антенны (с антенной не влезает), и при этом случайно включил (там колёсико легко поворачивается) а потом наверное в клапане PTT нажалось несколько раз. Это гипотеза.

Вообще я с баофенгами давно хожу (лет 5-7 как мин), это первый раз такой казус. Сгорела рация из свежей партии, 8ватт, была выставлена на диапазон 2м.

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

 

AntonI
()

где вы берете эти ваши торренты?

Я вылез из криокамеры и понял что хочется че то посмотреть, есть умный телевизор ми какой то там и проживание в РФ.

Всяких подписок на иви и пр. у меня нет, да и то чего хочется посмотреть на них тоже нет (скажем хочется глянуть «день когда сотановилась» 1951 года или «через вселенную» по битлам).

Поставил себе ktorrent по старой памяти, пытаюсь закачать - большая часть торрентов нерабочая (нет никого на раздаче). Как это сейчас делается и делается ли вообще?

ЗЫ воткнул в телевизор флешку с .avi файлом - он сказал что такое показывать не умеет. Совсем опечалился, придется его как то цеплять к ноуту что ли…

 ,

AntonI
()

Прицепить 4 энкодера к компу и опрашивать их?

Сабж. Хочется сваять одну штуку, в ней должно быть 4 энкодера. Точность десятые доли градуса, приложение на компе (обычном) должно их опрашивать не реже 10 раз в секунду (лучше чаще).

Как это сделать проще всего на коленке? В таком я полный нуб (паяльник держать умею и все).

Какие энкодеры брать, как их подключать аппаратно, как писать код для опроса?

 ,

AntonI
()

Отключать уведомления о полученных реакциях

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

@maxcom, а можно как то это развидеть? Ну там в профиле кнопочку, не видеть отрицательных реакций. Или вообще, реакция не повод для уведомления;-)

 

AntonI
()

Перестал подключаться второй монитор на Ubuntu22.04 Wayland - как починить?

Сабж. Раньше в ноут втыкаешь HDMI шнурок - все само взлетает. Сейчас он второго монитора тупо не видит

$ xrandr --listmonitors 
Monitors: 1
 0: +*XWAYLAND0 2560/220x1600/340+0+0  XWAYLAND0

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

Как чинить? Сломалось судя по всему после того как ребутнулся с подключенным вторым монитором, но это неточно.

 

AntonI
()

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

Сабж.

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

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

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

 ,

AntonI
()

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

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

Итак, хочется ноут помощнее (на случай работы от блока питания), но что бы его было нормально носить (на случай куда поехать далеко). Фантазируем и ограничения по цене не рассматриваем. Вариантов помощнее с разумным весом сейчас есть, ноут с видеокартой 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 - поделитесь опытом/посоветуйте аналоги?

Задумался тут о новом ноуте. Старый неплох но лагает на внешнем мониторе 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
()

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

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

 ,

AntonI
()

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