Как стать автором
Обновить
1
0

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

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

Обход блокировки YouTube без VPN и GoodbyeDPI

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров92K

Клешни постепенно сжимаются.
С момента замедления YouTube, по данным СМИ, его трафик для России снизился на 50%. Роскомнадзор активно блокирует VPN-сервисы.

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

Что же делать?

Читать далее
Всего голосов 43: ↑29 и ↓14+22
Комментарии63

Запускаем лабораторные работы «Школы синтеза цифровых схем» на FPGA плате Марсоход3GW2

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.6K

Вероятно вы слышали о "Школе синтеза цифровых схем". Здесь учат цифровой логике и программированию ПЛИС. Каждый желающий может записаться на курсы школы и пройти обучение. Филиалы школы есть во многих городах.

Школа готовит программу лабораторных работ для изучения FPGA. Они опубликованы на Github: https://github.com/yuri-panchul/basics-graphics-music

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

Мы сделали форк этих лаб https://github.com/marsohod4you/basics-graphics-music и адаптировали лабораторные работы на нашу плату Марсоход3GW2.

Дальше я немного расскажу о некоторых учебных работах.

Читать далее
Всего голосов 23: ↑22 и ↓1+28
Комментарии8

4 способа починить goodbyeDPI, как восстановить доступ к YouTube

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров93K

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

Читать далее
Всего голосов 43: ↑28 и ↓15+23
Комментарии46

STM32F4: GNU AS: Мигаем светодиодом (Версия для STM32F4 Discovery, Оптимизация) (Часть 3)

Время на прочтение13 мин
Количество просмотров15K
Ну что же, новогодние праздники кончились, и начались трудовые будни :-) Продолжим разбираться с ассемблером на примере микроконтроллера STM32F4

Обсуждение статьи доступно на платформе VK: vk.com/topic-200545792_46642025

Ссылки на прошлые публикации:
STM32F4: GNU AS: Программирование на ассемблере (Часть 1)
STM32F4: GNU AS: Мигаем светодиодом (Оживление) (Часть 2)

В комментариях никто не отписался о том что ему удалось запустить «мигалку» на STM32F4 Discovery — значит либо не пробовали, либо не удалось. Исправим эту мелочь:
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии16

STM32F4: GNU AS: Настраиваем среду компиляции (Часть 4)

Время на прочтение15 мин
Количество просмотров9.3K
В прошлых публикациях я показал от чего можно оттолкнуться при написании программ для STM32F4, настроили среду компиляции, определили файл компоновщика, получили шаблонный файл программы на языке ассемблера, попробовали настроить GPIO микроконтроллера и помигать светодиодом.

Ссылки на прошлые публикации:
STM32F4: GNU AS: Программирование на ассемблере (Часть 1)
STM32F4: GNU AS: Мигаем светодиодом (Оживление) (Часть 2)
STM32F4: GNU AS: Мигаем светодиодом (Версия для STM32F4 Discovery, Оптимизация) (Часть 3)

Обсуждение этой публикации, задать вопросы, внести предложения можно в VK: vk.com/topic-200545792_46642149

Теперь пришло время разобраться в компиляции программ состоящих из нескольких файлов, разобрать способ написания программ для нескольких отладочных плат, научиться выносить настройки программы для удобного их изменения
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии0

STM32F4: GNU AS: Прерывания, Системный таймер (SysTick) (Часть 6)

Время на прочтение10 мин
Количество просмотров13K


обсуждение этой и других статей цикла: vk.com/topic-200545792_46642273

В первых публикациях — мы тактировали микроконтроллер от внутреннего тактового генератора (HSI)… ну если быть совсем точным, то мы вообще не настраивали тактирование микроконтроллера, и пользовались тем состоянием которое было у микроконтроллера при старте (включении питания, сбросе). Для первых программ это вполне допустимо, но для будущих проектов этого не достаточно, поэтому в пятой части публикации я предложил модуль настройки тактирования микроконтроллера (sysclk) на его «родную» (определенную производителем) частоту в 168 МГц.
Теперь организуем задержку на заданное количество миллисекунд при помощи системного таймера (SYSTICK).
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии1

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

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5K

В 1971 году английский физик-математик и лауреат Нобелевской премии Роджер Пенроуз предложил, как можно извлечь энергию из вращающейся чёрной дыры. Он утверждал, что это можно сделать, создав своего рода «упряжь» вокруг аккреционного диска чёрной дыры, где падающая материя разгоняется до скорости, близкой к скорости света, что приводит к выделению энергии в нескольких длинах волн. С тех пор многие исследователи предполагают, что продвинутые цивилизации могут использовать этот метод (процесс Пенроуза) для энергетической подпитки своей цивилизации и что это может быть явным технопризнаком – признаком работы внеземного разума — который мы можем засечь.

Читать далее
Всего голосов 19: ↑17 и ↓2+23
Комментарии35

Итак, вы думаете, что знаете Git? Часть первая: старый добрый Git

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров15K

Автор оригинала Скотт Чакон — сооснователь GitHub и основатель нового клиента GitButler. Этот клиент ставит во главу угла рабочий процесс и удобство разработки, в том числе код-ревью, и не является просто очередной обёрткой над CLI git.


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



Давайте покопаемся!
Всего голосов 22: ↑21 и ↓1+23
Комментарии6

Стилистический анализатор: синхронизация объявлений и определений static функций

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

Представлена утилита-надзиратель, что последовательность определения static функций совпадает с последовательностью объявляения static функций.

Читать далее
Всего голосов 7: ↑5 и ↓2+7
Комментарии21

Помоги компилятору помочь тебе

Время на прочтение18 мин
Количество просмотров52K

Предисловие


Современные компиляторы обладают огромным количеством диагностик. И удивительно, что очень малая их часть включена по умолчанию.


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


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

Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Комментарии53

Современный CMake: 10 советов по улучшению скриптов сборки

Время на прочтение8 мин
Количество просмотров83K

CMake — это система сборки для C/C++, которая с каждым годом становится всё популярнее. Он практически стал решением по умолчанию для новых проектов. Однако, множество примеров выполнения какой-либо задачи на CMake содержат архаичные, ненадёжные, раздутые действия. Мы выясним, как писать скрипты сборки на CMake лаконичнее.

Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии29

Генерация перемещаемого кода для процессоров ARM в компиляторе LLVM

Время на прочтение12 мин
Количество просмотров4.3K


Процесс обновления «прошивки» для микроконтроллера – опасная вещь. Раньше при обновлении «прошивки» любой аппаратный сбой приводил к тому, что устройство превращалось в кирпич. В наше время часто имеется начальный загрузчик, который позволит произвести процесс обновления заново, но до того, весь функционал устройства будет потерян. Пока не будет завершено обновление, работать оно уже не будет. Самым красивым способом является использование двух областей для размещения «прошивки» — основной и запасной. На рисунке ниже это красная и синяя области. Исходно активная красная, а обновление будет загружаться в синюю. Сбой загрузки не страшен. Если он произойдёт, управление останется у красной области. При успехе операции, активной станет синяя область, а новое обновление будет загружаться в красную. Ну, и так далее. Каждое обновление будет приводить к рокировке.



К сожалению, в системах Cortex M такой путь напрямую невозможен. Программа привязана к абсолютным адресам и не может исполняться в произвольном месте. С чем это связано и как мы сделали её перемещаемой, подправив компилятор LLVM, рассказано в данной статье.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+10
Комментарии13

STM32F4: GNU AS: Подключение дисплея на PCD8544 (Часть 7)

Время на прочтение5 мин
Количество просмотров11K


Обсуждение этой и других статей цикла: vk.com/topic-200545792_46642280

Поскольку мигающим светодиодом интерфейс пользователя построить сложно, решил подключить к STM32F407 простенький SPI дисплей из Китая. Интерфейс дисплея PCD8544, подключение по SPI, на aliexpress и ebay обычно ищется по строке LCD nokia 5110, питание дисплея как раз от 2.7 до 3,3 вольт.
По информации полученной из даташита частота SPI дисплея не должна превышать 4 Мгц, однако все имеющиеся у меня экземпляры надежно работали при такте SPI в 21 Мгц…

Описание проекта, исходные тексты программы, настроенный файл автоматической компиляции и сборки проекта под «катом»:
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии7

Перенаправляем printf() из STM32 в консоль Qt Creator

Время на прочтение5 мин
Количество просмотров25K

kdpv.svg


Нередко при отладке ПО микроконтроллера возникает необходимость вывода отладочных сообщений, логов, захваченных данных и прочего на экран ПК. При этом хочется, чтобы и вывод был побыстрее, и чтобы строки отображались не где-нибудь, а прямо в IDE — не отходя от кода, так сказать. Собственно, об этом и статья — как я пытался printf() выводить и отображать внутри любимой, но не очень микроконтроллерной, среды Qt Creator.

Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Комментарии20

Теория звука. Что нужно знать о звуке, чтобы с ним работать. Опыт Яндекс.Музыки

Время на прочтение14 мин
Количество просмотров214K
Звук, как и цвет, люди воспринимают по-разному. Например, то, что кажется слишком громким или некачественным одним, может быть нормальным для других.

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



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

Поводом для этого поста можете считать то, что мы добавили в приложения Яндекс.Музыки возможность слушать треки в высоком качестве (320kbps). А можете не считать. Итак.
Читать дальше →
Всего голосов 83: ↑78 и ↓5+73
Комментарии52

Поиск подстроки и смежные вопросы

Время на прочтение13 мин
Количество просмотров121K
Здравствуйте, уважаемое сообщество! Недавно на Хабре проскакивала неплохая обзорная статья о разных алгоритмах поиска подстроки в строке. К сожалению, там отсутствовали подробные описания каких либо из упомянутых алгоритмов. Я решил восполнить данный пробел и описать хотя бы парочку тех, которые потенциально можно запомнить. Те, кто еще помнит курс алгоритмов из института, не найдут, видимо, ничего нового для себя.
Читать дальше →
Всего голосов 89: ↑84 и ↓5+79
Комментарии18

Совершенный цикл for

Время на прочтение6 мин
Количество просмотров54K

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


Я довольно давно пишу код, и так вышло, что практически всегда на C++. Даже и не могу прикинуть, сколько раз я написал подобную конструкцию:


for (int i=0; i<size; i++) {
    [...]
}

Хотя почему не могу, очень даже могу:


find . \( -name \*.h -o -name \*.cpp \) -exec grep -H "for (" {} \; | wc -l
43641

Наш текущий проект содержит 43 тысячи циклов. Проект пилю не я один, но команда маленькая и проект у меня не первый (и, надеюсь, не последний), так что в качестве грубой оценки пойдёт. А насколько такая запись цикла for хороша? Ведь на самом деле, важно даже не то количество раз, когда я цикл написал, а то количество раз, когда я цикл прочитал (см. отладка и code review). А тут речь очевидно идёт уже о миллионах.


На КПДВ узел под названием «совершенная петля» (perfection loop).


image


Так каков он, совершенный цикл?

Читать дальше →
Всего голосов 67: ↑65 и ↓2+88
Комментарии173

Синей пеленой экран заполнил чистый DOS. Доска почёта и респекта: лучшие программные решения и интерфейсы

Время на прочтение4 мин
Количество просмотров13K

В большинстве современных книг есть такой раздел — «Благодарности». Автор благодарит своих редакторов, учителей, друзей, родственников, любимых котов и всех тех, без кого книга никак не могла появиться на свет. Книгу я писать не планирую, а сказать спасибо за всё хорошее можно и в посте на Хабре.

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

Читать далее
Всего голосов 66: ↑60 и ↓6+67
Комментарии71

Детальный взгляд на Breadbox Ensemble. Что умела продвинутая оболочка для MS-DOS?

Время на прочтение5 мин
Количество просмотров9.4K

Привет, любители старого «железа». Это Антон Комаров, и сегодня мы изучим ИТ-артефакт, одно из имен которого — Breadbox Ensemble. Это графическая оболочка для MS-DOS, которая значительно опередила свое время. К примеру, концепция меню «Пуск» в ней появилась на 2,5 года раньше, чем в Windows 95. Компанию-разработчика, Berkeley Softworks, пытались купить Microsoft, Apple Notebooks и Sun Microsystems. Но руководство не согласилось, решив продолжить самостоятельное «плавание». И оно было довольно успешным: последняя версия оболочки вышла аж в 2009 году.

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

Читать далее
Всего голосов 52: ↑52 и ↓0+82
Комментарии55

Кодирование с кодеком HEVC простым языком — гайд на FFmpeg. Высокое качество, но низкий вес

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

Казалось бы, довольно простой вопрос: «Чем сжать видео?». На ум сразу приходят Handbrake, Movavi Converter или ещё что-нибудь пострашнее. Однако когда речь заходит о более гиковском подходе с упором на максимальное качество и экономию места, такие программы сложно назвать инструментами. Равно как и для обратной ситуации, когда картинку нужно сильно сжать и сохранить в целостности большую часть полезной информации. Все эти программы только лишь предоставляют набор наиболее общих конфигов для обычной съёмки и 2D.

В этой статье мы изучим, как при помощи самого большого сборника свободных библиотек FFmpeg научиться кодировать видео самому именно под ваши задачи.
Читать дальше →
Всего голосов 84: ↑83 и ↓1+110
Комментарии116
1
23 ...

Информация

В рейтинге
5 990-й
Зарегистрирован
Активность