Pull to refresh
1
0
Кудинов Петр @PitBeast

User

Send message

Lane margining: как оценить качество PCIe-соединения без дополнительной аппаратуры

Level of difficultyMedium
Reading time17 min
Views4.4K

При запуске новых плат и устройств с PCIe-соединениями недостаточно просто вставить карту в слот. Нужно так настроить эквалайзеры, редрайверы, пресеты и ретаймеры, чтобы на каждой полосе «поднялся линк», то есть установилось соединение. Это значит, что приемопередатчики на обоих концах распознали друг друга, договорились о кодировке и скорости передачи.

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

Читать далее
Total votes 39: ↑49 and ↓-10+59
Comments22

Diagnocat: как искусственный интеллект облегчает жизнь стоматологам и пациентам

Level of difficultyMedium
Reading time8 min
Views868

Искусственный интеллект стал одной из самых горячих тем последние несколько лет. ChatGPT пишет книги и дипломные работы, DALL-E создает картины по текстовому описанию, стриминговые сервисы, такие как Кинопоиск, используют искусственный интеллект для создания рекомендации, голосовые помощники отвечают на почти любые запросы пользователей. Медицина и стоматология не стали исключением – искусственный интеллект меняет практику врачей. Согласно исследованию, опубликованному в Journal of Dental Sciences, благодаря интеграции технологии искусственного интеллекта и систем цифровой визуализации, стоматологи теперь могут быстрее анализировать рентген- и  КТ-снимки, а также выявлять проблемы со здоровьем полости рта: кариес, потерю костной ткани или развитие инфекции. 

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

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

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments3

Фильтр Блума

Level of difficultyMedium
Reading time9 min
Views9.7K



У каждого разработчика есть набор инструментов для решения различных задач. Однако со временем возникает необходимость расширять этот набор, чтобы эффективно справляться с более сложными задачами. В этой статье я хочу познакомить вас с инструментом, которым вы, скорее всего, раньше не пользовались. И хотя он подходит для решения узкого спектра задач, его использование может оказаться весьма полезным. Знакомьтесь — "фильтр Блума" (Bloom filter).

Читать дальше →
Total votes 43: ↑47.5 and ↓-4.5+52
Comments16

Гайд: чем снимать видео дома. Подборка оборудования от 11 000₽ до 420 000₽

Level of difficultyEasy
Reading time6 min
Views8.7K

Я снимаю кинофестивали, шины от поставщика Формулы-1 и даже робота-хирурга прямо в операционной. Но снимал и из багажника, в студии-каморке, и начинал с подручных средств. Поэтому решил собрать 3 комплекта для съемок под разный бюджет: от бабушкиной пенсии до зарплаты айтишника.

Читать далее
Total votes 48: ↑51 and ↓-3+54
Comments74

Основы кодирования аудио с потерями. Тестирование бета-версии Opus 1.3

Reading time18 min
Views64K
image

0. Об авторе


Всем привет, меня зовут Максим Логвинов и я студент Харьковского Национального университета радиоэлектроники.

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

А давайте посмотрим, что из себя представляет звук, как он кодируется и какие инструменты используются для этого самого кодирования. Более того, поэкспериментируем с битрейтами одного из самых продвинутых на сегодняшний день кодеков — Opus и оценим, что и с какими циферками можно закодировать, чтобы и рыбку съесть, и… Собственно, просто почему бы и нет? Почему бы не попытаться описать простым языком не только то, как хранится и кодируется аудио компьютером, но и протестировать один из лучших кодеков на сегодняшний день? Особенно, если речь идёт о сверхнизких битрейтах, где практически все существующие кодеки начинают творить невероятные вещи со звуком в попытках уложиться в малый размер файла. Если хочется отвлечься от рутины и узнать, какие выводы были получены при тестировании нового кодека — добро пожаловать под кат.
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments23

Раздача файлов на смартфоны без интернета. Опенсорсные альтернативы AirDrop

Level of difficultyMedium
Reading time7 min
Views12K


Формулировка задачи. У нас есть настольный компьютер и мобильные устройства под Android. Задача простая — как быстро перебросить файлы с компьютера на телефоны и планшеты. Например, скачанные подкасты и HD-фильмы 1080p, файлы apk для установки, рабочие файлы с персоналки, бэкапы. Хранилище телефона можно использовать как резервный внешний диск или как «беспроводную» флешку, которая работает по Wi-Fi.

Конечно, можно это сделать через веб-сервисы Wormhole/PairDrop/FilePizza, через телеграм/вайбер или инструменты синхронизации ПК и смартфона, такие как syncthing. Да, это удобно и привычно. Но процесс можно 1) ускорить; 2) избавиться от подключения к интернету. То есть файлы будут передаваться напрямую между устройствами, как Apple AirDrop, только лучше.
Читать дальше →
Total votes 57: ↑57 and ↓0+57
Comments68

Преобразование Уолша-Адамара

Level of difficultyHard
Reading time11 min
Views13K

На сайте hackerrank.com есть отличная задача. По заданному массиву short[] A; найти максимальное количество его подмассивов, xor элементов которых будет одинаковым. Сам этот xor тоже нужно найти.

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

Читать далее
Total votes 64: ↑64 and ↓0+64
Comments5

MessagePack аналог JSON, но быстрее и меньше

Reading time3 min
Views53K
MessagePack это эффективный сериализатор данных в бинарное представление.



Используя данную библиотеку вы можете обмениваться сообщениями между вашими компонентами системы подобно тому, как вы это делаете с помощью формата JSON. Интерпретация библиотеки существует для 44 языков программирования (!)
Читать дальше →
Total votes 26: ↑16 and ↓10+6
Comments54

Расширенные возможности MessagePack

Reading time11 min
Views8.8K

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

В этой статье я не буду рассказывать, как устроен MessagePack или сравнивать его с аналогами: материалов на эту тему в Интернете предостаточно. Чего действительно не хватает, так это информации о расширенной системе типов MessagePack. Я постараюсь объяснить и показать на примерах, что это такое и как с помощью дополнительных типов сделать сериализацию еще более эффективной.

Читать далее
Total votes 34: ↑34 and ↓0+34
Comments2

Оптимизация хранимых данных на 93% (Redis)

Reading time3 min
Views5.7K

Хотелось бы поделиться опытом оптимизации данных с целью уменьшения расходов на ресурсы.

В системе рано или поздно встает вопрос об оптимизации хранимых данных, особенно если данные хранятся в оперативной памяти, как это БД Redis.

Как временное решение, можно увеличить RAM тем самым можно выиграть время.

Redis это no-sql база данных, профилировать ее можно с помощью встроенной команды redis-cli --bigkeys, которая покажет кол-во ключей и сколько в среднем занимает каждый ключ.

Объемными данными оказались исторические данные типо sorted sets. У них была ротация 10 дней из приложения.

Проект в продакшене, поэтому оптимизация никак не должна была сказаться на пользователях.

Данные из себя представляли события измененияцены / даты доставки у оффера. Офферов было очень много – порядка 15000 в каждом фиде (прайслисте).

Рассмотрим следующий пример данных события по офферу:

Читать далее
Total votes 16: ↑8 and ↓80
Comments4

Множество масок Persona 5

Level of difficultyEasy
Reading time12 min
Views4K
image

С выходом Persona 3 Reload, ремейка игры, которая коренным образом изменила облик серии и сделала её одной из самых важных японских RPG-франшиз в истории, шумиха вокруг пятой части поутихла. Появившись на западе в 2017 году, следом за родной Японией, игра захватила умы геймеров по всему миру, имея нестандартные для жанра сеттинг, темы и художественное оформление.

Японские разработчики всегда тяготели к более абстрактному повествованию, чем их западные собратья, делая упор на геймплейные механики, образность сюжетов и не особо стремясь разжёвывать для игрока каждую деталь. И сегодня мы поговорим об одном из самых ярких представителей жанра JRPG последних лет, который сочетает в себе уникальные нарративные и геймплейные приёмы с желанием авторов честно высказаться о своей родной культуре.
Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments3

Запускаем Steam игры в Proton c поддержкой Native Wayland

Level of difficultyMedium
Reading time17 min
Views7.9K

Proton Wayland


Иллюстрации к статье подготовлены нейросетью freepik.com.


В первой части нашей статьи, мы научились собирать Wine с поддержкой Wayland и запустили игру Overwatch 2. Но для большинства геймеров конечно же больший интерес представляет запуск игр Steam, и этот вопрос мы не пройдем стороной. Преимущество нашей сборки Proton будет ещё и в том, что она будет работать напрямую с системными библиотеками и оборудованием, когда обычный Proton и GE Proton Custom загружаются в виртуальном контейнере, подгружают свои библиотеки и драйвера. Тем самым мы получим чуть лучшую производительность и избавимся от еще одного ненужного слоя.


Если вас заинтересовала статья, то добро пожаловать под cut.

Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments12

Эй конвертер, не шипи! Строптивые преобразователи платы для E-Ink экранов (Ч2)

Level of difficultyMedium
Reading time12 min
Views4.4K

Приветствую вас, друзья!
Продолжаем разработку системы питания универсальной платы для E-Ink экранов. В этой части займёмся запуском и отладкой прототипа, «почувствуем вкус» ферритовых бусин, взорвём полсхемы. Поработаем с обратной связью: узнаем простой способ испытания устойчивости и измерения параметров, рычаги влияния при встроенной компенсации и разные хитрости. Проверим правильность расчётов программы Power Stage Designer с помощью экспериментов. Постабилизируем обратную связь и попробуем укротить уже эти конвертеры!
Читать дальше →
Total votes 47: ↑47 and ↓0+47
Comments12

Исчезнет ли английский в будущем?

Level of difficultyEasy
Reading time3 min
Views14K

Общеизвестно, что английский язык является универсальным средством общения для говорящих на различных языках. В качестве межнационального языка он действует как на региональном, так и на международном уровнях и уже очень трудно представить его отсутствие в международной политике, бизнесе, науке, авиации и технологиях. Например, на компьютере 80% данных со всего мира хранятся на английском языке. Так что, что же произойдет с этим незаменимым языком в будущем? Постигнет ли его участь вымерших языков таких как шумерский, койне, хеттский и т.п. или он поднимется на новые вершины и превратится в что-то совершенно новое? Чтобы ответить на этот вопрос, давайте вернемся в прошлое, к времени, когда английский язык только представлял себя миру.

Один из древнейших письменных произведений на староанглийском, написанное около 1500 лет назад в 650 году н.э. и называемое Гимном Кедмона, имеет следующий текст:

Nu scylun hergan hefaenricaes uard
metudæs maecti end his modgidanc
uerc uuldurfadur sue he uundra gihuaes
eci dryctin or astelidæ
he aerist scop aelda barnum
heben til hrofe haleg scepen.      
Tha middungeard moncynnæs uard
eci dryctin æfter tiadæ
firum foldu frea allmectigprimo cantauit Cædmon istud carmen.

Как Вы видите из текста, почти все слова неразличимы. При более внимательном рассмотрении становится возможным различить отдельные слова, такие как he, or, till, after, но основной смысл действительно невозможно понять.

Читать далее
Total votes 22: ↑12 and ↓10+2
Comments62

Как стать VPN провайдером за один вечер

Level of difficultyMedium
Reading time13 min
Views60K

Рассказываю о своём опыте использования Xray (с протоколом VLESS-Reality) - одного из лучших решений для преодоления интернет-цензуры на сегодняшний день. Я потратил много времени на то, чтобы разобраться с ним - теперь вам достаточно одного вечера, чтобы поднять свой сервер на несколько десятков пользователей, c xray на борту!

скрипт ex.sh для простой настройки и установки; есть поддержка Docker

легко добавлять пользователей; клиентские конфиги в форме url-ссылок

правильные конфиги: скрытность + удобство

трафик популярных российских сайтов идёт напрямую, a не через сервер

для xray есть приложения под все популярные ОС - делюсь инструкциями

только https, нет udp; торренты через сервер блокируются по возможности

мой проект на гитхабе: easy-xray

Интересны детали? Добро пожаловать под кат
Total votes 71: ↑70 and ↓1+69
Comments142

Делаю игрулю на Playdate на чистом C. Глава 2

Level of difficultyMedium
Reading time13 min
Views4.9K

Я пишу игру на игровую консоль Playdate на чистом C. Игра в жанре "выживальщик" наподобие Vampire Survivors. Так как в чистом C отсутствуют многие современные объектно-ориентированные удобства мне приходится по-всякому изворачиваться чтобы адаптировать свои идеи в код. В этих заметках ты узнаешь из первых уст как создаётся игруля с нуля от идеи до публикации.

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

Читать далее
Total votes 18: ↑17 and ↓1+16
Comments1

По локоть в легаси: пошагово перезапускаем устаревший портал на PHP

Level of difficultyMedium
Reading time10 min
Views12K

PHP — один из самых популярных языков веб-разработки уже около 20 лет, а самому языку скоро стукнет 30. За это время на нем написали огромное количество больших и маленьких проектов. Некоторые сайты, созданные в 90-х, 00-х и 10-х, хранят код еще с тех давних времен. И чем больше времени проходит с начала разработки, тем меньше на рынке специалистов, готовых разбираться в легаси и не самых современных технологиях.

В похожей ситуации оказался портал fishingsib.ru — один из крупнейших в рунете сайтов о рыбалке, который посещают больше 10 000 человек ежедневно. Он создавался в начале 2000-х как форум для рыбаков-любителей и пережил несколько довольно серьезных обновлений кодовой базы. Последнее из них — переезд на CakePHP 2 в 2012 году. На этом фреймворке и PHP 5 сайт жил до 2017 года.

Владелец fishingsib.ru планировал поддерживать и развивать сайт, внедрять новую функциональность, однако столкнулся с техническими проблемами. Любые доработки были очень долгими из-за неудачных архитектурных решений и сильной зависимости от устаревающего и не особенно популярного CakePHP 2. После каждого обновления появлялось множество багов. В то же время не удавалось найти новых разработчиков, потому что большинство специалистов не хотели работать в проекте с неактуальным стеком. Развитие проекта сильно замедлилось и стало понятно, что с технической частью нужно что-то делать.

Читать далее
Total votes 57: ↑57 and ↓0+57
Comments15

Как уменьшить размер бандла раз и навсегда: приемы, метрики, мониторинг

Level of difficultyMedium
Reading time18 min
Views6.3K

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

Читать далее
Total votes 14: ↑14 and ↓0+14
Comments5

Одно и то же лекарство можно купить и дешево и дорого. Что-то и вовсе не лекарство. И что за лекарство — вода с солью

Level of difficultyEasy
Reading time9 min
Views33K

Заходя в аптеку мы удивляемся тому, как подорожали за последние годы таблетки. И капли. Конечно на нас наживаются. Расскажу о довольно частых примерах. Вот к примеру обычный насморк. Что не так с лечением насморка?

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

Читать далее
Total votes 196: ↑187 and ↓9+178
Comments237

— Отлично, Егор, на следующей неделе скинем оплату и приступим к проекту

Reading time2 min
Views23K

Или бывало ещё так.

— Супер, нам всё нравится, давайте в ближайшие дни закрывать работу и решать вопрос с остатком оплаты.

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

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

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

Что это за вещи?

Читать далее
Total votes 61: ↑53 and ↓8+45
Comments39
1
23 ...

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity