evtn
96 subscribers
20 photos
24 links
Личный (и приличный) канал @aternative. Подписывайтесь на канал, здесь говорят неправду.

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

Канал фото (иногда выкладываю): @picsnchips
Download Telegram
Раз в несколько месяцев я натыкаюсь на одну и ту же проблему с вводом в вебе.
Иногда я задумываю сделать в вебе редактор с Rich Text, иногда (как сейчас) мне просто нужно автоматически делать пометки-комментарии около строчек.

И казалось бы, что может пойти не так? Интернет вырос из формочек, наверное сейчас, спустя почти 28 лет после первого релиза JavaScript, ну должна быть в вебе нормальная поддержка форм со сложным контентом?

А нет её. Нет нормального очевидного способа сделать даже самое минимально сложное поле ввода.
Банально разбить ввод на строчки, завернуть их в <span> и прицепить к каждой текстовый :after (мой сегодняшний кейс)
Нет, конечно способы есть. Но все эти способы опираются на какую-то древнюю шаманскую магию, которая ломается примерно в 99% случаев, и в итоге выхода три:

1. Просто забросить затею совсем
2. Сесть и потратить десяток-другой часов на полноценное решение (и плюсом столько же на чтение документации, отладку, на "пора проветриться пару дней в лесу подальше от любого кода").
3. Взять готовую библиотеку, которую кто-то другой делал десяток-другой часов (вероятно с теми же примечаниями в скобках как в п.2).

И вот казалось бы, на каждом углу WYSIWYG редакторы, всяческие интерактивные инпуты, всё это должно нативно поддерживаться, но в реальности этого нет, а мы продолжаем отдыхать от кода в лесу (или у окна). Доколе?
3🤡3👍1🥴1
Вам написали сообщение. Вы не можете ответить сейчас. Что ХУЖЕ в данной ситуации?
Anonymous Poll
85%
Прочитать сообщение и не ответить
15%
Оставить непрочитанным
evtn
В начале прошлого и этого года я подводил итоги года (очень оригинально, да). В этом году вспоминать конкретную последовательность событий не очень хочется. Я переехал в Тбилиси весной и с тех пор постепенно адаптируюсь к жизни в საქართველო. Я пока не уверен…
Чуть совсем не забыл про подведение итогов года!

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

Успел выпустить несколько небольших проектов, начать несколько больших, почти доделать новый сайт и кучу других мелочей. Познакомился с новыми людьми и постарался не разойтись со старыми. Утонул в нейросетях, делал ботов с текстом, картинками, с распознаванием и генерацией голоса, сверстал кучу лендингов и промо-проектов, писал API для всего подряд, генерировал шахматные доски для ChatGPT, поднимал gitlab, Garry's Mod и Minecraft на одном сервере, и просто пил лимонад, вспоминая, что же ещё было.

С Новым годом тех, кто уже в 2024, и с наступающим Новым годом тех кто ещё в 2023 (например меня в момент написания поста). Также поздравлю всех, кто застрял в 2019 (по какой-либо причине)
93🥰1😍1🗿1
Настала пора выходить из спячки и упомянуть что-нибудь интересное. А пока в моей голове нет ничего философского, программистского и прочих тем для длиннопостов, просто расскажу, что я относительно недавно обновил свой сайт (который одновременно резюме)

Всех интересующихся приглашаю на evtn.me
Всех неинтересующихся заверю, что когда-то скоро будет что-то поинтереснее
👏3🍌2💋1
Не так давно (месяц или два назад) для сайта прикручивал геолокацию по айпи, чтобы зарплатные ожидания чуть-чуть менять в зависимости от страны посетителя.
Пока разбирался, понял что это всё делается достаточно просто и быстро по базе, которую можно держать оффлайн.

Потому быстро был сделан API, и остался бы он так одиноко стоять и обслуживать парочку моих микроподелок, но вчера что-то ударило в голову обернуть это всё в красивый фронтенд. Сказано — сделано. Насчёт красивости не уверен, да и вообще там одна карта весит больше чем весь сайт, но вот:

https://locate.evtn.me
3🤯1
evtn
а вот это всё — картинки от личной карманной нейросеточки
Кстати, возвращаясь к теме SD.

С тех пор, как я написал тот пост про Stable Diffusion, уже успел выйти Stable Diffusion XL (а скоро уже и SD3 выйдет, вот тогда заживём), с которым я тоже много чего успел поделать, вот недавно нагенерировал 4К обоев вот тут (да да, ещё один канал). В двух постах там картиночки, а в комментах ещё и оригиналы, чтобы без всяких сжатий.

Пока что мои залипания в SD ограничивает доступность железа (я всё ещё не раскошелился даже на 3090), но вот раскошелюсь и вы уже никуда не денетесь от лавины генераций.
🤯2🥰1
К теме важных социологических опросов

Как вы бы назвали вот это? (можно выбрать несколько вариантов, хотелось бы услышать не словарно верные, а как вы сами думаете)
🤣5
Сидел, тыкался во всякие LLM на Chatbot Arena — платформа для бенчмарка разных LLM. Основная функция — возможность задать один вопрос двум моделям (имена моделей скрыты), а потом выбрать, какая лучше ответила (и тогда узнать какая модель ответила). На основе этого составляется рейтинг (вкладка Leaderboard)

Берём следующий промпт:

What this code would print?
```python
min, max = max, min

def maxmin(x):
return max([min(y) for y in x])

print(maxmin([[1, 2, 3], [4, 5, 6]]))
```

Этот код выводит 3, но модели с этим часто не очень согласны, это прямо как известные математические споры про простые задачки!

Загвоздка кода в том, что мы меняем местами min и max. Решение:
1. В каждом подсписке найти максимум ([3, 6])
2. Среди результатов найти минимум (3)

Если бы первой строчки не было, то задача была бы следующей:
1. В каждом подсписке найти минимум ([1, 4])
2. Среди результатов найти максимум (4)


По сути, тут может получиться 4 результата:
1 — сначала модель забыла про подмену функций, а потом вспомнила (оба раза нашла минимум)
3 — если всё правильно посчитать
4 — если бы не было первой строчки
6 — сначала модель помнила про подмену функций, а потом забыла (оба раза нашла максимум)

Результаты (так как это arena mode, модели выбираются случайным образом и некоторые попались более одного раза):

gemini-1.5-pro-api-0409-preview: 4
gemma-1.1-2b-it: [1, 6] (??)
llama-3-70b-instruct: 3, 1, 3, 3, 3, 1, 3, 1, 3 (арена любит выбирать третью ламу)
llama-3-8b-instruct: 4, 4, 6
gpt2-chatbot (мы не знаем что это такое)
: 3, 3, 3, 3, 3
gpt-4-turbo-2024-04-09: 3
gpt-4-0125-preview: 3
gpt-3.5-turbo-0125: 4
claude-3-opus-20240229: 3
claude-3-sonnet-20240229: 1, 1
reka-flash: 4, 4, 4
snowflake-arctic-instruct: 4, 4
qwen1.5-32b-chat: 6
vicuna-13b: Syntax Error (??)

Отдельный момент, что все эти модели пытаются рассуждать и только тогда могут прийти к правильному ответу. Если попросить их просто дать ответ, правильный ответ не даст ни одна модель (причём даже те модели, которые давали идеальные 100% верных ответов, иногда выдают несуразные ответы, например "2")
1🔥1👏1
Сегодня добрался наконец до идеи заливать всякие иконки в эмодзи телеграма

У меня уже были эмодзи с буквами (один из наборов почему-то до сих пор ежедневно фигурирует в ~тысяче сообщений), но теперь буду заливать иконки в векторном формате вместо печальных 100х100 растровых картинок
Forwarded from Emoji Icons
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Внезапный хот-тейк: меня иногда очень сильно удивляет как многие люди сильно зациклены на еде.
Для меня еда, даже очень вкусная, вещь неинтересная. Мне совершенно не важен уровень повара, заведения, подачи и нет никакого интереса пробовать всё вокруг. Я оцениваю еду исходя из того, не будет ли она невкусной, не будет ли у меня после неё тяжести или какого-то ещё дискомфорта.

Мне непонятны люди, которые судят о чужих вкусах в еде и думают, что если вам нравится что-то простое и примитивное, то вы просто ещё не достигли того гурманского уровня. Или люди, которые переехали и страдают от отсутствия какой-то еды. Я не скучаю по еде, я не думаю «ох, вот бы сейчас блин Цезарь из Сибирских Блинов, как раньше» (а он был вкусным, определённо, но не более того).

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

С одной стороны, наверное мне везёт не иметь одной лишней головной боли по поводу того, где достать какую-то конкретную еду или продукты. С другой — может я упускаю какой-то пласт интересных смыслов, которые бы могли меня дополнительно увлечь? Хотя, мне вроде и так смыслов и интересностей хватает (даже иногда чересчур много, найти бы на это всё время)
42👍1🥰1🤡1😭11
evtn
Приходится на работе использовать Chromium вместо обжитого Firefox, и поэтому пришло время поворчать на Chrome/Chromium. Про его пожирание памяти уже все подряд поворчали и пошутили (и нет, он кушает много, Firefox ест больше на 1-2 вкладках, но начиная от…
С годами растёт не только мой возраст, но и среднее количество вкладок в моём браузере (на самом деле не сильно).

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

И прежде чем читающий это напишет в комменты "!!!🥺!!!! закрой вкладки 🥺🥺🥺!!", подскажу, что сейчас я вижу только 12 закреплённых и пустую группу, а все остальные живут в других группах, которые запрятаны в выпадающий список. И несмотря на это, предвижу в комментариях примерно такой диалог:

— попробуй закрыть вкладки
— закрою как они мне не будут нужны
— тебе не нужно одновременно 2540 вкладок
— я и не говорил что нужны одновременно
— тогда попробуй закладки освоить


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

Но большинство вкладок — ситуативные. Я открыл документацию OpenAI потому что я сел делать очередной прорыв в области чатботов с ИИ (самый прорывной). Через 30 минут я всё ещё не закончил с этим, но мне нужно разобраться с рабочей задачей. Я не буду закрывать собранные 15 вкладок которые связаны с этим проектом, я просто оставлю их в группе very-smart-ai-bot и пойду в группу my-real-workplace-name делать важные задачи.

Когда-нибудь позже я вернусь и включусь в контекст. Да, может быть я почти сразу закрою 2, 3 или даже 5 из этих 15 вкладок по причине ненадобности. Но у меня нет никакого зуда по поводу поддержания только самых-самых нужных вкладок. Группировка мне вполне помогает разделять контексты задач и возвращаться к отложенным проектам не затирая контекст в голове в ноль. И да, у меня 71 группа и возможно пора группировать группы
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳4🥰21💩1😍1💋1
Я как-то совсем забыл рассказать про свой @taidebot

Вообще это изначально был бот для всяких экспериментов с SD, но какое-то время назад с выходом flux я перезапустил его и теперь можно использовать flux1.0 dev/schnell инлайн или в личных сообщениях. Доступна пачка стилей (например очень удачный PS1, который действительно генерирует картинку по запросу в стиле игр времён PS1)

Для простых смертных оплата в звёздах (всё же дело небесплатное для меня), для некоторого узкого круга бесплатно и даже новую 1.1pro завёз (как выйдет 1.1dev раскачу на всех обязательно)
🥰3
Спустя неделю после Нового года пора наконец подвести итоги старого года

Для всех моих верных 93 86 подписчиков (кому-то не нравится что я им не мешаю постами) которые с упоением следят за моей жизнью, рассказываю.

Что было интересного (не в хронологическом порядке, извиняйте):
· Сменил дизайн на своём сайте (в марте, хотя планировал в конце 2023...)
· Сделал locate.evtn.me — локатор для IP, в вебе или через API
· Полностью переделал @taidebot — теперь за звёздочки генерирует картинки с помощью flux
· Поучаствовал в хакатоне (впервые с 2021, большой перерыв получился) — мест не заняли, но было интересно
· Сменил свой Большой ПК на Ryzen 5600G на мини-пк на ryzen 8845hs
· В августе сменил квартиру (традиционно не оседаю в одной надолго, хотя 2024 начался в квартире с годовым контрактом)
· Сделал runevery — гибкий планировщик асинхронных задач для Python
· Завёл скрипты для массовой генерации emoji-паков в Telegram и канал с ними (скоро думаю будут ещё пополнения)
· Присоединился к команде tonstakers.com и уже написал там кучу кода
· Переехал с Sublime Text на Zed и с XFCE на Hyprland и засел делать GTK-виджеты в систему
· В декабре снова сменил квартиру (с прошлой не задалось)

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

Ну и постить в канал примерно раз в 5-7 лет тоже буду как обычно, конечно
🔥81👍1🍓1💋1💘1
Кстати говоря пока мы не забыли что я ещё пишу код

Я тут побочно к своим личным поделкам сваял очередной велосипед библиотеку для стейт-менеджмента на Python

https://github.com/saltforge/restate

- Можно воткнуть в любое хранилище (из коробки есть in-memory и файлики на диске, кастомное хранение пишется легко)
- Можно устроить сложное хранение (часть хранить одним способом, часть другим)
- Есть sync и async контроллеры из коробки
- Легко организовывать данные с иерархией путей
- Можно подписываться на изменения любого пути (в том числе с wildcard или по префиксу)
- Можно автоматически при изменении одного или нескольких значений рассчитывать новое (derived state)
- Можно завести колбек который автоматически подписывается на нужные значения и перезапускается при их изменении

Много чего в общем-то можно (возможно ещё что-то забыл), но самое главное приветствуются звёзды там на гитхабе, баг-репорты, фича-реквесты и всё такое
💋1
Мне тут пожаловаться захотелось, на ремонт в квартире, так что сегодня вечер умеренного недовольства к шторам (если их так можно назвать)

В моей нынешней квартире арендодатель сделала "дизайнерский" ремонт для себя (а потом почему-то стала сдавать эту квартиру)

Одно из гениальных решений этого ремонта это полное отсутствие карнизов. Вы спросите — чем же закрываются окна?
Я отвечу — полосатые рулонные шторы

Среди плюсов этих (не всех рулонных, а именно этих) штор можно перечислить:

— ненадёжную конструкцию (причина написания поста это то что у меня минут 30 назад на кухонный стол свалилась катушка, никто кроме моего времени не пострадал)
— долгое и нудное открывание/закрывание (упражнение "тянем верёвочку два часа")
— полосатость (подгонять полоски друг под друга и под пол одновременно, чтобы закрыть шторы целиком — второе любимое упражнение)
— вертикальное открытие (ну подумаешь их нужно открывать целиком чтобы открыть балкон, ну и ещё регулировать освещение отдельных зон нельзя, но зато открываются наверх)
— непрочная сеточка у прозрачных полосок (шрамы украшают шторы, так ведь)
— абсолютно никакая плотность (ведь зачем закрываться от света)
🥴7😭3💔2
Часто сталкиваюсь с тем, что люди преподносят какие-то тезисы как "факты", "достоверно известные" сведения, или "научно доказанные"...

Это всё конечно очень интересно, но дискуссия, в которой кто-либо говорит, что его тезис (то есть его мнение) это "факт" — не заслуживает никакого времени.
Потому что суть дискуссии как раз выяснить и сойтись во мнении, либо обогатить разные мнения новыми гранями. Конечно же, то что вы говорите, это для вас факт. Если только вы не лжёте или не уверены в истинности сказанного.

В любом другом случае вы считаете что говорите истину, то есть факты. Сказать "это факт" — всё равно что сказать "это известно" или "это точно так". Никакой пользы и никакой реально аргументации в этом нет, вы просто вбрасываете бесполезную фразу, которая лишь показывает что вам всё равно на мнение собеседника.
6👎5🤨33💯2😐1👀1🆒111
Меня забайтили на опрос. Выберите самое оскорбительное слово.
Anonymous Poll
14%
дурак
86%
идиот