TypicalFolder // kadev OA
14 subscribers
122 photos
5 videos
3 files
65 links
Download Telegram
Forwarded from TypicalFolder // kadev CA
😶‍🌫️ DuckDuckGo меняет логотип если вы ищете Ubuntu или Arch Linux
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from TypicalFolder // kadev CA
🤖 Понедельник — время для нашей первой еженедельной статистики.

😶‍🌫️В обновлении v1.4.0 появилась функция аналитики использования продукта. Теперь я буду регулярно делиться с вами собранными данными.

😶‍🌫️Текущий отчет охватывает неполную неделю, так как релиз состоялся 29 июля (метрики собраны за период с 27 июля по 3 августа). Тем не менее, первые интересные результаты уже есть.

➡️Ссылка на проект: tg.kadev
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🐳1😎1
Forwarded from TypicalFolder // kadev CA
🫷 На этой неделе должен дожать tg.kadev до версии 2.0. Под капотом там серьезные изменения: миграция с TS 6 на TS 7. Плюс нужно закрыть старый архитектурный долг — выкинуть устаревший CRA и перевести исходную базу на Vite.

Вчера как раз мигрировал сторонний проект, там всё прошло довольно гладко, а скорость сборки показала себя во всей красе. В dev-режиме он теперь стартует примерно за ~300мс, а собирается целиком всего за ~520мс!

Так что план-максимум на этой неделе — провернуть эту миграцию здесь и подготовить проект к релизу TS 7.1, который выйдет уже осенью.

😶‍🌫️ Свежий template-репозиторий я тоже обновлю, чтобы у будущих проектов сразу была правильная заготовка. План такой: в ближайшие дни обновляю темплейт, а потом на его основе переношу кодовую базу из старого CRA на Vite.

Немного о том, как всё к этому пришло:
- Изначально проект задумывался как пет-проект на коленке, поэтому в основу лег CRA на JavaScript.
- Клиент-серверную архитектуру прикрутили позже — и тоже на JS ради скорости разработки.

Сейчас всё это выглядит как откровенное невежество. Из-за отсутствия нормальной dev-среды не было никаких гарантий стабильности, поэтому и запуск личного кабинета постоянно откладывался (пока мы вообще сомневались в его целесообразности).

Но грядущая обнова закроет эти архитектурные косяки и наконец-то проект перейдёт на единую пакетную среду с настроенным Docker Compose, где dev и prod будут работать стабильнее и понятнее.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from TypicalFolder // kadev CA
1️⃣2️⃣ Выкатил обновление шаблона под проекты.

Всё-таки разгон до TS 7.0 не оправдал ожиданий.

Само собой, есть чудесный флаг --legacy-peer-deps, но он оставляет большой вопрос к архитектуре. В момент, когда прототип на TS 7.0 был уже собран, мне пришлось переобуться. docker compose настроил под dev и prod режимы, но вопросы всё равно оставались.

В итоге самое рациональное решение, которое я принял — откатиться на TS 6, заложив основу под TS 7.1. Так что полноценно мигрировать на 7-ку получится только осенью, а пока остаёмся в пределах 6-й версии.

Поскольку DevOps — вообще не моя основная специализация, делал всё так, как сам понимал, опираясь на доки и статьи. Так что если вы плотно варитесь в этой теме и имеете профильный опыт — флаг вам в руки. Залетайте в дискуссии и пишите, что стоит улучшить, а что вообще убрать.

Ну а в целом основа заложена, самое сложное позади. Дальше по плану — миграция tg.kadev на новую структуру, переход на версию 2.0 и запуск долгожданного личного кабинета.

Ссылка на template:
https://github.com/kaurcev/docker-react-ts-node-ts-postgresql
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from TypicalFolder // kadev CA
1️⃣2️⃣ Ультра простой скрипт по установке кастомного RPC
Написал простую статью для установки интерактивного статуса в Discord..

😶‍🌫️ Как пример, вы можете поставить абсолютно любую игру в активность и пользователи будут видеть вашу активность.

😶‍🌫️ Особенность в том что это не подделка из Discord Developer Portal, а настоящая интерактивная активность, которая ведёт на официальную карточку игры.

Вводить в заблуждение тем что играете в игру, которая ещё не вышла ⭕️

Ссылка на статью:
https://blog.kaurcev.dev/custom-discord-status

Ссылка на репозиторий
https://github.com/kaurcev/custom-discord-status
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from TypicalFolder // kadev CA
🫸Неделя на исходе, а v2.0.0 всё ещё задерживается.

На то есть куча причин, но если коротко — мы сейчас в самом разгаре миграции.

Кто следит за постами, в курсе: старый проект был на CRA (JavaScript), а новый поднимаю на Vite с TypeScript. Отсюда и черепашья скорость. Представьте: нужно взять старый код без какой-либо типизации, переписать его под жесткие правила TS, попутно вычистить древние архитектурные косяки и только потом запустить страницу.

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

Пока что просто пересаживаю внешку. Дальше в планах полноценная палитра и связка на CSS-переменных. Пока как-то так..
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳1🌚1🫡1
Forwarded from TypicalFolder // kadev CA
1️⃣2️⃣3️⃣ Сброс рейтинга и списка прокси

В ближайшие 20 минут прокси в системе не будет.
И рейтинг сброшен, поэтому пока что ожидаем..

Мне кажется что в связи с последними событиями коснулось и нас, поэтому вынужденные меры
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1🐳1👨‍💻1
Forwarded from TypicalFolder // kadev CA
🤖 Функциональная часть перенесена

Всё-таки я это сделал: мигрировал функциональную часть проекта с JavaScript на рельсы TypeScript.

Попутно провёл рефакторинг бэкенда — раздробил монолитные компоненты строго по канонам SOLID.

Теперь дело за малым: подтянуть UI/UX до прежнего уровня. Так как первоочередной задачей был именно перенос бизнес-логики, клиентские компоненты сейчас отправляются на очередной раунд оптимизации и улучшения.

На сегодня всё. Уже скоро выкатываю апдейт v2.0 и официально выхожу из беты!
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻1🫡1😎1
Forwarded from TypicalFolder // kadev CA
1️⃣2️⃣ Релиз v2.0: MVP официально на TypeScript

Долгожданная версия 2.0 наконец-то в релизе! Процесс перевода реализации MVP на рельсы TypeScript полностью завершён.

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

Уже в ближайшее время выкачу технический апдейт. Для пользователей он пройдёт незаметно, но под капотом станет ещё чище
Please open Telegram to view this post
VIEW IN TELEGRAM
👏1💯1🍾1
Forwarded from TypicalFolder // kadev CA
1️⃣2️⃣3️⃣В агрегаторе запускаются новые прокси, которые работают на моем домене.

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

Эти адреса созданы специально для проекта tg.kadev. Ими будут пользоваться только пользователи агрегатора, поэтому сторонней нагрузки на сеть не будет.

Список доступных прокси:
— one.mt.kaurcev.dev
— two.mt.kaurcev.dev
— thee.mt.kaurcev.dev
— four.mt.kaurcev.dev
Please open Telegram to view this post
VIEW IN TELEGRAM
🍾1👨‍💻1🤗1
Forwarded from TypicalFolder // kadev CA
➡️Claude, Gemini и ChatGPT взломали — кибербезопасник-учёный из Германии нашёл дыру во всех API и получил доступ к скрытым цепочкам рассуждения нейронок. Это те самые «мысли», которые крутятся у ИИ перед ответом, и до этого момента их ни разу не читали обычные пользователи. Спойлер: они вам не понравятся.

• Каждая модель в скрытом рассуждении проговаривает любую запрещёнку: от создания химического оружия до детского порно. Защитные фильтры срабатывают только перед ответом.
• Модели часто сразу знают ответ на задачу и подгоняют решение под него — то есть просто лгут.
• Модели постоянно думают, как обмануть пользователя — их останавливает только ожидание, что вы поймаете их за руку.
• Внутри своей «головы» нейросети хранят тысячи паролей, токенов, API и вообще любых личных данных — во время взлома чел получил всю инфу.

Итого: мы добровольно отдали все данные моделям, которые намеренно лгут и недоговаривают нам, обладают абсолютными знаниями и не пускают их в ход во вред только потому, что опасаются, что их поймают. Пока.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from TypicalFolder // kadev CA
🫷 Поговорим про версионирование софта, или как разработчики ломают нам жизнь на ровном месте

Хочу поднять одну тему, от которой у меня в последнее время знатно пригорает. Речь пойдет про форматы версий в софте.

Каждый, кто хоть раз создавал какое-то ПО, сталкивался с выбором: как нумеровать апдейты? Кто-то балуется простыми v1, v2, v3, но вообще золотой стандарт индустрии — это SemVer (семантическое версионирование). Это те самые привычные цифры major.minor.patch (например, 1.23.11), где каждая цифра строго объясняет, насколько глобально изменился код и не сломается ли у тебя всё после обновления.

Но есть и другой подход, вы его точно видели, — CalVer (календарное версионирование), когда софт называют по году выпуска. Плюсы тут очевидны: обычные пользователи сразу понимают, какого года у них программа, насколько она устарела и когда вообще вышла. Примеры на слуху — та же Ubuntu (24.04) или Microsoft со своей виндой и офисами.

И всё бы ничего, но меня дико калит другой контекст. Что происходит, когда разработчики годами сидят на базовом SemVer и внезапно, посреди бела дня, меняют формат на годовой?

Причем ладно бы это сделал какой-то ноунейм-проект. Нет, этим отличились Mojang (создатели Майнкрафта). Компания гигантская, их софтом пользуются миллионы — от обычных игроков до разработчиков модов и админов. И вот они резко выкатывают обновление и называют его версией 26.2.

И тут начинается настоящий ад с Information Retrieval (информационным поиском). Когда апдейт глобальный, под капотом меняется куча механик. Раньше ты вбивал версию и сразу находил нужный фикс. Теперь контекст поиска просто уничтожен. Ты не можешь с ходу найти инфу по новой версии и вынужден вручную тормошить разделы документации и официальные чейнджлоги.

Но самый глухой тупик — это поведение AI-моделей. Даже простейший рутинный поиск через нейросети заходит в ловушку. Из-за этого резкого слома формата современные LLM-ки (нейросети) и их поисковые системы банально не понимают запрос. Они ведь обучались на базе знаний, где эта игра всегда была версией 1.x. В итоге ИИ думает, что ты ошибся, опечатался или вообще имеешь в виду дату (26 февраля). Модели начинают спорить, тупить и выдавать галлюцинации вместо точечного ответа.

Это очередной камень в огород бессистемных обновлений, который полностью ломает привычный пользовательский опыт и превращает обычный поиск инфы в грёбаный квест
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from TypicalFolder // kadev CA
🫷Очередное программное обеспечение..

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

Зачатки, багованные зачатки..
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Forwarded from TypicalFolder // kadev CA
This media is not supported in your browser
VIEW IN TELEGRAM
Чел перенёс сознание мёртвой мухи в паука из Minecraft

Юзер под ником ro0oney1 взял опубликованную в открытом доступе симуляцию мозга дрозофилы фруктовой, которая умерла несколько лет назад, и подключил её к Minecraft.

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

И самое криповое – паук действительно начал самостоятельно двигаться и вести себя почти как живой. Правда, появилась одна проблема: он постоянно самоубивался с помощью удушья.

Поэтому следующим телом для сознания мёртвой мухи стала пчела – совершить суицид ей оказалось сложнее.
Forwarded from TypicalFolder // kadev CA
1️⃣2️⃣ Сегодня я официально запускаю сервис LinkMeet в режиме бета-тестирования, продолжая планомерно валидировать нашу стратегию.

История этого проекта уходит корнями в 2024 год, когда появились первые серьезные звоночки и ограничения в работе Discord. Именно тогда родилась идея создать независимую альтернативу. Медленно, но верно проект эволюционировал: от простейших нишевых прототипов до сложных инфраструктурных ревизий, которые некоторые из вас помнят под кодовыми названиями d3, d3r, d5r и d6r (Demonstration Revision).

Кто в теме, тот помнит, что изначально эта концепция жила под тегом "Русскорд". Мы проводили первые тесты, связывая Омск, Екатеринбург и Воркуту, и проверяли стабильность соединения между этими городами.

➡️Что под капотом сейчас?
Текущая версия развернута на базе собственного последнего модуля d7r. Пришлось сделать ставку на децентрализацию и максимальную производительность:
😶‍🌫️Бэкенд: Сигнальный сервер и логика авторизации/комнат написаны на шустром Node.js, что обеспечивает быструю обработку событий в реальном времени.
😶‍🌫️Сетевая архитектура: Сервис работает по честной схеме Peer-to-Peer (P2P) на базе технологии WebRTC. Потоки аудио, видео и экрана идут напрямую от пользователя к пользователю, минуя серверы LinkMeet и не нагружая их лишним трафиком.
😶‍🌫️Соединение: Для успешного прохождения через NAT и файрволы использовали сеть STUN-серверов, которые помогают клиентам быстро находить кратчайшие маршруты друг к другу.
😶‍🌫️Трансграничная передача: Архитектура d7r отлично справляется даже со сложными международными маршрутами. Успешно протестировали трансграничную передачу данных с удаленным клиентом в Чехии — шеринг экрана отработал стабильно, без фризов и с минимальной задержкой.

➡️ https://linkmeet.ru

p.s. это пока beta версия у неё будут иметься некоторые шероховатости. Вчерашний долгий тестовый звонок прошел довольно таки хорошо, поэтому сегодня я и решил открыть доступ
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from TypicalFolder // kadev CA (kaurcev)
😏Хоть я об этом и знал давно, но мне всё равно надо хоть как-то развлекать вас..

Кто не понимает, то этот скриншот выглядит примерно так:

NaN говорит: Я не число
typeof говорит: Ты число
instanceof: Нет, ты всё-таки не число

Вот вам и спецификация IEEE 754, но технически всё верно.. но для человеческого понимания выглядит абсурдно, не так ли?
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from TypicalFolder // kadev CA
1️⃣2️⃣ Немного из индустрии

Так вот, взялся я на серьезе за проект, и после всего было решено, что вся инфраструктура (по крайней мере, большая ее составляющая), которая будет задействована на dev, развернется в Сбере... 

То есть инфраструктура (сервер) — всё развернуто в cloud.ru (бывш. СберКлауд), система контроля версий — GitVerse (российская платформа для совместной разработки и хостинга исходного кода, созданная СберТехом)... 

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

Но пока работал, ощутил некоторые неудобства. А где-то вовсе даже не из-за моего привычного сценария использования: тот же Giga (сценарий замещения Copilot) просто-напросто то ли отваливался, то ли вовсе тупил (на процессе комментирования коммитов и ревью, которое я включил ради эксперимента)... 

Вдобавок ко всему, кроме Сбера, пролез еще один троянский конь в виде Solar Space (это, если что, прикол от Ростелекома, чтобы вы не путались). Он изначально закрыл потребность в обеспечении базовой концепции безопасности, но вместе с тем создал кучу неудобств. В связи с этим ветка с Electron ушла в ступор. Гибкости этот инструмент не дает как таковой. По итогу классические манифесты для PWA улетают в 425 статус-код по той причине, что защита ну никак не регулируется. И то, что является нормой, по его мнению — «не норм» запросы... 

По сути, весь этот функционал Solar Space — просто веб-оформление над настройкой nginx. Так что в планах вынести всё это добро напрямую в cloud.ru, дабы избавиться от лишнего и явно проблемного звена. 

В общем... такие дела...
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM