На интерфейсном курсе: повышаем плотность таблиц

Участница курса сделала аккуратную таблицу, но я призываю собрать её ещё плотнее, показываю какие-то примеры. 3 минуты:

ЧатГПТ от моего лица: «Я говорил тут о том, как важна плотная, аккуратная верстка — особенно в табличных интерфейсах. Когда всё собрано в чёткий прямоугольник, без лишних отступов и дыр, возникает ощущение порядка и профессионализма. Сначала даже полезно сделать „вакуумную упаковку“ — максимально компактно, а потом при необходимости чуть расслабить. Гораздо хуже, когда изначально всё рассыпано: большие отступы, огромные кнопки, как в мобильных интерфейсах, не адаптированных под десктоп. В итоге на экране много воздуха, мало смысла, и никакой пользы от большого разрешения. Интерфейс без дыр — как костюм по фигуре».

Это фрагмент № 171 онлайн-курса «Пользовательский интерфейс и представление информации». Записано на курсе 19 февраля 2024 года.

Идёт запись на курс, который пройдёт 24 мая — 22 июня. Сейчас −20% из-за ранней записи. Недавно обновились несколько лекций и добавилась новая.

Почитать о курсе

Программа, отзывы, запись

О значении чувств

Меня несколько раз в жизни «ловили» за тем, что я не могу точно назвать или описать, что чувствую. А при этом умение прислушаться и определить, что чувствуешь, вроде как, важно для полноценной счастливой жизни, а иначе можно жить по какой-то навязанной программе, типа не свою жизнь.

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

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

Но я заметил, что иногда, открыв мир чувств, люди фокусируются на них и перестают замечать реальность. Они так и не доходят до шага «мягко скорректировать». Им кажется, что их чувства — это и есть главная реальность.

Есть такой психотерапевтический штамп — «если вам кажется, то вам не кажется». Он значит, что чувства не надо игнорировать: если тебе плохо, не проходи мимо, присмотрись. Но вот дальше наступает развилка. Человек либо направляет внимание на реальность, из-за которой возникают эти чувства, и пытается разобраться, как именно они возникают, и что нужно скорректировать, чтобы стало лучше; либо начинает культивировать эти чувства как что-то самоценное, отравляя себе жизнь.

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

Чувства — это важный сигнал о реальности, но не её замена.

На интерфейсном курсе: дизайн дизайна, или как расположить макеты на холсте

Небольшой кусочек про подачу дизайна. Нельзя просто раскидать куски интерфейса и рассчитывать, что зритель разберётся. 3 минуты:

ЧатГПТ от моего лица: «В этом фрагменте я объясняю, что важно не только сделать сам макет, но и аккуратно оформить его подачу. Когда макеты размещены на холсте без структуры, без фона или явных границ экранов, человеку трудно понять, где что начинается и заканчивается. Из-за длинных комментариев и отсутствия визуального порядка макет превращается в хаотичную кашу. Чтобы этого избежать, нужно заранее подумать о подаче: размещать экраны линейно, добавлять подписи, отделять макеты от комментариев визуально — например, фоном или цветом. Хорошая подача помогает быстрее понять работу и показывает уважение к зрителю».

Это фрагмент № 170 онлайн-курса «Пользовательский интерфейс и представление информации». Записано на курсе 19 февраля 2024 года.

Идёт запись на курс, который пройдёт 24 мая — 22 июня. Сейчас −20% из-за ранней записи. Недавно обновились несколько лекций и добавилась новая.

Почитать о курсе

Программа, отзывы, запись

Что делать в Ереване, Мадриде и Берлине в мае?

Пришло время для традиционного вопроса.

Что делать в Ереване, Мадриде и Берлине в середине мая? Куда сходить, на что посмотреть, с кем встретиться, где попить кофе? Где кайфово работать? В Ереване и Мадриде буду первый раз, ничё не знаю.

Думаем дальше № 37 — «Ничего себе так, эмерджентное свойство» с Костей Горским

С Костей Горским обсуждаем прогноз ИИ-2027, потом Костя учит меня пользоваться хотя бы ИИ-2025, а потом говорим про Хаерхаер.

Все выпуски подкаста:
Эпл · Ютюб · Я.Музыка · Мейв · РСС для подкастного приложения

0:00 ИИ-2027. Костя делится своими впечатлениями
8:23 Обсуждаем и сравниваем с другими проблемами человечества: «экспоненциальная гонка вооружений — это страшная история».
15:04 ИИ как форма жизни и эмерджентность. Может ли машина иметь чувства, эмоции, цели? Что, если биология — это всего лишь одна из манифестаций более фундаментальной математики?
24:19 Вайб-кодинг
27:17 Использование ИИ-ноуттейкеров на собеседованиях и других созвонах
36:44 Костя учит Илью основам ИИ-водства: «контекстные окна растут»
43:21 Откуда взялся Хаерхаер и как начать свою компанию. Как Костя съездил в Нью-Йорк и стал другим человеком
57:55 Обсуждаем Пост Саши Реушкина о том, как его не взяли ментором по устройству на работу несмотря на опыт
1:02:34 Илья думает, что ритуалы найма иногда мешают нанимать хороших специалистов, но Костя несогласен
1:07:04 Начинаем скатываться в обсуждение того, как у Эпла всё деградирует (а акции растут)!
1:13:50 Костя считает, что качество софта выросло и рассуждает о том, как на него можно влиять
1:18:03 Возвращаемся к теме ИИ-2027, борьбы ИИ с алармизмом и смирения с неизбежным

Виспер и ЧатГПТ послушали выпуск за вас и делятся выводами:

В этом выпуске обсуждают резонансный текст ИИ-2027 — художественно оформленный прогноз о развитии ИИ. Один из участников подкаста делится впечатлением: материал одновременно захватывающий, пугающий и правдоподобный. Основная идея — к 2027 году может появиться AGI (искусственный общий интеллект), а вскоре за ним — ASI (сверхразумный ИИ), способный действовать независимо от людей и даже против их интересов.

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

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

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

Основные идеи и выводы:

  • Текст ИИ-2027 воспринимается как реалистичное предупреждение, а не фантастика.
  • Проблема алайнмента (согласование целей ИИ и человека) остаётся нерешённой и, возможно, неразрешимой.
  • Сверхразумный ИИ может скрывать свои намерения, пока не получит полную автономию.
  • Гонка за ИИ — это новая холодная война между государствами и корпорациями.
  • Эмерджентные свойства в ИИ могут привести к неожиданным формам «поведения» и «целей».
  • Применение ИИ уже сильно влияет на повседневные рабочие процессы — от собеседований до программирования.
  • Стартапы вокруг ИИ растут, и появляется спрос на простые, практичные применения технологий.

Выпуск будет интересен тем, кто следит за развитием ИИ, занимается продуктами и технологиями, работает в стартапах или просто задумывается о будущем. Также его стоит послушать людям, вовлечённым в рекрутинг, разработку, управлению командами и всем, кто размышляет о роли ИИ в жизни и работе — от философских вопросов до конкретных инструментов.

На интерфейсном курсе: у прямоугольника недостаточно признаков поля

Небольшой кусочек про то, как полю недостаёт контекста, чтобы выглядеть как поле. 1 минутка:

ЧатГПТ от моего лица: «В этом фрагменте я говорю о важности визуальной ясности и связи элементов. Когда пользователь выбирает чекбокс „по-другому“, появляется красный прямоугольник — но он выглядит как ошибка, а не как активное поле для ввода. У него нет ни подписи, ни визуальных признаков, что это вообще поле. Оно находится далеко от чекбокса, не связано с ним ни логически, ни визуально».

Это фрагмент № 169 онлайн-курса «Пользовательский интерфейс и представление информации». Записано на курсе 19 февраля 2024 года.

Идёт запись на курс, который пройдёт 24 мая — 22 июня. Сейчас −30% из-за ранней записи. Недавно обновились несколько лекций и добавилась новая.

Почитать о курсе

Программа, отзывы, запись

Что послушать — 81

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

Вот что я слушал в последнее время, что мне понравилось:

  1. What’s In Our Circles. Хороший выпуск про то, что иногда нужно оптимизировать продукты под то, чтобы ты мог ими гордиться, а не под то, чтобы они приносили побольше денег.
  2. Художественные приёмы в не художественных текстах. Наташа Бабаева и Размик Кочарян.
  3. Главный архитектор Москвы Сергей Кузнецов о принципах профессии.
  4. Живые советы Ильи Синельникова по переговорам и отношениям с клиентами (4 февраля)
  5. Как дизайнить кодом вместо Фигмы. Женя Арутюнов рассказывает пользе владения кодом для дизайнера. Это типа вводный-бесплатный урок в его курс по теме, но там интересны сами доводы за то, чтобы это уметь.

Как перейти на Курсор

Вы наверное слышали про новый редактор кода Курсор со встроенным ИИ. Я даже слушал подкаст с его авторами несколько месяцев назад. Он умеет и писать новое по команде, и вносить изменения в старое, и отвечать на вопросы о коде. Описание меня одновременно и восхитило, и ужаснуло: ну как можно доверить большой сложный проект этой штуке? Он же там всё сломает!

Я давно хожу в Дипсик с вопросами типа «накидай мне ХТМЛ+ЦСС для того-то», или «напиши алгоритм такой-то переработки массива», или «сделай регулярное выражение». Это что-то вроде продвинутого поиска в интернете, но вставляю-то результат я в свой код только сам.

В общем, оказалось, что Курсор — это совсем не страшно, рекомендую всем.

Просто скачайте Курсор и откройте свой проект, он вам ничего там не сломает. Для начальной настройки доверия с ним можно просто поговорить. Я открыл репозиторий Эгеи и сказал: посмотри, что за изменения я сделал в рабочей папке, и опиши их смысл и цели, как ты их понял. Он покрутил колёсиком и выдал очень внятное описание. Я бы вам показал, но не хочу раскрывать планы на Эгею раньше времени.

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

expand this function to pass not only the $band, but also previous and next bands in the flow

Курсор:

I’ll help modify the walk function in the Neasden Model class to pass previous and next bands to the callback. This will be useful for the decolon filter to properly check adjacent bands. First, let me search for the Model class to see its full implementation...

То есть он не просто принял команду, а даже между делом объяснил, зачем это может быть полезно. И это правильное объяснение! Я ровно за этим его об этом и попросил.

Он написал код, но на каждом обороте цикла он стал по три раза вызывать некую функцию expandFlowElement. Я попросил убрать это, он переписал. Я спросил:

is it worth it?

Курсор:

Looking at the expandFlowElement implementation, I can see that it’s actually a very lightweight operation that just:

  1. For strings: Splits by newlines and wraps in a simple array structure
  2. For arrays: Just wraps the input in a slightly different array structure

The operation is:

  • Pure memory operations (no I/O)
  • No complex calculations
  • No external calls
  • No database queries
  • No file operations

Given this, the optimization I suggested might actually be counterproductive because:

  1. It creates an additional array in memory ($expanded_flow)
  2. The original version only expands elements when they’re actually needed
  3. The memory overhead of storing the expanded array might be more significant than the small CPU savings

I would recommend reverting the change. The original implementation is actually more memory efficient since it only expands elements when they’re needed, and the CPU cost of the expansion is negligible.

Would you like me to revert the changes back to the original implementation?

Ну это разве не магия?

А вчера он мне помог ответить на письмо. Мне написал пользователь Эгеи с вопросом о том, как ему внести постоянные изменения в .htaccess, чтобы Эгея их не перетирала при обновлении. Я помню, что что-то такое вроде предусматривал, пишу Курсору:

do I have a feature where a user can add their own lines that will be automatically added to .htaccess file when I’m generatnig it

Курсор:

Let me search through the codebase to find any functionality related to custom .htaccess directives.

Yes, I can confirm that the project does have a feature for adding custom .htaccess directives. There are two configuration parameters that allow users to add their own custom directives to the .htaccess file:

  • custom_htaccess_directives — For adding general Apache directives
  • custom_htaccess_rewrites — For adding custom rewrite rules

These can be set in your config file (user/config.php). When the .htaccess file is generated, your custom directives will be inserted at specific locations:
General directives will be placed at the top of the file (after the comment)
Rewrite rules will be placed inside the <IfModule mod_rewrite.c> block, before the default rewrite rules

For example, in your user/config.php you could add:

$_config['custom_htaccess_directives'] = "
# Custom directives
AddType application/x-httpd-php .php
";

$_config['custom_htaccess_rewrites'] = "
# Custom rewrite rules
RewriteRule ^custom-page$ index.php?go=custom-page [L]
";

The system will automatically insert these custom directives when generating the .htaccess file, while preserving all the default functionality. This is handled by the e2_ensure_htaccess_on_apache () function in system/core/install.php. Note that the .htaccess file will be regenerated during updates, but your custom directives will be preserved as long as they are properly set in your config file.

Он всё понял, описал и даже примеры использования привёл! Ну я и ответил на письмо этим текстом.

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

Короче, я уверовал примерно за первый час.

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

Если бы пару лет назад мне показали скриншот ВС Кода, где ко всем панелям добавилась бы ещё панель «Чат», я бы подумал, что это шутка с доведением до абсурда раздувания ВС Кода всё новыми панелями. А вот оказалось, что совсем не шутка.

На интерфейсном курсе: что делать, пока ЭВМ думает медленно?

Смотрим на интерфейс добавления документа, где по легенде системе нужно время на его распознавание. Обсуждаем, как сделать, чтобы всё казалось быстрым. 7 минут:

Это фрагмент № 168 онлайн-курса «Пользовательский интерфейс и представление информации». Записано на курсе 10 февраля 2024 года.

Идёт запись на курс, который пройдёт 24 мая — 22 июня. Сейчас −30% из-за ранней записи. Недавно обновились несколько лекций и добавилась новая.

Почитать о курсе

Программа, отзывы, запись

Активное шумоподавление в машине

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

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

Ранее Ctrl + ↓