Всегда хотел взломать Хабр. Мечта такая, но как-то руки не доходили. И вот, вдохновившись статьей о праведной борьбе с Безумным Максом, я, как и автор поста, решил исследовать функционал Хабра на предмет уязвимостей.
Препарируем дельфина: что внутри у Flipper Zero
На «больших» компьютерах есть куча уровней абстракции и аппаратных средств сделать жизнь пользователя и разработчика проще. В итоге, даже если вы пишете на голом С, вас все равно не волнует как конкретно по PCI передается информация, как работает система питания процессора и какая там микросхема используется для хранения BIOS/UEFI.

Тут все не так, слишком уж близко к железу происходит разработка. Статья — это краткий экскурс в то, как устроен Flipper с железной точки зрения. Поехали.
52 системы управления проектами для командной работы в разных сферах

Привет, Хабр! Вам приходила мысль сделать свою систему управления проектами и задачами? Нам да! И мы делаем YouGile.
Знаете, в чем самая большая сложность? Выбрать и сфокусироваться на одном востребованном направлении продукта. Вообще такая задача есть везде, но тут она особенно масштабная.
В этой теме есть десятки концепций, сотни конкурентов и очень много разных мнений о том, как должно быть. Один из способов решать этот вопрос – постоянно просматривать конкурентов и понимать, кто куда и почему идет.
У нас есть внутренний документ, в котором собран обзор 52 систем управления проектами, и он постоянно обновляется и используется в трудные моменты выбора приоритетов.
Текст невероятно длинный (проскроллите до конца?) Внизу есть таблица с кратким содержанием.
И если у вас есть свой взгляд на какую-либо систему – прошу дополнять, пишите в комментариях.
Почему после курсов по программированию вы никому не нужны. Как найти первую работу в IT

В статье разбираем на цифрах, что сейчас происходит с IT-рынком. Объясняем новичкам что от них ожидают работодатели и даём инструкцию как устроится на свою первую работу в IT.
Пишем 3D игру под Windows Mobile, ч.1

На хабре достаточно много пользователей коммуникаторов. Они рассказывали достаточно много историй о том, как их использовали: раскладывали пасьянс, играли в шарики, сидели в интернете, читали книги и в конце-концов, использовали как телефон. А что, если я вам скажу, что на коммуникаторах было аж два API для рисования 3D графики? Причем оба могли уметь хардварное ускорение. В юности я мечтал о кпк, а сейчас я исполнил свою мечту, и у меня есть несколько годных для своего времени коммуникаторов. Так почему бы не написать 3D игрушку под них?
Ужасный %s, известный своими бесчинствами: эмулятор Сферы, часть 1

Привет, Хабр!
Прошло лет 20 с выхода “первой русской ММОРПГ” Сферы, большинство ресурсов мертвы, база данных по игре доступна только частями в вебархиве, форумы закрыты, онлайн полтора человека. Самое время разбираться, как она устроена, правда?
В этой и следующих частях: отвяжем клиент от лончера, научимся логиниться в игру, показывать и редактировать список персонажей, входить в игровой мир в нужных координатах, создавать и перемещать объекты и генерировать для игрока рабочий стартовый данж. В результате получится небольшой эмулятор, в который уже можно будет поиграть. Полный будет готов когда-нибудь, наверно.
Покоряем высоты для велонавигатора 2ГИС

Привет, я Артём, ML-инженер. 26 мая 2ГИС зарелизил навигатор для велосипедов и самокатов, одна из его фич — график высот для построенного маршрута. Эта статья о том, как мы получаем этот график.
Привет Emotet! Заключительная 3-я часть.Продолжаем исследовать дамп оперативной памяти заражённый Emotet

Эта статья - продолжение серии статей "Привет Emotet!", заключительная её часть
Первую и вторую статьи вы можете найти здесь и здесь.
В данной статье, мы решили убрать в сторону плагины volalatility, автоматизирующие нашу работу и прогуляться по узким коридорам памяти, в поисках артефактов. Давайте начнём.
Ошибки технарей, которые пишут документацию для разработчиков

Краткий разбор типичных ошибок и когнитивных искажений при написании технической документации для разработчиков. Обнаружение и hotfix этих дефектов призван сделать ваши тексты лучше, а процесс работы с ними — чуть более осознанным.
Как это устроено: атомные часы
Привет Хабр! Сегодня у нас выходит статья в Nature Physics, в которой мы рассказываем про один интересный апгрейд для атомных часов. А нашу предыдущую работу по этой теме — в тот раз в самом Nature — даже упоминали пару раз на Хабре. Но то ли наш пресс-релиз оказался слишком сложным, то ли тема слишком специфичной, короче говоря, я из тех заметок вряд ли бы что-либо понял. Поэтому сегодня попробую простым языком рассказать про то, как устроены атомные часы и что интересного нас ждет в ближайшем будущем.
Оптические атомные часы в университете Токио. Credit: H. Katori
Как я научился делать мобильные приложения на Ionic/Angular за 42 часа

Расскажу как я решил погрузиться в мобильную разработку. Какую поставил цель, какие ресурсы выделил для её достижения, с какими трудностями столкнулся и как решил возникшие проблемы. Также будет немного аналитики, размышлений о карьере программиста и личного опыта при взаимодействии с рекрутерами.
Стремление к простоте: о санкциях, транзакциях и одном рефакторинге
Новая функциональность была критически важной, по требованию финансового регулятора, мы были обязаны начать проверку третьих лиц, участвующих в транзакциях с нашими клиентами, по спискам санкций и политически значимых лиц (PEP). Если некий Вася обнаруживался в санкционных списках, или, скажем, был выбран когда-то в городскую администрацию, транзакции с его участием должны были отправляться на контроль в отдел комплаенса. На тот момент уже существовали и другие правила, отправляющие транзакции на контроль, например при превышении определённой суммы.
И вот, разработка и тестирование закончены, одним прекрасным утром трафик переключается на новую сборку, мониторинг показывает, что запросы к API проверяющей фирмы идут, ответы приходят, всё нормально. Но уже через час отдел комплаенса бьёт тревогу – задержанные на контроль транзакции стали попадать на счета клиентов! За такие дела можно и лицензию потерять, поэтому начинается аврал: счета этих клиентов замораживаются, версия срочно откатывается, транзакции правятся вручную. Нервная и неприятная для всех ситуация, иными словами, полная ж… жесть.
Как же так получилось? Ведь были и автотесты и ревью кода, тестирование в песочнице...
Изучаем, как собрать свой двигатель — на случай «Большого ПЭ» и не только

Энергия в современном мире — это всё, и чем дальше, тем больше: экзоскелеты, роботы, разнообразные электрические виды транспортных средств. Всё это базируется на необходимости доступа к соответствующим источникам питания и, в то же время, ограничивается их отсутствием. Однако всё может стать ещё хуже, если традиционные источники питания станут вдруг недоступны, по тем или иным причинам. Либо же, потребуется создать собственный источник питания (например, для электропитания далеко расположенного лесного домика и т.д.). Ещё одним интересным вариантом может быть изготовление альтернативного источника питания для уже существующих устройств, — например, для дронов. Да, в этой статье мы поговорим об устройстве и возможности изготовления собственных двигателей внутреннего сгорания различных типов. Кроме того, для этих целей можно даже применить технологии машинного обучения!
Rust должен умереть, МГУ сделал замеры
В предыдущих сериях:
Медленно, но верно Раст проникает не только в умы сотрудников больших корпораций, но и в умы школьников и студентов. В этот раз мы поговорим о статье от студента МГУ: https://rustmustdie.com/.
Её репостнул Андрей Викторович Столяров, доцент кафедры алгоритмических языков факультета ВМК МГУ им. М. В. Ломоносова и по совместительству научрук студента-автора статьи.
Я бы сказал, что тут дело даже не в том, что он "неинтуитивный". Дело скорее в том, что компилятор раста сам решает, когда владение "должно" (с его, компилятора, точки зрения) перейти от одного игрока к другому. А решать это вообще-то должен программист, а не компилятор. Ну и начинается пляска вида "как заставить тупой компайлер сделать то, чего я хочу".
Бред это всё.
— А. В. Столяров
Flutter vs Native: почему мы переходим с первого на второй

Привет, Хабр! Меня зовут Сергей, я занимаюсь мобильной разработкой 13 лет и недавно стал руководителем разработки мобильного приложения «Пункты выдачи заказов» в Ozon. Невольно став сместителем существующего строя в проекте (фреймворки, технологии, подход), я стал часто слышать вопрос: «Почему вы отказались от Flutter?».
Слышал я этот вопрос прежде всего от разработчиков моей команды и соискателей на наши вакансии, потом во время доклада на эту же тему на конференции Panda Meetup, в конце концов, даже менеджер нашего проекта подошёл с вопросом: «Ну а всё же почему?». Настолько людей захватывает эта тема, что я решил поделиться развёрнутым ответом.
Обход блокировок WireGuard в Египте

В 2021 году VPN протокол WireGuard стал настолько популярен в Египте, что удостоился чести пополнить список заблокированных, несказанно “обрадовав” не только клиентов Cloudflare Warp+, Mullvad Wireguard и других коммерческих VPN-провайдеров, но и некоторых пользователей корпоративных VPN. Предварительные исследования показали, что по всей видимости DPI нацелен на WireGuard Handshake Initiate пакеты, которые имеют фиксированный размер (148 байт) и узнаваемую структуру (первые четыре байта UDP пакета [0x01, 0x00, 0x00, 0x00]). Мы постараемся разобраться с особенностями работы DPI по блокировке WireGuard и попробуем ее обойти. Кого заинтересовал - добро пожаловать под кат.
Что означает информация в заметке Коммерсанта «Британия морозит «Байкал»

Газета "Коммерсантъ" опубликовала важный материал "Британия морозит «Байкал». Российские процессоры лишаются доступа к технологиям". К сожалению, авторы заметки никогда не видели то, о чем они написали, то бишь semiconductor IP, и не понимают его природы. Зато его видел я. Поэтому я решил написать к их заметке своего рода толкование:
1. Что именно британские компании ARM и Imagination продают российским лицензиатам, таким как Байкал? (Спойлер: не патенты, хотя патенты в картину входят)
2. Чем Apple отличается от Байкала в лицензировании semiconductor IP?
3. Сколько стоят лицензии на ядра и сколько стоит архитектурная лицензия?
4. Как компания-разработчик semiconductor IP может обнаружить, что произведенный кем-то чип использует ее ядро?
5. Были ли прецеденты подобных высоких отношений с китайскими компаниями?
6. Почему в статье упоминается МЦСТ (Эльбрус)? Они же вроде сами спроектировали CPU собственной архитектуры? (Спойлер: а GPU?)
7. Могут ли британские патенты стать проблемой для разработчиков российcких ядер с архитектурой RISC-V?
8. Что логично ожидать от российских полупроводниковых стратегов?
Теперь наш синтез на 20 языках
В нашей прошлой статье мы ускорили наши модели в 10 раз, добавили новые высококачественные голоса и управление с помощью SSML, возможность генерировать аудио с разной частотой дискретизации и много других фишек.
В этот раз мы добавили:
- 1 высококачественный голос на русском языке (
eugeny
); - Синтез на 20 языках, 174 голоса;
- В список языков входят 5 языков народов СНГ: калмыцкий, русский, татарский, узбекский и украинский;
- В список языков входят 5 вариаций на тему романо-германских языков: английский, индийский английский, испанский, немецкий, французский;
- Также в список языков входят 10 языков народов Индии;
- Новую значительно улучшенную модель для простановки ударений и буквы
ё
со словарем в 4 миллиона слов и точностью 100% (но естественно с рядом оговорок); - Все модели наследуют все "фишки" прошлого релиза, кроме автоматической простановки ударений для языков отличных от русского;
Пока улучшение интерфейсов мы отложили на некоторое время. Ускорить модели еще в 3+ раза мы тоже смогли, но пока с потерей качества, что не позволило нам обновить их прямо в этом релизе.
Попробовать модель как обычно можно в нашем репозитории и в колабе.
Ничего не умею, но хочу делать игры

Все мы знаем, что в IT много денег и там можно хорошо заработать, а уж на создании игр тем более… Но, что делать, если ничего не умеешь, а хочется сделать свою игру и получать миллионы за внутриигровые покупки или за рекламу сидя на диване? Попробую рассказать о нескольких простых способах в этой статье.
Взаимодействие с alerts и permissions в ui-тестировании iOS

Привет, Хабр!
Меня зовут Ахмат. Я iOS QA Automation Engineer - в Vivid Money.
В этой статье я хочу рассказать про взаимодействие с alerts и permissions в iOS тестах и показать, как их можно эффективно обрабатывать в своём проекте.
Данная статья будет полезна начинающим iOS-автоматизаторам, либо разработчикам, которые решили изучить XCUITest и покрыть свой проект ui-тестами.
В рамках статьи мы разберем: