1574
Стримлю про front-end, Open Source, Angular приходите ко мне на стрим :) @kirjs | https://www.twitch.tv/kirjs
Я последние несколько дней тестирую групповые чаты из ChatGPT. Идея оч клевая, и есть много потенциала, но надо допилить.
Понравилось:
❤️ В целом полноценный чат, есть реакции, уведомления, работает в телефоне и вебе
❤️ Робот хорошо натренирован и отвечает неплохо
❤️ Можно задать вопрос и выключить телефон, и робот все равно ответит
❤️ и очень интересно смотреть как другие люди работают с промптами
Не понравилось:
😒 Огромные простыни от робота помноженные на количество человек в чате, невозможно быстро понять что произошло в чате если отвлекся. Неплохо бы ответы робота в тред.
😒 Ответы робота не сворачиваются на телефоне, сворачиваются на компе, но это не помогает.
😒 Пока не работает в приложении на компе
😒 Интерфейс не очень приспособлен для общения с другими людьми, слишком много отступов и пустого пространства
😒 Лимит на 20 человек
😒 У меня иногда подвисал таб, были лаги, и непонятки с нотификациями
😒 Нету пока нормального поиска, статусов, модерации
Непонятно:
❓ Кажется, что очень понятно, где это может пригодиться, но когда думаю над конкретными кейсами, ничего в голову пока не приходит.
❓ Среди людей с которыми я общаюсь очень сложно найти один общий мессенджер, кто-то использует телегу, кто-то использует whatsapp, кто-то просто сообщение. Мне кажется есть вероятность, это чатгпт станет общим знаменателем в какой-то момент, это было бы очень круто.
❓ Пользовательские инструкции отличаются от личных
А вы используете, для чего? Есть какие-то интересные кейсы? Хотите потестить со мной?
Посмотрел на стриме ресурсы, в частности httpResource
Создал StackBlitz в котором можно с ним поиграться.
Если вкратце, то он берет сигнал с HTTP ссылкой:
readonly catId = signal()
readonly cats = httpResource<Array<Cat>>(
() => `https://cataas.com/cat/${this.catId()}`
);
cat.isLoading()
cat.hasData() // Сужает тип
cat.value() // Значение, изначально undefined, потом кот
catId.set('3'), ресурс автоматически перезапустится, и обновит данные, также можно сделать это и вручную (cats.reload()).httpResource.text(/**/), httpResource.blob или httpResource.arrayBuffer
Читать полностью…
Команда Angular выкатила 2 RFC для Ресурсов:
Архетиктурный - https://github.com/angular/angular/discussions/60120
API - https://github.com/angular/angular/discussions/60121
Есть много интересных идей, о будущем получения данных в Ангуларе, посмотрим на стриме завтра.
Также шлите там свои мысли в комментах :)
осваиваю работу с генерацией изображений. Пока сделал вот такие обои. Как вам?
Читать полностью…
На внезапном стриме в 20:10 по мск (это прямо сейчас) Попробуем написать свои сигналы, и разберемся, как они устроены внутри
👀 Посмотреть: twitch.tv/kirjs | youtu.be/IvPOWJuVpZ0
Сегодня на внезапном стриме напишем свой deep signal.
https://www.youtube.com/watch?v=PFUCdYWI9aY
https://www.twitch.tv/kirjs
Я сегодня выдумал несложные тест для LLM моделей на умение писать код, и игрался с ним все утро.
Мне всегда было сложно оценить, насколько мощна та или иная LLM модель, т.к. большинство задач были либо слишком простые и решались всеми, либо слишком сложными, и не решались никем.
В результате я прошу модель написать код, который разбивает слова (и предложения) по слогам, так чтобы пройти 15 тестов из таблицы внизу. И вот все утро я пробую разные варианты, и смотрю, у кого сколько из 15 получается.
Тесты закинул в комменты, потом добавлю еще кейсов.
Результаты получились такие:
upd: по совету @vitalypavlenko попробовал Claude sonnet (claude-3-5-sonnet-20241022) в курсоре с агентами - мгновенно выдал результат 14/15, потом сразу 15/15
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
Claude sonnet (claude-3-5-sonnet) в курсоре с агентами - Мгновенно выдал результат 13/15, потом 14/15, потом 15/15
✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅
Вчера я потратил с ним час, и он еле добрался до 14/15
Gemini 2.0 flash - Мгновенно выдал результат 13/15
Самый короткий и простой код
✅✅✅✅✅✅✅✅✅✅✅✅✅⛔⛔
ChatGTP O1 - Думал 4:32, результат 13/15
✅✅✅✅✅✅✅✅✅✅✅✅✅⛔⛔
Claude sonnet - Мгновенно выдал результат 4/15
✅✅✅✅⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔
Но пожаловался, что нагрузка велика, поэтому он выдает плохие ответы
ChatGPT 4O в курсоре выдал 4/15, запустил тесты, переделал, запустил тесты, завис, переделал, и попал в странный цикл, где он ничего не менял, но постоянно запускал тесты
✅✅✅✅⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔⛔
Но пожаловался, что нагрузка велика, поэтому он выдает плохие ответы
| Word | Hyphenation
|-------------------------|-----------
| мама | ма-ма
| страна | стра-на
| мама, папа | ма-ма, па-па
| ёлка | ёл-ка
| стрст | стрст
| рукавом? | ру-ка-вом?
| тропинку | тро-пин-ку
| завесила. | за-ве-си-ла.
| грустно | груст-но
| собеседование | со-бе-се-до-ва-ни-е
| инфраструктура | ин-фра-струк-ту-ра
| восстановление | вос-ста-нов-ле-ни-е |
После 8 лет в Firebase, сегодня мой первый день в Angular Core 🔥
Я использую Angular больше 10 лет, начиная с angularJS, организовывал митапы, делал кодлабы, и Пулл Реквесты, звал ребят из команды на стримы, и поработать в команде мне кажется логичным продолжением.
Отдельно мы обговорили стримы про Angular, которые теперь часть моей работы, их я постараюсь сделать более регулярными
Пока прохожу онбординг, и предвкушаю свою первую фичу.
Я уже 8 лет в Firebase (как по мне, на 6 лет больше, чем надо было).
И призадумался, по каким принципам я выбираю где работать, и как мое отношение поменялось за последнее время.
Ниже расскажу, расскажу, каким мотивации были у меня за мою карьеру, и что для меня сейчас.
1. Платили бы деньги, остальное пофигу
По такому принципу я нашёл свою первую работу, точнее мне нашли родители, и я остался. Я только закончил универ, и не знал чем хочу заниматься. Родители помогли мне попасть в небольшое НКО, которое рассылало врачей в разные страны во время катастроф. Я насраивал компьютеры и чинил принтеры, было скучновато, но зато оставалось свободное время, на курсэру и фриланс.
Через два года я понимал себя немного лучше, и искал работу по следующему принципу:
2. Инструменты и умения
Всё своё детство я использовал язык JavaScript, который долгое время считался ненастоящим языком для всякой фигни. Не зная других языков не знал, я делал на нём сложные и интересные штуки. Со временем JS стал использоваться для разработки сложных приложений, а у меня к тому времени уже было 15 минут лет опыта.
Я подумал, что было бы интересно именно этим заниматься для работы, разослал свое резюме и меня позвали работать финансовым консультантом и перевезли в Нью Йорк. Там я проработал 2 года (и не выучил примерно ничего про финансы)
3. Культура
Через пару лет новизна пропала, а я прочел книгу Ласло Бока "Work Rules!", про культуру Google.
В моей компании в целом было норм, было много умных и талантливых людей, но в Гугле как будто люди верили, что работа может быть в кайф.
20%е проекты, культура доверия, Googlegeist, аналитика для всего, и возможность вздремнуть. Это еще до ништяков вроде бесплатной еды, игровых комнат и мемов.
Пройдя все раунды интервью, свою первую команду, я выбирал по принципу инструментов. Все кроме одной предложенное мне команды использовали технологии, который не были релевантны вне Гугла и не были мне интересны. И только в Doubleclick использовали Angular (да еще и второй), который тогда был на хайпе и был мне интересен, туда и пошёл.
Проработав там год, я понял, что реклама ещё скучнее чем финансы, и мне захотелось убежать. Я понял, что хочу работать над чем-то, что мне близко.
4. Продукт/домен
Во время длинной поездки в кафе на лифте, я увидел, что Firebase ищет программиста. Я очень любил и много использовал их базу данных и мне захотелось туда, а еще они использовали Angular.
Вот чего я не знал, что когда google купил Firebase, он добавил туда несколько продуктов для маркетинга, на которые мне было совершенно плевать, и разумееся именно этими продуктами занималась моя новое команда в Нью Йорке.
Это меня расстроило, но я начал искать возможности поработать над продуктами которые нравились мне. Через какое-то время мы с менеджером смогли выбить мне небольшую фичу в хостинге (интересном мне продукте) в качестве теста,
Я быстро и хорошо всё сделал, и через какое-то время стал владельцем всего хостинга. Дальше к нам перенесли все остальные продукты для разработчиков.
За те 8 лет, что я был на этой работе, я призадумывался о новых для меня мотивациях
5. Задачи и сам процесс
Бывает, что просто нравится заниматься чем-то конкретным, а за это и деньги платят, сидишь себе в потоке, получаешь удовольствие.
Я это особо не учитываю, потому что в целом мне обычно норм на всех работах.
6. Люди
Такую мотивацию я подслушал у Ильи, с которым мы несколько лет назад развели крутой движ по организации митапов. Это было супер весело, и я до сих пор вспоминаю этот период с теплотой (привет Рома).
В какой-то момент он поделился, что ему вообще плевать над чем работать, и с какими технологиями, главное - с кем.
Это заставило меня призадуматься. Я никогда не жаловался не людей вокруг меня, почти все были умны, адекватны, а многие поталантливее меня.
При этом очень редко случалась синергия, как с тем же Ильей, когда ты вроде собирался обсудить одну идею, а к концу разговора придумал еще 5, и загорелся всеми.
Вообще хочу, но найти таких людей очень сложно.
7. Сложные задачи / Жесть
Как-то @chicoxyzzy (вроде
https://x.com/rowancheung/status/1848743700702130474
Теперь роботы смогут управлять компьютером, надо протестировать на стриме.
Хоть и страшно капец
Я активно юзаю голосовой режим в ChatGPT, и хотелось сразу его запускать с рабочего стола. Для Android Есть два варианта:
✨ Долгое нажатие на ChatGPT -> Перетаскиваем Voice на рабочий стол (также можно и с фото сделать)
✨ Использовать ChatGPT виджет
Сегодня на внезапном стриме в 19:00 с Виталием Павленко (@vitalypavlenko):
Пишем React трекер привычек с AI-IDE Cursor.com
🎵 Разобьем на таски с помощью AI
🎵 Попросим AI накодить, посмотрим что получится
🎵 Попробуем голосовой ввод
📺 Посмотреть: twitch.tv/kirjs | youtu.be/NVnHvsuc5Fc
Шаблон: https://github.com/vpavlenko/web-2024-template
На внезапном стриме в 20:40 по мск Посмотрим c Денисом достаточно ли курсор умный, чтобы разобраться в кодовой базе Angular и починить какой-нибудь баг, или пока не готов?
👀 Посмотреть: twitch.tv/kirjs | youtu.be/GC160fgkKas
🗣 Пообщаться голосом: twitch.tv/kirjs
Upd: Стрим про ноты будет в 8 вечера (через 2 часа и 15 минут), на картинке было неправильное время.
📺 Посмотреть: twitch.tv/kirjs | youtu.be/zVuvWDFTpOc
https://www.youtube.com/watch?v=DDAHORVzQ5g
Погнали
Через 20 минут, должна быть сессия "What's new in Angular" на Google I/O. Я буду там отвечать на вопросы и модерировать чат, приходите поздороваться:
https://www.youtube.com/live/XASRYAR7S5w
На внезапном раннем стриме в 18:30 по мск Посмотрим Resource/HttpResource, и планы у Angular на получение данных в целом.
⭐ Почитаем оба RFC
⭐ Запустим и попробуем использовать
⭐ Ответим на ваши вопросы
⭐ Может напишем короткую статью
👀 Посмотреть: twitch.tv/kirjs | youtu.be/ZUMtlRl5HlI
На внезапном стриме (через 5 минут) в 20:35 по мск Продолжим писать свои сигналы, и разберемся, как они устроены внутри, сегодня допилим эффекты и добавим untracked и может быть batch
👀 Посмотреть: twitch.tv/kirjs | youtu.be/NgzzAYg3XGM
На внезапном стриме прямо сейчас попробуем написать свои сигналы, и разберемся, как они устроены внутри, сегодня добавим эффекты и untracked
👀 Посмотреть: twitch.tv/kirjs | youtu.be/Qpqn8eSWBQQ
🗣 Пообщаться голосом: twitch.tv/kirjs
https://github.com/dlight-js/dlight
Скинули либу с интересным подходом к рендерингу.
Было бы интересно поковырять на стриме, как работает реактивность, и как они перехватывают создание строк
Сегодня на внезапном стриме вспоминаю как стримить.
https://www.twitch.tv/kirjs
https://www.youtube.com/watch?v=spk5_xI1J34
Angular 19 зарелизился 3 минуты назад, посмотрим на днях на стриме
https://www.youtube.com/watch?v=JvkX2_46gUY
Описание фичей можно почитать у @igor_katsuba
где-то на стриме https://www.youtube.com/watch?v=BqwTOc8roR4, но не уверен) рассказывал как он искал свою первую работу, и история была такая, что он искал только самую сложную и интересную жесть, и в результате попал в какое-то низкоуровневое программирование.
Это со мной очень сильно срезанировало, у меня вызывает огромное уважение такой подход: именно супер сложные и редкие задачи могут дать уникальный опыт и помочь стать ценным специалистом в узкой области. К тому же это сильно веселее, чем делать то же, что и все.
Не знаю, хватит ли мне смелости искать работу по такому принципу, было бы круто, если бы я задумался о таком в начале карьеры. Но не буду говорить "никогда".
Серёжа продолжает работать над сложными низкоуровневыми вещами, и даж был приглашенным экспертом в TC39.
8. Идеальное совпадение
Это когда твоим стремлением предпочтением и умениям находится какой-то идеальное место, где именно ты можешь сделать лучше всех.
Мне кажется, что это часто вытекает из предыдущего пункта.
Например Алексей Козятинский (https://www.linkedin.com/in/alexey-kozy), который работал в Chrome Dev Tools в Google, а после ушел в Netflix интегрировать те же самые Dev Tools, мне кажется было бы очень сложно найти более релевантного кандидата.
Или Anthony Levandowski, который начал свою карьеру с того, что пытался научить мотоцикл ездить сам в 2003, потом создал отдел самоуправляемых машин в Гугле, и в 2016 году был куплен Убером, и стал там делать то же самое. Закончилось правда не оч хорошо, но
9. Работа на себя
В случае, когда есть умения, или идеи, которые можно продать напрямую, можно работать на себя, мне пока не оч ясен путь туда, но я регулярно задумываюсь об этом.
10+, всякие другие причины
Есть еще много других причин, типа влияния на мир, стабильность, репутация и престиж, автономия и пр. которые лично мне либо менее важны, либо отсутствие которых мне не удалось пока прочувствовать на себе.
https://x.com/WebStormIDE/status/1849447048828842234
Пишут что WebStorm теперь бесплатен для некоммерческой разработки
Хочу посоветовать книжку про историю AI: Genius Makers: The Mavericks Who Brought AI to Google, Facebook, and the World
Особенно учитывая, что двое из героев книжки получили на днях Нобелевку в двух разных номинациях.
Книга неплохо описывает историю AI от появления, через зиму, когда все ржали над людьми, которые работали над нейроннымим сетями и до успеха.
Лично для себя узнал со стороны о процессах, которые происходили в Гугле последние годы, разобрался, что за шум был с project Maven, и понял почему я в 2016/2017 годах ездил в Китай, и почему потом перестал.
Узнал о книге отсюда:
/channel/new_yorko_times/306
https://openai.com/index/introducing-canvas/
Интересная новая штуковина, погляжу на днях на стриме
Вчера попробовал новый Advanced Voice Mode в ChatGTP.
Старый режим тупил и я его быстро забросил. Новый - быстрее и с новыми голосами, мне кажется я начну его регулярно юзать.
Я долго не понимал, зачем оно нужно, если текстом быстрее, но потом нашел два способа применения, которые существенно улучшают мою жизнь:
❤️ Оставлять фоном когда я гуляю и думаю. Если хочется что-то узнать, просто спрашиваю вслух, не нужно доставать телефон.
❤️ Оставлять фоном, когда делаю флеш карточки на Немецком, спрашивать непонятные моменты и произношение не переключая приложения и не сбиваясь с контекста.
Понравилось:
✨ Быстрее и удобнее предыдущей версии, приятнее использовать
✨ По сути привычное общение с ChatGPT только голосом
✨ Поболтали на немецком и поняли друг друга
✨ Произношение улучшилось по сравнению с прошлой версий, меньше ошибок в ударениях
Из непонятного
☯ Можно его перебивать (но пока не очень гладко)
☯ Я просил его поправить мне произношение. Половину ошибок он замечал, а половину пропустил, тут пока слабо.
☯ Есть понимание шуток и эмоции, не понял зачем
☯ Субъективно не один из голосов не захотелось выбрать с самого начала, хотя все они классно разговаривают. Наверное я ожидал привычный дикторский голос.
И минусы:
🍎 Пока доступно 30 минут в день
🍎 Лагает, и тупит, иногда приходилось перезапускать
🍎 Если не дай бог вдохнуть, или сказать э-э-э посреди речи, то он начинает говорить (понятно, что это компромисс нужный для скорости, но бесит)
🍎 Иногда не понимает, что я говорю, некоторые вещи пришлось переобъяснять несколько раз.
🍎 Несколько раз сбивался и говорил "С этим я не могу вам помочь", другим голосом. После чего отвечал на повторный вопрос.
Вывод - по ощущениям, это круче всего работает, когда нужно что-то узнать, но не хочется доставать телефон, или переключать приложение. Такой siri/ok google здорового человека.
Жду когда уберут лимит на 30 минут.
Introducing @let in Angular https://blog.angular.dev/introducing-let-in-angular-686f9f383f0f
Читать полностью…
В Пятницу вечером в 20:00 с Виталием Павленко (@vitalypavlenko):
🎵 Посмотрим сайт rawl.rocks
🎵 Поболтаем о музыкальной теории
🎵 Обсудим код, интересные технические решения
📺 Посмотреть: twitch.tv/kirjs | youtu.be/zVuvWDFTpOc
🎶 rawl.rocks