Search
Write a publication
Pull to refresh
29
0.4

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

Send message

Алгоритмы быстрого умножения чисел: от столбика до Шенхаге-Штрассена

Level of difficultyMedium
Reading time26 min
Views49K

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

И уж конечно, никогда при написании a * b мы не задумываемся о том, как реализовано умножение чисел a и b в нашем языке. Какие вообще есть алгоритмы умножения? Это какая-то нетривиальная задача?

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

Скорее к формулам!

Увеличь это! Современное увеличение разрешения в 2023

Level of difficultyMedium
Reading time26 min
Views28K

Почти 4 года назад вашим покорным слугой была опубликована статья Увеличь это! Современное увеличение разрешения, которая набрала +376 хабролайков и 176 тысяч просмотров. Но прогресс на месте не стоит! Новые нейросетевые методы жгут! Их результаты прекрасны и великолепны. 1,5 года назад на хабре была неплохая статья Апскейл, который смог (+160), в которой были показаны плюсы новых алгоритмов.

Но всегда ли все прекрасно? Конечно нет! 

Мой любимый пример фантастических способностей нейросетевых алгоритмов выше. В шарике отражается наша лаборатория. Бюст Зевса был взят в датасет, чтобы оценить работу нейросетей с полутенями, но результат «обработки полутеней» сильно превзошел ожидания. Во-первых, мудрые голубые глаза и покрасневшие губы! Во-вторых, Зевс теперь причесан! В-третьих, его борода стала короче и тоже аккуратно подстрижена! Наконец, Зевс теперь выглядит ощутимо моложе и… человечнее! О, жители Олимпа, согласитесь, это просто божественно! 

Почему нам таки есть что сказать по теме? За последние годы мы создали 3 бенчмарка Video Super-Resolution под разные кейсы использования, которые на данный момент занимают первые 3 (из 14) места в соответствующем разделе на сайте paperswithcode.com.

Подобная деятельность безмерно актуальна, поскольку если 4 года назад на GitHub было меньше 200 репозиториев Super-Resolution, то сейчас их там больше 900 и разобраться в этом море исходников стало совсем непросто.

Естественно, при создании бенчмарков у нас было много чудных примеров. Более того, сейчас мы целенаправленно создаем датасет артефактов нейросетевых алгоритмов апскейла.

Кому интересно посмотреть, какие забавные косяки бывают у новых алгоритмов, а также как выглядят наилучшие результаты, которые даже меня, занимающегося темой 14+ лет, удивляют — добро пожаловать под кат!

Много прекрасных картинок Super-Resolution

Простейшая нейросеть: еще раз и подробнее

Reading time10 min
Views64K

Машинное обучение это незаменимый инструмент для решения задач, которые легко решаются людьми, но не классическими программами. Ребенок легко поймет, что перед ним буква А, а не Д, однако программы без помощи машинного обучения справляются с этим весьма средне. И едва ли вообще справляются при минимальных помехах. Нейросети же уже сейчас решают многие задачи (включая эту) намного лучше людей. Их способность обучаться на примерах и выдавать верный результат поистине очаровывает, однако за ней лежит простая математика. Рассмотрим это на примере простого перцептрона.
Данная статья представляет собой пересказ-конспект первой части книги Тарика Рашида "Создай свою нейросеть" для тех, кто начал изучать тему, не понял отдельные детали или с трудом охватывает общую картину.

Читать далее

Linux на смартфоне: делаем экран погодной станции, используя Termux и Node-RED

Level of difficultyEasy
Reading time6 min
Views19K

Всем привет!

Сейчас я покажу, как перенести на смартфон проект погодной станции, изначально сделанный под Raspberry Pi. Для этого мы установим программу Termux — эмулятор терминала Linux —, затем поставим на него среду визуального программирования Node-RED и за 5 минут реализуем готовый проект — погодную станцию, то есть экран, выводящий текущую погоду и прогноз. Использовать будем только Free/Open Source- инструменты.

Читать далее

Технологии разделяют людей на тех, кто не хочет меняться, и тех, кто не может не меняться

Reading time5 min
Views2.2K

Почему бизнесу важно быть гибким и открытым для новых технологий? Посмотрим на двух мировых гигантов: компанию Kodak и сеть Starbucks. Kodak стала одной из немногих компаний, кто достиг миллионных продаж в 90-е годы. Однако нежелание меняться и внедрять новые технологии привели компанию к  потере доли рынка и банкротству. Противоположный пример — история компании Starbucks. Сеть активно использовала современные технологии и  инвестировала в развитие приложений для повышения качества обслуживания клиентов. В результате Starbucks завоевала популярность во всем мире и продолжает держаться на плаву.

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

Читать далее

Энтузиастка модифицировала дизайн Game Boy Pocket, добавив в него шарниры

Reading time9 min
Views6.7K

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

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

Одна из них, программист Эллисон Пэрриш, сделала компактную версию портативной игровой консоли Nintendo Game Boy Pocket 1996 года выпуска. Вдохновившись более поздним Game Boy Advance SP, она изготовила специальный пластиковый корпус с шарниром, чтобы старый монохромный Game Boy можно было сложить. Она назвала его Game Boy Pocket SP.

Эллисон говорит, что всё начиналось как простой прикол. Сообщество моддеров Game Boy сейчас популярно, и один мод, который в настоящее время является распространённым, включает в себя пересадку схемы стандартного складного Game Boy Advance SP (выпущенного в 2003 году) в нескладывающуюся оболочку. И Эллисон подумала: «Если все убирают петлю из Advance SP, почему бы мне не добавить петлю в Game Boy Pocket, у которого её никогда не было?» Хоть Пэрриш и признает, что петли отстой: их сложно проектировать и изготавливать, и вообще по возможности стоит их избегать; она многому научилась, создавая Pocket SP: приобрела новые навыки в проектировании печатных плат, САПР и производстве. Она также многое узнала о дизайне самого Pocket и об истории технологии в целом.
Читать дальше →

Укрощаем одноглазого змея. Разбираемся с WireGuard и делаем свой умный VPN

Reading time29 min
Views395K

Забавная ситуация: сайтов и сервисов, доступных только через VPN, все больше, но при этом многие российские компании закрывают доступ из-за границы. В результате приходится целыми днями теребить ползунки «вкл-выкл», что утомительно. Я расскажу, как с помощью магии маршрутов и WireGuard, решить эту проблему и сделать «умный» VPN, который не надо отключать.


Если ты пользуешься VPN, то и сам наверняка сталкиваешься с блокировками зарубежного трафика. К примеру, могут не открываться pochta.ru, leroymerlin.ru, rt.ru, avito.ru.


Получается мем.



Каждый с этим борется как может. Например, на устройствах Apple родными средствами можно настроить автоматизацию, которая будет запускать VPN, когда открываешь определенные приложения (например, Twitter), а когда выходишь из них — выключать обратно. Но это костыль, а хочется все сделать красиво, да еще и прокачать навык работы с сетью.


Поэтому мы сейчас попробуем «включать VPN чуть-чуть».

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

Как выучить что угодно в 7 раз быстрее и эффективнее

Reading time4 min
Views121K

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

Удивительно, но такое средство было найдено в 1990 году американским социологом Майклом Хоу. Он провел серию тестов среди студентов и определил, что пользователи «волшебного средства» в 7 раз лучше запоминали материал, легко вспоминали факты и легко применяли знания на практике.

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

Это удивительное средство...

Читать далее

Сборка большого HTPC/NAS на базе Ivy Bridge

Reading time6 min
Views29K
Доброго времени суток.
ATX-системник в последнее время отлынивает от серьезных нагрузок, в основном ограничиваясь показом фильмов и расшариванием файлопомойки, да и зима подходит к концу — а значит настало время долгожданного перехода с Core 2 Duo на нечто более прохладное и экономичное.
Первоначальным претендентом была Mini-ITX материнка с интегрированным Intel Atom или AMD Brazos. Но судя по тестам, мощности таких систем не всегда хватает для комфортного просмотра FullHD видео. Несмотря на отсутствие таких рипов в моей коллекции, здравый смысл подсказывает взять нечто помощнее. По уровню энергопотребления следом идут системы с процессорами Sandy Bridge/Ivy Bridge — то что надо.
Читать дальше →

Универсальный ПДУ для XBMC из TP Link MR3020

Reading time6 min
Views37K
Про домашний беспроводной маршрутизатор TP Link MR3020 с Openwrt уже писали на Хабре. В данной статье я расскажу, как эту недорогую, но полезную коробочку научить управлять телевизором, XBMC плеером и любой другой домашней электроникой, понимающей ИК сигналы с пульта управления. Более того, и сам MR3020 научится принимать сигналы, подаваемые с любого пульта ДУ.

Чем и как конкретно управлять — решать вам, тем, кто возьмется повторить шаги, описанные ниже. У меня такие коробочки теперь управляют связкой TV-XBMC в гостиной и на кухне. При этом для управления используется всего один пульт. В ближайших планах — выбрать в соседнем подземном переходе пульт, который понравится всем домочадцам, и закупить таких штуки 3. Конечно, тем же хозяйством можно управлять с планшета Android (через Wi-Fi) или с компьютера (через Ethernet), но такой способ, похоже, кроме меня никого в нашей семье не вдохновляет.
Читать дальше →

Гальваническое покрытие 3D-печатных моделей

Reading time11 min
Views23K

Картинка youtube-канал Jason Welsh

С распространением трёхмерной печати множество любителей получили уникальные возможности, которые, однако, ограничены свойствами самого материала – пластиковой основы. В одной из прошлых статей мы рассказывали об интересном способе изготовления металлических отливок из 3D-печатных моделей, используя плавление металлов в обычной домашней микроволновке.

Однако не всегда требуется изготовление сверхмонолитных металлических деталей сложными способами, так как существует гораздо более простой вариант…

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

Построение компактных коллиматоров для мощных светодиодов

Reading time8 min
Views25K

Введение


В системах управления движением используется видеонаблюдение за объектами, которым, зачастую, требуется дополнительная подсветка. Экономичные мощные светодиоды хорошо справляются с освещением в широком угле обзора. Для уменьшения угла освещения необходим коллиматор. Расчет коллимирующих линз может быть выполнен, например, в Zemax или Code V. Для расчета сложных коллиматоров, содержащих отражатели, предназначены специальные среды, например, LightTools или TracePro. В этой работе показаны структуры и средства расчета оптимальных коллиматоров, уменьшающих угол обзора на порядок — до 10 градусов, также предлагается ручной вариант расчета.
Читать дальше →

Когда есть только дисплей и больше ничего

Reading time11 min
Views27K

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

Читать далее

Прошивка 3DS

Reading time8 min
Views40K

Сразу отмечу, что автор статьи не несет ответственности за работоспособность Ваших девайсов! Помните: все, что Вы делаете - Вы делаете на свой страх и риск!

Мне удалось заполучить 3DS в 2022 году, ко мне в руки она попала уже взломанная, но мне было интересно как же можно обновить прошивку и как это работает. В этот момент я начал смотреть видео гайды на ютубе и везде была одна и та же проблема, за основу брался некий архив, в котором уже было что-то установлено. Автор предлагает скачать архив, закинуть все содержимое в корень флеш карты и забыть об этом. Меня этот подход не очень устроил, поэтому я решил попытался разобраться что же находится в этом загадочном архиве, а за одно расписать по пунктам как же делается прошивка.

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

Читать далее

Брутфорс соседского Wi-Fi (в исключительно исследовательских целях)

Reading time7 min
Views94K

Надежные и постоянно меняющиеся пароли - это здорово. Особенно когда они меняются и на Wi-Fi роутере и WPS на нем вообще отключен. В этом посте: сколько занимает перебор WPS pin и есть ли у этого практическое применение? А еще напишем программу для брутфорса на C#

Подобрать пароль

Почему риски обвала Tether/USDT ($66 млрд) растут: анализируем текущие события и возможные последствия

Reading time13 min
Views23K

Криптозаморозки на рынке продолжаются. Практически каждые несколько недель громко лопается новый криптопроект на десятки миллиардов долларов: Luna/UST, Celsius, Three Arrows Capital. Есть основания полагать, что Tether/USDT может последовать их примеру (и у меня есть мемы, чтобы это доказать!).

Читать далее

Создание своей эргономичной клавиатуры, часть 3: оживляем её

Reading time13 min
Views18K

В предыдущей части были заказаны для клавиатуры платы и все её детальки. Они, конечно же, все приехали и настало время смешать всё вместе и вдохнуть жизнь с помощью свежепротранслированной прошивки. Если вы пропустили о чем речь — загляните в первую часть.

лудим, паяем, прошиваем

Тихоходки. И как их поймать?

Reading time15 min
Views83K

Тем, кто с детства смотрел «Клуб телепутешественников» с Сенкевичем и «В мире животных» с Дроздовым (а по моим ощущениям, этим людям уже лет под сто), а также «Диалоги о животных» и путешествия Команды Кусто, могло казаться, что животный мир средней полосы России, чудовищно беден, по сравнению, с бурлящими жизнью, джунглями Юго-Восточной Азии, амазонской сельвы или экваториальной Африки. Справедливости ради стоит сказать, что к таким людям относился и автор этого очерка. Однако его мнение изменилось, с тех пор как в возрасте шести лет ему в руки попал микроскоп
Читать дальше →

Создание своей эргономичной клавиатуры (часть 2: определяемся с железом)

Reading time12 min
Views14K

Раскладку создали, теперь надо ее превратить в нечто материальное.

Мне нужна низкопрофильная клавиатура. Насколько низким должен быть профиль? Какие свичи дадут приятный тактильный отклик? Есть ли подходящие крышки? Какой процессор? Плата или навесной монтаж? И как вообще нарисовать печатную плату?

Никакой интриги

DIY. Книги для всех, даром

Reading time7 min
Views36K

Lingtrain cover


⚡ Градиент обреченный


Upd. 11.06.2022 Многие заинтересовались генерацией изображений нейросетями. Вот Colab (интерактивная среда для запуска кода) для рисования картинок в стиле pixel art по текстовому описанию. Просто запускайте, ближе к концу увидете ячейку для ввода текста. Примеры картинок из Colab'а в комментариях.


Два года назад я начал делать небольшой проект, связанный с обработкой текстов на иностранных языках. Он постепенно развивался и стал использоваться лингвистами в НКРЯ, а энтузиасты сохранения малых языков используют его для расширения своих параллельных корпусов.


Сегодня же я расскажу как при помощи него создать полноценную параллельную книгу на разных языках. Книга будет красиво сверстана в PDF, иметь содержание, обложку и две выровненные по смыслу колонки текста. Такие книги служат отличным подспорьем при изучении иностранного языка. Найти их, однако, не так просто, и скорее всего это будут книги для детей или избранная классика. Полный пример готовой книги можно посмотреть здесь. Под капотом у приложения NLP модели, поддерживаемых языков более ста.


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

Сделать книжку

Information

Rating
3,286-th
Registered
Activity