LINUX.ORG.RU

Вайбкодю, потихоньку

 , , ,


0

0

Да, слово вайбкодинг имеет негативную коннотацию, но мне кажется странным самому набирать буковки, если это может сделать машина?

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

Код, отдебаженный, пушу сюда lor-reaction-avatar.

Правилами форума запрещается создавать ботов, поэтому прошу накидать реакций из вот таких:

  reactions: ["👍", "😊", "☕☕", "🎉", "🔥"]

Что делает программа

Заданным шрифтом, заданные реакции отображает на аватаре. Цвет тоже можно подобрать, есть режим dry-run, чтобы поиграть и подобрать параметры. В конфиге есть такие параметры:

lor:
  base-url: "https://www.linux.org.ru"
  username: "lor_user"
  password: "lor_user_password"
  notifications-path: "/notifications"
  reactions: ["👍", "😊", "☕☕", "🎉", "🔥"]

avatar:
  source-dir: "avatar"
  output-dir: "data/generated-avatar"
  default-size: [300, 300]

  # Цвет именно цифр в строках +N. Emoji рисуются emoji-color.  
  font-color: "#00a000"
  emoji-color: "#111111"
  font-size: 28
  font: "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"
  emoji-font: "/usr/share/fonts/truetype/noto/NotoColorEmoji.ttf"
  emoji-font-size: 28
  output-format: "png"
  max-file-size-kb: 100
  jpeg-quality: 90
  top-padding: 65
  line-spacing: 12
  right-padding: 30
  line-spacing: 12

  upload:
    form-url: "/addphoto.jsp"
    # Обычно можно оставить пустым: клиент сам найдёт file input на форме.
    file-field: "file"
    submit-field: ""
    submit-value: ""
    extra-fields: {}

state:
  file: "data/reaction-state.json"
  history-hours: 2

runner:
  # Запуск не чаще в минутах
  interval-minutes: 120
  # 0 — бесконечно, удобно для docker compose up -d.
  max-runs: 0
  # Отработать сразу при первом запуске
  run-on-start: true
  # true — построить изображение, но не отправлять форму смены аватара.
  dry-run: false  

Свою аватарку нужно положить в каталог avatars/ под именем файла username.jpg, после первого запуска, сразу отобразятся изменения. Полученная картинка, опубликованная на сайте, кладётся в каталог data/generated-avatar/username.png.

PS. Ставить лайки можно на любые мои посты и комменты.

У меня сейчас локально немного другая версия, обновлю GitHub вечером, когда тестировать закончу.

Не сердись, $username, некоторые вещи делаются просто для развлечения.

Если всё же maxcom это дело сильно не одобряет, ну что же, тогда прекращаю, займусь чем-нибудь полезным.

PPS. Дефолтные параметры настроены на изображения 300x300 px

★★★★★

Последнее исправление: unclestephen (всего исправлений: 7)
Ответ на: комментарий от z0idator

в «Приключениях Электроника» всё закончилось хорошо

Вы про фильм или про трилогию? Если про фильм, то «тема не раскрыта», а если про книги, то я бы не был так однозначен.

VIT ★★★
()
Ответ на: комментарий от z0idator

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

bread
()
Ответ на: комментарий от VIT

я про и фильм, кстати, есть ещё мультифильм-предостережение «Нехочуха», который в определённом смысле можно рассматривать как приквел к «Матрице»

z0idator
()
Ответ на: комментарий от bread

поэтому и надо грести в сторону Лема, сопротивляться энтропии

z0idator
()
Ответ на: комментарий от z0idator

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

VIT ★★★
()

Почему о Prolog давно ничего не слышно. Какие задачи с помощью него можно было решать?

anonymous
()

Видите мою аватарку

ваще нет, отключены.

Rastafarra ★★★★
()
Ответ на: комментарий от CrX

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

Так как то по сути статистическая машина, с нарастанием неточности, ты не сможешь именно «вайбкодить». Ничего более менее крупное ты не напишешь. Даже 1000 строк ты не сможешь написать так нормально. Но при этом отдельные функции легко. И там где ты вручную будешь прописывать все полчаса, с ИИшкой ты сделаешь точно такую, а то и лучшую работу за 10-30 секунд. Разница есть.

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

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

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

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

LightDiver ★★★★★
()
Ответ на: комментарий от anonymous

Если не ошибаюсь, то ныне ИИ не умеет генерить знания, а лищь ними манипулировать

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

Точно так же ИИшки вполне себе создают новый контент. Он не копируют старое в полном смысыле. Они используют паттерны, на которых учились, чтобы достигнуть нужного результата.

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

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

В том то и дело, что чтобы все учесть и указать на удобном и логичном, надо затратить в 10 раз больше времени и в 100 раз больше сил.

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

Ничего более менее крупное ты не напишешь. Даже 1000 строк ты не сможешь написать так нормально. Но при этом отдельные функции легко. И там где ты вручную будешь прописывать все полчаса, с ИИшкой ты сделаешь точно такую, а то и лучшую работу за 10-30 секунд. Разница есть.

Это не так. Во-первых, отдельные функции обычно не пишутся полчаса (хотя всякое бывает). Во-вторых, набор собственно кода на клавиатуре занимает сколько? Ну может 1% от всего времени программирования? 99% продумывание алгоритмов и тестирование написанного. А оно нужно одинаково в обоих случаях. Только за нейронкой проверять в итоге сложнее — мало ли где какой подвох не заметишь. Вот и вся разница. Ну да, пальцами по клавиатуре стучать меньше — это факт. Вместо минуты на набор кода потратишь 10 секунд на набор промпта. А то что на остальное полчаса вместо десяти минут — это, видимо, уже неважно…

CrX ★★★★★
()
Ответ на: комментарий от CrX

99% продумывание алгоритмов и тестирование написанного

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

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

Запомнить все свои проекты, все переменные, все объекты по именам? У меня столько памяти тупо нету. Берешься дорабатывать проект, представь - тебе надо полазить по классам, вспомнить имена, вспомнить цепочки событий, точную структуру объектов. А ИИшка все это видит за секунду. Покажет, подскажет, даст команды для теста и улучшения памяти.

Нужна отладка незнакомого проекта? Вот я делал панель для ЛОРа. Сколько ты будешь копаться в чужом проекте старом? ИИшка покажет нужные участки за пару команд и дальше работай переребатывай как тебе надо.

Нужна рутинная задача по рисованию интерфейса? (ненавижу рисовать интерфейсы. До ИИшек я делал все минималистичным настолько, насколько можно):

https://ns.fiber-gate.ru/uploads/images/img_1783327132026_090987a0.jpg

Это я рисовал вручную. Рисуешь чекбокс просто на экране - готово. Юзайте. Надо еще функциональность, добавил пкм на него. Еще? Клик колесом. Элемент то чего простаивает. Это вылезало в путаницу и неудобства. Да и некрасиво.

А вот так может нарисовать ИИшка просто по описанию: https://disk.yandex.ru/i/4OtqSZjLfwvx9Q

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

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 3)
Ответ на: комментарий от LightDiver

Сначала возьмем новичков.

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

До ИИшек я делал все минималистичным настолько, насколько можно

Как по мне, это скорее плюс, чем минус.

CrX ★★★★★
()
Ответ на: комментарий от anonymous

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

Также, при адекватном подходе и правильных настройках в AGENTS.md, сетка будет писать\обновлять сначала документацию на код, а только потом уже сам код трогать.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от bread

Разумным может стать только очень агрессивный вид

Есть мнение, что грибы(грибница) разумны. Просто по-другому чем мы.

Loki13 ★★★★★
()
Ответ на: комментарий от anonymous

Почему о Prolog давно ничего не слышно. Какие задачи с помощью него можно было решать?

Я этого ещё 25 лет назад так и не понял, когда на курсе про базы знаний меня именно ему пытались учить. С тех пор понятнее не стало.

Loki13 ★★★★★
()

Вайбкодю, потихоньку

одобряю

(а луддитский бубнеж со скамеечки - «проститутки, наркоманы» - нет, не одобряю.)

olelookoe ★★★★
()
Ответ на: комментарий от Loki13

Почему о Prolog давно ничего не слышно. Какие задачи с помощью него можно было решать?

Я этого ещё 25 лет назад так и не понял

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

VIT ★★★
()

«Странный вы народ, таксисты.» ©

sparkie ★★★★★
()
Ответ на: комментарий от LightDiver

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

Тут на самом деле не просто из блоков перекомбинация идёт. Процесс несколько сложнее. Сами знания копятся всем человечеством и у них есть более глобальный процесс, чем то что делают люди или чатгопота по отдельности. В каком-то смысле люди это в первую очередь информация на биологическом носителе (по крайней мере сознание, память и так далее). Т.е. личность твоя или моя - штука чисто в области информационной с привязкой к тушке, конечно. Аналогично у ИИ-шек только с привязкой к железу и личности там пока нет. А есть информация, которую человечество нашло, изучило, создало опираясь на окружающую реальность, которая извлечена и хранится на бумаге, в компьютерах и головах людей. Какие-то куски этой информации хранятся только в одном месте (например информация о том, что я сегодня съел на ужин), а какие-то во многих (небо голубое, вода мокрая и так далее). Так вот, доступная вычислителям (тебе, мне, компьютерам) информация явно влияет на то, какая вторичная информация может быть получена, т.е. придёт тебе в голову. Потому во времена Жюля Верна никто не мог написать Игру престолов. Для её появления нужно было чтоб написали Властелина Колец, после чего другие авторы написали другие книги в жанре фэнтези, а уже после Мартин смог всё переосмыслить и написать то что написал. Отсюда идёт дух времени и прочая мутотень, которой интересуются всякие гуманитарии. Плюс ещё события ИРЛ влияют, вроде падения метеорита, взрыва вулкана и так далее. Например, взорвался Тамбора, на земле стало холодно - небо окрасилось в красный цвет. Художники открыли для себя разные стили, а Мери Шелли в сырую, холодную и дождливую погоду от нечего делать написала Франкенштейна с которого пошло куча вторичного контента. Теперь у нас в половине игр зомби есть. Так что тут не просто перекомбинация того что есть, последовательность перекомбинаций и получение новой информации важны. Другое дело, что в случае человека получив новую информацию он начинает сразу её применять, а ИИ надо полностью переобучать.

anonymous
()
Ответ на: комментарий от VIT

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

Так он же мог оперировать знаниями.

anonymous
()
Ответ на: комментарий от anonymous

Другое дело, что в случае человека получив новую информацию он начинает сразу её применять, а ИИ надо полностью переобучать.

Мы все учились понемногу
Чему-нибудь и как-нибудь,
Так воспитаньем, слава Богу,
У нас немудрено блеснуть.

anonymous
()

Автомобили ездят за человека по дороге, автоматические производственные линии разгребают за него мусор, автоматические скрипты забирают почту, следят за домом, автоматические конструкторы строят сайты и даже магазины, по файловой системе в компе шныряет baloo, zeitgeist и прочие, чтобы проиндексировать данные… И после этого ИИ пользоваться зазорно?

PcheloBiaka
()
Ответ на: комментарий от PcheloBiaka

И после этого ИИ пользоваться зазорно?

Согласен с вами.
Теперь троечники любого академика за пояс заткнут и помогут всем нам.

anonymous
()
Ответ на: комментарий от anonymous

Мне нужна была программа рассчёта положения гидравлики, для экспериментов, было непонятно что не так. Вот пока я в гидравлике копался, ИИ мне всё написал. Это вин, ящщетаю.

PcheloBiaka
()
Ответ на: комментарий от anonymous

Теперь троечники любого академика за пояс заткнут и помогут всем нам.

Теперь мы всем покажем кузькину мать.

Проникновенье наше по планете
Особенно заметно вдалеке:
В общественном парижском туалете
Есть надписи на русском языке

anonymous
()
Ответ на: комментарий от PcheloBiaka

Мне нужна была программа рассчёта положения гидравлики, для экспериментов, было непонятно что не так. Вот пока я в гидравлике копался, ИИ мне всё написал. Это вин, ящщетаю.

Да теперь пандора открыта.

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

А ты ведь пользуешься созданным только академиками? Как много мира вокруг тебя создано и поддерживается академиками?

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

А ты ведь пользуешься созданным только академиками? Как много мира вокруг тебя создано и поддерживается академиками?

Фильм «Маска» хороший пример того, что теперь хлынет в этот мир.
Всё дело в том, что академик микроскопом не будет забивать гвозди.
Да дело даже не в академиках, а в том что теперь каждый может надеть «маску». Надеюсь понятно о чём речь.

anonymous
()
Ответ на: комментарий от anonymous

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

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

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

Видите ли «троечники» конечно теперь смогут надеть на голову царскую корону, но
«указы» их будут «троешными», потому что «король то голый».

anonymous
()
Ответ на: комментарий от anonymous

Видите ли «троечники» конечно теперь смогут надеть на голову царскую корону, но «указы» их будут «троешными», потому что «король то голый».

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

anonymous
()
Ответ на: комментарий от anonymous

ИИ - это маска для троечников.

Кстати, именно поэтому рановато увольнять специалистов. Рановато …

anonymous
()
Ответ на: комментарий от anonymous

Специалисты раньше - изучают новые инструменты и умеют ими пользоваться.

Специалисты сейчас - настолько тупой, что заменен троешником с микроскопом.

LightDiver ★★★★★
()
Ответ на: комментарий от anonymous

Кстати, именно поэтому рановато увольнять специалистов. Рановато …

Что может «спроектировать» с помощью ИИ тот кто таблицу умножения не знает?

anonymous
()
Ответ на: комментарий от LightDiver

Специалисты сейчас - настолько тупой, что заменен троешником с микроскопом.

Это как замена хрена на редьку, а результат то ХРЕНОВЫЙ.

anonymous
()
Ответ на: комментарий от LightDiver

Что может спроектировать тот, кого успешно заменили тем, кто не знает таблицу умножения?

Розги в школе.

anonymous
()
Ответ на: комментарий от anonymous

То есть он настолько тупой, что не без физический силы не может справиться с детьми? А это точно специалист, который нам нужен?

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

А вот так может нарисовать ИИшка просто по описанию:

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

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

AZJIO
()
Ответ на: комментарий от AZJIO

Просто я показал что делал вручную и что с ИИшкой примерно при равных усилиях и времени. Даже на первое усилий и времени уходило больше на самом деле. А про редактор интерактивный я думал, но руки не дошли.

LightDiver ★★★★★
()
Ответ на: комментарий от LightDiver

А про редактор интерактивный я думал, но руки не дошли.

Вот мой (mybb.ru), но я как обычно ради спортивного интереса, так как он есть в IDE. Но просто один автор создал для винды, а я попробовал и для Linux, короче кроссплатформенный. Только он свой долго улучшал и продаёт, свыше 16 элементов уже платно. Ну и мне бы конечно хотелось сделать шаблон при экспорте, то есть при сохранении не важно какой язык, если есть шаблон для этого языка, типа %FunctionCheckboxName(%x, %y, %w, %h, %text) и он бы просто заменял переменные и тогда не важно как называется функция на каком-то языке и как расположены параметры, они просто заменяться в строке переменные на явные значения. Но я так и забросил.

AZJIO
()

Эксперимент пора выключать. Место на сервере не резиновое.

Dimez ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.