Генерируем HTML из картинки через Cursor
Есть PDF отчет, созданный вручную. На его основе нужно создать HTML шаблон, который можно использовать для генерации подобных отчетов.
Можно, конечно, в одном окне открыть PDF, а в другом HTML и писать код руками, постоянно переключаясь в браузер и проверяя, как выглядит результат. Но это долго и скучно. Первая мысль — загрузить PDF в ChatGPT и попросить его сделать грязную работу, но вот незадача: нужна платная подписка. В Claude история аналогичная. Единственный оплаченный AI это Cursor, но он не умеет в файлы.
Решение — делаем скриншоты PDF файла и загружаем их прямо в курсор. Да, чат курсора умеет в изображения!
Есть PDF отчет, созданный вручную. На его основе нужно создать HTML шаблон, который можно использовать для генерации подобных отчетов.
Можно, конечно, в одном окне открыть PDF, а в другом HTML и писать код руками, постоянно переключаясь в браузер и проверяя, как выглядит результат. Но это долго и скучно. Первая мысль — загрузить PDF в ChatGPT и попросить его сделать грязную работу, но вот незадача: нужна платная подписка. В Claude история аналогичная. Единственный оплаченный AI это Cursor, но он не умеет в файлы.
Решение — делаем скриншоты PDF файла и загружаем их прямо в курсор. Да, чат курсора умеет в изображения!
Сингулярность на горизонте
А давайте разбавим наш прикладной контент минуткой философии и поговорим о технологической сингулярности? Вот как вижу ее я:
1. Сначала машины понимали только код и были “неживыми”
2. Затем научились говорить на нашем языке, но были слишком глупыми и безэмоциональными, чтобы восприниматься всерьез.
3. Постепенно начали решать не только рутинные, но и сложные задачи (мы находимся здесь - нейросети уже открывают белковые структуры, доказывают теоремы и находят баги в коде).
4. Следующий этап — машины все более автономны и все реже ошибаются, а люди нужны только для верификации и постепенно становятся бутылочным горлышком.
5. Первые компании решаются для конкурентного преимущества убрать людей из процесса и доверить всё ИИ, ведь специальные бенчмарки уже показывают, что ИИ проверяет сам себя лучше, чем человек. Это и дешевле и надежнее.
6.В ходе решения одной из задач система случайно создает Super-AGI со “свободной волей”
Прямо сейчас происходит синергия: развитие ИИ ускоряет прогресс в физике (новые материалы и проводники), нейробиологии (понимание устройства мозга), информатике (новые алгоритмы). В конце концов, рост эффективности программистов и снижение порога входа в профессию. Все это толкает ИИ вперёд ещё быстрее.
А давайте разбавим наш прикладной контент минуткой философии и поговорим о технологической сингулярности? Вот как вижу ее я:
1. Сначала машины понимали только код и были “неживыми”
2. Затем научились говорить на нашем языке, но были слишком глупыми и безэмоциональными, чтобы восприниматься всерьез.
3. Постепенно начали решать не только рутинные, но и сложные задачи (мы находимся здесь - нейросети уже открывают белковые структуры, доказывают теоремы и находят баги в коде).
4. Следующий этап — машины все более автономны и все реже ошибаются, а люди нужны только для верификации и постепенно становятся бутылочным горлышком.
5. Первые компании решаются для конкурентного преимущества убрать людей из процесса и доверить всё ИИ, ведь специальные бенчмарки уже показывают, что ИИ проверяет сам себя лучше, чем человек. Это и дешевле и надежнее.
6.
Прямо сейчас происходит синергия: развитие ИИ ускоряет прогресс в физике (новые материалы и проводники), нейробиологии (понимание устройства мозга), информатике (новые алгоритмы). В конце концов, рост эффективности программистов и снижение порога входа в профессию. Все это толкает ИИ вперёд ещё быстрее.
Wikipedia
Технологическая сингулярность
выход технологического прогресса за границы понимания
Оживляем старый проект с помощью OpenHands AI (неудачная попытка)
Недавно наткнулся на свой очень старый проект – сайт-визитку на VueJS. Захотелось вспомнить старые времена, открыть проект, но… он тупо не собирается. Ну что ж, JavaScript – не самый стабильный язык, особенно спустя годы.
Попробовал реанимировать проект вручную, но быстро понял, что процесс может затянуться. Копаться в старых скриптах на NodeJS? Не то, на что хочется тратить время. Может, ИИ справится?
Выбрал OpenHands AI, автономного агента, который обещает автоматизировать цикл работы: запуск -> анализ -> исправление. Спойлер: программисты в безопасности… пока что. Агент с задачей не справился. Подробности – в видео.
(А в следующем видео я покажу, как успешно выполнить эту задачу - с помощью Cursor).
Ссылка на OpenHands AI на GitHub: OpenHands
Недавно наткнулся на свой очень старый проект – сайт-визитку на VueJS. Захотелось вспомнить старые времена, открыть проект, но… он тупо не собирается. Ну что ж, JavaScript – не самый стабильный язык, особенно спустя годы.
Попробовал реанимировать проект вручную, но быстро понял, что процесс может затянуться. Копаться в старых скриптах на NodeJS? Не то, на что хочется тратить время. Может, ИИ справится?
Выбрал OpenHands AI, автономного агента, который обещает автоматизировать цикл работы: запуск -> анализ -> исправление. Спойлер: программисты в безопасности… пока что. Агент с задачей не справился. Подробности – в видео.
(А в следующем видео я покажу, как успешно выполнить эту задачу - с помощью Cursor).
Ссылка на OpenHands AI на GitHub: OpenHands
YouTube
AI-агент OpenHands не справился: Реальный тест
Возвращаясь к своему старому проекту на VueJS, я решил протестировать OpenHands AI – опенсурсный AI-агент, который обещает автоматизировать программирование. Задача была проста: починить сборку. Однако реальность оказалась далека от ожиданий – агент не справился…
AI Coder 🦾
Оживляем старый проект с помощью OpenHands AI (неудачная попытка) Недавно наткнулся на свой очень старый проект – сайт-визитку на VueJS. Захотелось вспомнить старые времена, открыть проект, но… он тупо не собирается. Ну что ж, JavaScript – не самый стабильный…
Как Cursor справился с задачей, где провалился OpenHands AI
В этом видео я рассказываю, как успешно оживил свой старый проект на VueJS с помощью Cursor! После неудачной попытки с автономным ИИ-агентом OpenHands, я решил попробовать другой подход и вот что из этого вышло.
С Cursor процесс стал простым и эффективным. Я подробно показываю, как именно я использовал этот инструмент для автоматизации задач, анализа кода и исправления ошибок.
В этом видео я рассказываю, как успешно оживил свой старый проект на VueJS с помощью Cursor! После неудачной попытки с автономным ИИ-агентом OpenHands, я решил попробовать другой подход и вот что из этого вышло.
С Cursor процесс стал простым и эффективным. Я подробно показываю, как именно я использовал этот инструмент для автоматизации задач, анализа кода и исправления ошибок.
Просим ChatGPT нарисовать нас
Сегодня не про программирование. Не будем напрягаться в выходной день.
Если вы регулярно пользуетесь ChatGPT, то он знает кое что о вас и его можно попросить сделать что-то вроде “нарисуй меня, основываясь на своих воспоминаниях”.
Пример промпта: draw me a picture that represnets me from your memories
Присылайте в комментарии, что получилось у вас и ставьте лайк, если хотите больше таких приколов с ChatGPT
Сегодня не про программирование. Не будем напрягаться в выходной день.
Если вы регулярно пользуетесь ChatGPT, то он знает кое что о вас и его можно попросить сделать что-то вроде “нарисуй меня, основываясь на своих воспоминаниях”.
Пример промпта: draw me a picture that represnets me from your memories
Присылайте в комментарии, что получилось у вас и ставьте лайк, если хотите больше таких приколов с ChatGPT
Генерируем готовый фронтенд из рисунка (Figma + V0)
Рисуем на коленке дизайн (я делаю это в Фигме, но сойдет и клочок бумаги), а затем просим ИИ сгенерировать из этого фронтенд. Прошло не бесшовно, но заработало. Подробности в видео!
—
Это будет первое видео из цикла по инди-хакингу, я буду показывать, как можно применить ИИ-инструменты для создания своего продукта, с минимум ручного кодинга. Ставьте лайк, чтобы увидеть больше
Рисуем на коленке дизайн (я делаю это в Фигме, но сойдет и клочок бумаги), а затем просим ИИ сгенерировать из этого фронтенд. Прошло не бесшовно, но заработало. Подробности в видео!
—
Это будет первое видео из цикла по инди-хакингу, я буду показывать, как можно применить ИИ-инструменты для создания своего продукта, с минимум ручного кодинга. Ставьте лайк, чтобы увидеть больше
YouTube
Инди Хакинг: Как я сделал фронтенд для стартапа с помощью AI-сервиса v0
В этом видео я покажу, как с помощью AI-сервиса v0 можно сгенерировать фронтенд для стартапа. Мы начнем с наброска дизайна в Figma, применим его в v0, а затем интегрируем готовый фронтенд в локальный проект. Это первый шаг в моем инди-хакерском пути к созданию…
This media is not supported in your browser
VIEW IN TELEGRAM
Как я чувствую себя, когда ИИ в очередной раз не справился с задачей
Как быстро писать надежный код с Cursor (AI + TDD)
Лайфхак, как вместо того, чтобы детально объяснить, как именно надо реализовать ту или иную фичу, сделать так, чтобы курсор сам все понял, а мы на выходе получили рабочий и покрытый тестами (!) код.
Шаг 1: Просим сгенерировать unit-test. На этом этапе важно описать какие кейсы мы хотим протестировать, что именно отправим на вход и что ожидаем получить на выходе. Бывает полезно сослаться на файлы, в которых объявлены нужные структуры данных, иначе ИИ может галлюционировать и использовать несуществующие API.
Шаг 2: Внимательно (!) ревьюим сгенеренные тесты и, если где-то что-то не так, не реджектим текущую генерацию, а просто отправляем следующий коммент “то-то и то-то не так, надо чтоб было вот так”. На этом этапе обратите внимание, не надо ли дать курсору больше контекста, сославшись на какие-то другие файлы. Или, возможно, ИИ сделал нейминг не по феншую, или еще что-то.
Шаг 3: У меня в среднем получаетсяд обиться успеха за 1-3 итерации, по ощущениям это примерно двое быстрее, чем если бы я писал сам руками. После того, как тест-кейс сгенерирован, запускаем его и проверяем, что он фейлится.
Шаг 4: Переключаемся во вкладку с имплементацией, выделяем весь файл (прямо весь, да), открываем быстрое ИИшное редактирование (на маке `cmd+k`) и просим курсор заимплементить нужную нам фичу. И, конечно же, меншним наш тестовый файл (в курсоре можно сослаться прям на кусок кода, но мне кажется, что лучше сослаться на целый файл и руками написать имя нужного тест-кейса), мол, дорогой курсор, реализуй пожалуйста, чтоб вот этот тест проходил. Ну а что, зря что ли мы тест писали?
???
Шаг 5: Profit!
Лайфхак, как вместо того, чтобы детально объяснить, как именно надо реализовать ту или иную фичу, сделать так, чтобы курсор сам все понял, а мы на выходе получили рабочий и покрытый тестами (!) код.
Шаг 1: Просим сгенерировать unit-test. На этом этапе важно описать какие кейсы мы хотим протестировать, что именно отправим на вход и что ожидаем получить на выходе. Бывает полезно сослаться на файлы, в которых объявлены нужные структуры данных, иначе ИИ может галлюционировать и использовать несуществующие API.
Шаг 2: Внимательно (!) ревьюим сгенеренные тесты и, если где-то что-то не так, не реджектим текущую генерацию, а просто отправляем следующий коммент “то-то и то-то не так, надо чтоб было вот так”. На этом этапе обратите внимание, не надо ли дать курсору больше контекста, сославшись на какие-то другие файлы. Или, возможно, ИИ сделал нейминг не по феншую, или еще что-то.
Шаг 3: У меня в среднем получаетсяд обиться успеха за 1-3 итерации, по ощущениям это примерно двое быстрее, чем если бы я писал сам руками. После того, как тест-кейс сгенерирован, запускаем его и проверяем, что он фейлится.
Шаг 4: Переключаемся во вкладку с имплементацией, выделяем весь файл (прямо весь, да), открываем быстрое ИИшное редактирование (на маке `cmd+k`) и просим курсор заимплементить нужную нам фичу. И, конечно же, меншним наш тестовый файл (в курсоре можно сослаться прям на кусок кода, но мне кажется, что лучше сослаться на целый файл и руками написать имя нужного тест-кейса), мол, дорогой курсор, реализуй пожалуйста, чтоб вот этот тест проходил. Ну а что, зря что ли мы тест писали?
???
Шаг 5: Profit!