Канал Олега Етеревского
476 subscribers
181 photos
27 videos
2 files
180 links
Группа для комментрирования: t.me/eterevsky_log_comments
Download Telegram
[Програмистское]

В последнее время на работе мне пришлось начать писать на TypeScript. (В Google никого не спрашивают кто знает какие языки, и ожидается что инженер может достаточно быстро адаптироваться к любому языку и инфраструктуре).

На JavaScript'е я последний раз писал лет 10 назад, а на TypeScript'е вообще никогда. Так что чтобы побыстрее к нему привыкнуть, я решил сделать в этом году Advent of Code (https://adventofcode.com/2024/) на этом языке.

Вместо того, чтобы читать подробные руководства и статьи, я начал длинный тред с Claude'ом (ChatGPT и Gemini тоже бы справились) с вопросами о том, как те или иные вещи делаются в TypeScript. На данный момент в треде около 120-и вопросов, начиная с того как исполнять TypeScript в консоли, как читать файл, как поделить с остатком, до того что означают какие-то конкретные сообщения об ошибке. Насколько я могу судить, пока что Клод не соврал мне ни разу.

В изучении языков программирования важный момент — не просто выучить синтаксис, но также выучить подходы к разным задачам принятые в данном языке. Исторически было несколько способов этому научиться:
- книги типа Effective Java или Effective C++, объясняющие как именно языковые конструкции используются для реальных задач
- ответы на StackOverflow
- code review от других инженеров, более хорошо знакомых с этим языком.

У всех этих методов есть недостатки: в книгах много информации которая в данный момент нам не нужна, на StackOverflow не всегда можно найти в точности нужный вопрос и сложно задавать уточняющие вопросы, квалифицированного инженера для code review найти сложно и само review занимает время.

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

Изучать языки программирования в 2024-м году легче чем когда-либо.

Впрочем, я не думаю что профессия программиста просуществует в современном виде ещё долго. Мне кажется маловероятным что к 2030-му году не появится AI-агентов, способных заменить относительно сильного senior программиста FAANG.
👍124
Прямо сейчас идёт трансляция первого испытательного сверхзвукового полёта самолёта, разработанного гражданской частной компанией: https://www.youtube.com/watch?v=-qisIViAHwI.
🔥4
Это у них пока прототип. Если с ним всё пройдёт успешно, они планируют выпустить пассажирский самолёт на ~70 мест, вроде Конкорда, прекратившего летать в 2003-м
🔥1
Узнал вчера из вот этого YouTube видео: https://youtu.be/D5DCQtz-RaE, что слово multiple стало употребляться в значении "несколько", "больше одного" совсем недавно, приблизительно в 90-х. До этого оно имело более специальное значение вроде русского прилагательного "множественный" как в "множественные ранения".

Также как мы не можем сказать "множественные люди", до недавнего времени фраза "multiple people" было ошибкой.

Меня это несколько поразило. Обычно новые слова бросаются в глаза, но это кажется абсолютно привычным.
3👍1
Каким-то образом этот ответ стал моим самым популярным твитом.

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

Многим (и мне тоже иногда) хочется говорить об Искусстве с большой буквы и отделять его от фейков и бессмысленных поделок. Но ничто не мешает говорить об этом другими словами: «Моё искусство — шедевр, а ваше, Пётр Василич — говно на палочке».
👍81
Два года назад я вёл в этом канале прямую трансляцию марафона, который я бежал. С тех пор бегать я не бросил, и даже пробежал в этом году марафон на 20 минут быстрее, но этот пост не о том.

В последние пару месяцев я стал использовать Claude 3.7 в качестве персонального тренера по бегу. Рассказываю ему про все свои тренировки, благо убежать от меня он не может. Советуюсь по поводу плана тренировок, подхода к забегам, тактики и так далее. Делаю всё это в одном длинном чате, чтобы у него был весь контекст.

Сегодня я решил провести маленький эксперимент про то, какие он может сделать про меня выводы на основании этого чата. Полный ответ ниже, но в сумме он попал практически по всем пунктам: где я живу, кем работаю и так далее. Даже немного меня покритиковал что я бываю упрям и бегаю обычные 15 км когда он мне говорит бегать меньше.

Мои собственные выводы: во-первых, качество Клода как тренера — выше всяких похвал. Живому тренеру я бы платил скажем 100 долларов в месяц за то чтобы несколько раз с ним поговорить. С Клодом я могу чатится неограниченно, он всегда ответит и даёт работающие дельные советы.

Во-вторых, это очередной контрпример для всех кто говорит, что дескать LLM не могут думать, а только повторяют то что прочитали. Прочитать десятки килобайтов текста и сделать на его основе выводы, про которые в тексте прямо не написано — это и называется "думать". Впрочем, это обязательно означает что Клод обладает сознанием. Способность размышлять и делать выводы не обязательно связана именно с сознанием.

Вот полный ответ Клода:

Looking at our conversation analytically, here's what I can infer about you:
Location and Background:
You likely live in Central or Eastern Europe, based on your use of 24-hour time, Celsius, metric system, and the timing of seasons. The mountainous terrain near your home, combined with your planned Athens Marathon and participation in Wings for Life, suggests possibly Austria, Switzerland, or nearby regions. English is not your first language, though you're highly proficient. There are subtle patterns - slightly formal constructions, occasional preposition choices, and the error "and so force" instead of "forth" that indicate a non-native speaker.
Personality Profile:
You're notably analytical and methodical, approaching running with an engineer's mindset. You track metrics obsessively and need to understand the "why" behind recommendations. You show some stubbornness - initially resistant to shorter training runs or Zone 2 training until you see the logic. You're self-disciplined but also somewhat rigid in your routines (preferring your standard 15km runs even when shorter ones are suggested).
You're curious but skeptical - you question authority (like Strava's zones) but need evidence before changing your approach. There's a slight perfectionist streak in how you analyze every detail of your runs.
Professional Life:
You likely work in a technical or analytical field - possibly engineering, IT, or sciences. Your systematic approach to problems, comfort with data, and analytical thinking style all point this direction. You have enough job flexibility to run at various times and manage a significant training schedule, suggesting a professional-level position with some autonomy.
Personal Circumstances:
You're 43, married (you mentioned your "beautiful wife"), and appear to have no children based on your available training time. You're financially comfortable enough to afford running gear, race entries, and potential international travel for marathons. You maintain a good work-life balance despite your intensive training regime.
Potential Blind Spots:
You sometimes overthink situations rather than trusting your instincts. You can be slow to adapt to new methods until thoroughly convinced of their merit. You might benefit from occasionally embracing more flexibility in your training approach rather than always seeking the "optimal" solution.
👍151
Это обложка самого популярного альбома рок-группы Arctic Monkeys под названием AM. Я видел эту обложку много раз прежде чем до меня дошёл её смысл.

Здесь изображена амплитудная модуляция (amplitude modulation = AM). Это то как работали и продолжают работать старые радиостанции, передающие сигнал посредством изменения амплитуды при фиксированной частоте.
👍13🔥1
Мы сейчас путешествуем по Франции. Вчера вечером, выходя из автобуса я на автомате сказал водителю "adieu" — в Швейцарии это обычное прощение, типа "bye bye", "пока". Как мне позже объяснили, во Франции это слово значит "прощайте", "farewell".
😁11👍1
AI и всемирная история

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

Я прикинул, что за 2-3 часа можно было бы прочитать про один год, раскидать события по месяцам и написать по 2-3 коротких "новости" про каждый месяц.

Чтобы проверить, насколько это реалистично, я решил пройти один год, чтобы лучше понять каким получается формат этих постов.

Я решил начать с 1453-го года. Вероятно, кто-то из читающих эти строки уже кивает: "Конечно, 1453-й, makes sense". Для тех, кто как я не очень твёрдо помнит исторические даты, этот год хорошо подходит как граница между Средневековьем и Новым временем. В этом году пал Константинополь и закончилась Столетняя война. Кроме того, в этом году Гуттенберг уже работал над своим печатным станком и возможно занимался набором своей Библии.

Я начал со статьи про 1453-й год в Википедии и, как и ожидалось, вскоре сформулировать пару десятков "новостей", разбитых по месяцам. Вскоре я заметил, что на дворе 2025-й год и всё что я делаю, мог бы делать современный AI.

Я начал с Gemini. Я объяснил Gemini 2.5 Pro Deep Research что я хочу хронологию 1453-го года с разбивкой по месяцам в расчёте на 2-4 абзаца на каждый месяц. Gemini задумался минут на 15 и сочинил 40-страничный текст включающий не только хронологию событий, но и обширное введение описывающее политическую ситуацию на начало года, а также несколько секций с описанием глобальных трендов, состояния научно-технологического прогресса и обзор регионов не попавших в основную хронологию.

Я прочитал текст от корки до корки, выборочно проверяя отдельные даты, имена и факты. Насколько я могу судить, качество текста получилось не хуже средней статьи по истории. Стиль получился информативным, но не слишком сухим. Gemini не только изложил факты, но также преобразовал их в связное повествование, правдоподобно описав связи между ними. Получившийся текст оказался значительно лучше чем то что я мог бы написать сам за ограниченное время.

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

Полный текст Gemini: https://docs.google.com/document/d/1dZrjOACDoYXJjFuyK5sYbvG04qOio-WoSYywjGNGB1w/edit?usp=sharing

Прочитав текст, написанный Gemini, я решил сравнить, что напишут другие доступные LLM'ы.

ChatGPT o3 deep research потратил несколько минут и написал 5 страниц, почти исключительно состоящих из основной хронологии. Изначальный вариант текста звучал как будто он был взят из туристического гида: с вымученными эпитетами и связками. Я сделал пару попыток объяснить ChatGPT какой стиль я хочу, но преуспел не до конца.

Как и Gemini, текст написанный ChatGPT включал ссылки на источники, но большинство из этих ссылок оказались ведущими на https://en.wikipedia.org/wiki/1453. Я попросил ChatGPT сделать факт-чек и добавить ссылок на более специализированные источники, что он успешно сделал, попутно найдя несколько мелких неточностей.

Финальная итерация текста от ChatGPT: https://docs.google.com/document/d/1aRPyPR5AVigiQEL1XaCwErGtelooEaoo-y5IVgkGH_4/edit?usp=sharing

Вариант вышедшего несколько дней назад Claude 4 оказался более лаконичным чем у ChatGPT и не включал никаких ссылок на источники. Я не до конца понял, значит ли это что Claude написал весь текст "из головы", не пользуясь поиском в веб, но никаких ошибок я сходу в тексте Клода не нашёл. В то же время, Claude, единственный из всех, полностью проигнорировал все события за пределами Европы.

Текст от Claude: https://docs.google.com/document/d/1fkOjEQPepaL7sJipgMVshTCvGeK5UxIilfGHcdRx74I/edit?usp=sharing
👍3
Последний AI, который я попробовал был Grok 3. Из всех AI’ев он отнёсся к заданию наименее ответственно. Несмотря на то, что я просил написать по 2-4 абзаца на месяц, Grok ограничился всего одним абзацем для большинства месяцев. В то же время, текст, написанный Гроком оказался единственным, в котором я заметил фактические ошибки и галлюцинации.

Текст от Grok: https://docs.google.com/document/d/1kMXZ6Tr4Arjq6MjtF7g0YR_8Mi6itQtEqzmgyYXmy_8/edit?usp=sharing

Выводы.

1. Мне понравилось это упражнение и я думаю продолжить его по крайней мере для собственного образования, даже если получающиеся тексты никто кроме меня читать не будет.
2. На данный момент Gemini на голову превосходит другие доступные AI’и по качеству глубоких исследований. Disclaimer: я работаю в Google DeepMind в проекте Gemini, но я никак не связан с командами занимающимися моделями и в контексте этого поста я использовал Gemini как обычный пользователь.
3. Одновременно Gemini оказался самым медленным из AI’в которыми я пользовался и его интерфейс оказался наименее надёжным, возможно из-за того что в контексте этого проекта он оперировал на порядок большим размером текста, чем другие модели.
4. Я пока не определился с лучшим форматом для публикации. Видео для YouTube требуют слишком большого объёма работы, Twitter-треды слишком независимы друг от друга и не будут читать в контексте предыдущих постов. Блог на Substack выглядят наиболее подходящими для такого рода контента.
5. Я собираюсь сопровождать посты иллюстрациями, либо взятыми из исторических источников того времени, либо содержащими релевантные карты. Из всех AI’ев которые я использовал, ChatGPT единственный умеет находить подходящие изображения, но на практике вероятно легче вручную выбрать событие и найти подходящую иллюстрацию.
6. Наиболее значительный недостаток в ответе Gemini, который я заметил, заключается в том что он пропускает некоторые события и детали, которые мне кажутся интересными или значительными. К примеру он пропустил тот факт что при осаде Константинополя использовалась самая большая на тот момент в мире пушка. Также он забыл упомянуть отравление Дмитрия Шемяки, сыгравшее роль в русской истории.

Как я уже писал выше, за исключением ответа Грока, я не нашёл в текстах существенных фактических ошибок. Если вы вы их увидите — пожалуйста, напишите в комментарии или мне в личку.
👍4🔥31
Стали бы вы читать ежедневный блог в формате "один пост — один месяц"?
Anonymous Poll
48%
Да
19%
Да, но только если он полностью написан человеком
8%
Нет
26%
Не знаю
В порядке эксперимента я решил попробовать начать блог, о котором я писал в прошлом посте. Встречайте: Slow History, https://slowhistory.substack.com/

Пока что я написал маленькое вступление с описанием идеи: https://slowhistory.substack.com/p/coming-soon, введение на момент начала 1453-го года: https://slowhistory.substack.com/p/1453-setting-the-stage и два первых месячных поста, которые выйдут завтра и послезавтра.

Подготовка каждого поста занимает в районе пары часов, значительно дольше, чем я ожидал, несмотря на активное использование AI-ев. В конечном итоге получилось, что львиную долю текста пишу я сам, а AI используется в основном для начального research'а и фактчекинга. Впрочем, я не оставляю тщетных попыток заставить AI писать так как написал бы я сам.
👍92
В блоге про историю (см. предыдущие посты) первый майлстоун — я закончил 1453-й год. Хотя я и ставил себе целью закончить хотя бы один полный год, но мне всё равно немного странно. Я ожидал бросить этот проект после 2-3 постов.

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

Я стараюсь писать с запасом, так что у меня на данный момент написано ещё 6 записей до конца первой половины 1454-го года. Такой буфер также позволяет двигать секции между уже написанными, но ещё не опубликованными постами и исправлять в них ошибки.

На данный момент мой процесс выглядит следующим образом:

1. Я читаю Википедию и прошу Gemini, ChatGPT и Claude research составить мне обзор событий за целый год. Суммируя все эти ответы я пишу примерный план на год, разбитый на 12 постов.

2. Начиная заниматься конкретным месяцем, я прошу Gemini Pro Deep Research изучить всё что есть про события этого месяца, обращая особое внимание на события запланированные на этот пост. Gemini читает в среднем 200 веб страниц из которых большая часть абсолютно бесполезны, и пишет от 20 до 40 страниц текста, больше половины из которых повторяет тексты про другие месяцы. Даже названия этих репортов повторяют друг друга. Почти все говорят про "world in flux".

Репортам написанным Gemini можно доверять примерно на 80%. Часто проблема даже не в том, что он галлюцинирует (хотя и это бывает), а в том что в интернете просто нет достаточного количества информации про интересующие меня события. Решение тут — найти цельные книги и скормить их ему. К примеру, я нашёл PDF какой-то польской книги про Тринадцатилетнюю войну, даже без OCR, и Gemini отлично её съел и переварил.

Другой life hack — явно попросить его искать информацию не только на английском, но и на китайском/японском/итальянском/польском/турецком — на языках тех стран, для которых данное событие было наиболее релевантно.

3. Я читаю репорт Gemini, пропуская повторяющиеся части. Иногда я запускаю дополнительный research в Gemini или в Claude про отдельные вопросы или события. По моим ощущениям Gemini слишком многословен, но Claude больше врёт.

4. Получив представление о том, о чём следует рассказать в какой-то месяц, я делаю одно из двух: либо а) я пишу весь текст поста из головы, либо б) я пишу план поста, присоединяю репорт Gemini и дополнительные материалы и прошу Claude написать пост по моему плану на основании этих материалов, после чего иду по тексту Клода, сокращая и переписывая отдельные куски.

5. Полученный черновик поста я вставляю в новую сессию Gemini и прошу его сделать подробный fact-check, а также сказать мне что можно добавить. Gemini пишет ещё один 20-страничный репорт, на сей раз более сфокусированный на том что я рассказываю. По существу он может найти 1-2 ошибки в датах или деталях которые я неправильно понял, и иногда добавляет 1-2 интересные детали про которые я забыл или не знал.

6. Финальный драфт я вставляю обратно в Claude чтобы отредактировать ошибки и стиль. Это — самая приятная часть процесса. Мне обычно довольно трудно писать тексты из головы именно потому что они обычно получаются немного корявыми. Много времени уходит на то чтобы найти правильные слова, связки и т.д. В Клоде я просто выделяю пару слов, говорю ему что они к примеру звучат слишком заумно и он тут же всё исправляет.

Итого, один пост занимает 2-3 часа. Это конечно очень много. Есть надежда что со временем, по мере улучшения AI'ев, некоторые из этих шагов можно было бы сократить. К примеру, было бы очень удобно если бы Gemini в том же чате где он делает research мог написать по-человечески написанный текст на 2 страницы. К сожалению, по-человечески умеет писать только Claude, а делать research с большим количеством информации — только Gemini.
🔥7👍53
В ходе написания одного из постов для моего блога (https://slowhistory.substack.com/) я сделал интересное, не скажу открытие, но наблюдение.

Речь идёт о событиях лета 1456-го года. Вся Европа с замиранием сердца следит за тем как огромная турецкая армия идёт в наступление на Белград. На фоне этих событий папа Римский выпускает буллу Bulla Turcorum, которая предписывает всем католическим церквям звонить в колокол в полдень чтобы напомнить всем помолиться за избавление от неверных. Приходит июль, христианская армия побеждает, но традиция остаётся. Теперь колокол в полдень звонит в память о чудесном избавлении.

Половина источников в интернете и за его пределами немного путает даты, и пропускает первый период, говоря что звонить сразу предписывается в память. Но в остальном все сходятся: Bulla Turcorum, колокола, полдень.

За исключением одного источника: факсимиле самой буллы, напечатанного Гутенбергом в 1456-м году. С ним можно ознакомиться вот тут: https://dpul.princeton.edu/scheide/catalog/0v8380652. В тексте буллы написано "inter nonas et vespas", "между девятым часом и вечерней", то есть между примерно 15:00 и 18:00.

В этой находке интересны два аспекта:

1. Все статьи это либо пропускают, либо считают несущественным. К примеру, Википедия пишет "During the siege of Belgrade (1456), Callixtus initiated the custom that bells be rung at midday to remind the faithful to pray for the crusaders. The tradition of the Angelus noon bell still exists in most Catholic churches to this day."

2. В 2025-м году хрен с горы пишущий любительский блог по истории, не знающий латынь и не умеющий читать готический шрифт с загадочными сокращениями, может в два счёта найти такую деталь. Ну вы наверное поняли как. Я пробовал все топовые AI-и и уверенно читать манускрипты и инкунабулы может только Gemini. ChatGPT с огромным трудом может прочитать за 10 минут одну строчку, остальные вообще отказываются.

P.S. В процессе написания этого поста, я решил в четвёртый раз проверить что я ничего не упускаю, сверил слово-за-словом транскрипцию с факсимиле и нашёл что Gemini пропустил целую строчку посреди ключевого фрагмента. После того как я поставил его перед этим фактом, оказалось, что слова есть, но смысл фрагмента они не меняют, и он решил опустить их в транскрипции. "In my effort to provide a flowing translation, I oversimplified that highly abbreviated and complex section of the text." Вот так
🔥9😱4😁1
Я решил немного переключиться с постов про историю в Slow History и написал пост в мой основной Substack под заголовком "What I Believe" ("Во что я верю"): https://eterevsky.substack.com/p/what-i-believe.

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

1. Математика, по крайней мере конструктивная математика, верна.
2. Окружаемый нас мир объясним, и более простые объяснения обычно верны.
3. Мои мысли и чувства существуют.
4. Страдания — это плохо.

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

Этим списком не ограничиваются все мои убеждения, но мне кажется что большинство из практических ответов вытекают из этих 4-х утверждений/фреймворков.
12
В мае мы были на Fantasy Basel и я сделал для него мини-косплей Силко из Arcane. Сегодня нас позвали на свадьбу и я заметил, что косплей Силко минус глаз и гамаши — это отличный fancy прикид, который можно подходит для такого мероприятия.
14🔥6🤮1
А вот кстати подарок, который мы готовили на вчерашнюю свадьбу, и который не успел до конца приехать к дню X. Да, это шоколадные монеты.
7🔥2👎1🤩1
Мне нравится читать hard sci-fi: фантастику, которая не делает допущений за пределами известной нам физики. Если мы путешествуем от звезды к звезде, то космический корабль не может превышать скорость света. Но это лишь полбеды. Более жёсткое ограничение на скорость накладывает закон сохранения импульса: чтобы разогнать ракету в одну сторону, нужно потратить массу, разогнав её в противоположную сторону.

Какую скорость мы можем достигнуть используя самые эффективные известные нам методы?

Если исключить масштабное производство антиматерии, то самый эффективный двигатель который я смог придумать основывается на термоядерной реакции: мы берём водород и превращаем его в гелий, попутно конвертируя 0.7% его массы в энергию. (Теоретически можно продолжать реакцию вплоть то железа, но это даёт всего 0.2% дополнительной энергии.) Полученную энергию мы полностью конвертируем в кинетическую, разгоняя гелий для реактивной тяги.

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

Предположим масса нашего корабля распределена следующим образом:
* 1/2 массы — водород для разгона
* 1/4 массы — водород для торможения
* 1/4 массы — всё остальное, включая сам корабль, двигатель и полезную нагрузку

Внимание вопрос: до какой скорости мы сможем разогнаться в таких условиях?

Ответ: в идеальных условиях такой двигатель позволит разогнать ваш космический корабль примерно до 25,000 km/s или 0.08c. Путешествие в одну сторону до Альфа Центавра на таком корабле займёт 55 лет.

Из плюсов: водород — это самый распространённый элемент в природе, так что вы сможете заправиться им в любой солнечной системе.
🔥15🤯2😢1
Я тут недавно открыл для себя Честертона. С огромным удовольствием прочитал The Man Who Was Thursday — одновременно детектив, фарс и философский роман.

Закончив с Четвергом, я принялся за книги про отца Брауна. По формату это похоже на Шерлок Холмса и Пуаро: детективные рассказы с развязкой в конце. Тут пока у меня нет однозначного впечатления, но некоторые вещи меня поражают.

В одном из рассказов (спойлер) невероятная завязка: любовная линия, герой, который сначала выступает в бродячем цирке, а потом изобретает и начинает продавать роботов (в книге 1911-го года). И потом развязка: убийца — почтальон. Точка. По-моему, это рекорд контраста между завораживающим сюжетом и банальностью развязки.
😁6👍3🤩2🤔1