Cododel.dev | Александр
98 subscribers
472 photos
62 videos
7 files
200 links
Alexander Cododel. Full Stack Web Dev since 2019.

📍 Канал: мысли и проекты
📍 Чат: @cododel_chat
📍 Связь: @cododel

🔗 https://cododel.dev
Download Telegram
Cododel.dev | Александр
WinApi мне не поддался... Видимо не сегодня. За два часа так и не удалось поладить с WinAPI... В Linux было все просто: - Читаем файл со значением максимальной яркости экрана - Вычисляем нужное значение из желаемого процента яркости - Пишем в файл текущей…
Получилось. Rust теперь буду дальше медленно внедрять в работу, где это эффективно.

Потребляет всего 0.7MB оперативной памяти. Ни одна программа на Lua, Python, NodeJS, PHP и даже C# не достигала таких результатов ✈️

В бесконечном цикле, раз в 10 секунд проверяет текущее время.
Берет текущий час в виде числа, и возвращает значение процентов яркости, в соответствии с диапазонами.
Если предыдущее значение яркости отсутствует (При первом запуске) или не изменилось - цикл начинается сначала.
Если значение яркости изменилось - оно устанавливается в системе и цикл начинается сначала.

А так же настроил Github Actions.
При публикации нового релиза - автоматически начинается сборка проекта под Windows и Linux, после чего прикрепляется к релизу в виде архива.

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

Ну а результат можно глянуть тут:
🖼️ Репозиторий
🍴 Скачать и попробовать

Так же у вас есть возможность принять участие и исправить баг в комментариях


#Rust #OpenSource
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Наглядно про углы обзора
Лично на моем опыте с хорошим экраном - даже глаза устают меньше

(Оба ноутбука показывают близкое к черному изображение)
👍1
А тут можно наглядно увидеть разницу скорости эппловской распаянной памяти и SSD SATA

Интересный факт:
SATA - это интерфейс, и не всегда проводом цепляется, есть и M2 накопители с SATA интерфейсом, что довольно похожи на шустрые NVME.
Отличить их можно по ключам на разьемах.


Сегодня идем по железу в упрощенной форме 😅
А вот так не должно быть 😱
Это что-то уровня флешек еще 2008-2010 года
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🤔1
Forwarded from johenews
Смотришь вот так на Linux

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

А потом слышишь от какого-нибудь опытного айтишника о том, что его приложение для пиццы невозможно сделать если команда будет работать удаленно
🔥1
📞 Рубрика «Охота на вопросы» #1 |
Влияние мощности железа на результаты работы нейросетей

А нет точного понимания влияние видеокарты на возможности ИИ? Не на скорость ответа но на качество ответа (чем хуже железо тем "тупее" ответы например)?


Не, эт так не работает

Тут аналогию с натяжкой можно провести с обычным ПО

Если памяти не хватит только - ее в SWAP не запихнешь
И вычисления каждого слоя модели идут параллельно на ядрах GPU

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

Думаю, я и так очень упрощенно описал, но если ещё сильнее упростить, то от железа может зависить только две вещи:
- Поместится ли модель в память GPU
- И скорость инференса (вычислений до получения следующего токена на выходе)

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

Есть уточнения

#охота_на_вопросы #AI
Please open Telegram to view this post
VIEW IN TELEGRAM
Баг был вообще не связан со спецификой языка

Никто не решился попробовать разобраться с ним, так что я сам сейчас глянул, вот делюсь 😉

Условие, проверяющее - должна ли измениться яркость прерывает цикл не доходя до sleep
Соответственно нагрузка на CPU формируется бесконечным циклом, вычисляющим и сверяющим нужную яркость экрана с максимальной частотой, которую позволяет ядро процессора.

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

🖼️ Новая версия лежит тут

Если кому то окажется интересным принять участие - предлагаю разобраться с тем, как запускать его в качестве фонового процесса.
Как "Сервис" для Linux и "Служба" для Windows.
Главное кросплатформенность сохранить, скрыть консоль и получить возможность легко добавить в автозапуск.


#Rust #OpenSource
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🦆 Желтая пресса жива, и плодит уток

И так, Вторая Луна...
Говорят нам, что в течение почти двух месяцев мы можем НАБЛЮДАТЬ(!) вторую луну на небе 😱
Хорошо, будем ждать и наблюдать за явлением🫡 (Сарказм)
Лучшие кадры сделать говорят...

Только вот астероид диаметром 11 метров будет проходить на расстоянии около 1.5 млн километров.
Если не душнить про видимый диапазон и яркость, оставив эти нюансы - сомневюсь что хоть кто-то разглядит его...
Даже на современный Samsung с x100 зумом не снять 🤣

Ну прям напрягает иногда, соре...
Просто гуглите всё странное, и не ведитесь на желтуху 😉

Источники:
- Бесстыжая Дикая утка
- Региональные утятницы
- Новость с налётом желтизны
- Wikipedia

#новости #бомбит
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
ChatGPT научился считать оказывается

Мы в комментах переодически ведём дискуссии на около IT тематику

На скринах и по ссылке пример короткой, но довольно продуктивной беседы с ChatGPT 4o, которая под конец была подкреплена расчётами по эффективному использованию электроэнергии при езде на самокате ✈️

Резюмирую:
Чат ГПТ теперь может подкрепить свой ответ реальными расчёами, если это применимо
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Починил себе youtube

При этом трафик на него идет без vpn, так что на полной скорости гоняет
Одновременно все российские сайты идут напрямую, без SpofDPI
А зарубежные с ограниченным доступом, такие как ChatGPT, GithubCopilot и тому подобное - через VPN Vless + Reality

Роутинг настроил в Shadowrocket, спуфинг собрал из исходников на golang для роутера.
При помощи nohup запустил по ssh SpoofDPI на роутере
Так что на телефоне по WiFi всё работает точно так же как и на пк, в том числе YouTube

Опыт прикольный, интересный
Но он называется на самом деле - жестким гемоорроем из-за блокировок и замедлений со всех сторон 😂
При этом сам VPN переодически замедляется до уровня 1Mb/s, так что пришось со спуфингом копаться. Круто хоть на роутере получилось поднять.

Но и с VPN я теорию изучил, с Vless+Reality если взять чистый сервер, IP которого осоо нигже в базах не светится - можно настроить Reality и сервер так, что трафик будет замаскирован условно под HTTPS трафик на yahoo.com, который не заблокирован и не замедлен, так что из потерь скорости - только на шифровании трафика.

Но для этого нужно подбирать прям отдельный сервер, и на нём желательно закрывать все порты кроме 443, в том числе обрубать SSH доступ.
Самим сервером в таком случае можно будет управлять в панели хостинга в html5 консоли, так как порты мы закрыли на публичном ip, а доступ в таком случае осуществляется по локальной сети хостинга.

Тема сетей и шифрования оказалась довольно обширная.
В теории можно роутеру через iptables весь трафик с локальной сети по 80 и 443 портам заклоачить, и тогда по wifi не будет ничего замедляться.
Cododel.dev | Александр
ChatGPT научился считать оказывается Мы в комментах переодически ведём дискуссии на около IT тематику На скринах и по ссылке пример короткой, но довольно продуктивной беседы с ChatGPT 4o, которая под конец была подкреплена расчётами по эффективному использованию…
Наткнулся на видео, в котором раскрыты существенные нюансы по Rust.

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

Так что я сейчас со свежей головой, вспоминая даже сравнение по кол-ву вакансий на Rust в сравнении с другими языками - понимаю что видео записано не с пустого места.

Я для себя хочу по большей мере именно кросплатформенный FullStack инструмент, чем супер производительный.
Да и лично сам покопавшись в библиотеках для Rust - начал замечать скудность комьюнити.

Так что я поищу другие варианты, и скорее всего сяду все-таки за Flutter
(Еще до канала читал по нему мануалы и общие статьи, сравнения)
А для системных утилит или софта требующего высокой эффективности вычислений - с большой вероятностью буду рассматривать C++ либо Go, ибо у меня после VueJS, Django, Directus, Svelte и других - кончилась вера в светлое будущее терпение.
(Инструменты крутые, но гораздо приятнее использовать Production Ready)
Крутая, хотя вроде и очевидная идея!

В случае с Macbook - так точно.

Подумаю над выбором качественного монитора с возможностью поднять довольно высоко (~20-25см для моих 13")

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

К новому году обновлю рабочий сетап
(Пока только добавил розеток, второй ноут и штатив для камеры)
А если поставить монитор как в комментарии на скрине, то можно легко соэкономить около 30-45тыс рублей, ну или бюджет на монитор увеличить.
(Magic Keyboard + Magic Trackpad)

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

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

А второй экран (сам экран ноута) уже как приятный бонус в таком случае, на котором скорее всего будет открыта консоль, или разрабатываемый интерфейс. (Тема проверенная, лучшее применение второго экрана в моих задачах)
Лонгрид о смене юзернейма в MacOS

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

Где-то читал что это можно сделать только снаружи системы, с рекавери мода или внешней системы
Формулировки не точные, но суть именно такая была

Но загуглив снова - я нашел официальное руководство
В нём не хватает инструкции по переименованию директорий и восстановлению символьных ссылок только...

В целом операция довольно простая, при том явно проще чем для линукса
Просто создаем второго админа, логинимся под ним, в настройках меняем имя пользователя и путь к его домашней директории.
Проблемы могут возникнуть именно со вторым пунктом, когда понадобится переименовать директорию (эт надо сделать вручную).
У меня не хватило любопытства разобрать в том как это сделать, тк мне выбивало Permission denied даже под sudo и su.
Видимо есть еще доп права на эту операцию для вторичных админов.
Так что я просто при помощи su в терминале залогинился под главным пользователем, которому и меняю юзернейм и домашнюю директорию. И из под него с sudo переименовал его же директорию словив панику в консоле. (Самая высокая степень критичности ошибки)
Благо что паника не ядра, а каких-то консольных утилит 😂
Потом перепроверил - всё ок, задумка удалась. Директория переименована.
Заменил ему юзернейм и перезагрузил компьютер.

В целом на этом этапе 99% юзерам можно закончить.
Только вот есть один нюанс: этим юзерам не нужно переименовывать пользователя, а уж тем более менять путь домашней директории.
И скорее всего они даже не в курсе об их существовании, просто есть finder, файлы и, в лучшем случае они не называют «директории» - «папками» 🤓

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

Мы не только сменили имя пользователя, а и путь к его домашней директории.
И все ссылки, которые вели к её содержимому - с этого момента теперь битые.
А значит у нас перестанут работать множество утилит.

Из первого что приходит на ум, использующее символьные ссылки в своей работе:
yarn, n, кэши, poetry и множество других утилит
В них в первую очередь можно будет столкнуться с проблемами.

Так что пришлось применить знания, которые были получены в процессе пользования семейством линуксовых дистрибутивов:
Был собран список всех битых ссылок при помощи команды:

find . -type l ! -exec test -e {} \; -print > broken-symlinks.txt

Затем этот файл был прочтен и построчно перепроверен Python скриптом
Я не делал никакой унификации, чисто одноразовый проход мне нужен был, так что готового скрипта прикреплять не стану, в силу его отсутствия.
После перепроверки получившегося списка - я убедился что правильно помню как работать с pathlib
(как по мне один из лучших вариантов для работы с файловой системой, хотя бывает, в редких случаях, функционала не хватает)
Далее уже пошло как по маслу - собрал данные по ссылкам в переменные, добавил логов через принты, убедился что нет относительных ссылок, отфильтровал и удалил все битые ссылки что не связаны с заменой юзернейма, затем еще одним проходом сделал замену в реальном пути ссылки, попутно ее пересоздавая при помощи операции "удалить + создать" в том же цикле.

Как итог, я с уверенностью могу продолжить пользоваться системой, из изменений в которой - только имя пользователя и имя его домашней директории.
Please open Telegram to view this post
VIEW IN TELEGRAM
Ну и фиальным штрихом при помощи grep -r "/username" проходимся по всем файлам в домашней директории, подчищаем старые, не нужные файлы и ручками меняем значения конфигов, где был указан асболютный путь к домашней директории пользователя чтобы восстановить работу оставшихся утилит.
Обычно таких файлов не много. Лично у меня их вышло около 10, часть fish, другая часть docker.
Ну и устарешие билды кэша packer от neovim, в отдельной директории, которую я просто снёс, потому что на последнем стриме переписал весь конфиг на Lazy

Если есть вопросы, пишем в комменты, чую большинство бы спросило "Зачем?" 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
⚠️ Achtung! ЛОНГРИД о смене имени пользователя в MacOS.

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

Сразу ответ на вопрос "Зачем?":
Вопрос эстетики, и хотелось уже избавиться от старого юзернейма, для единости.
Please open Telegram to view this post
VIEW IN TELEGRAM