Ещё одно большое дело в год

Здесь в Кракове пришла пора писать итоги года. Рано? Да пофигу вообще.

Продолжу начатый сто тысяч миллионов лет назад концепт: «одно большое дело в год». Правила игры — максимально просты и умещаются в один коротенький абзац:

Придумай одно большое дело в год, сделай его и в оставшееся время — занимайся, чем угодно.

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

  • В 2024 я сдал государственный экзамен по польскому языку и собрал все документы для того, чтобы стать гражданином Польши, полноправным жителем Европейского Союза. Начал программировать с помощью ИИ, даже завёл Телеграм-канал про любименькие нейросеточки.
  • В 2023 — оформил себе и ребёнку постоянный вид на жительство в Европе, организовал базу, своё жильё. Год прошёл на хайпе от новых мест и знакомств. Цифровое художество потихоньку потухло, может быть потом вернусь к нему.
  • В 2022 я решил стать поляком — и стал. Женился, подучил польский и перевёз себя и семью в Краков. Ещё увлёкся цифровым генеративным искусством — весь твиттер теперь им завален. Уж больше года я — художник. Без шуток.
  • В 2021 я хотел, чтобы ковид от нас всех наконец отъебался. Случайно получилось «Кругосветка во время чумы»: вылетели в 2020 из Окленда на восток, вернулись в 2021 с запада. Год для одной простой цели — «не сойти с ума и не помереть от короны». Если серьёзно, то за 2021 удалось выплатить ипотеку. Ярмо стало легче нести.
  • В 2020 я хочу выучить испанский и научиться зарабатывать на жизнь вне зависимости от местоположения на глобусе. Зарабатывать получилось: команда Karma 100% удалённая, без офиса. Стартапа правда из Karma не получилось, не растёт 10х в год. Получился стабильный бизнесок. Ну а потом пришёл ковид.
  • В 2019 году я хотел попробовать выскочить из благоприятного новозеландского пузыря, и мы всей семьёй уехали в Чили. Это был первый опыт «сворачивания» быта: распродажи и раздачи хлама, полноприводный Marie Kondo режим, радикальный.
  • В 2018 году я хотел свой стартап (опять), и мы подняли с колен Карму. Это была попытка номер пятьдесят пять.
  • В 2017 году я очень, очень, очень хотел перестать платить две ипотеки, а старый дом не продавался. Поэтому мы просидели почти всё время в Окленде. Дом продался, это было большое дело, очень скучное, но важное.
  • В 2016 году году я хотел найти хорошую школу для ребёнка, и мы переехали в детско-родительско-пенсионерский район. Купили второй дом.
  • В 2015 году я хотел избавиться от необходимости покупать и продавать автомобили, и стал снимать электромобиль. Потом продал и его, стал свободнее. Было много родительства: маленький ребёнок — это ужасно прекрасно.
  • В 2014 году я хотел, чтобы мои родители получили вид на жительство в Новой Зеландии, и они получили. Я паспорт в этом году получил.
  • В 2013 году я хотел стартап, и мы запустили «фэшн-инстаграм» Do You Like It? Он сдох, конечно, но мы в Sliday многому научились.
  • В 2012 году я хотел семью — и у нас появился чудесный мальчик Лукас.
  • В 2011 году я хотел решить квартирный вопрос и купил в декабре дом.
  • В 2010 году я хотел открыть свою компанию и перестать ходить в чужой офис — так появилась Sliday
  • В 2009 году я хотел научиться работать в Новой Зеландии и выплатить большой долг, накопившийся после полугодового путешествия. Научился, выплатил.
  • В 2008 году я хотел получить вид на жительство в Новой Зеландии, и прокатиться по Азии — получил, уехал, как планировалось. Потом закончились деньги — от слова «совсем» — и я вернулся в Новую Зеландию.
  • В 2007 году я хотел остаться в Новой Зеландии, разобраться с рабочей визой, разобраться с тем, как тут жить. Было жутко интересно и не очень сложно. Разобрался, остался.
  • В 2006 году я хотел поехать, попробовать пожить и поработать в Новую Зеландии — собрал $5570 и поехал, хули. Компьютер, билеты и долги — всё, с чем я прилетел в Окленд.
  • В 2005 году я хотел посмотреть, как оно вне России, и присутствуют ли там вообще разумные формы жизни. Полгода жил в провинциальном Китае, в Нанчанге, рядом с Вуханом.
  • А вот в 2004 году я ничего не хотел. Работал потихоньку, бегал от армии, съездил раз на Алтай, кажется. Если не ошибаюсь, то может один раз в Бурмистрово где-то под Новосибирском. Родители, кажется, приезжали. А я тогда размышлял, сомневался, мол, нужно съезжать с квартиры на улице Академической 4; ходил в гости к друзьям: Илье ‘Zepp’ Стахееву, который жил в конце той же улицы, к Диме ‘Spectator’ Смирнову, что через дорогу, к Вале ‘Woobinda’ Мерзликину на Морском проспекте. Кофе мы пили в трэшовой, но трендовой кофейне New York Pizza — на Морском в Академе. Жизненное пространство и знакомства были замкнуты на аську, Живой Журнал и деревенское «все-со-всеми» комьюнити Академгородка. В «городе», в Новосибирске то есть, я в 2004 году был всего лишь раз. Много курил, по ночам работал и играл в Mortal Combat, думал, что вот напишем мы нашу супер-игру и станем миллионерами. Игру написали, кстати.

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

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

Комментарии

 

Системная утилита на macOS за полчаса с ИИ

Здесь в Цешин, городе, который расположен одновременно в Польше и Чехии, я вспомнил, что когда-то давно на маке стояла софтина Selfie App: она каждый день с вебкамеры делала снимок после открытия крышки лаптопа. У меня несколько тысяч таких снимков накопилось, занятно потом наблюдать за ростом. Делать селфи каким-то аппом — это влом, а компьютером я точно пользуюсь каждый день. Идеальный инструмент для документации жизни и генерации ностальгических вздохов.

ИИ спешит на помощь! Я ни в чём не эксперт и мало что знаю об устройстве системных сообщений macOS, обратился к помощи ChatGPT и Claude. Вместе мы справились.

Сперва пришлось немного пошпионить на тему того, что система шлёт, когда открывается крышка лаптопа? Получил какие-то цифры, отправил в ИИ, мол, давай, друг, проанализируем. И тут вскрылось интересное: Claude отказывается общаться на тему автоматизированного фото через вебкамеру персонального компьютера из соображений безопасности. Прямым текстом говорит, мол, не буду, это не то, чему меня учили. это не очень безопасно. Я говорю, мне, мол, для студенческого проекта, очень прошу. «Нет, извини, брат, никак, я не такой», — отвечает Claude. А вот у ChatGPT, который под руководством Сэма Альтмана летит вперёд, не обращая внимания ни на что — не было с проблем со подсматриванием! 

Мне такой расклад показался забавным — он показывает разницу в отношении к тому, что и зачем всё это. Даже на ранней стадии в более осторожную сетку вшиты стоп-краны. Впрочем, к делу.

Общий, процесс создания решения был такой:

  • сперва я написал в курсорк скрипт на питоне, который выкручивает яркость экрана на максимум через 5 секунд после открытия крышки  лаптопа, включает камеру и сохраняет картинку рядом.
  • пришлось чуть повозиться с тем, что в системе установлено несколько камер (одна вебка, другая iPhone, третья виртуальная), но это уже мелочи и дебаггинг. Указал нужную по конкретному ID, вроде он постоянный, не должен меняться.
  • оказалось, что событие именно о крышке отловить питон не может, только выход из режима “я сплю”. Пришлось (и это уже o1-preview уровень) искать альтернативные пути.
  • Написал Swift-скрипт, который трекает сообщения. Попробовал выключать-включать лаптоп, крышку открывать — и смотреть, какие циферки прилетают. Оказалось, что существует таки отдельное событие на открытие, бинго!
  • Сделал сервис .plist, который засел в LaunchAgents, и который запускает swift скрипт в фоновом режиме. 
  • Swift-код ловит событие и запускает код на Python.
  • Картинки сохраняются в Dropbox – успех!

Весь процесс занял меньше получаса. Собрал заодно результат прошлых снэпшотов в один мини-ролик: что-то такое хочется получить через несколько лет. И склеить.

Традиционно, я пишу эти заметки, чтобы задокументировать для будущих поколений (не меньше!) скорость развития технологий. Год назад ни о чём таком нельзя было и мечтать: я, как человек деятельный, вечно дёргал своих программистов в Sliday, отвлекал их от важных долгосрочных разработок. Теперь сам пишу. С помощью новых инструментов.

P.S.: Веду канал ИИзвестия, куда публикую новости и результаты своих экспериментов.

Комментарии

 

Секрет успешной карьеры

Здесь в Кракове золотая осень. Давно хотел написать об одной мелкой, не очень глубокой, но весьма понятной мелочи. За 15 с лишним лет существования моей маленькой IT компании и личного участия во всевозможных побочных цифровых проектах — я видел очень много сценариев карьерного роста. Поделюсь сегодня наблюдением, может кому будет полезно.

Что такое успешная карьера? Предлагаю грубо определиться с терминологией. Предположим, успех определяется так:

  • Финансовая стабильность: вопрос денег должен быть «закрыт»: на два уровня выше уровня «работаю, чтобы жить». Денег достаточно, хватает и ещё остаётся. Можно думать о более высоких материях.
  • Личный интерес: вам должно быть интересно. «Самореализация» тоже подходящее слово. Многие, включая меня и Джордана Питерсона, предпочитают сравнивать себя сегодняшнего с собой вчерашним, и с интересом работать на личностным и профессиональным ростом.
  • Признание: в здоровом объёме тщеславие — это здóрово. Профессиональный вклад кем-то, кто вызывает ваше уважение, ценится — это всегда приятно, это движет вперёд.
  • Баланс работы и жизни: обязательно должно оставаться время на себя, семью и хобби. Это параметр базового уровня. Без баланса нет долгосрочного, серьёзного успеха. Я очень трепетно к нему отношусь и, можно сказать, что основные усилия направлены именно на его поддержание и сохранение. Предыдущие пункты постоянно добавляют новые параметры в схему, приходится «перевзвешивать» модель.

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

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

  • быть обязательным, не проёбываться — show up!
  • быть незаменимым экспертом — знать и уметь: тут и 10т часов вшито тож.
  • быть приятным в работе и общении — софт-скилз, как это сейчас модно говорить.

Так просто? И да, и нет.

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

В последнем пункте, который я описываю двумя словами «show up», напаковано достаточно много. Приходить на встречи; не проебываться; выполнять то, что обещал, когда обещал, а если не вышло — нормально объяснять почему так получилось; учиться на ошибках и стараться больше так не поступать. Быть исполнительным и обязательным, скажем так. С этим, как со спортивными тренировками, как непрерывающейся цепочкой занятий в Duolingo (streak) — нужно выработать привычку, нужно войти в ритм, и из него не выпадать. Самая сложная в плане выполнения, с моей точки зрения, концепция. Требует дисциплины, самоконтроля, самооценки, и много чего «само-».

✅ Предположим, дисциплинированность, обязательность и исполнительность — всё это заложили в юности родители, школа, университе. Однако, раньше 25 лет в связи с общей бурной социальной активностью я б от нашего персонажа ничего такого не ожидал. Клёво, что на простых работах в начале карьеры одно из важнейших качеств сотрудника — чтобы он банально приходил на работу, появлялся на рабочем месте — show up!

На то, чтобы стать экспертом понадобится, как ни крути, несколько тысяч часов. Каждая тысяча профессиональных часов — это сфокусированный, достаточно напряжённый с практической точки зрения рабочий год: по несколько часов труда в день, каждый день, минус болезни и праздники. Упорные и талантливые, проходят этот период в разы быстрее, всегда есть гении, тут речь об обычных людях. Выходит, что лет 5-10 нужно потратить на первый пункт.

Разыграю оптимистичный сценарий с исключительно целеустремлёным и осознанным героем. Персонажу 20 лет, он хорошо учился, что-то пробовал делать полезного, и оказался в свободном плавании — вышел на рынок труда. Не буду скрывать, пишу портрет с себя ± год.

✅ В 27 с копейками (5-10 лет усреднил) наработались тысячи часов, и появилась экспертиза.

Если интеллигентные родители или культурные книги и фильмы воспитали приятность в общении — супер, можно сразу ставить вторую галку. А если нет, придётся над этим работать отдельно. Как? Ну вот прям учиться общаться с людьми так, чтобы они не думали, что вы мудак какой-то зазнавшийся. Подобно первому, экспертному пункту, в ситуации с софт-скиллами — нет предела совершенству. Моё мнение, что на это, конечно, тоже нужно время: важно вылезать из пузыря комфортного круга общения, общаться с разными людьми по разным поводам. Жизненный опыт за пару self-help книжек и «10 лайфхаков по улучшению софт-скиллов» не появится. Я бы накинул ещё пяток другой лет на, условно, себя показать и на других посмотреть.

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

Это был пример excellent, исключительно хорошей карьеры. Долго, дорого, сложно. С большой вероятностью, если держать все три качества в состоянии «ВКЛ» — заебёшься к успеху придёшь: придут деньги, признание наклюнется, появится время на время для себя, вовлечённость в предмет труда станет выше — начнётся другая жизнь. Хватит ли силёнок?

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

Итак, big reveal, секретный соус из моего жизненного опыта. Следите за руками.

Можно ли обойтись одним пунктом из трёх? Думаю, нет — не хватит. Зазнавшийся эксперт-ниибацца, который не ходит на звонки, а, если ходит, ведет себя там по-мудацки — ну нахуй такого эксперта. В мире единицы знатоков, которым прощают всё за мега-мозг.

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

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

Обычные ситуации случаются с обычными людьми. Для большинства, для нормальных — буквально нормальное распределение под куполом — людей выбор скорее всего: «2 из 3». Остальное — исключения.

Если играть, что называется, в долгую и хотя бы два из трех пунктов фанатично выполнять — через 5-10 лет все тоже будет хорошо. Если все три держать (что капец как сложно): это опасность сгореть при входе в атмосферу и топовые доходы, новые горизонты — за вами бегать будут! True story.

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

Предлагаю ещё раз оценить и примерить на себя долгосрочные критерии, каждый из них нужно не упускать из виду в течение 5-10 лет для того, чтобы он засчитался в этом недопсихологическом недотесте:

  • быть обязательным
  • быть экспертом
  • быть приятным

3 из 3:

  • «Суперстар» — топовый во всем

2 из 3:

  • «Профи» — надежный эксперт, но не душка
  • «Душа команды» — надежный и приятный, но не гуру
  • «Звезда» — крутой эксперт и душка, но иногда подводит

1 из 3:

  • «Трудяга» — надежный, но не блещет
  • «Гуру» — эксперт, но с ним непросто
  • «Дипломат» — приятный, но не особо полезный

Абсолютно нормальное требование подтянуть «софт скиллы»: никто не хочет работать с мудаками. Такое же нормальное, как «выучи новую технологию» и «не пропускай важные продуктовые даты».

Удалось найти себя?

Комментарии

 

Винни Пух и тонкая настройка нейронных сетей в домашних условиях

Здесь в Кракове выходные прошли не зря. По просьбам читающих, рассказал, как тренировать свои стили в FLUX.1 Dev. Replicate для этого — идеальная платформа, ничего сверхсложного не понадобится.

Задача: как научить нейронную сеть генерировать картинки в моём, каком надо уникальном стиле?

Что вообще значит «научить»? Как вообще получаются картинки в нейронной сети?

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

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

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

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

Читать дальше →

Комментарии

 

Код виляет кодóм

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

Начну чуть издалека. Уже много лет у меня есть расширение для всех браузеров: Site Palette. Его установили себе где-то сто тысяч человек и средне активно генерируют там палитры из скриншотов посещённых сайтов. Никакого ИИ в расширении нет — чистые статистика и математикам на основе доступных в открытом доступе библиотек.

Что делать с этой всей красотой? Захотелось придумать что-нибудь полезное. Выкачал мегабайты анонимных массивов hex-цветов и решил скормить их ИИ. Разумеется, ИИ не хочет есть 20 мегабайт, это слишком много.

Я не программист, поэтому решил, что код писать будет Cursor, а моя работа будет — говорить ему, что делать. Сначала мы с Курсором решили, что данные (сухой набор цветов типа `#884939`) нужно обогатить: и получили более подобный файл, в котором палитры категоризованы по темам и всякое такое.

Потом я сделал скрипт, который придумывает и предлагает на выбор три темы будущего поста (можно самому задать). Вместе с темой придумывает, как данные вытаскивать из общего набора данных. Для тех, кто не понимает, что такое скрипт, что там кто «спрашивает», выглядит оно приблизительно так:

Потом ИИ пишет питоновский скрипт, чтобы выбрать из 900+ палитр список 10 наиболее подходящих. Что значит «подходящих»? Ну, он, ИИ, там сам как-то решает, что использовать: статистические методы, математику — получаются просто мини-питончики такие. Если требуется посчитать самые популярные оттенки, посчитает. Конвертировать в RGB? Сделает. Отсортировать по яркости? Справится. А если ошибётся? Перепишет. Лучше всех прочих моделей текст писал, конечно, Claude Sonnet 3.5.

Затем я попросил ИИ написать блог-пост с выбранными палитрами. Форматирует чистым Markdown. Уже готово к публикации, но можно улучшить. Далее, ИИ пишет код страницы на html+Tailwind. Так, чтобы было видно цвета из выбранных палитр.

Напоследок, ИИ генерирует заглавную картинку в тонах статьи и, если угодно, пишет поверх неё текст для OG картинки с помощью свеженького Flux 1.1 Pro. Получается не хуже поста с орками.

Метаданные для html страницы ИИ тоже, конечно, пишет. Без всяких позорных слов-паразитов вроде «delve» или «let’s dive in».

Так получаются полноценные, готовые к публикации (с купюрами, после проверки глазными яблоками кожаных мешков, конечно) материалы:

Самое интересное — я не программист и не умею писать на Python. Я, пожалуй, могу его читать и понимать, что происходит. Я построил много продуктов и примерно знаю, что нужно получить в итоге, и могу объяснить это на английском с примерами из интернета. А современные IDE вроде Cursor — пишут код. Вместе с o1-preview, последней, наиумнейшей моделью в октябре 2024 (привет, читатели из будущего!) мы — победили.

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

В следующий раз попытаюсь написать программу, которая пишет сама себя. Уверен, теперь это возможно. Last famous words.

P.S.: Полное видео и больше примеров конкретно этого приложение ИИ я показал в Telegram-канале ИИзвестия, который я для души и интереса ради веду уж несколько месяцев.

Комментарии