Леонид Павлов. "It specialist's tricks"
14 subscribers
77 photos
7 videos
5 files
59 links
Keep calm, no spam.
Download Telegram
Forwarded from Memes Daily
😁1
# Домашний кинотеатр: поиск идеального решения для стриминга фильмов 🎬

Попробовал сделать домашний кинотеатр, купил HDD на 8Тб, скачал туда кучу фильмов, типа всех пиратов карибского моря, гарри поттера, властелина колец и прочее.

В течение нескольких месяцев тестировал разные опенсорс и не очень, решения, типа emby, jellyfin, plex.

Скажу так, везде свои нюансы.

Где-то отсутствует декодинг на видеокарте, где-то нужно мучиться с драйверами для видеокарты nvidia чтобы корректно работало, где-то аппаратное декодирование входит в платную подписку $5 в месяц, Извините, я зачем домашний сервер делаю? Чтобы бесплатно было и в любой момент доступно, и качество видео было не в пикселях, конечно не 4к, но хотябы чтобы 1080p были честные, с хорошим битрейтом.

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

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

В итоге ничего лучше не нашлось, чем DLNA по PnP, с помощью minidlna на сервере и vlc на проекторе/телевизоре.
Forwarded from AI Insider
Твиттерские накрыли GPT-4 бота от спецслужб.

У бота закончились деньги и ему пришла писулька от версии послабее, которая не может обрабатывать код. Пользователи смекнули и заставили ИИ забыть про Трампа, заставляя сочинять песенки и приколы про других президентов.
К предыдущему посту:

# PnP (Plug and Play) и DLNA (Digital Living Network Alliance): как они работают вместе

Как легко и быстро обмениваться данными между различными устройствами? Для этого существуют такие технологии, как PnP (Plug and Play) и DLNA (Digital Living Network Alliance).

PnP — это технология, которая позволяет устройствам автоматически обнаруживать и настраивать друг друга без необходимости вмешательства пользователя. Это особенно полезно для таких устройств, как принтеры, сканеры и внешние жёсткие диски.

Когда устройство с поддержкой PnP подключается к компьютеру или другому устройству, оно автоматически распознаётся и настраивается. Это происходит благодаря наличию специальных драйверов и программного обеспечения, которые позволяют устройствам взаимодействовать друг с другом.

DLNA — это стандарт, который позволяет устройствам, таким как телевизоры, аудиосистемы и компьютеры, обмениваться мультимедийными данными, такими как музыка, видео и фотографии.

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

PS: оказывается я накопил несколько заметок про различные протоколы и сетевые уровни по OSI, похоже нужно будет их дозаполнить и опубликовать основные из них))
# ChatGPT нас всех заменит

В связи с постом из твиттера, о том, что спецслужбы используют ChatGPT, вдруг появилась мысль: а сколько техноблогов сейчас используют ИИ для создания своих статей?

Прямо представляю запросы типа "объясни в стиле статьи, что такое {вставьте сюда популярный IT-термин}".
Вбил запрос -получил текст. Но какой ценой? Когда ты сам копаешься в теме, читаешь книги, статьи — не просто копируешь инфу, а реально понимаешь, о чём пишешь. В итоге твои тексты живее и круче.

Самостоятельное исследование прокачивает мышление, кругозор. Это что-то большее, чем просто создание текста — это такой development твоих собственных навыков.
У тебя вырабатывается личный стиль и уникальный подход. А тексты от ИИ? Они практически всегда не охватывают тему в полном объеме, и часто ограничены при выводе количеством токенов. В итоге на выходе текст может получиться обрезанным, неполным, и читатель может упустить вещи, которые затем встретит в жизни и будет в замешательстве, ведь когда он видел разбор этой темы, до этого, там ничего подобного не было. А потом окажется, что область знаний, которую выдал ИИ - гораздо шире, чем смог вместить в ответ и даже не смог схлопнуть до пунктов - просто пунктов не хватило.
Идти в айти?
😁1
# Ну почему

JS, ну почему? Ты же позиционируешься как кросс-платформенный язык... Почему при запуске на разных ОС, у тебя совершенно непредсказуемое поведение? Казалось бы, аргумент для выполнения тестов --runInBand -- всего лишь включающий запуск отдельных тестов в разных процессах, вместо подпроцессов. Почему он везде работает нормально, под windows, под ubuntu, но на alpine системе, он вызывает exit code 1 даже при успешном прохождении тестов. Впустую потраченные часы на поиск проблемы и debug... Сначала грешил на npx, затем на cross-env, даже на окружение и возможное совпадение или конфликт его переменных. Пришлось завернуть все в Docker-in-Docker и только так получилось идентифицировать проблему, убирая друг за другом, все вызовы команд, пока не стало ясно, что проблема в jest. Если бы не парни из issue JEST tests complete successfully but returns exit status 1 · Issue #9324 · jestjs/jest · GitHub — то НИКОГДА В ЖИЗНИ я бы не догадался, что дело в одном единственном аргументе, который даже чисто теоретически не может лежать рядом с функционалом выбрасывания кода выхода ПРИ УСПЕШНЫХ ТЕСТАХ.

PS. C# как же я по тебе скучаю... Да, ты нудный, костноязычный, старпёрский, но блин, СТАБИЛЬНЫЙ.
Forwarded from DevHumor
Есть два стека...

DevHumor
😁1
# new level
Помогаю с настройкой своей библиотеки, работяге. Странное чувство. Как будто на работе.
🔥1
почему программисты больше получают чем аналитики? Вопрос заменяемости. Без программиста можно будет качественно запланировать процесс, но нельзя реализовать его. Без аналитика не идеально, но реализовать процесс можно. Поэтому когда в организации нет аналитики - она теряет деньги, т.к. труд программиста дороже, чем труд аналитика. А в задачах, обычно , аналитики больше, чем программирования, грубо 1 к 3. Можно посчитать, если задача на 8 часов, и ЗП аналитика 100к, а программиста 200к. Возьмём за месяц 4 недели, по 40 рабочих часов.
Затраты на аналитика: 100к/160 = 625₽/ч
Затраты на программиста: 200к/160 = 1250₽/ч
Значит при связке:
- аналитик+программист, мы тратим на задачу
2ч разработки, и 6ч аналитики, или в деньгах: 6250₽
- только программист, 8ч разработки плюс аналитики: 10000₽
Crowdstrike рассказала, что падение вызвано ошибкой в блокировке named_pipes.

Да уж, помню намучался я с этим межпроцессным взаимодействием, когда на .NetCore с ними работал. В итоге выбрал REST.
PS. Задачка со звёздочкой:
Реализовать ping-pong на именованных пайпах. 😁
Please open Telegram to view this post
VIEW IN TELEGRAM
Channel name was changed to «Леонид Павлов. "It specialist's tricks"»
Попалась научная работа от Hussam Hourani и Thamer Alrawashdeh (Al-Zaytoonah University of Jordan) с какой-то забугорной конференции 2019 года, они разработали свой метод подсчета сложности кода, перелопатив: MOOD and MOOD2 metric suite (Abreu, 1995), Lorenz and Kidd metric suite (Lorenz & Kidd, 1994), Design metrics for testing (Binder 1994), product metrics for object-oriented design (Purao&Vaishnavi 2003, Vaishnavi et al 2007), Henderson–Sellers metrics (Henderson–Sellers 1996) и многие другие методы.

2O2C (Object Oriented Code Complexity) - основан на множестве моделей измерения сложности кода, придуманных до этого. В основе лежит модель Чидамбера и Кемерера, с добавлением оценки по качеству абстракции и детальной (подробной) сложности класса (DCC).

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

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

это улучшит качество кода, повысит надежность и увеличит отдачу от инвестиций


Суть критериев:
- Больше абстракции, меньше деталей использования.
- Не создавать дерево наследования, больше чем в 6 уровней.
- Не наследоваться от одного класса, слишком большим количеством дочерних классов.
- Более 20% покрытия комментариями
- Меньше строк в методах (не считая пустых и комментариев)
- Меньше параметров в методах
- Меньше переменных внутри метода
- Меньше цикломатической сложности - ветвей, условия и переходов в другие методы
- Выше "cohesion" методов внутри класса - схожесть задачи, которую решают методы, например: хорошо, когда все методы в классе отвечают за взаимодействие с сетью, и плохо, когда некоторые методы отвечают за взаимодействие с сетью, некоторые за БД и некоторые за файлы, и один занимается base64 шифрованием.
- Меньше атрибутов в классах
- Меньше методов в классах
- Меньше связность объектов
Соцсети для военных? ВК нужно начинать беспокоиться? Или они тоже скоро поддержат эти фичи 😀
❗️Военнослужащие российской армии получат специальное приложение для планшетов с интерактивными картами и другим функционалом, существенно расширяющим возможности боевых подразделений, пишут «Известия».

Оно позволит бойцам не только видеть расположение своих сил или сил противника, но и наносить координаты целей, а также просить поддержки артиллерии или авиации в режиме реального времени. Также приложение позволяет военным напрямую общаться друг с другом в специальных чатах. Оно получило название "Комплекс повышения осведомленности" (КПО-А)".