Обновить
16
0
Александр Демченко@braindamagedman

Пользователь

Отправить сообщение

Увеличение растровых изображений – какой максимальной схожести с оригиналом мы можем добиться и как? А можно побыстрее?

Уровень сложностиСредний
Время на прочтение25 мин
Охват и читатели2.7K

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

Апскейл на пределе: вперёд!

Заставляем компьютер видеть цвета без нейросетей: сегментация изображений по старинке

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели1.8K

Привет, Хабр! В предыдущей части мы рассматривали базовые методы цифровой обработки изображений для задачи сегментации спутникового снимка.

В этой статье рассмотрим ещё парочку методов решения этой задачи, всё ещё «классических», то есть без применения машинного обучения или нейросетей. Помогут нам во всём разобраться, как и в прошлый раз, язык программирования Julia и среда технических расчётов Engee!

Читать далее

Математика для взрослых. Дорожная карта от выпускника Хармфульского клуба математики

Время на прочтение9 мин
Охват и читатели116K

Математика для взрослых. Дорожная карта от выпускника Хармфульского клуба математики.

(1) Школа. (2) Матанализ. (3) Аналитическая геометрия. (4) Линейная алгебра.

Все плейлисты, материалы, курсы в открытом доступе и бесплатны.

Читать далее

Семантический поиск по статьям Хабра в PostgreSQL + индексация текстов LLM в Ollama

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели4.1K

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

Читать далее

Как делать видеоигры в 2025 году (без движка)

Время на прочтение9 мин
Охват и читатели15K

На дворе 2025 год, а я всё ещё продолжаю делать видеоигры. Если верить archive.org, я начал заниматься этим двадцать лет назад! Достаточно долгий срок для одного увлечения...

Когда я рассказываю о том, над чем работаю, люди часто спрашивают меня, как я делаю игры, и их часто удивляет (а иногда и тревожит?), когда я говорю, что не пользуюсь коммерческими игровыми движками. Существует какой-то стереотип, что если ты делаешь игры не в популярном инструменте наподобие Unity или Unreal, это значит, что ты чуть ли не вручную пишешь ассемблерный код.

Я искренне считаю, что создание игр без огромного «многофункционального» движка может быть проще и интереснее, а часто и позволяет оптимальнее тратить вычислительные ресурсы. Я не делаю игру, в которой «есть всё», поэтому мне не нужны 90% фич, предоставляемых движками. Все мои игры обладают конкретным стилем и у меня есть конкретные способы работы с моими инструментами. Часто оказывается так, что используемым по умолчанию реализациям фич в крупных движках наподобие Unity не хватает столь многого, что мне всё равно приходится писать их самостоятельно. В конечном итоге, мои проекты по большей мере оказываются моими собственными инструментами и системами, а движок становится необходим лишь для создания удобного UI и части рендеринга...

Тут можно задаться вопросом, а зачем вообще использовать движок? Что он даёт? Зачем я позволяю инструменту потенциально препятствовать моей работе, когда его владельцы внезапно принимают неэтичные и ужасные бизнес-решения? Или выпускают обновление, которое требуется для запуска моей игры на консолях, но ломает всю систему в игре, заставляя переписывать её? Зачем я ежедневно борюсь с этим для работы с движком, пока я постепенно заменяю все его стандартные системы и он постепенно становится только загрузчиком ресурсов и фреймворком UI редактора?

Читать далее

Я не люблю NumPy

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели12K

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

NumPy — это ПО для выполнения вычислений с массивами на Python. Оно невероятно популярно и очень сильно повлияло на все популярные библиотеки машинного обучения, например, на PyTorch. Эти библиотеки во многом имеют те же самые проблемы, но для конкретики я рассмотрю NumPy.

Читать далее

Rust — это не «memory safe C»

Уровень сложностиСредний
Время на прочтение27 мин
Охват и читатели59K

TL;DR:
— в Rust намного больше достоинств, чем просто скорость и безопасность
— в Rust по умолчанию CDD (compiler-driven development, разработка через компилирование). Это как TDD, только CDD
— Rust — не сложный язык, особенно если не гнаться за максимальной производительностью

В этой статье я бы хотел рассказать:
— почему взгляд на Rust как на "memory safe C" очень сильно сужает область его возможного применения
— почему я смотрю на Rust как на очень удобный в разработке язык высокого уровня, которому просто случайно повезло оказаться невероятно быстрым
— почему разработка на Rust быстрее, чем многие думают
— почему Rust — это один из лучших языков общего назначения

Читать далее

Про самодельную систему активного шумоподавления для городской квартиры

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели29K
Картинка Freepik

В современных городах людям приходится жить в условиях сильного «звукового загрязнения» от множества источников шума, что вынуждает искать способы борьбы с этим.

В этой статье мы посмотрим, что можно сделать для защиты своего жилища от агрессивного звукового фона окружающей городской среды, и упор сделаем на способ электронного шумоподавления…
Читать дальше →

Как бизнес меняет личность: 10 вещей, которые ты уже не вернёшь назад

Время на прочтение4 мин
Охват и читатели20K

Ты стоишь посреди пустого офиса, за окном апрель 2025 года, дождь стучит по стеклу, а ты смотришь на свой стартап — дитя, в которое вложил годы, деньги и кусок души. Ты уже не тот, кем был, когда начинал. Бизнес — это не просто цифры в Excel и питчи для инвесторов. Это алхимия, которая перекраивает твою личность, как скульптор глину. Иногда ты становишься сильнее, иногда — жёстче, а иногда теряешь то, что казалось вечным. Вот 10 вещей, которые бизнес меняет в тебе навсегда. Это не хорошо и не плохо — это просто правда.

Читать далее

Как реверс-инжиниринг чужой инерциальной навигационной системы перерос в свою собственную разработку

Время на прочтение14 мин
Охват и читатели30K

Инерциальные навигационные системы благодаря MEMS-датчикам инженеры сейчас начинают использовать везде, где есть движение. В зависимости уровня требуемой точности как по углу, так и по координатам применяют МЕМS-датчики разного уровня цены и интегрированности: от уровня "все датчики в одной микросхеме" до уровня "один датчик - одна микросхема". А сама инерциальная навигация, как часть инженерных систем, впервые появилась в торпедах, кораблях, ракетах и самолетах.

Читать далее

Зарплата как отражение ценностей компании

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели16K

Это перевод статьи Брайана Кэнтрилла — технического директора Oxide Computer о модели оплаты труда в их распределенной по миру команде. О том, как они построили культуру открытости и откровенности, нашли одних из самых талантливых специалистов в мире и направили их усилия на достижение общей цели, пересмотрев некоторые догмы индустрии.

Зарплата. Это слово само по себе вызывает реакцию «бей или беги» во многих людях. Но нам повезло работать в IT индустрии, где наш труд неплохо компенсируется. Так почему же этот вопрос вызывает в нас столько страха, хотя, очевидно, что все наши базовые потребности закрыты? Это потому, что компенсация — это не валюта, которой расплачиваются в обмен на наш труд, а скорее выражение нашей ценности для организации. В свою очередь, это заставляет нас серьезно задаваться вопросами о смысле нашей работы и самолюбии.

Читать далее

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

Время на прочтение13 мин
Охват и читатели4.6K

Привет! Меня зовут Михаил Мазанов, я отвечаю за технологический стек работы с медиаданными в Кинопоиске: от съёмок оригинальных проектов до доставки и просмотра видео на всех экранах. Для нашей пятой ежегодной конференции про стриминг PlayButton 2024 я готовил большой доклад про оптимизацию качества видео Кинопоиска, а для Хабра решил пересобрать его в виде статьи — для тех, кому текстовый формат предпочтительнее видео.

Кроме технических графиков, вас ждёт ещё и наглядная разница в работе алгоритмов сжатия на примере «Рика и Морти» и «Джона Уика».

Читать далее

OSINT: Анализ доменов компаний

Время на прочтение3 мин
Охват и читатели2.8K

Анализ сведений домена позволяет добыть массу полезной, а порой, критической информации: начиная от данных владельца и заканчивая внутренними документами компании...

Читать далее

Ornament-8. Аналоговый функциональный генератор поведения. Часть 1

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели2.1K

В 2019 году я ступил на путь разработки электроники. Моим первым устройством является Орнамент-8. Не судите строго.

- Орнамент-8 это устройство, способное реализовывать сложные конечные автоматы.
- Переход конечного автомата из одного состояния в другое определяется патчем, соединением входов и выходов ячеек Орнамента.
- Каждая из 8 ячеек Орнамента представляет собой моновибратор.
- Если моновибратор запустить, он будет удерживать высокое состояние в течение периода времени, задаваемого потенциометром TIME.
- В момент перехода моновибратора (далее ячейка) из высокого состояния в низкое происходит генерация триггера.
- Этот триггер способен запустить любую другую ячейку Орнамента, кроме самой себя. Для этого необходимо соединить тригерный выход с тригерным входом.
- Если триггер приходит на вход уже активной ячейки, он не поглощается, а поступает на тригерный выход PASS>. Этот выход реализует логику: если ячейка активна -> пусть триггер активирует другие ячейки.
- Помимо тригерных входов и выходов каждая ячейка имеет аналоговый выход, сигнал на котором пропорционален времени активации ячейки от 0 до 1 в зависимости от параметра TIME. Если моновибратор сравнить с наполняющимся сосудом, то аналоговый выход (CV>) показывает уровень жидкости в этом сосуде.
- Каждая ячейка имеет вход для управляющего напряжения (>CV). Приложенное к этому входу напряжение управляет коэффициентом, увеличивающим значение параметра TIME установленного потенциоментром. Приложение управляющего напряжения к >CV можно представить как растяжение времени в системе координат ячейки.

Кажется, что Орнамент-8 это какой-то странный артефакт, упавший из космоса. Зачем он нужен? Что с ним делать? Кто и почему придумал такую странную систему правил?

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

Читать далее

Точное увеличение растровых изображений

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели8.6K

Как красиво в фильмах увеличивают изображения с дешёвой видеокамеры, да так, что чётко видно лицо в отражении зрачка человека, находящегося за километр. Я тоже так хочу. А что мы имеем по факту? На какой максимальный результат можно рассчитывать хотя бы теоретически? А оказывается можно сделать чуть лучше, чем размазню...

Увеличим апскейл до максимума!

Собираем удобный CAN bus сниффер с интерактивной консолью за $3

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели39K

Привет, Хабр!

Протокол CAN сейчас широко распространён не только в автомобильной сфере, но и на предприятиях, в различных самоделках, и даже в Средствах Индивидуальной Мобильности (контроллеры VESC, например). В ноябре прошлого года я сделал для себя удобный инструмент для анализа CAN и отправки фреймов, сейчас же хочется сделать код опенсорсным и рассказать о самом проекте.

Читать далее

jugger – внедрение зависимостей как в Android

Время на прочтение12 мин
Охват и читатели2.8K

Привет, меня зовут Иван и я Android разработчик. Но еще я занимаюсь Flutter разработкой. Я как разработчик, который начинает изучать новую технологию или фреймворк, начинаю сначала искать аналоги библиотек из своей основной сферы. Надеюсь я такой не один. Например Retrofit для http запросов, Dagger для di и т. д. В 2018 году, когда только познакомился с Flutter, был пакет который повторял функционал Dagger-а — это inject.dart. Но на самом деле его нельзя назвать полноценным пакетом, так как он был выложен командой гугла в открытый доступ для демонстрации того, что на dart можно написать инструмент который использует кодогенерацию. Сейчас inject.dart заброшен и не поддерживается. На GitHub у него 855 звезд, можно сказать что сообществу Flutter-а интересен такой пакет как Dagger из Java. Поэтому в 2019 году я решил написать собственный пакет, который был вдохновлен Dagger 2 и inject.dart. Целью было удовлетворить свои потребности в разработке, хотелось иметь такую же библиотеку для Di как и в Java(Android). Второстепенная цель это изучение кодогенерации в Dart.

Читать далее

Intel 2.0: перезагрузка

Время на прочтение5 мин
Охват и читатели25K
Представляем вам вольный перевод эссе Жана-Луи Гассе, бывшего исполнительного директора Apple Computer (1981—1990).

Пэт Гелсингер, новый CEO компании Intel, вступил в должность совсем недавно, однако уже успел озадачить мировых ИТ-экспертов своими планами. Под катом обсудим новую стратегию Intel, личные планы Гелсингера на руководство компанией, суть «перезагрузки» Intel и, наконец, то, чем она может обернуться для рынка.


Читать дальше →

[Личный опыт] «Повзрослевшая Россия»: тонкости переезда в Канаду

Время на прочтение17 мин
Охват и читатели77K

В июле 2020 года, в разгар уже опостылевшей всем пандемии, ValCanada получил статус резидента Канады и переехал с семьёй в Северную Америку.


Откровенно и искренне он поделился с нами особенностями страны, про которые мало говорят в инструкциях о релокации: как получить максимум баллов для ПМЖ, каким IT-специалистам легче найти работу, как законно сэкономить на съёмном жилье (но, возможно, заработать невроз), почему при переезде стоит одеваться теплее, и как обстоят дела с новомодным дайверсити.


Впереди лонгрид!




Читать дальше →

Как управлять марсоходом

Время на прочтение5 мин
Охват и читатели10K

Немногим более года назад мне повезло: я стал частью команды ученых и инженеров, ответственной за управление марсоходом «Кьюриосити». С тех пор я узнал МНОГО нового о марсоходах. Но еще больше только предстоит узнать. «Спирит», «Оппортьюнити», «Кьюриосити» и «Персеверанс» — одни из самых сложных и в то же время надежных роботов, когда-либо созданных человеком. В то же время инструменты и методы, которые применяются для управления марсоходами, достаточно просты в освоении и доступны пониманию. И это хорошо, поскольку 18 февраля «Персерванс» опустится на поверхность Марса, после чего его отправят на изучение планеты. Сейчас моя задача — рассказать о том, как управлять марсоходом. Когда новый ровер прилетит на Марс, вы уже будете понимать, что происходит и как все это работает.

Большая часть этой статьи — изложение моего опыта управления «Кьюриосити». Имейте в виду, что «Спирит» и «Оппортьюнити» во многом похожи в этом плане на своего «наследника». Для управления «Персерванс» будут использоваться те же технологии и методы, так что слишком значительных отличий нет.
Читать дальше →
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Владивосток, Приморский край, Россия
Дата рождения
Зарегистрирован
Активность