27 October 2024

Xiaomi 14: итого

Так-с, пришло время закрыть тему переезда на новый телефон. 
Про камеру я уже отписался, о производительности тоже... 

Но сначала про Zenfone 8. Все-таки какой же это ладно скроенный телефон! Даже сейчас, спустя годы, берешь его в руки и восхищаешься компактностью и дизайном. Если бы не дохлая батарейка, которая с годами, естественно, стала еще хуже, то можно было бы сидеть на нем и дальше. Тем более, что Asus исхитрились засунуть в эту малютку бескомпромиссную производительность и в этом плане после апгрейда я вообще не заметил никаких улучшений. 
Краем уха смотрел я и на Zenfone 10, но тут, как говорится, надо очень сильно хотеть аудио-джек в телефоне, чтобы еще раз пойти по этой дорожке. Ибо в плане софта у Asus все совсем не радужно. После обновлений регулярно слетали ярлыки приложений на рабочем столе. Безмерно выбешивал криво работающий "pocket mode", когда телефон не засыпал нормально при ношении в карманах и при длительных прогулках высаживал и без того полудохлую батарею. Да и вообще, судя по всему, сами Asus разуверились в возможность покорить рынок супер компактными телефонами. 

В теории, переходя на Xiaomi 14, я должен был получить улучшения в следующий областях:
- размер экрана
- производительность
- камеры
- автономность.
По итогу, большинство из этих пунктов меня мало парят. Большой экран сегодня вообще совершенно бросовая штука, рынок завален бюджетными моделями с весьма приличными OLED экранами на 6.7". Поэтому X14 брал, в первую очередь, потому, что это один из самых компактных флагманов сегодня. А не потому, что в нем больше экран, чем в моем старом телефоне. 
Производительность? У меня не было ни одного сценария, где Zenfone работал медленнее, чем новый телефон. Оба супер-быстрые, оба с экраном 120 Гц. 
Камеры? Стали сильно лучше, но у меня тут точкой отсчета служит полнокадровая беззеркалка, поэтому на улучшения в этой области мне плевать. В Zenfone камеру явно принесли в жертву компактности и это был тот компромисс, который меня ну вообще не парил.

04 August 2024

За это ваш Snapdragon

После того, как я разобрался с работой камер в новом телефоне, дошли руки покопать тему производительности. 
Вообще, скорость работы моего старого Zenfone 8 меня целиком и полностью устраивала.
В игры я на телефоне почти не играю, а если и играю, то это что-то, что будет бегать и на телефонах десятилетней давности... Поэтому любопытство мое в области попугаев носит исключительно праздный характер: захотелось понять, а как последние достижения Qualcomm соотносятся, к примеру, со стареньким SoC из моего Steam Deck

Синтетическим бенчмаркам в этом вопросе я не сильно доверяю, но для начала решил запустить хотя бы Geekbench.  Deck выбил 1315 в однопотоке и 4512 в многопотоке. Телефон -- 2205 и 6549 соответственно. Т.е. по процессору телефон раза так в полтора быстрее, что особенно впечатляет, с учетом того, что работает он на пассивном охлаждении да еще и на более низких частотах.

24 July 2024

Снова опять again за тот самый "исскуственный интеллект"

Давно не посещал Калифорнию, но даже из-за океана начинает казаться, что если сегодня в Кремневой долине кто-то во время "elevator pitch", широко улыбаясь, скажет волшебную аббревиатуру "AI", то тут же получит по морде тяжелым портфелем с документами. 
Как-то несколько утомил движ вокруг этой истории. 

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


Но, как говорится, "ну что, сынку, помог тебе твой дегеративый AI?". 

14 July 2024

Так что там с камерами в телефонах?

После трех лет эксплуатации отправил на пенсию свой Asus Zenfone 8. Взял Xiaomi 14.
Немного погонял камеру и теперь готов поделиться первыми впечатлениями.
За широкий угол рассказывать не интересно, этот вопрос в телефонах закрыли давно, а вот теле с ЭФР 75 мм -- совсем другая история.
Сенсор, естественно, размером с мышиный анус, примерно 1/3.5". Светосила заявлена f/2. Ну и сверху -- чудесные чудеса современной цифровой обработки снимков. 

Для сравнения взял свой компакт c дюймовым сенсором Sony RX100 IV. У него на длинном конце 70 мм и f/2.8. 

Самый простой сценарий -- смотрим, что у нас с деталями при идеальном дневном освещении. 

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

02 June 2024

Гештальт закрыт

 С "Yoshi's Woolly World" получилась особая история.

Именно эту игру мы с малой проходили в феврале 22-го года. 

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

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

Потом... потом было столько всего!... 

К игре мы вернулись спустя много-много месяцев и начали проходить сначала уже вне Украины. На этих выходных наконец-то прошли ее до конца. 

А дома где-то на компьютере валяется сохраненка. От 24.02.22. 


06 April 2024

За Милан

Некоторые мысли о северной столице Италии. 

Цены на все весьма бодрящие, но к этому приезжающих подготавливают еще на этапе бронирования жилья. 
С другой стороны, многие продукты питания в супермаркетах стоят плюс-минус одинаково практически в любой стране ЕС. А если страна более-менее зажиточная, то продукты это далеко не главная статья расходов среднестатистического семейства.
Несколько удивило практически полное совпадение цен в Макдональдсе в Софии и в Милане. Это, возможно, одна из главных причин большой нелюбви болгар к этой сети фэстфуда -- она им просто не по карману. 

Погода в Милане это просто писец, зонтик забывать дома нельзя. Фактор личного невезения я опроверг сухими (на самом деле, мокрыми) цифрами. В Одесса в марте месячная норма осадков -- 32 мм, а в Милане -- 82 мм. Короче, фактор погоды надо как-то понимать и учитывать. 

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

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

Насчет пропитания скажу так. В центре города все грустно и даже выложив 50-60 евро на человека в приличном ресторане за обед или ужин (без алкоголя) вряд ли вы получите что-то хотя бы как-то оправдывающее расходы такого порядка. За столовки и забегаловки я тоже ничего хорошего сказать не могу.
Но! Вкусную еду можно найти в заведениях спальных районов, есть места, где действительно вкусно и не за все деньги мира. Другой вопрос, кто из туристов, прилетевших на пару дней, будет тратить драгоценное время на такого рода вылазки. Да, еще есть интересный нюанс, что открываются такого рода заведения обычно в 12-00 дня, а с 15-00 до 18-00 у них время обеденного перерыва. В это время итальянцы не кушают. Терпят.   
Да, еще могу похвалить продукты в супермаркетах -- почти все, что я покупал, было вкусное и отличного качества. 

08 February 2024

Генеративные алгоритмы, продолжаем наблюдение

Не все с этими новомодными AI алгоритмами так уж и плохо.
Я вот, к примеру, недавно пописал код на C# в Visual Studio 2022 и был приятно удивлен качеством подсказок, которые мне выдавались по ходу работы. Чаще всего они были тривиальными, из области каких-то общеизвестных алгоритмических вещей (типа поиска минимального или максимального значения). Да и объем анализируемого кода, исходя из которого можно было бы сгенерировать такого рода подсказу, обычно весьма скромный, на уровне класса из двух-трех десятков строк. И сами подсказки, как правило, ограничивается строго одной строкой. Но, тем не менее, работа в связке с такими вот полуавтоматическими подстановками кода это особый, весьма прикольный опыт. 

С другой стороны, надо понимать, что где-то в 10-15% случаев подсказки оказываются нерелевантными и это, на самом деле, большая проблема. Получается, что программист все равно должен напрягаться в полную силу и держать в голове корректный код. И вряд ли кто-то всерьез будет считать, что главное достоинство такого рода подсказок заключается в том, что ты просто набираешь чуть меньше букв -- производительность программиста редко когда упирается просто в скорость набора текста. 
Короче, из-за несовершенства алгоритма подсказок, получается ситуация точно как с автопилотом в электрокарах Tesla. Он вроде как есть, но доверять ему нельзя и нужно все время следить за тем, что он делает и за ситуацией на дороге. Потому что иногда он ошибается и такого рода ошибки могут стоит жизни пассажирам авто. При написании кода ставки, безусловно, не столь высоки, но уверен, что активно пользующиеся такого рода фичами, могут рассказать о случаях, когда машинально принятая подсказка приводила потом к потерянному времени в отладчике и тщетным попыткам найти непонятно откуда взявшийся баг в совершенно банальном коде.  


***

И если мой опыт с AI в Visual Studio это скорее позитивная история, то вот общение с ChatGPT это бесконечная череда разочарований. 

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

Вот список проблем:

  • потеря контекста в самых простых и однозначных диалогах. Машина внезапно "забывает" то, о чем вы общались буквально одно-два предложения назад и начинает выдавать совершенно нерелевантные ответы, без учета очевидных, подразумевающихся из контекста, факторов. Например, с самого начала код просили писать на C++, а через пару промптов выдача почему-то начинается на другом языке программирования.  
  • выдача абсолютно общих, бессодержательных ответов на конкретно сформулированные запросы. 
  • выдача откровенной лжи и некорректной информации (т.н. эффект галлюцинаций). Иногда речь идет о совершенно базовых и общеизвестных вещах, сведения о которых находятся в Википедии за пару секунд. 
  • работа в режиме безграничного доверия и потакания клиенту: исходные запросы и утверждения имеют какие-то сверхприоритеты в системе, поэтому их содержание очень часто перекрывает истинное положение вещей. Если в запросе попросили перечислить виды слонов, обитающих в Латинской Америке, то AI кинется их перечислять, а не поставит под сомнение изначальную корректность этой просьбы.  Если человек скажет, что написанный выше (абсолютно корректный) код не компилируется, то AI готов до бесконечности искать, находить и "исправлять" несуществующие ошибки. 

Несколько иллюстраций. 

Вот, к примеру, мой запрос о сравнении работы SIP протокола поверх TCP и поверх WebSocket. 
Абсолютно некорректная (и просто бредования) выдача:

Кто не в курсе, WebSocket это надстройка поверх TCP, т.е. быть более эффективной и легковесной она просто не может быть по определению.  

Так же ужасно обстоят дела с "написанием" кода. Однажды попросил написать сохранение скриншота окна в BMP файл под Windows. Сразу получил достаточно правдоподобный код, который скомпилировался и даже сохранял BMP файл при работе. Только файл был некорректного формата и не открывался ни одной программой. После нескольких безуспешных итераций в попытках исправить код (во время которых мне на руки стали выдаваться версии, которые уже просто не компилировались), AI предложил кардинально сменить стратегию и начать использовать для работы с BMP изображением какой-то там специализированный COM класс, который тянет внешние зависимости. На выходе получился принципиально новый код, который, разумеется, тоже корректно не работал. И не заработал даже после того, как я намекнул AI, что нужно все-таки не забывать вызывать CoInitialize (кстати, код имел кучу точек отказа и ноль строчек для их диагностики и обработки). После ряда безуспешных попыток на свет родилась еще одна, принципиально новая, версия с использованием GDI+. Точно такая же неработающая. 

По итогу, потеряв полчаса, я пошел гуглить и через 10 секунд нашел идеально работающую версию необходимого кода на StackOverflow (на 99% совпадающую с примером из MSDN).  
Даже не знаю, что тут еще комментировать... Кстати, а как там обстоят дела с запретом на использование AI для написание ответов на SO? Он все еще действует?  

Мне вообще повезло, потому что все закончилось относительно быстро, но вообще в жизни случаются куда как более веселые истории. Вот тут рассказ о том, как человек попросил ChatGPT сгенерировать ему LUT обработку данных для Python. Буквально 10 строчек кода, с которыми человек потом сношался несколько часов. Знаете почему? Потому что AI при вызове функции рисования графика почему-то переставил координаты x и y местами. Ошибка, с которой можно бороться очень, очень долго даже в таком маленьком объеме кода...  

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